![electron-roller[bot]](/assets/img/avatar_default.png)
* chore: bump chromium in DEPS to 122.0.6180.0 * chore: update render_widget_host_view_base.patch Xref:5079532
minor manual changes to match upstream changes * chore: update printing.patch Xref:5094777
Xref:5054299
Update patch to upstream changes in print_view_manager_base.cc. CC @codebytere for 👀 * chore: update feat_add_onclose_to_messageport.patch Xref:5083156
no manual changes; patch applied with fuzz 1 * chore: update build_do_not_depend_on_packed_resource_integrity.patch Xref:5087072
minor manual changes to match upstream changes * chore: update port_autofill_colors_to_the_color_pipeline.patch Xref:4960481
no manual changes; patch applied with fuzz 2 * chore: update revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch Xref:5076902
Xref:5096253
The `bailout_value` variable, which allowed us to fail gracefully in these macros, has been removed upstream. This raises the temperature on https://github.com/electron/electron/issues/40741 ... Since we don't have a bailout value, return a default-constructed instance of whatever the return type is of the function that invokes the macro. * Remove performActionOnRemotePage Xref:5068017
It appears it is not used by anything within Chromium or outside. * perf: in SubmenuButton ctor, move() the PressedCallback Xref:5066872
The copy construtor is more expensive and has been removed upstream * chore: update constructor call for ElectronExtensionsRendererClient::dispatcher_ Xref:5055146
* chore: handle CAPTURED_SURFACE_CONTROL in Converter<blink::PermissionType>::ToV8() Xref:5096614
* chore: e patches all * chore: bump chromium to 122.0.6181.0 * chore: e patches all * refactor: Add lookup for per-RenderFrame SpellCheckProvider Xref:5075094
Previously we could pass a routing ID into the spellcheck methods. This ID arg has been replaced with a SpellCheckHost& arg. We can get the SpellCheckHost from an accessor in SpellCheckProvider, which was already being created on a per-render-frame basis in RenderClientBase. This commit adds a RenderFrame-to-SpellCheckProvider accessor in RenderClientBase so that it can be used to get that needed SpellCheckHost. * chore: make lint happy * chore: restore the will_cause_resize arg to WebContents::ExitFullscreen Xref:5074445
Xref:5031312
upstream reverted this change * chore: bump chromium in DEPS to 122.0.6182.0 * chore: update patches * chore: fix virtual function names that were renamed upstream Xref:5115241
* chore: handle new blink::PermissionType::SMART_CARD in PermissionType converter Xref:5049989
* chore: node script/gen-libc++-filenames.js * fixup! chore: update build_do_not_depend_on_packed_resource_integrity.patch * chore: remove revert_api_dcheck-fail_when_we_reenter_v8_while_terminating.patch The previous experiment of removing the DCHECK in 35093783 was a huge failure. We either need to either: A) use upstream as-is and fix the DCHECK failure, or B) revert5076902
too C) find some other workaround This commit is the first half of option A, removing the patch to use upstream as-is. * chore: bump chromium in DEPS to 122.0.6184.0 * chore: bump chromium in DEPS to 122.0.6186.0 * chore; update mas_avoid_private_macos_api_usage.patch.patch Xref:5085619
minor manual changes to match upstream changes * chore: update build_do_not_depend_on_packed_resource_integrity.patch Xref:5120922
minor manual changes to match upstream changes * chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch Xref:5041595
no manual changes; patch applied with fuzz 1 * chore: e patches all * chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch * chore: bump chromium in DEPS to 122.0.6188.0 * chore: bump chromium in DEPS to 122.0.6190.0 * chore: bump chromium in DEPS to 122.0.6192.0 * chore: bump chromium in DEPS to 122.0.6194.0 * Remove an unnecessary DCHECK which causes Lacros to crash.5124880
* [FixIt Week] Add shared regular profile function that includes ash5100709
* Simplify the PrintManagerHost::ScriptedPrint() call5019703
* [local compile hints] Add tests5024173
* chore: update patches * fixup! chore: add refactor_update_node-platform_to_match_v8-platform_api_changes.patch * chore: node script/gen-libc++-filenames.js * Remove //ui/ozone/buildflags.h5119048
* fixup! Remove //ui/ozone/buildflags.h * fixup! Remove //ui/ozone/buildflags.h * chore: update patches * fixup! refactor: Add lookup for per-RenderFrame SpellCheckProvider * fixup! Remove //ui/ozone/buildflags.h * Add permission policy verification in PermissionControllerImpl5059112
* fix: ensure spellcheck interface is registered for frame * [exceptions] Unify pending and scheduled exceptions5050065
* fix: dchecks in node.js tests * fix: try adding termination check * chore: document breaking iframe change --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: deepak1556 <hop2deep@gmail.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
84 lines
2.7 KiB
C++
84 lines
2.7 KiB
C++
// Copyright 2014 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include "shell/renderer/extensions/electron_extensions_renderer_client.h"
|
|
|
|
#include <string>
|
|
|
|
#include "content/public/renderer/render_thread.h"
|
|
#include "extensions/common/constants.h"
|
|
#include "extensions/common/manifest_handlers/background_info.h"
|
|
#include "extensions/renderer/dispatcher.h"
|
|
#include "shell/common/world_ids.h"
|
|
#include "shell/renderer/extensions/electron_extensions_dispatcher_delegate.h"
|
|
|
|
namespace electron {
|
|
|
|
ElectronExtensionsRendererClient::ElectronExtensionsRendererClient()
|
|
: dispatcher_{std::make_unique<extensions::Dispatcher>(
|
|
std::make_unique<ElectronExtensionsDispatcherDelegate>(),
|
|
std::vector<
|
|
std::unique_ptr<extensions::ExtensionsRendererAPIProvider>>{})} {
|
|
dispatcher_->OnRenderThreadStarted(content::RenderThread::Get());
|
|
}
|
|
|
|
ElectronExtensionsRendererClient::~ElectronExtensionsRendererClient() = default;
|
|
|
|
bool ElectronExtensionsRendererClient::IsIncognitoProcess() const {
|
|
// app_shell doesn't support off-the-record contexts.
|
|
return false;
|
|
}
|
|
|
|
int ElectronExtensionsRendererClient::GetLowestIsolatedWorldId() const {
|
|
return WorldIDs::ISOLATED_WORLD_ID_EXTENSIONS;
|
|
}
|
|
|
|
extensions::Dispatcher* ElectronExtensionsRendererClient::GetDispatcher() {
|
|
return dispatcher_.get();
|
|
}
|
|
|
|
bool ElectronExtensionsRendererClient::
|
|
ExtensionAPIEnabledForServiceWorkerScript(const GURL& scope,
|
|
const GURL& script_url) const {
|
|
if (!script_url.SchemeIs(extensions::kExtensionScheme))
|
|
return false;
|
|
|
|
const extensions::Extension* extension =
|
|
extensions::RendererExtensionRegistry::Get()->GetExtensionOrAppByURL(
|
|
script_url);
|
|
|
|
if (!extension ||
|
|
!extensions::BackgroundInfo::IsServiceWorkerBased(extension))
|
|
return false;
|
|
|
|
if (scope != extension->url())
|
|
return false;
|
|
|
|
const std::string& sw_script =
|
|
extensions::BackgroundInfo::GetBackgroundServiceWorkerScript(extension);
|
|
|
|
return extension->GetResourceURL(sw_script) == script_url;
|
|
}
|
|
|
|
bool ElectronExtensionsRendererClient::AllowPopup() {
|
|
// TODO(samuelmaddock):
|
|
return false;
|
|
}
|
|
|
|
void ElectronExtensionsRendererClient::RunScriptsAtDocumentStart(
|
|
content::RenderFrame* render_frame) {
|
|
dispatcher_->RunScriptsAtDocumentStart(render_frame);
|
|
}
|
|
|
|
void ElectronExtensionsRendererClient::RunScriptsAtDocumentEnd(
|
|
content::RenderFrame* render_frame) {
|
|
dispatcher_->RunScriptsAtDocumentEnd(render_frame);
|
|
}
|
|
|
|
void ElectronExtensionsRendererClient::RunScriptsAtDocumentIdle(
|
|
content::RenderFrame* render_frame) {
|
|
dispatcher_->RunScriptsAtDocumentIdle(render_frame);
|
|
}
|
|
|
|
} // namespace electron
|