![electron-roller[bot]](/assets/img/avatar_default.png) 75eac86506
			
		
	
	
	
	
	75eac86506* chore: bump chromium in DEPS to 134.0.6948.0 * chore: update can_create_window.patch https://chromium-review.googlesource.com/c/chromium/src/+/6151982 no patch code changes, but had to manually apply due to upstream context shear * chore: update proxy_config_monitor.patch no manual changes; patch applied with fuzz 2 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6126219 * chore: update build_add_electron_tracing_category.patch Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6149256 * chore: update adjust_accessibility_ui_for_electron.patch https://chromium-review.googlesource.com/c/chromium/src/+/6105650 no patch code changes, but had to manually apply due to upstream context shear * chore: e patches all * chore: use fully-qualified path for all.gn Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6154997 * chore: do not use a variable when assigning rtc_use_h264 Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6154997 * Move GlobalShortcutListenerLinux to //ui/base Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6097375 * [MPArch Guest View] Make WebPreferences queried per frame tree root Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6096390 * [Status Icons] Allow vector resources https://chromium-review.googlesource.com/c/chromium/src/+/6139403 * [Extensions] Move MatchOriginAsFallbackBehavior to Mojom Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6141793 * Remove StrongAlias::Hasher Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6132291 * Rename text-change and select-change methods and related stuff Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6148816 * [Code Health] Remove stale feature EnableWebUsbOnExtensionServiceWorker https://chromium-review.googlesource.com/c/chromium/src/+/6115161 * [Extensions Cleanup] Move creation of tab-based ports to factory method https://chromium-review.googlesource.com/c/chromium/src/+/6143725 * refactor: add StatusIconGtk::SetIcon() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6139403 copied from chrome/browser/status_icons/status_icon.cc * refactor: add TrayIconLinux::GetIcon() Xref: https://chromium-review.googlesource.com/c/chromium/src/+/6139403 * chore: update feat_allow_usage_of_sccontentsharingpicker_on_supported_platforms.patch remove unused filter_ field * chore: bump chromium in DEPS to 134.0.6950.0 * chore: bump chromium in DEPS to 134.0.6952.0 * chore: bump chromium in DEPS to 134.0.6954.0 * chore: bump chromium in DEPS to 134.0.6956.0 * chore: update Chromium patches * 6165749: Check scanout support in RenderableGpuMemoryBufferPool | https://chromium-review.googlesource.com/c/chromium/src/+/6165749 * 6106730: [Win] Use DXGI swapchains and DCOMP visuals in software mode | https://chromium-review.googlesource.com/c/chromium/src/+/6106730 * chore: update patches * chore: bump chromium in DEPS to 134.0.6958.0 * chore: bump chromium in DEPS to 134.0.6960.0 * chore: update chromium patches * 6168371: Remove extensions GlobalShortcutListener wrapper | https://chromium-review.googlesource.com/c/chromium/src/+/6168371 * chore: update patches * 6161637: WebUI: Leverage build_webui() in chrome://translate-internals | https://chromium-review.googlesource.com/c/chromium/src/+/6161637 * chore: bump chromium in DEPS to 134.0.6962.0 * 6177329: Remove policy.used_policy_certificates pref on ChromeOS | https://chromium-review.googlesource.com/c/chromium/src/+/6177329 * 6180524: Simplify logic in components/os_crypt/sync/BUILD.gn | https://chromium-review.googlesource.com/c/chromium/src/+/6180524 * 6144831: Enforce --disallow-v8-feature-flag-overrides in the renderer | https://chromium-review.googlesource.com/c/chromium/src/+/6144831 * chore: update patches * chore: bump chromium in DEPS to 134.0.6964.0 * 6181010: Ensure busy cursor does not show via LaunchWithoutSandbox | https://chromium-review.googlesource.com/c/chromium/src/+/6181010 * chore: update patches * chore: bump chromium in DEPS to 134.0.6966.0 * 6180598: [api] Remove Reallocate | https://chromium-review.googlesource.com/c/v8/v8/+/6180598 * 6170781: [Refactor] Move UninstallExtension to ExtensionRegistrar. | https://chromium-review.googlesource.com/c/chromium/src/+/6170781 * chore: update filenames.libcxx.gni * 6168207: cdm: Remove widevine_cdm_version.h | https://chromium-review.googlesource.com/c/chromium/src/+/6168207 * chore: bump chromium in DEPS to 134.0.6968.0 * 6030552: [macOS] Allow using vibrancy with NativeWidgetNSWindowBridge | https://chromium-review.googlesource.com/c/chromium/src/+/6030552 * fix: use explicit copy to replace realloc impl https://chromium-review.googlesource.com/c/v8/v8/+/6180598 https://issues.chromium.org/issues/331326406 As per recommendation, "File an issue with Node to explicitly copy,because they copy under the hood anyway" * fixup! 6106730: [Win] Use DXGI swapchains and DCOMP visuals in software mode | https://chromium-review.googlesource.com/c/chromium/src/+/6106730 * fix: undefine win32 StrCat https://chromium-review.googlesource.com/c/chromium/src/+/6172292 * fix: //device/vr:directx_helpers breaking the build https://chromium-review.googlesource.com/c/chromium/src/+/6064548 Upstreamed in https://chromium-review.googlesource.com/c/chromium/src/+/6186102 * fix: avoid calling ui::Layer::SetFillsBoundsOpaquely https://chromium-review.googlesource.com/c/chromium/src/+/6175787 The layer opacity is determined by the background color's alpha value * fix: build with proprietary_codecs The explicit setting of rtc_use_h264 is no longer needed since https://webrtc-review.googlesource.com/c/src/+/62380 * fix: increase empty trace file size threshold https://chromium-review.googlesource.com/c/chromium/src/+/6176642 Traces now contain a net-constants property to allow them to be converted to a net log. These contain ~1240 new properties with formatted JSON data. * fix: node tests missing resource management globals https://chromium-review.googlesource.com/c/chromium/src/+/6174695 * fixup! fix: use explicit copy to replace realloc impl * chore: disable focus handling test due to win32/ia32 regression --------- 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: Keeley Hammond <khammond@slack-corp.com> Co-authored-by: VerteDinde <vertedinde@electronjs.org> Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> Co-authored-by: Samuel Maddock <samuelmaddock@electronjs.org>
		
			
				
	
	
		
			157 lines
		
	
	
	
		
			5.6 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
	
		
			5.6 KiB
			
		
	
	
	
		
			C++
		
	
	
	
	
	
