mirror of
https://github.com/electron/electron.git
synced 2026-01-08 23:18:06 -05:00
chore: bump chromium to 138.0.7178.0 (main) (#47086)
* chore: bump chromium in DEPS to 138.0.7178.0 * 6351556: [source-phase-imports] Support Wasm Source Phase Imports Refs https://chromium-review.googlesource.com/c/chromium/src/+/6351556 * chore: update patches * 6509682: extensions: Use ChromeExtensionsBrowserClient on desktop Android, part 2 Refs https://chromium-review.googlesource.com/c/chromium/src/+/6509682 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
This commit is contained in:
committed by
GitHub
parent
9a7b73b533
commit
883f48b9b4
@@ -438,6 +438,7 @@ int ElectronBrowserMainParts::PreMainMessageLoopRun() {
|
||||
// BrowserContextKeyedAPIServiceFactories require an ExtensionsBrowserClient.
|
||||
extensions_browser_client_ =
|
||||
std::make_unique<ElectronExtensionsBrowserClient>();
|
||||
extensions_browser_client_->Init();
|
||||
extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
|
||||
|
||||
extensions::EnsureBrowserContextKeyedServiceFactoriesBuilt();
|
||||
|
||||
@@ -55,24 +55,27 @@ using extensions::ExtensionsBrowserClient;
|
||||
namespace electron {
|
||||
|
||||
ElectronExtensionsBrowserClient::ElectronExtensionsBrowserClient()
|
||||
: api_client_(std::make_unique<extensions::ElectronExtensionsAPIClient>()),
|
||||
process_manager_delegate_(
|
||||
std::make_unique<extensions::ElectronProcessManagerDelegate>()),
|
||||
extension_cache_(std::make_unique<extensions::NullExtensionCache>()) {
|
||||
// Electron does not have a concept of channel, so leave UNKNOWN to
|
||||
// enable all channel-dependent extension APIs.
|
||||
extensions::SetCurrentChannel(version_info::Channel::UNKNOWN);
|
||||
resource_manager_ =
|
||||
std::make_unique<extensions::ElectronComponentExtensionResourceManager>();
|
||||
|
||||
: extension_cache_(std::make_unique<extensions::NullExtensionCache>()) {
|
||||
AddAPIProvider(
|
||||
std::make_unique<extensions::CoreExtensionsBrowserAPIProvider>());
|
||||
AddAPIProvider(
|
||||
std::make_unique<extensions::ElectronExtensionsBrowserAPIProvider>());
|
||||
|
||||
// Electron does not have a concept of channel, so leave UNKNOWN to
|
||||
// enable all channel-dependent extension APIs.
|
||||
extensions::SetCurrentChannel(version_info::Channel::UNKNOWN);
|
||||
}
|
||||
|
||||
ElectronExtensionsBrowserClient::~ElectronExtensionsBrowserClient() = default;
|
||||
|
||||
void ElectronExtensionsBrowserClient::Init() {
|
||||
process_manager_delegate_ =
|
||||
std::make_unique<extensions::ElectronProcessManagerDelegate>();
|
||||
api_client_ = std::make_unique<extensions::ElectronExtensionsAPIClient>();
|
||||
resource_manager_ =
|
||||
std::make_unique<extensions::ElectronComponentExtensionResourceManager>();
|
||||
}
|
||||
|
||||
bool ElectronExtensionsBrowserClient::IsShuttingDown() {
|
||||
return electron::Browser::Get()->is_shutting_down();
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ class ElectronExtensionsBrowserClient
|
||||
const ElectronExtensionsBrowserClient&) = delete;
|
||||
|
||||
// ExtensionsBrowserClient overrides:
|
||||
void Init() override;
|
||||
bool IsShuttingDown() override;
|
||||
bool AreExtensionsDisabled(const base::CommandLine& command_line,
|
||||
content::BrowserContext* context) override;
|
||||
|
||||
@@ -211,18 +211,19 @@ bool AllowWasmCodeGenerationCallback(v8::Local<v8::Context> context,
|
||||
return node::AllowWasmCodeGenerationCallback(context, source);
|
||||
}
|
||||
|
||||
v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
|
||||
v8::MaybeLocal<v8::Promise> HostImportModuleWithPhaseDynamically(
|
||||
v8::Local<v8::Context> context,
|
||||
v8::Local<v8::Data> v8_host_defined_options,
|
||||
v8::Local<v8::Value> v8_referrer_resource_url,
|
||||
v8::Local<v8::String> v8_specifier,
|
||||
v8::Local<v8::FixedArray> v8_import_assertions) {
|
||||
v8::ModuleImportPhase import_phase,
|
||||
v8::Local<v8::FixedArray> v8_import_attributes) {
|
||||
if (node::Environment::GetCurrent(context) == nullptr) {
|
||||
if (electron::IsBrowserProcess() || electron::IsUtilityProcess())
|
||||
return {};
|
||||
return blink::V8Initializer::HostImportModuleDynamically(
|
||||
return blink::V8Initializer::HostImportModuleWithPhaseDynamically(
|
||||
context, v8_host_defined_options, v8_referrer_resource_url,
|
||||
v8_specifier, v8_import_assertions);
|
||||
v8_specifier, import_phase, v8_import_attributes);
|
||||
}
|
||||
|
||||
// If we're running with contextIsolation enabled in the renderer process,
|
||||
@@ -232,15 +233,29 @@ v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
|
||||
blink::WebLocalFrame::FrameForContext(context);
|
||||
if (!frame || frame->GetScriptContextWorldId(context) !=
|
||||
electron::WorldIDs::ISOLATED_WORLD_ID) {
|
||||
return blink::V8Initializer::HostImportModuleDynamically(
|
||||
return blink::V8Initializer::HostImportModuleWithPhaseDynamically(
|
||||
context, v8_host_defined_options, v8_referrer_resource_url,
|
||||
v8_specifier, v8_import_assertions);
|
||||
v8_specifier, import_phase, v8_import_attributes);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Switch to node::loader::ImportModuleDynamicallyWithPhase
|
||||
// once we land the Node.js version that has it in upstream.
|
||||
CHECK(import_phase == v8::ModuleImportPhase::kEvaluation);
|
||||
return node::loader::ImportModuleDynamically(
|
||||
context, v8_host_defined_options, v8_referrer_resource_url, v8_specifier,
|
||||
v8_import_assertions);
|
||||
v8_import_attributes);
|
||||
}
|
||||
|
||||
v8::MaybeLocal<v8::Promise> HostImportModuleDynamically(
|
||||
v8::Local<v8::Context> context,
|
||||
v8::Local<v8::Data> v8_host_defined_options,
|
||||
v8::Local<v8::Value> v8_referrer_resource_url,
|
||||
v8::Local<v8::String> v8_specifier,
|
||||
v8::Local<v8::FixedArray> v8_import_attributes) {
|
||||
return HostImportModuleWithPhaseDynamically(
|
||||
context, v8_host_defined_options, v8_referrer_resource_url, v8_specifier,
|
||||
v8::ModuleImportPhase::kEvaluation, v8_import_attributes);
|
||||
}
|
||||
|
||||
void HostInitializeImportMetaObject(v8::Local<v8::Context> context,
|
||||
@@ -779,6 +794,8 @@ std::shared_ptr<node::Environment> NodeBindings::CreateEnvironment(
|
||||
node::SetIsolateUpForNode(context->GetIsolate(), is);
|
||||
context->GetIsolate()->SetHostImportModuleDynamicallyCallback(
|
||||
HostImportModuleDynamically);
|
||||
context->GetIsolate()->SetHostImportModuleWithPhaseDynamicallyCallback(
|
||||
HostImportModuleWithPhaseDynamically);
|
||||
context->GetIsolate()->SetHostInitializeImportMetaObjectCallback(
|
||||
HostInitializeImportMetaObject);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user