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 WebAXPlatformTreeManagerDelegate

5326217

* 5347916: Get origin from parent for process-isolated srcdoc.

5347916

* chore: patches fixup

* 4866222: [api] Deprecate vector<v8::Local>, part 1

4866222

* 5337304: Remove DXDiag telemetry code.

5337304

* 5328275: Implement watermark routing to the BrowserView

5328275

* [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 transition

5342763

---------

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 includes

5365462

* 5356336: Ensure destruction of mojo channel when destructing KeySystemsImpl

5356336

* 5332839: [Extensions] Register NativeHandlers with the RendererAPIProvider

5332839

* 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:
electron-roller[bot] 2024-03-14 10:42:18 -04:00 committed by GitHub
parent b39f36496d
commit b713e34947
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
83 changed files with 583 additions and 385 deletions

View file

@ -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()));
}

View file

@ -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_

View file

@ -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

View file

@ -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_

View file

@ -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());
}

View file

@ -31,6 +31,8 @@ class ElectronExtensionsRendererClient
ElectronExtensionsRendererClient& operator=(
const ElectronExtensionsRendererClient&) = delete;
void RenderThreadStarted();
// ExtensionsRendererClient implementation.
bool IsIncognitoProcess() const override;
int GetLowestIsolatedWorldId() const override;

View file

@ -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) {

View file

@ -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,