| // Copyright (c) 2017 GitHub, Inc.
 | |
| // Use of this source code is governed by the MIT license that can be
 | |
| // found in the LICENSE file.
 | |
| 
 | |
| #ifndef ELECTRON_SHELL_RENDERER_RENDERER_CLIENT_BASE_H_
 | |
| #define ELECTRON_SHELL_RENDERER_RENDERER_CLIENT_BASE_H_
 | |
| 
 | |
| #include <memory>
 | |
| #include <string>
 | |
| 
 | |
| #include "content/public/renderer/content_renderer_client.h"
 | |
| #include "electron/buildflags/buildflags.h"
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
 | |
| #include "services/service_manager/public/cpp/binder_registry.h"
 | |
| #include "services/service_manager/public/cpp/local_interface_provider.h"
 | |
| 
 | |
| class SpellCheck;
 | |
| #endif
 | |
| 
 | |
| namespace blink {
 | |
| class WebLocalFrame;
 | |
| }
 | |
| 
 | |
| namespace gin_helper {
 | |
| class Dictionary;
 | |
| }
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 | |
| namespace extensions {
 | |
| class ExtensionsClient;
 | |
| }
 | |
| #endif
 | |
| 
 | |
| namespace electron {
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 | |
| class ElectronExtensionsRendererClient;
 | |
| #endif
 | |
| 
 | |
| class RendererClientBase : public content::ContentRendererClient
 | |
| #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
 | |
|     ,
 | |
|                            public service_manager::LocalInterfaceProvider
 | |
| #endif
 | |
| {
 | |
|  public:
 | |
|   RendererClientBase();
 | |
|   ~RendererClientBase() override;
 | |
| 
 | |
|   static RendererClientBase* Get();
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
 | |
|   // service_manager::LocalInterfaceProvider implementation.
 | |
|   void GetInterface(const std::string& name,
 | |
|                     mojo::ScopedMessagePipeHandle interface_pipe) override;
 | |
| #endif
 | |
| 
 | |
|   virtual void DidCreateScriptContext(v8::Local<v8::Context> context,
 | |
|                                       content::RenderFrame* render_frame) = 0;
 | |
|   virtual void WillReleaseScriptContext(v8::Local<v8::Context> context,
 | |
|                                         content::RenderFrame* render_frame) = 0;
 | |
|   virtual void DidClearWindowObject(content::RenderFrame* render_frame);
 | |
|   virtual void SetupMainWorldOverrides(v8::Local<v8::Context> context,
 | |
|                                        content::RenderFrame* render_frame);
 | |
| 
 | |
|   std::unique_ptr<blink::WebPrescientNetworking> CreatePrescientNetworking(
 | |
|       content::RenderFrame* render_frame) override;
 | |
| 
 | |
|   // Get the context that the Electron API is running in.
 | |
|   v8::Local<v8::Context> GetContext(blink::WebLocalFrame* frame,
 | |
|                                     v8::Isolate* isolate) const;
 | |
| 
 | |
|   static void AllowGuestViewElementDefinition(
 | |
|       v8::Isolate* isolate,
 | |
|       v8::Local<v8::Object> context,
 | |
|       v8::Local<v8::Function> register_cb);
 | |
| 
 | |
|   bool IsWebViewFrame(v8::Local<v8::Context> context,
 | |
|                       content::RenderFrame* render_frame) const;
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
 | |
|   SpellCheck* GetSpellCheck() { return spellcheck_.get(); }
 | |
| #endif
 | |
| 
 | |
|  protected:
 | |
|   void BindProcess(v8::Isolate* isolate,
 | |
|                    gin_helper::Dictionary* process,
 | |
|                    content::RenderFrame* render_frame);
 | |
| 
 | |
|   bool ShouldLoadPreload(v8::Local<v8::Context> context,
 | |
|                          content::RenderFrame* render_frame) const;
 | |
| 
 | |
|   // content::ContentRendererClient:
 | |
|   void RenderThreadStarted() override;
 | |
|   void ExposeInterfacesToBrowser(mojo::BinderMap* binders) override;
 | |
|   void RenderFrameCreated(content::RenderFrame*) override;
 | |
|   bool OverrideCreatePlugin(content::RenderFrame* render_frame,
 | |
|                             const blink::WebPluginParams& params,
 | |
|                             blink::WebPlugin** plugin) override;
 | |
|   void DidSetUserAgent(const std::string& user_agent) override;
 | |
|   bool IsPluginHandledExternally(content::RenderFrame* render_frame,
 | |
|                                  const blink::WebElement& plugin_element,
 | |
|                                  const GURL& original_url,
 | |
|                                  const std::string& mime_type) override;
 | |
|   v8::Local<v8::Object> GetScriptableObject(
 | |
|       const blink::WebElement& plugin_element,
 | |
|       v8::Isolate* isolate) override;
 | |
| 
 | |
|   void RunScriptsAtDocumentStart(content::RenderFrame* render_frame) override;
 | |
|   void RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) override;
 | |
|   void RunScriptsAtDocumentIdle(content::RenderFrame* render_frame) override;
 | |
| 
 | |
|   bool AllowScriptExtensionForServiceWorker(
 | |
|       const url::Origin& script_origin) override;
 | |
|   void DidInitializeServiceWorkerContextOnWorkerThread(
 | |
|       blink::WebServiceWorkerContextProxy* context_proxy,
 | |
|       const GURL& service_worker_scope,
 | |
|       const GURL& script_url) override;
 | |
|   void WillEvaluateServiceWorkerOnWorkerThread(
 | |
|       blink::WebServiceWorkerContextProxy* context_proxy,
 | |
|       v8::Local<v8::Context> v8_context,
 | |
|       int64_t service_worker_version_id,
 | |
|       const GURL& service_worker_scope,
 | |
|       const GURL& script_url,
 | |
|       const blink::ServiceWorkerToken& service_worker_token) override;
 | |
|   void DidStartServiceWorkerContextOnWorkerThread(
 | |
|       int64_t service_worker_version_id,
 | |
|       const GURL& service_worker_scope,
 | |
|       const GURL& script_url) override;
 | |
|   void WillDestroyServiceWorkerContextOnWorkerThread(
 | |
|       v8::Local<v8::Context> context,
 | |
|       int64_t service_worker_version_id,
 | |
|       const GURL& service_worker_scope,
 | |
|       const GURL& script_url) override;
 | |
|   void WebViewCreated(blink::WebView* web_view,
 | |
|                       bool was_created_by_renderer,
 | |
|                       const url::Origin* outermost_origin) override;
 | |
| 
 | |
|  private:
 | |
| #if BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
 | |
|   std::unique_ptr<extensions::ExtensionsClient> extensions_client_;
 | |
|   std::unique_ptr<ElectronExtensionsRendererClient> extensions_renderer_client_;
 | |
| #endif
 | |
| 
 | |
|   std::string renderer_client_id_;
 | |
|   // An increasing ID used for identifying an V8 context in this process.
 | |
|   int64_t next_context_id_ = 0;
 | |
| 
 | |
| #if BUILDFLAG(ENABLE_BUILTIN_SPELLCHECKER)
 | |
|   std::unique_ptr<SpellCheck> spellcheck_;
 | |
| #endif
 | |
| };
 | |
| 
 | |
| }  // namespace electron
 | |
| 
 | |
| #endif  // ELECTRON_SHELL_RENDERER_RENDERER_CLIENT_BASE_H_
 |