chore: bump chromium to 131.0.6734.0 (main) (#43769)
* chore: bump chromium in DEPS to 130.0.6723.4 * chore: bump chromium in DEPS to 131.0.6724.0 * chore: update patches * chore: update libc++ filenames * 5844369: controlledframe: Disable Web Bluetooth for <webview> & <controlledframe>5844369
* (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
* 5822889: [task] Make GetForegroundTaskRunner non-virtual5822889
* 5833297: Remove unused inner WebContents attach params5833297
* 5806403: Shift PowerMonitor to non static5806403
* 5666874: [3/N] Remove old OnPowerChange in PowerObserver5666874
* 5829085: [v8] Differentiate between UserVisible and BestEffort task runners5829085
* 5791112: [webrtc] Use `c/b/permissions/system` for system permissions5791112
* 5825636: [Extensions] Create WebContentsObservers with ExtensionsBrowserClient5825636
* fixup! (multiple CLs): Use an opaque type for FrameTreeNode IDs * fixup! 5791112: [webrtc] Use `c/b/permissions/system` for system permissions5791112
* chore: bump chromium in DEPS to 131.0.6726.0 * chore: update patches * chore: update libc++ filenames * 5858119: Declutter: Allow opening to a specific feature5858119
* fix: macOS SDK 15 error Not sure exactly what changed in the upgrade to macOS SDK 15, but it triggered a new error: ``` electron/shell/browser/ui/message_box_mac.mm:84:7: error: multiple methods named 'highlight:' found with mismatched result, parameter type or attributes ``` The `highlight:` selector a few lines down was ambiguous because the object type of the `NSArray` was not specified. Specifying `NSButton` as the element type makes the selector unambiguous for type checking. * 5854143: [File Download Access Prevention] Obfuscate download file for enterprise deep scan5854143
* 5854811: Use kNotAllowedError instead of kSecurityError for Web MIDI5854811
* chore: bump chromium in DEPS to 131.0.6728.0 * chore: update patches * disable invalid test * chore: bump chromium in DEPS to 131.0.6730.0 * chore: update patches * update build tools target commit for new macOS SDK * chore: update libc++ file names * chore: bump chromium in DEPS to 131.0.6732.0 * chore: bump chromium in DEPS to 131.0.6734.0 * 5856527: [UI] Use mojo enum for `WindowShowState` in ui/5856527
* chore: update build-tools sha to include macOD 15.0 SDK --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: clavin <clavin@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: alice <alice@makenotion.com>
This commit is contained in:
parent
af54c5a4b6
commit
30fbeec036
108 changed files with 625 additions and 538 deletions
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -658,7 +658,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 =
|
||||
|
@ -1698,7 +1699,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();
|
||||
|
|
|
@ -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"
|
||||
|
@ -637,7 +638,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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -115,6 +115,10 @@ void ElectronBluetoothDelegate::RevokeDevicePermissionWebInitiated(
|
|||
NOTIMPLEMENTED();
|
||||
}
|
||||
|
||||
bool ElectronBluetoothDelegate::MayUseBluetooth(RenderFrameHost* frame) {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ElectronBluetoothDelegate::IsAllowedToAccessService(
|
||||
RenderFrameHost* frame,
|
||||
const WebBluetoothDeviceId& device_id,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -916,7 +916,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,
|
||||
|
@ -1032,7 +1032,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();
|
||||
|
@ -1360,7 +1360,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) {
|
||||
|
@ -1663,7 +1663,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);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -40,11 +40,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
|
||||
|
|
|
@ -63,7 +63,7 @@ NSAlert* CreateNSAlert(const MessageBoxSettings& settings) {
|
|||
[button setTag:i];
|
||||
}
|
||||
|
||||
NSArray* ns_buttons = [alert buttons];
|
||||
NSArray<NSButton*>* ns_buttons = [alert buttons];
|
||||
int button_count = static_cast<int>([ns_buttons count]);
|
||||
|
||||
if (settings.default_id >= 0 && settings.default_id < button_count) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue