chore: bump chromium to 124.0.6355.1 (30-x-y) (#41490)
* chore: bump chromium to 124.0.6351.0 * chore: bump chromium in DEPS to 124.0.6339.0 * chore: update patches * chore: bump chromium in DEPS to 124.0.6341.0 * chore: update patches * chore: bump chromium in DEPS to 124.0.6343.0 * chore: bump chromium in DEPS to 124.0.6345.0 * chore: update patches * build: temporarily patch out usage of reclient inputs cfg * chore: implement missing OnPortConnectedStateChanged Ref:5039155
* fix: move NativeHandlers in extensions to new RendererAPIProvider Ref:5332839
Ref:5334058
* chore: add missing websocket method * refactor: use std::erase instead of base::Erase Ref: https://issues.chromium.org/issues/40256229 * build: fix reclient inputs processor bug (workaround) * fix: delay extensions::Dispatcher construction * chore: bump chromium in DEPS to 124.0.6347.0 * chore: bump chromium in DEPS to 124.0.6349.0 * 5326217: [ViewsAX] Remove WebAXPlatformTreeManagerDelegate5326217
* 5347916: Get origin from parent for process-isolated srcdoc.5347916
* chore: patches fixup * 4866222: [api] Deprecate vector<v8::Local>, part 14866222
* 5337304: Remove DXDiag telemetry code.5337304
* 5328275: Implement watermark routing to the BrowserView5328275
* [libc++] Rename __fwd/hash.h to __fwd/functional.h and add reference_wrapper * chore: bump chromium in DEPS to 124.0.6351.0 * chore: update patches * 5342763: [object] Fast path for adding props with existing transition5342763
--------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <marshallofsound@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * chore: bump chromium to 124.0.6353.0 * chore: bump chromium in DEPS to 124.0.6353.0 * chore: update patches * 5365462: Add missing perfetto::Flow and TRACE_EVENT includes5365462
* 5356336: Ensure destruction of mojo channel when destructing KeySystemsImpl5356336
* 5332839: [Extensions] Register NativeHandlers with the RendererAPIProvider5332839
* 5148827: Add permission types for keyboard lock and pointer lock [1/N]5148827
* 5358818: Revert "[object] Fast path for adding props with existing transition"5358818
--------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Samuel Attard <marshallofsound@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
parent
b39f36496d
commit
b713e34947
83 changed files with 583 additions and 385 deletions
|
@ -4,51 +4,14 @@
|
|||
|
||||
#include "shell/renderer/extensions/electron_extensions_dispatcher_delegate.h"
|
||||
|
||||
#include <memory>
|
||||
#include <set>
|
||||
#include <string>
|
||||
|
||||
#include "chrome/renderer/extensions/api/extension_hooks_delegate.h"
|
||||
#include "chrome/renderer/extensions/api/tabs_hooks_delegate.h"
|
||||
#include "extensions/renderer/bindings/api_bindings_system.h"
|
||||
#include "extensions/renderer/lazy_background_page_native_handler.h"
|
||||
#include "extensions/renderer/module_system.h"
|
||||
#include "extensions/renderer/native_extension_bindings_system.h"
|
||||
#include "extensions/renderer/native_handler.h"
|
||||
|
||||
ElectronExtensionsDispatcherDelegate::ElectronExtensionsDispatcherDelegate() =
|
||||
default;
|
||||
|
||||
ElectronExtensionsDispatcherDelegate::~ElectronExtensionsDispatcherDelegate() =
|
||||
default;
|
||||
|
||||
void ElectronExtensionsDispatcherDelegate::RegisterNativeHandlers(
|
||||
extensions::Dispatcher* dispatcher,
|
||||
extensions::ModuleSystem* module_system,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system,
|
||||
extensions::ScriptContext* context) {
|
||||
module_system->RegisterNativeHandler(
|
||||
"lazy_background_page",
|
||||
std::make_unique<extensions::LazyBackgroundPageNativeHandler>(context));
|
||||
}
|
||||
|
||||
void ElectronExtensionsDispatcherDelegate::PopulateSourceMap(
|
||||
extensions::ResourceBundleSourceMap* source_map) {}
|
||||
|
||||
void ElectronExtensionsDispatcherDelegate::RequireWebViewModules(
|
||||
extensions::ScriptContext* context) {}
|
||||
|
||||
void ElectronExtensionsDispatcherDelegate::OnActiveExtensionsUpdated(
|
||||
const std::set<std::string>& extension_ids) {}
|
||||
|
||||
void ElectronExtensionsDispatcherDelegate::InitializeBindingsSystem(
|
||||
extensions::Dispatcher* dispatcher,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system) {
|
||||
extensions::APIBindingsSystem* bindings = bindings_system->api_system();
|
||||
bindings->RegisterHooksDelegate(
|
||||
"extension", std::make_unique<extensions::ExtensionHooksDelegate>(
|
||||
bindings_system->messaging_service()));
|
||||
bindings->RegisterHooksDelegate(
|
||||
"tabs", std::make_unique<extensions::TabsHooksDelegate>(
|
||||
bindings_system->messaging_service()));
|
||||
}
|
||||
|
|
|
@ -24,19 +24,9 @@ class ElectronExtensionsDispatcherDelegate
|
|||
|
||||
private:
|
||||
// extensions::DispatcherDelegate implementation.
|
||||
void RegisterNativeHandlers(
|
||||
extensions::Dispatcher* dispatcher,
|
||||
extensions::ModuleSystem* module_system,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system,
|
||||
extensions::ScriptContext* context) override;
|
||||
void PopulateSourceMap(
|
||||
extensions::ResourceBundleSourceMap* source_map) override;
|
||||
void RequireWebViewModules(extensions::ScriptContext* context) override;
|
||||
void OnActiveExtensionsUpdated(
|
||||
const std::set<std::string>& extension_ids) override;
|
||||
void InitializeBindingsSystem(
|
||||
extensions::Dispatcher* dispatcher,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system) override;
|
||||
};
|
||||
|
||||
#endif // ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_DISPATCHER_DELEGATE_H_
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
// Copyright 2024 The Chromium Authors
|
||||
// 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_api_provider.h"
|
||||
|
||||
#include "chrome/renderer/extensions/api/extension_hooks_delegate.h"
|
||||
#include "chrome/renderer/extensions/api/tabs_hooks_delegate.h"
|
||||
#include "extensions/renderer/bindings/api_bindings_system.h"
|
||||
#include "extensions/renderer/dispatcher.h"
|
||||
#include "extensions/renderer/lazy_background_page_native_handler.h"
|
||||
#include "extensions/renderer/module_system.h"
|
||||
#include "extensions/renderer/native_extension_bindings_system.h"
|
||||
#include "extensions/renderer/native_handler.h"
|
||||
#include "extensions/renderer/resource_bundle_source_map.h"
|
||||
#include "extensions/renderer/script_context.h"
|
||||
|
||||
namespace electron {
|
||||
|
||||
void ElectronExtensionsRendererAPIProvider::RegisterNativeHandlers(
|
||||
extensions::ModuleSystem* module_system,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system,
|
||||
extensions::ScriptContext* context) const {
|
||||
module_system->RegisterNativeHandler(
|
||||
"lazy_background_page",
|
||||
std::make_unique<extensions::LazyBackgroundPageNativeHandler>(context));
|
||||
}
|
||||
|
||||
void ElectronExtensionsRendererAPIProvider::AddBindingsSystemHooks(
|
||||
extensions::Dispatcher* dispatcher,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system) const {
|
||||
extensions::APIBindingsSystem* bindings = bindings_system->api_system();
|
||||
bindings->RegisterHooksDelegate(
|
||||
"extension", std::make_unique<extensions::ExtensionHooksDelegate>(
|
||||
bindings_system->messaging_service()));
|
||||
bindings->RegisterHooksDelegate(
|
||||
"tabs", std::make_unique<extensions::TabsHooksDelegate>(
|
||||
bindings_system->messaging_service()));
|
||||
}
|
||||
|
||||
void ElectronExtensionsRendererAPIProvider::PopulateSourceMap(
|
||||
extensions::ResourceBundleSourceMap* source_map) const {}
|
||||
|
||||
void ElectronExtensionsRendererAPIProvider::EnableCustomElementAllowlist()
|
||||
const {}
|
||||
|
||||
void ElectronExtensionsRendererAPIProvider::RequireWebViewModules(
|
||||
extensions::ScriptContext* context) const {}
|
||||
|
||||
} // namespace electron
|
|
@ -0,0 +1,40 @@
|
|||
// 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_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_
|
||||
#define ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "extensions/renderer/extensions_renderer_api_provider.h"
|
||||
|
||||
namespace electron {
|
||||
|
||||
class ElectronExtensionsRendererAPIProvider
|
||||
: public extensions::ExtensionsRendererAPIProvider {
|
||||
public:
|
||||
ElectronExtensionsRendererAPIProvider() = default;
|
||||
ElectronExtensionsRendererAPIProvider(
|
||||
const ElectronExtensionsRendererAPIProvider&) = delete;
|
||||
ElectronExtensionsRendererAPIProvider& operator=(
|
||||
const ElectronExtensionsRendererAPIProvider&) = delete;
|
||||
~ElectronExtensionsRendererAPIProvider() override = default;
|
||||
|
||||
// ExtensionsRendererAPIProvider:
|
||||
void RegisterNativeHandlers(
|
||||
extensions::ModuleSystem* module_system,
|
||||
extensions::NativeExtensionBindingsSystem* bindings_system,
|
||||
extensions::ScriptContext* context) const override;
|
||||
void AddBindingsSystemHooks(extensions::Dispatcher* dispatcher,
|
||||
extensions::NativeExtensionBindingsSystem*
|
||||
bindings_system) const override;
|
||||
void PopulateSourceMap(
|
||||
extensions::ResourceBundleSourceMap* source_map) const override;
|
||||
void EnableCustomElementAllowlist() const override;
|
||||
void RequireWebViewModules(extensions::ScriptContext* context) const override;
|
||||
};
|
||||
|
||||
} // namespace electron
|
||||
|
||||
#endif // ELECTRON_SHELL_RENDERER_EXTENSIONS_ELECTRON_EXTENSIONS_RENDERER_API_PROVIDER_H_
|
|
@ -15,11 +15,12 @@
|
|||
|
||||
namespace electron {
|
||||
|
||||
ElectronExtensionsRendererClient::ElectronExtensionsRendererClient()
|
||||
: dispatcher_{std::make_unique<extensions::Dispatcher>(
|
||||
std::make_unique<ElectronExtensionsDispatcherDelegate>(),
|
||||
std::vector<
|
||||
std::unique_ptr<extensions::ExtensionsRendererAPIProvider>>{})} {
|
||||
ElectronExtensionsRendererClient::ElectronExtensionsRendererClient() {}
|
||||
|
||||
void ElectronExtensionsRendererClient::RenderThreadStarted() {
|
||||
dispatcher_ = std::make_unique<extensions::Dispatcher>(
|
||||
std::make_unique<ElectronExtensionsDispatcherDelegate>(),
|
||||
std::move(api_providers_));
|
||||
dispatcher_->OnRenderThreadStarted(content::RenderThread::Get());
|
||||
}
|
||||
|
||||
|
|
|
@ -31,6 +31,8 @@ class ElectronExtensionsRendererClient
|
|||
ElectronExtensionsRendererClient& operator=(
|
||||
const ElectronExtensionsRendererClient&) = delete;
|
||||
|
||||
void RenderThreadStarted();
|
||||
|
||||
// ExtensionsRendererClient implementation.
|
||||
bool IsIncognitoProcess() const override;
|
||||
int GetLowestIsolatedWorldId() const override;
|
||||
|
|
|
@ -95,6 +95,7 @@
|
|||
#include "extensions/renderer/extension_web_view_helper.h"
|
||||
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
|
||||
#include "shell/common/extensions/electron_extensions_client.h"
|
||||
#include "shell/renderer/extensions/electron_extensions_renderer_api_provider.h"
|
||||
#include "shell/renderer/extensions/electron_extensions_renderer_client.h"
|
||||
#endif // BUILDFLAG(ENABLE_ELECTRON_EXTENSIONS)
|
||||
|
||||
|
@ -242,6 +243,9 @@ void RendererClientBase::RenderThreadStarted() {
|
|||
|
||||
extensions_renderer_client_ =
|
||||
std::make_unique<ElectronExtensionsRendererClient>();
|
||||
extensions_renderer_client_->AddAPIProvider(
|
||||
std::make_unique<ElectronExtensionsRendererAPIProvider>());
|
||||
extensions_renderer_client_->RenderThreadStarted();
|
||||
extensions::ExtensionsRendererClient::Set(extensions_renderer_client_.get());
|
||||
|
||||
thread->AddObserver(extensions_renderer_client_->GetDispatcher());
|
||||
|
@ -398,13 +402,14 @@ bool RendererClientBase::OverrideCreatePlugin(
|
|||
return true;
|
||||
}
|
||||
|
||||
void RendererClientBase::GetSupportedKeySystems(
|
||||
media::GetSupportedKeySystemsCB cb) {
|
||||
std::unique_ptr<media::KeySystemSupportObserver>
|
||||
RendererClientBase::GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) {
|
||||
#if BUILDFLAG(ENABLE_WIDEVINE)
|
||||
GetChromeKeySystems(std::move(cb));
|
||||
#else
|
||||
std::move(cb).Run({});
|
||||
#endif
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void RendererClientBase::DidSetUserAgent(const std::string& user_agent) {
|
||||
|
|
|
@ -102,7 +102,8 @@ class RendererClientBase : public content::ContentRendererClient
|
|||
bool OverrideCreatePlugin(content::RenderFrame* render_frame,
|
||||
const blink::WebPluginParams& params,
|
||||
blink::WebPlugin** plugin) override;
|
||||
void GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) override;
|
||||
std::unique_ptr<media::KeySystemSupportObserver> GetSupportedKeySystems(
|
||||
media::GetSupportedKeySystemsCB cb) override;
|
||||
void DidSetUserAgent(const std::string& user_agent) override;
|
||||
bool IsPluginHandledExternally(content::RenderFrame* render_frame,
|
||||
const blink::WebElement& plugin_element,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue