chore: bump chromium to 130.0.6723.6 (33-x-y) (#43453)

* chore: bump chromium in DEPS to 130.0.6673.0

* chore: bump chromium in DEPS to 130.0.6675.0

* chore: bump chromium in DEPS to 130.0.6677.2

* chore: bump chromium in DEPS to 130.0.6679.1

* chore: bump chromium in DEPS to 130.0.6681.1

* chore: bump chromium in DEPS to 130.0.6683.2

* chore: bump chromium in DEPS to 130.0.6685.0

* chore: bump chromium in DEPS to 130.0.6687.0

* chore: bump chromium in DEPS to 130.0.6689.0

* chore: bump chromium in DEPS to 130.0.6691.1

* chore: bump chromium in DEPS to 130.0.6693.1

* chore: bump chromium in DEPS to 130.0.6695.1

* chore: bump chromium in DEPS to 130.0.6697.1

* chore: bump chromium in DEPS to 130.0.6699.1

* chore: bump chromium in DEPS to 130.0.6701.1

* chore: bump chromium in DEPS to 130.0.6703.1

* chore: bump chromium in DEPS to 130.0.6705.1

* chore: bump chromium in DEPS to 130.0.6707.1

* chore: bump chromium in DEPS to 130.0.6709.1

* chore: bump chromium in DEPS to 130.0.6711.1

* chore: bump chromium in DEPS to 130.0.6713.1

* chore: bump chromium in DEPS to 130.0.6715.2

* chore: bump chromium in DEPS to 130.0.6717.0

* chore: bump chromium in DEPS to 130.0.6719.1

* chore: bump chromium in DEPS to 130.0.6720.1

* chore: bump chromium in DEPS to 130.0.6723.1

* chore: bump chromium in DEPS to 130.0.6723.4

* chore: bump chromium in DEPS to 130.0.6723.6

* chore: bump chromium to 130.0.6695.0 (main) (#43454)

* chore: bump chromium in DEPS to 130.0.6673.0

* chore: bump chromium in DEPS to 130.0.6675.0

* chore: bump chromium in DEPS to 130.0.6677.2

* chore: bump chromium in DEPS to 130.0.6679.0

* 5802981: [Partitioned Popins] UKM

5802981

* 5799275: ash: Create //chrome/browser/ui/ash/web_view

5799275

* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url

5791853

* 5805208: Move third_party/jacoco to a cipd/ subdirectory.

5805208

* chore: fixup patch indices

* 5771091: Introduce InputManager class for handling input in Viz.

5771091

* 5498921: [Permission] Remove SubscribeToPermissionStatusChange from PermissionManager

5498921

* 5791853: [PWA] Allow WebContentsImpl::CreateNewWindow() to use new web contents for loading url

5791853

* 5801311: Don't use int for bindings

5801311

* 5548827: [Web Install] Define the web-app-installation PermissionPolicy

5548827

* 5786325: Add Infrastructure for Hand tracking permission

5786325

* chore: fixup patch indices

* chore: bump chromium in DEPS to 130.0.6681.0

* [Views AX] Move BrowserAccessibility* to //ui/accessibility/platform

Xref: 5520052

* chore: e patches all

* Don't have default arguments on virtual functions in render_frame_host.h

5809399

* test: log if loadURL fails in base url test

* chore: bump chromium in DEPS to 130.0.6683.2

* chore: fix support_mixed_sandbox_with_zygote.patch

content: restore old DisableJit behavior

5804255

* chore: update patch indices

* chore: bump chromium in DEPS to 130.0.6685.0

* Parallel process launching

Xref: 5015584

* chore: update feat_expose_documentloader_setdefersloading_on_webdocumentloader.patch

No manual changes; patch applied with fuzz 1

* chore: e patches all

* chore: bump chromium in DEPS to 130.0.6687.0

* chore: bump chromium in DEPS to 130.0.6689.0

* chore: bump chromium in DEPS to 130.0.6691.0

* chore: bump chromium in DEPS to 130.0.6693.0

* chore: update patches

* chore: bump chromium in DEPS to 130.0.6695.0

* chore: free up macos disk space as soon as possible

* 5824143: Use checked in source lists for third_party/boringssl

5824143

* chore: update patches

* 5824122: Extensions: Add a new view type enum for developer tools contexts

5824122

* 5806109: Option for JavaScriptExecuteRequestForTests() to ignore content settings

5806109

* build: free up disk space on gn check too

* 5799369: [Refactoring] Make allow_http1_for_streaming_upload flags false.

5799369

* fixup! 5015584: Parallel process launching | 5015584

* Disable failing test for short-term

See: https://github.com/electron/electron/issues/43730

* oops

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
(cherry picked from commit 4bcbc955dd)

* build: update appveyor image to latest version (#43772)

Co-authored-by: electron-appveyor-updater[bot] <161660339+electron-appveyor-updater[bot]@users.noreply.github.com>
(cherry picked from commit 02fd8bbcc1)

* chore: fixup patches

* chore: fixup patch

* chore: bump chromium in DEPS to 130.0.6723.6

* chore: update filenames.libcxx.gni

* test: re-enable disabled test

* 5844369: controlledframe: Disable Web Bluetooth for <webview> & <controlledframe>
5844369

(cherry picked from commit 0ac4852763f0dce3468d30907620211f34c4104b)

* (multiple CLs): Use an opaque type for FrameTreeNode IDs

5807683: Use an opaque type for FrameTreeNode IDs, part 1 | 5807683
5829746: Use an opaque type for FrameTreeNode IDs, part 2 | 5829746
5836903: Use an opaque type for FrameTreeNode IDs, part 7 | 5836903
5837249: Use an opaque type for FrameTreeNode IDs, part 8 | 5837249
5836564: Use an opaque type for FrameTreeNode IDs, part 12 | 5836564
5837180: Use an opaque type for FrameTreeNode IDs, part 15 | 5837180
(cherry picked from commit 1dd67f5241a3a24ea5a20f11efefdd2afc520a26)

* 5822889: [task] Make GetForegroundTaskRunner non-virtual
5822889

(cherry picked from commit ae1e7232a35260cce8c4303d5f9809aa166bf19b)

* 5833297: Remove unused inner WebContents attach params
5833297

(cherry picked from commit 390bb42e39eba66cd86221461d2822bbd85012df)

* 5806403: Shift PowerMonitor to non static
5806403

(cherry picked from commit 128e3826e13768e89c7f5117de451ebd2b3ec9a4)

* 5666874: [3/N] Remove old OnPowerChange in PowerObserver
5666874

(cherry picked from commit 6ea6ea14ae23ced6465b94fd753f8c80ced4b13b)

* 5829085: [v8] Differentiate between UserVisible and BestEffort task runners
5829085

(cherry picked from commit 1db28ee4a51fb2593e4c11bcaa538a6524abe48c)

* 5791112: [webrtc] Use `c/b/permissions/system` for system permissions
5791112

(cherry picked from commit 50d4a71923ca99653bf5733145bdc6e21f783b2d)

* fixup! (multiple CLs): Use an opaque type for FrameTreeNode IDs

(cherry picked from commit 9271130e160d479b3d286d295045b9d4acd2005c)

* fixup! 5791112: [webrtc] Use `c/b/permissions/system` for system permissions 5791112

(cherry picked from commit db2c8c69d0c7bdee881997847dfc3c8abf32197c)

* 5825636: [Extensions] Create WebContentsObservers with ExtensionsBrowserClient
5825636

(cherry picked from commit f2c3d09ccd141dbe2f4b62957b72f98bf8a010ae)

* 5854811: Use kNotAllowedError instead of kSecurityError for Web MIDI

5854811

* test: fix should support base url for data urls test

Caused by 5802682

* test: fixup extensions can cancel http requests

* chore: document custom protocol handling on Windows change due to Non-Special Scheme URLs shipping

5802682

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: electron-appveyor-updater[bot] <161660339+electron-appveyor-updater[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: clavin <clavin@electronjs.org>
This commit is contained in:
electron-roller[bot] 2024-09-26 11:12:12 +02:00 committed by GitHub
parent ad8f2f8d5d
commit d62097e067
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
113 changed files with 740 additions and 638 deletions

View file

@ -68,9 +68,10 @@ PowerMonitor::PowerMonitor(v8::Isolate* isolate) {
&PowerMonitor::ShouldShutdown, base::Unretained(this)));
#endif
base::PowerMonitor::AddPowerStateObserver(this);
base::PowerMonitor::AddPowerSuspendObserver(this);
base::PowerMonitor::AddPowerThermalObserver(this);
auto* power_monitor = base::PowerMonitor::GetInstance();
power_monitor->AddPowerStateObserver(this);
power_monitor->AddPowerSuspendObserver(this);
power_monitor->AddPowerThermalObserver(this);
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)
InitPlatformSpecificMonitors();
@ -78,20 +79,29 @@ PowerMonitor::PowerMonitor(v8::Isolate* isolate) {
}
PowerMonitor::~PowerMonitor() {
base::PowerMonitor::RemovePowerStateObserver(this);
base::PowerMonitor::RemovePowerSuspendObserver(this);
base::PowerMonitor::RemovePowerThermalObserver(this);
auto* power_monitor = base::PowerMonitor::GetInstance();
power_monitor->RemovePowerStateObserver(this);
power_monitor->RemovePowerSuspendObserver(this);
power_monitor->RemovePowerThermalObserver(this);
}
bool PowerMonitor::ShouldShutdown() {
return !Emit("shutdown");
}
void PowerMonitor::OnPowerStateChange(bool on_battery_power) {
if (on_battery_power)
Emit("on-battery");
else
Emit("on-ac");
void PowerMonitor::OnBatteryPowerStatusChange(
BatteryPowerStatus battery_power_status) {
switch (battery_power_status) {
case BatteryPowerStatus::kBatteryPower:
Emit("on-battery");
break;
case BatteryPowerStatus::kExternalPower:
Emit("on-ac");
break;
case BatteryPowerStatus::kUnknown:
// Ignored
break;
}
}
void PowerMonitor::OnSuspend() {
@ -175,11 +185,11 @@ int GetSystemIdleTime() {
}
bool IsOnBatteryPower() {
return base::PowerMonitor::IsOnBatteryPower();
return base::PowerMonitor::GetInstance()->IsOnBatteryPower();
}
base::PowerThermalObserver::DeviceThermalState GetCurrentThermalState() {
return base::PowerMonitor::GetCurrentThermalState();
return base::PowerMonitor::GetInstance()->GetCurrentThermalState();
}
void Initialize(v8::Local<v8::Object> exports,

View file

@ -52,7 +52,8 @@ class PowerMonitor final : public gin::Wrappable<PowerMonitor>,
#endif
// base::PowerStateObserver implementations:
void OnPowerStateChange(bool on_battery_power) override;
void OnBatteryPowerStatusChange(
BatteryPowerStatus battery_power_status) override;
// base::PowerSuspendObserver implementations:
void OnSuspend() override;

View file

@ -93,8 +93,8 @@ AVMediaType ParseMediaType(const std::string& media_type) {
}
std::string ConvertSystemPermission(
system_media_permissions::SystemPermission value) {
using SystemPermission = system_media_permissions::SystemPermission;
system_permission_settings::SystemPermission value) {
using SystemPermission = system_permission_settings::SystemPermission;
switch (value) {
case SystemPermission::kNotDetermined:
return "not-determined";
@ -548,13 +548,13 @@ std::string SystemPreferences::GetMediaAccessStatus(
const std::string& media_type) {
if (media_type == "camera") {
return ConvertSystemPermission(
system_media_permissions::CheckSystemVideoCapturePermission());
system_permission_settings::CheckSystemVideoCapturePermission());
} else if (media_type == "microphone") {
return ConvertSystemPermission(
system_media_permissions::CheckSystemAudioCapturePermission());
system_permission_settings::CheckSystemAudioCapturePermission());
} else if (media_type == "screen") {
return ConvertSystemPermission(
system_media_permissions::CheckSystemScreenCapturePermission());
system_permission_settings::CheckSystemScreenCapturePermission());
} else {
thrower.ThrowError("Invalid media type");
return std::string();

View file

@ -656,7 +656,8 @@ bool IsDevToolsFileSystemAdded(content::WebContents* web_contents,
content::RenderFrameHost* GetRenderFrameHost(
content::NavigationHandle* navigation_handle) {
int frame_tree_node_id = navigation_handle->GetFrameTreeNodeId();
content::FrameTreeNodeId frame_tree_node_id =
navigation_handle->GetFrameTreeNodeId();
content::FrameTreeNode* frame_tree_node =
content::FrameTreeNode::GloballyFindByID(frame_tree_node_id);
content::RenderFrameHostManager* render_manager =
@ -688,6 +689,7 @@ WebContents::Type GetTypeFromViewType(extensions::mojom::ViewType view_type) {
case extensions::mojom::ViewType::kOffscreenDocument:
case extensions::mojom::ViewType::kExtensionSidePanel:
case extensions::mojom::ViewType::kInvalid:
case extensions::mojom::ViewType::kDeveloperTools:
return WebContents::Type::kRemote;
}
}
@ -1139,7 +1141,7 @@ content::WebContents* WebContents::CreateCustomWebContents(
return nullptr;
}
void WebContents::AddNewContents(
content::WebContents* WebContents::AddNewContents(
content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
@ -1172,6 +1174,8 @@ void WebContents::AddNewContents(
tracker->raw_features, tracker->body)) {
api_web_contents->Destroy();
}
return nullptr;
}
content::WebContents* WebContents::OpenURLFromTab(
@ -1679,7 +1683,7 @@ void WebContents::RenderFrameHostChanged(content::RenderFrameHost* old_host,
}
}
void WebContents::FrameDeleted(int frame_tree_node_id) {
void WebContents::FrameDeleted(content::FrameTreeNodeId frame_tree_node_id) {
auto* web_frame = WebFrameMain::FromFrameTreeNodeId(frame_tree_node_id);
if (web_frame)
web_frame->Destroyed();

View file

@ -25,6 +25,7 @@
#include "content/common/frame.mojom-forward.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/frame_tree_node_id.h"
#include "content/public/browser/javascript_dialog_manager.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/browser/web_contents_delegate.h"
@ -551,13 +552,14 @@ class WebContents final : public ExclusiveAccessContext,
int opener_render_frame_id,
const content::mojom::CreateNewWindowParams& params,
content::WebContents* new_contents) override;
void AddNewContents(content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& window_features,
bool user_gesture,
bool* was_blocked) override;
content::WebContents* AddNewContents(
content::WebContents* source,
std::unique_ptr<content::WebContents> new_contents,
const GURL& target_url,
WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& window_features,
bool user_gesture,
bool* was_blocked) override;
content::WebContents* OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params,
@ -633,7 +635,7 @@ class WebContents final : public ExclusiveAccessContext,
void RenderFrameDeleted(content::RenderFrameHost* render_frame_host) override;
void RenderFrameHostChanged(content::RenderFrameHost* old_host,
content::RenderFrameHost* new_host) override;
void FrameDeleted(int frame_tree_node_id) override;
void FrameDeleted(content::FrameTreeNodeId frame_tree_node_id) override;
void RenderViewDeleted(content::RenderViewHost*) override;
void PrimaryMainFrameRenderProcessGone(
base::TerminationStatus status) override;

View file

@ -18,10 +18,10 @@ namespace electron::api {
void WebContents::DetachFromOuterFrame() {
// See detach_webview_frame.patch on how to detach.
int frame_tree_node_id =
content::FrameTreeNodeId frame_tree_node_id =
static_cast<content::WebContentsImpl*>(web_contents())
->GetOuterDelegateFrameTreeNodeId();
if (frame_tree_node_id != content::FrameTreeNode::kFrameTreeNodeInvalidId) {
if (!frame_tree_node_id) {
auto* node = content::FrameTreeNode::GloballyFindByID(frame_tree_node_id);
DCHECK(node->parent());
node->frame_tree().RemoveFrame(node);

View file

@ -12,6 +12,7 @@
#include "base/logging.h"
#include "base/no_destructor.h"
#include "content/browser/renderer_host/render_frame_host_impl.h" // nogncheck
#include "content/public/browser/frame_tree_node_id.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/common/isolated_world_ids.h"
#include "electron/shell/common/api/api.mojom.h"
@ -56,7 +57,10 @@ struct Converter<blink::mojom::PageVisibilityState> {
namespace electron::api {
typedef std::unordered_map<int, WebFrameMain*> WebFrameMainIdMap;
typedef std::unordered_map<content::FrameTreeNodeId,
WebFrameMain*,
content::FrameTreeNodeId::Hasher>
WebFrameMainIdMap;
WebFrameMainIdMap& GetWebFrameMainMap() {
static base::NoDestructor<WebFrameMainIdMap> instance;
@ -64,7 +68,8 @@ WebFrameMainIdMap& GetWebFrameMainMap() {
}
// static
WebFrameMain* WebFrameMain::FromFrameTreeNodeId(int frame_tree_node_id) {
WebFrameMain* WebFrameMain::FromFrameTreeNodeId(
content::FrameTreeNodeId frame_tree_node_id) {
WebFrameMainIdMap& frame_map = GetWebFrameMainMap();
auto iter = frame_map.find(frame_tree_node_id);
auto* web_frame = iter == frame_map.end() ? nullptr : iter->second;
@ -156,7 +161,7 @@ v8::Local<v8::Promise> WebFrameMain::ExecuteJavaScript(
static_cast<content::RenderFrameHostImpl*>(render_frame_)
->ExecuteJavaScriptForTests(
code, user_gesture, true /* resolve_promises */,
content::ISOLATED_WORLD_ID_GLOBAL,
/*honor_js_content_settings=*/true, content::ISOLATED_WORLD_ID_GLOBAL,
base::BindOnce(
[](gin_helper::Promise<base::Value> promise,
blink::mojom::JavaScriptExecutionResultType type,
@ -270,8 +275,8 @@ void WebFrameMain::PostMessage(v8::Isolate* isolate,
std::move(transferable_message));
}
int WebFrameMain::FrameTreeNodeID() const {
return frame_tree_node_id_;
int WebFrameMain::FrameTreeNodeIDAsInt() const {
return frame_tree_node_id_.value();
}
std::string WebFrameMain::Name() const {
@ -406,7 +411,7 @@ void WebFrameMain::FillObjectTemplate(v8::Isolate* isolate,
.SetMethod("reload", &WebFrameMain::Reload)
.SetMethod("_send", &WebFrameMain::Send)
.SetMethod("_postMessage", &WebFrameMain::PostMessage)
.SetProperty("frameTreeNodeId", &WebFrameMain::FrameTreeNodeID)
.SetProperty("frameTreeNodeId", &WebFrameMain::FrameTreeNodeIDAsInt)
.SetProperty("name", &WebFrameMain::Name)
.SetProperty("osProcessId", &WebFrameMain::OSProcessID)
.SetProperty("processId", &WebFrameMain::ProcessID)

View file

@ -12,6 +12,7 @@
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/process/process.h"
#include "content/public/browser/frame_tree_node_id.h"
#include "gin/wrappable.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
@ -53,7 +54,8 @@ class WebFrameMain final : public gin::Wrappable<WebFrameMain>,
static gin::Handle<WebFrameMain> FromOrNull(
v8::Isolate* isolate,
content::RenderFrameHost* render_frame_host);
static WebFrameMain* FromFrameTreeNodeId(int frame_tree_node_id);
static WebFrameMain* FromFrameTreeNodeId(
content::FrameTreeNodeId frame_tree_node_id);
static WebFrameMain* FromRenderFrameHost(
content::RenderFrameHost* render_frame_host);
@ -110,7 +112,7 @@ class WebFrameMain final : public gin::Wrappable<WebFrameMain>,
v8::Local<v8::Value> message_value,
std::optional<v8::Local<v8::Value>> transfer);
int FrameTreeNodeID() const;
int FrameTreeNodeIDAsInt() const;
std::string Name() const;
base::ProcessId OSProcessID() const;
int ProcessID() const;
@ -129,7 +131,7 @@ class WebFrameMain final : public gin::Wrappable<WebFrameMain>,
mojo::Remote<mojom::ElectronRenderer> renderer_api_;
mojo::PendingReceiver<mojom::ElectronRenderer> pending_receiver_;
int frame_tree_node_id_;
content::FrameTreeNodeId frame_tree_node_id_;
raw_ptr<content::RenderFrameHost> render_frame_ = nullptr;

View file

@ -115,6 +115,10 @@ void ElectronBluetoothDelegate::RevokeDevicePermissionWebInitiated(
NOTIMPLEMENTED();
}
bool ElectronBluetoothDelegate::MayUseBluetooth(RenderFrameHost* frame) {
return true;
}
bool ElectronBluetoothDelegate::IsAllowedToAccessService(
RenderFrameHost* frame,
const WebBluetoothDeviceId& device_id,

View file

@ -76,6 +76,7 @@ class ElectronBluetoothDelegate : public content::BluetoothDelegate {
void RevokeDevicePermissionWebInitiated(
content::RenderFrameHost* frame,
const blink::WebBluetoothDeviceId& device_id) override;
bool MayUseBluetooth(content::RenderFrameHost* frame) override;
bool IsAllowedToAccessService(content::RenderFrameHost* frame,
const blink::WebBluetoothDeviceId& device_id,
const device::BluetoothUUID& service) override;

View file

@ -917,7 +917,7 @@ void HandleExternalProtocolInUI(
bool ElectronBrowserClient::HandleExternalProtocol(
const GURL& url,
content::WebContents::Getter web_contents_getter,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
content::NavigationUIData* navigation_data,
bool is_primary_main_frame,
bool is_in_fenced_frame_tree,
@ -1033,7 +1033,7 @@ blink::UserAgentMetadata ElectronBrowserClient::GetUserAgentMetadata() {
mojo::PendingRemote<network::mojom::URLLoaderFactory>
ElectronBrowserClient::CreateNonNetworkNavigationURLLoaderFactory(
const std::string& scheme,
int frame_tree_node_id) {
content::FrameTreeNodeId frame_tree_node_id) {
content::WebContents* web_contents =
content::WebContents::FromFrameTreeNodeId(frame_tree_node_id);
content::BrowserContext* context = web_contents->GetBrowserContext();
@ -1361,7 +1361,7 @@ void ElectronBrowserClient::WillCreateURLLoaderFactory(
std::vector<std::unique_ptr<content::URLLoaderRequestInterceptor>>
ElectronBrowserClient::WillCreateURLLoaderRequestInterceptors(
content::NavigationUIData* navigation_ui_data,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
int64_t navigation_id,
bool force_no_https_upgrade,
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner) {
@ -1664,7 +1664,7 @@ ElectronBrowserClient::CreateURLLoaderThrottles(
content::BrowserContext* browser_context,
const base::RepeatingCallback<content::WebContents*()>& wc_getter,
content::NavigationUIData* navigation_ui_data,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
absl::optional<int64_t> navigation_id) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);

View file

@ -16,6 +16,7 @@
#include "base/memory/raw_ptr.h"
#include "base/synchronization/lock.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/frame_tree_node_id.h"
#include "content/public/browser/render_process_host_observer.h"
#include "content/public/browser/web_contents.h"
#include "electron/buildflags/buildflags.h"
@ -200,8 +201,9 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
std::vector<base::FilePath> GetNetworkContextsParentDirectory() override;
std::string GetProduct() override;
mojo::PendingRemote<network::mojom::URLLoaderFactory>
CreateNonNetworkNavigationURLLoaderFactory(const std::string& scheme,
int frame_tree_node_id) override;
CreateNonNetworkNavigationURLLoaderFactory(
const std::string& scheme,
content::FrameTreeNodeId frame_tree_node_id) override;
void RegisterNonNetworkWorkerMainResourceURLLoaderFactories(
content::BrowserContext* browser_context,
NonNetworkURLLoaderFactoryMap* factories) override;
@ -242,7 +244,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
std::vector<std::unique_ptr<content::URLLoaderRequestInterceptor>>
WillCreateURLLoaderRequestInterceptors(
content::NavigationUIData* navigation_ui_data,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
int64_t navigation_id,
bool force_no_https_upgrade,
scoped_refptr<base::SequencedTaskRunner> navigation_response_task_runner)
@ -265,7 +267,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
bool HandleExternalProtocol(
const GURL& url,
content::WebContents::Getter web_contents_getter,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
content::NavigationUIData* navigation_data,
bool is_primary_main_frame,
bool is_in_fenced_frame_tree,
@ -294,7 +296,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
content::BrowserContext* browser_context,
const base::RepeatingCallback<content::WebContents*()>& wc_getter,
content::NavigationUIData* navigation_ui_data,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
std::optional<int64_t> navigation_id) override;
base::flat_set<std::string> GetPluginMimeTypesWithExternalHandlers(
content::BrowserContext* browser_context) override;

View file

@ -416,18 +416,4 @@ ElectronPermissionManager::GetPermissionStatusForEmbeddedRequester(
render_frame_host->GetLastCommittedOrigin().GetURL());
}
ElectronPermissionManager::SubscriptionId
ElectronPermissionManager::SubscribeToPermissionStatusChange(
blink::PermissionType permission,
content::RenderProcessHost* render_process_host,
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool should_include_device_status,
base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback) {
return SubscriptionId();
}
void ElectronPermissionManager::UnsubscribeFromPermissionStatusChange(
SubscriptionId id) {}
} // namespace electron

View file

@ -146,15 +146,6 @@ class ElectronPermissionManager : public content::PermissionControllerDelegate {
blink::PermissionType permission,
content::RenderFrameHost* render_frame_host,
const url::Origin& requesting_origin) override;
SubscriptionId SubscribeToPermissionStatusChange(
blink::PermissionType permission,
content::RenderProcessHost* render_process_host,
content::RenderFrameHost* render_frame_host,
const GURL& requesting_origin,
bool should_include_device_status,
base::RepeatingCallback<void(blink::mojom::PermissionStatus)> callback)
override;
void UnsubscribeFromPermissionStatusChange(SubscriptionId id) override;
private:
class PendingRequest;

View file

@ -8,6 +8,7 @@
#include <utility>
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/frame_tree_node_id.h"
#include "content/public/browser/web_contents.h"
#include "electron/buildflags/buildflags.h"
#include "extensions/browser/extension_registry.h"
@ -29,7 +30,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
const std::string& extension_id,
const std::string& stream_id,
bool embedded,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
blink::mojom::TransferrableURLLoaderPtr transferrable_loader,
const GURL& original_url,
const std::string& internal_id) {

View file

@ -7,6 +7,7 @@
#include <string>
#include "content/public/browser/frame_tree_node_id.h"
#include "third_party/blink/public/mojom/loader/transferrable_url_loader.mojom-forward.h"
class GURL;
@ -26,7 +27,7 @@ class StreamsPrivateAPI {
const std::string& extension_id,
const std::string& stream_id,
bool embedded,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
blink::mojom::TransferrableURLLoaderPtr transferrable_loader,
const GURL& original_url,
const std::string& internal_id);

View file

@ -17,6 +17,7 @@
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/frame_tree_node_id.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/common/user_agent.h"
#include "extensions/browser/api/core_extensions_browser_api_provider.h"
@ -271,7 +272,7 @@ ElectronExtensionsBrowserClient::GetProcessManagerDelegate() const {
mojo::PendingRemote<network::mojom::URLLoaderFactory>
ElectronExtensionsBrowserClient::GetControlledFrameEmbedderURLLoader(
const url::Origin& app_origin,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
content::BrowserContext* browser_context) {
return mojo::PendingRemote<network::mojom::URLLoaderFactory>();
}
@ -372,6 +373,12 @@ void ElectronExtensionsBrowserClient::SetAPIClientForTest(
api_client_.reset(api_client);
}
void ElectronExtensionsBrowserClient::CreateExtensionWebContentsObserver(
content::WebContents* web_contents) {
extensions::ElectronExtensionWebContentsObserver::CreateForWebContents(
web_contents);
}
extensions::ExtensionWebContentsObserver*
ElectronExtensionsBrowserClient::GetExtensionWebContentsObserver(
content::WebContents* web_contents) {

View file

@ -9,6 +9,7 @@
#include <string>
#include <vector>
#include "content/public/browser/frame_tree_node_id.h"
#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/kiosk/kiosk_delegate.h"
#include "services/network/public/cpp/resource_request.h"
@ -111,7 +112,7 @@ class ElectronExtensionsBrowserClient
mojo::PendingRemote<network::mojom::URLLoaderFactory>
GetControlledFrameEmbedderURLLoader(
const url::Origin& app_origin,
int frame_tree_node_id,
content::FrameTreeNodeId frame_tree_node_id,
content::BrowserContext* browser_context) override;
std::unique_ptr<extensions::ExtensionHostDelegate>
CreateExtensionHostDelegate() override;
@ -136,6 +137,8 @@ class ElectronExtensionsBrowserClient
extensions::ExtensionCache* GetExtensionCache() override;
bool IsBackgroundUpdateAllowed() override;
bool IsMinBrowserVersionSupported(const std::string& min_version) override;
void CreateExtensionWebContentsObserver(
content::WebContents* web_contents) override;
extensions::ExtensionWebContentsObserver* GetExtensionWebContentsObserver(
content::WebContents* web_contents) override;
extensions::KioskDelegate* GetKioskDelegate() override;

View file

@ -41,11 +41,12 @@ gin::IsolateHolder CreateIsolateHolder(v8::Isolate* isolate) {
// This is necessary for important aspects of Node.js
// including heap and cpu profilers to function properly.
return gin::IsolateHolder(
base::SingleThreadTaskRunner::GetCurrentDefault(),
gin::IsolateHolder::kSingleThread,
gin::IsolateHolder::IsolateType::kUtility, std::move(create_params),
gin::IsolateHolder::IsolateCreationMode::kNormal, nullptr, isolate);
return gin::IsolateHolder(base::SingleThreadTaskRunner::GetCurrentDefault(),
gin::IsolateHolder::kSingleThread,
gin::IsolateHolder::IsolateType::kUtility,
std::move(create_params),
gin::IsolateHolder::IsolateCreationMode::kNormal,
nullptr, nullptr, isolate);
}
} // namespace

View file

@ -123,7 +123,7 @@ class BundledDataSource : public content::URLDataSource {
DevToolsUI::DevToolsUI(content::BrowserContext* browser_context,
content::WebUI* web_ui)
: WebUIController(web_ui) {
web_ui->SetBindings(0);
web_ui->SetBindings(content::BindingsPolicySet());
content::URLDataSource::Add(browser_context,
std::make_unique<BundledDataSource>());
}

View file

@ -1040,7 +1040,8 @@ void InspectableWebContents::DidFinishNavigation(
// Invoking content::DevToolsFrontendHost::SetupExtensionsAPI(frame, script);
// should be enough, but it seems to be a noop currently.
frame->ExecuteJavaScriptForTests(base::UTF8ToUTF16(script),
base::NullCallback());
base::NullCallback(),
content::ISOLATED_WORLD_ID_GLOBAL);
}
void InspectableWebContents::SendMessageAck(int request_id,

View file

@ -61,19 +61,19 @@ namespace {
bool SystemMediaPermissionDenied(const content::MediaStreamRequest& request) {
if (request.audio_type == MediaStreamType::DEVICE_AUDIO_CAPTURE) {
const auto system_audio_permission =
system_media_permissions::CheckSystemAudioCapturePermission();
system_permission_settings::CheckSystemAudioCapturePermission();
return system_audio_permission ==
system_media_permissions::SystemPermission::kRestricted ||
system_permission_settings::SystemPermission::kRestricted ||
system_audio_permission ==
system_media_permissions::SystemPermission::kDenied;
system_permission_settings::SystemPermission::kDenied;
}
if (request.video_type == MediaStreamType::DEVICE_VIDEO_CAPTURE) {
const auto system_video_permission =
system_media_permissions::CheckSystemVideoCapturePermission();
system_permission_settings::CheckSystemVideoCapturePermission();
return system_video_permission ==
system_media_permissions::SystemPermission::kRestricted ||
system_permission_settings::SystemPermission::kRestricted ||
system_video_permission ==
system_media_permissions::SystemPermission::kDenied;
system_permission_settings::SystemPermission::kDenied;
}
return false;

View file

@ -46,8 +46,6 @@ void WebViewGuestDelegate::AttachToIframe(
embedder_web_contents_->AttachInnerWebContents(
base::WrapUnique<content::WebContents>(guest_web_contents),
embedder_frame,
/*remote_frame=*/mojo::NullAssociatedRemote(),
/*remote_frame_host_receiver=*/mojo::NullAssociatedReceiver(),
/*is_full_page=*/false);
ResetZoomController();