chore: bump chromium to 127.0.6521.0 (main) (#42118)

* chore: bump chromium in DEPS to 126.0.6470.0

* 5492605: Migrate TODOs referencing old crbug IDs to the new issue tracker IDs | 5492605

* 5513277: Move subresource-filter-ruleset to GCS | 5513277

* 5512656: Remove CustomizeChromeSupportsChromeRefresh2023 | 5512656

* 5516009: Accept mouse events in inactive window for Top Chrome WebUIs | 5516009

* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI. | 5376861

* 5490530: Use partition_alloc PA_BUILDFLAG(...) outside PA. #cleanup | 5490530

* 5296870: network: Allow trusted loaders to learn the sent request cookies. | 5296870

* 5453438: Delegate delegated ink trails to RWHI from RWHIER. | 5453438

* chore: update patches

* chore: bump chromium in DEPS to 126.0.6472.0

* chore: bump chromium in DEPS to 126.0.6474.0

* chore: update patches

* chore: bump chromium in DEPS to 126.0.6476.0

* chore: bump chromium in DEPS to 126.0.6478.0

* chore: bump chromium in DEPS to 126.0.6478.3

* chore: bump chromium in DEPS to 126.0.6478.8

* update patches

* only disable enterprise_cloud_content_analysis

* 5403888: [api] support v8::Data in v8::TracedReference and v8::EmbedderGraph

5403888

* chore: bump chromium in DEPS to 127.0.6484.0

* chore: bump chromium in DEPS to 127.0.6485.0

* 5539004: Use NOTREACHED_IN_MIGRATION() in remaining chrome/ | 5539004

* src: cast to v8::Value before using v8::EmbedderGraph::V8Node | https://github.com/nodejs/node/pull/52638/files

* chore: update patches

* chore: update v8 patches

* chore: bump chromium in DEPS to 127.0.6486.0

* chore: bump chromium in DEPS to 127.0.6488.0

* chore: bump chromium in DEPS to 127.0.6490.0

* chore: bump chromium in DEPS to 127.0.6492.0

* chore: update patches

For some reason, `feat_expose_raw_response_headers_from_urlloader.patch` got messed up in an earlier commit.

* chore: update patches

printing.patch was updated due to 5535938

* 5527572: Move Connectors prefs files to components/enterprise/connectors/

5527572

* chore: bump chromium in DEPS to 127.0.6494.0

* chore: bump chromium in DEPS to 127.0.6495.0

* chore: bump chromium in DEPS to 127.0.6496.0

* 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation
5465511

* chore: revert v8 deprecation

See patch message for more details.

5526611

* chore: update patches

* 5538771: Remove srcdoc else-if block in CalculateOrigin()
5538771

* 5522321: [devtools] Support saving base64 encoded files via host bindings
5522321

* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI.
5376861

* 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum
5530163

* 5463431: iwa: Only create IsolatedWebAppURLLoaderFactory for subresources in IWAs
5463431

* fixup! 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation 5465511

* 5512176: Remove OnEnvironmentEstimationComplete()
5512176

* 5528282: Move Web Speech API .mojom files to //media/mojo/mojom
5528282

* 5513740: Reland "[Extensions] Restructure extensions::ProcessMap"
5513740

* 5483406: [PEPC] Make PEPC permission subscription take into account device status
5483406

* 5526034: [DoH] Remove kDnsOverHttps feature flag
5526034

The title is a bit misleading. They removed handling for the feature flag and generally intend to remove it but haven't yet.

I only changed our code to address the flag that was removed. A quick search on GitHub for `DnsOverHttpsFallback` yielded a few results, but they were all C++ chromium code or patches, 0 app code or discussion results. Since I couldn't find any evidence of this flag being used in developer applications, I've chosen to exclude this change from the breaking changes docs.

* chore: revert v8 removal

5497515

See patch message for more details.

* chore: cherry-pick Node.js patch for V8 API removal fix

Node.js PR: https://github.com/nodejs/node/pull/52996
V8 API Removal CL: 5539888

See the patch description for more details.

* 5492183: Extensions: CodeHealth: Give enums some class
5492183

* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom 5528282

* 5514687: Reland "Add a secret handshake to the base::Feature constructor"
5514687

* fixup! 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum 5530163

* 5466238: PDF Viewer: add metrics to record if PDF is opened with a11y
5466238

* 5502081: Migrate OnDisplayRemoved to OnDisplaysRemoved
5502081

* 5539888: [api] Remove several APIs deprecated in version 12.6
5539888

This commit essentially only removes the `only_terminate_in_safe_scope` isolate creation parameter. This undoes some work that was originally done in #35766.

* 5498236: Make browser_tests force full async initialization for OSCrypt Async
5498236

* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom 5528282

* 5545807: Migrate most remaining NOTREACHED()
5545807

I took a systematic approach to modifying all of our uses of `NOTREACHED` that were causing errors:
* If there was a `return` or `break` (etc.) immediately after `NOTREACHED`, I removed the control flow instruction and left the `NOTREACHED` unmodified
* All other instances were migrated to `NOTREACHED_IN_MIGRATION`

We should revisit pretty much all usage of `NOTREACHED` as an upgrade follow-up item.

* fixup! 5526034: [DoH] Remove kDnsOverHttps feature flag 5526034

Turns out the feature flags were removed in the `.cc` file, but not the
`.h` feature list file. This means that the feature flags are pretty
much officially gone. (The leftover symbols in the header are likely an
oversight from what I can gather.)

We may potentially decide to put this in the breaking changes doc if we
decide this feature flag is important enough to highlight.

* chore: bump chromium in DEPS to 127.0.6498.3

* chore: bump chromium in DEPS to 127.0.6500.0

* chore: bump chromium in DEPS to 127.0.6502.0

* chore: bump chromium in DEPS to 127.0.6504.0

* chore: bump chromium in DEPS to 127.0.6505.0

* chore: bump chromium in DEPS to 127.0.6508.0

* build: use Sha256Sum in script/sysroots.json

Xref: 5506275

* chore: update chore_add_electron_deps_to_gitignores.patch

Xref: no manual changes; patch applied with fuzz 2

* chore: update feat_allow_code_cache_in_custom_schemes.patch

Xref: no manual changes; patch applied with fuzz 1

* chore: e patches all

* fixup! build: use Sha256Sum in script/sysroots.json

`sync` succeeds now

* chore: replace absl::optional with std::optional

Xref: 5253843

* chore: update CalculatePreferredSize() to new upstream semantics

Xref: 5459174
Xref: 5541220
Xref: 5514708
Xref: 5504212
Xref: https://chromium-review.googlesource.com/516542

* chore: replace absl::optional with std::optional

Xref: 5296147

* chore: add kPip to enumeration as a no-op

5546257

* [Autofill] Remove RenderFrame::ElementBoundsInWindow()

Xref: 5553982

* chore: fix feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch

need new header to pick up definition of BLINK_PLATFORM_EXPORT macro

Xref: 5463143

* chore: bump chromium in DEPS to 127.0.6510.0

* chore: update patches

* chore: fix include path for native_web_keyboard_event.h

Xref: 5541976

* chore: add currently-unused should_include_device_status arg to GetPermissionStatusForCurrentDocument()

Xref: 5545382

* chore: bump chromium in DEPS to 127.0.6512.0

* chore: update mas_avoid_private_macos_api_usage.patch.patch

No manual changes; patch applied with fuzz 1

* chore: update feat_add_streaming-protocol_registry_to_multibuffer_data_source.patch

No manual changes; patch applied with fuzz 1

* chore: update webview_fullscreen.patch

No manual changes; patch applied with fuzz 1

* chore=: remove cherry-pick-22db6918bac9.patch

already present upstream

* chore: remove nonexistent patchfiles from .patches

* chore: remove cherry-pick-3e037e195e50.patch

no longer needed; merged upstream

* Update namespace for files moved to //components/input

Xref: 5563251

* Require client for InitParams to always specify an ownership mode.

Xref: 5532482

Xref: 5578714

* chore: e patches all

* fixup! Update namespace for files moved to //components/input

* chore: remove profile_keyed_service_factory, profile_selections from chromium_src

already being linked in via chrome browser for printing

* chore: bump chromium in DEPS to 127.0.6515.0

* chore: bump chromium in DEPS to 127.0.6516.0

* chore: update render_widget_host_view_base.patch

Xref: 5547803

patch applied manually due to simple upstream shear

* chore: update feat_allow_code_cache_in_custom_schemes.patch

No manual changes; patch applied with fuzz 1

* chore: e patches all

* Pull RWHIER and RWT to //content/common/input.

Xref: 5397681

* chore: bump chromium in DEPS to 127.0.6517.0

* chore: update patches

* fixup: Update namespace for files moved to //components/input

* Remove 0-arg (default) constructor for views::Widget::InitParams.

5578714

* fixup: only disable enterprise_cloud_content_analysis

The original commit a5480accc2, was due to this CL 5527572: Move Connectors prefs files to components/enterprise/connectors/ | 5527572

* chore: bump chromium in DEPS to 127.0.6519.0

* chore: update patches

* src: do not use deprecated V8 API

https://github.com/nodejs/node/pull/53084

* src: remove dependency on wrapper-descriptor-based cpp heap

https://github.com/nodejs/node/pull/53086

* 5344413: [DevTools] Add `getHostConfig` UI binding for sending status of `base::Features` to DevTools

5344413

* 5585788: Extensions: ManifestHandler: Separate Registry like ExtensionRegistry

5585788

* chore: update filenames.libcxx.gni

* 5506857: Reland "Migrate clang-format to gcs first class deps"

5506857

* fixup: 5539888: [api] Remove several APIs deprecated in version 12.6

* fixup:  5506857: Reland Migrate clang-format to gcs first class deps

* chore: bump chromium in DEPS to 127.0.6521.0

* chore: update patches

* spec: update navigator.keyboard should lock the keyboard

* Block or allow all MIDI using the existing SysEx permission

Refs 5154368
Refs 5499157

* spec: update test/parallel/test-v8-stats

* views: remove CalculatePreferredSize()

Refs 5504212

* chore: update patches after rebase

* 5560288: Re-enable ChromeOS XNNPack on Intel only

5560288

* chore: add nan patches for v8 changes

Refs
5539888: [api] Remove several APIs deprecated in version 12.6 | 5539888
and
5539852: [heap][api] Remove deprecated v8::Isolate::IdleNotificationDeadline | 5539852

* 5573603: Modularize //chrome/browser/themes

5573603

* 5539888: [api] Remove several APIs deprecated in version 12.6

5539888

* chore: update patches

* test: fixup navigator.keyboard.lock on Windows

* chore: remove unneeded profile target

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: Keeley Hammond <khammond@slack-corp.com>
Co-authored-by: VerteDinde <vertedinde@electronjs.org>
Co-authored-by: Jeremy Rose <nornagon@nornagon.net>
Co-authored-by: clavin <clavin@electronjs.org>
Co-authored-by: Charles Kerr <charles@charleskerr.com>
Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: deepak1556 <hop2deep@gmail.com>
This commit is contained in:
electron-roller[bot] 2024-06-07 17:18:35 -04:00 committed by GitHub
parent 84e15e2d04
commit c3b4cd987c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
202 changed files with 1843 additions and 1127 deletions

View file

@ -1569,15 +1569,6 @@ void ConfigureHostResolver(v8::Isolate* isolate,
}
net::SecureDnsMode secure_dns_mode = net::SecureDnsMode::kOff;
std::string default_doh_templates;
if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
if (features::kDnsOverHttpsFallbackParam.Get()) {
secure_dns_mode = net::SecureDnsMode::kAutomatic;
} else {
secure_dns_mode = net::SecureDnsMode::kSecure;
}
default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
}
net::DnsOverHttpsConfig doh_config;
if (!default_doh_templates.empty() &&
secure_dns_mode != net::SecureDnsMode::kOff) {

View file

@ -60,7 +60,6 @@ void GlobalShortcut::OnKeyPressed(const ui::Accelerator& accelerator) {
// This should never occur, because if it does, GlobalShortcutListener
// notifies us with wrong accelerator.
NOTREACHED();
return;
}
accelerator_callback_map_[accelerator].Run();
}

View file

@ -110,10 +110,12 @@ void Screen::OnDisplayAdded(const display::Display& new_display) {
"display-added", new_display));
}
void Screen::OnDisplayRemoved(const display::Display& old_display) {
base::SingleThreadTaskRunner::GetCurrentDefault()->PostNonNestableTask(
FROM_HERE, base::BindOnce(&DelayEmit, base::Unretained(this),
"display-removed", old_display));
void Screen::OnDisplaysRemoved(const display::Displays& old_displays) {
for (const auto& old_display : old_displays) {
base::SingleThreadTaskRunner::GetCurrentDefault()->PostNonNestableTask(
FROM_HERE, base::BindOnce(&DelayEmit, base::Unretained(this),
"display-removed", old_display));
}
}
void Screen::OnDisplayMetricsChanged(const display::Display& display,

View file

@ -57,7 +57,7 @@ class Screen : public gin::Wrappable<Screen>,
// display::DisplayObserver:
void OnDisplayAdded(const display::Display& new_display) override;
void OnDisplayRemoved(const display::Display& old_display) override;
void OnDisplaysRemoved(const display::Displays& removed_displays) override;
void OnDisplayMetricsChanged(const display::Display& display,
uint32_t changed_metrics) override;

View file

@ -13,6 +13,7 @@
#include <utility>
#include <vector>
#include "base/base64.h"
#include "base/containers/contains.h"
#include "base/containers/fixed_flat_map.h"
#include "base/containers/id_map.h"
@ -30,6 +31,7 @@
#include "chrome/browser/ui/views/eye_dropper/eye_dropper.h"
#include "chrome/common/pref_names.h"
#include "components/embedder_support/user_agent_utils.h"
#include "components/input/native_web_keyboard_event.h"
#include "components/prefs/pref_service.h"
#include "components/prefs/scoped_user_pref_update.h"
#include "components/security_state/content/content_utils.h"
@ -58,7 +60,6 @@
#include "content/public/browser/site_instance.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/input/native_web_keyboard_event.h"
#include "content/public/common/referrer_type_converters.h"
#include "content/public/common/result_codes.h"
#include "content/public/common/webplugininfo.h"
@ -600,12 +601,25 @@ base::Value::Dict CreateFileSystemValue(const FileSystem& file_system) {
return value;
}
void WriteToFile(const base::FilePath& path, const std::string& content) {
void WriteToFile(const base::FilePath& path,
const std::string& content,
bool is_base64) {
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::WILL_BLOCK);
DCHECK(!path.empty());
base::WriteFile(path, content.data(), content.size());
if (!is_base64) {
base::WriteFile(path, content);
return;
}
const std::optional<std::vector<uint8_t>> decoded_content =
base::Base64Decode(content);
if (decoded_content) {
base::WriteFile(path, decoded_content.value());
} else {
LOG(ERROR) << "Invalid base64. Not writing " << path;
}
}
void AppendToFile(const base::FilePath& path, const std::string& content) {
@ -1244,7 +1258,7 @@ void WebContents::UpdateTargetURL(content::WebContents* source,
bool WebContents::HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
if (type_ == Type::kWebView && embedder_) {
// Send the unhandled keyboard events back to the embedder.
return embedder_->HandleKeyboardEvent(source, event);
@ -1259,7 +1273,7 @@ bool WebContents::HandleKeyboardEvent(
// code.
bool WebContents::PlatformHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
// Check if the webContents has preferences and to ignore shortcuts
auto* web_preferences = WebContentsPreferences::From(source);
if (web_preferences && web_preferences->ShouldIgnoreMenuShortcuts())
@ -1277,7 +1291,7 @@ bool WebContents::PlatformHandleKeyboardEvent(
content::KeyboardEventProcessingResult WebContents::PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
if (exclusive_access_manager_.HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@ -1285,7 +1299,7 @@ content::KeyboardEventProcessingResult WebContents::PreHandleKeyboardEvent(
event.GetType() == blink::WebInputEvent::Type::kKeyUp) {
// For backwards compatibility, pretend that `kRawKeyDown` events are
// actually `kKeyDown`.
content::NativeWebKeyboardEvent tweaked_event(event);
input::NativeWebKeyboardEvent tweaked_event(event);
if (event.GetType() == blink::WebInputEvent::Type::kRawKeyDown)
tweaked_event.SetType(blink::WebInputEvent::Type::kKeyDown);
bool prevent_default = Emit("before-input-event", tweaked_event);
@ -3330,7 +3344,7 @@ void WebContents::SendInputEvent(v8::Isolate* isolate,
return;
}
} else if (blink::WebInputEvent::IsKeyboardEventType(type)) {
content::NativeWebKeyboardEvent keyboard_event(
input::NativeWebKeyboardEvent keyboard_event(
blink::WebKeyboardEvent::Type::kRawKeyDown,
blink::WebInputEvent::Modifiers::kNoModifiers, ui::EventTimeForNow());
if (gin::ConvertFromV8(isolate, input_event, &keyboard_event)) {
@ -3919,7 +3933,8 @@ void WebContents::ExitPictureInPicture() {
void WebContents::DevToolsSaveToFile(const std::string& url,
const std::string& content,
bool save_as) {
bool save_as,
bool is_base64) {
base::FilePath path;
auto it = saved_files_.find(url);
if (it != saved_files_.end() && !save_as) {
@ -3942,8 +3957,8 @@ void WebContents::DevToolsSaveToFile(const std::string& url,
inspectable_web_contents_->CallClientFunction(
"DevToolsAPI", "savedURL", base::Value(url),
base::Value(path.AsUTF8Unsafe()));
file_task_runner_->PostTask(FROM_HERE,
base::BindOnce(&WriteToFile, path, content));
file_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&WriteToFile, path, content, is_base64));
}
void WebContents::DevToolsAppendToFile(const std::string& url,

View file

@ -568,15 +568,13 @@ class WebContents : public ExclusiveAccessContext,
void CloseContents(content::WebContents* source) override;
void ActivateContents(content::WebContents* contents) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
bool HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
bool PlatformHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event);
bool HandleKeyboardEvent(content::WebContents* source,
const input::NativeWebKeyboardEvent& event) override;
bool PlatformHandleKeyboardEvent(content::WebContents* source,
const input::NativeWebKeyboardEvent& event);
content::KeyboardEventProcessingResult PreHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) override;
const input::NativeWebKeyboardEvent& event) override;
void ContentsZoomChange(bool zoom_in) override;
void EnterFullscreenModeForTab(
content::RenderFrameHost* requesting_frame,
@ -738,7 +736,8 @@ class WebContents : public ExclusiveAccessContext,
// InspectableWebContentsDelegate:
void DevToolsSaveToFile(const std::string& url,
const std::string& content,
bool save_as) override;
bool save_as,
bool is_base64) override;
void DevToolsAppendToFile(const std::string& url,
const std::string& content) override;
void DevToolsRequestFileSystems() override;

View file

@ -37,9 +37,9 @@ bool WebContents::IsFocused() const {
bool WebContents::PlatformHandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
if (event.skip_if_unhandled ||
event.GetType() == content::NativeWebKeyboardEvent::Type::kChar)
event.GetType() == input::NativeWebKeyboardEvent::Type::kChar)
return false;
// Check if the webContents has preferences and to ignore shortcuts

View file

@ -131,7 +131,7 @@ void FrameSubscriber::OnFrameCaptured(
SkImageInfo::MakeN32(content_rect.width(), content_rect.height(),
kPremul_SkAlphaType),
pixels,
media::VideoFrame::RowBytes(media::VideoFrame::kARGBPlane,
media::VideoFrame::RowBytes(media::VideoFrame::Plane::kARGB,
info->pixel_format, info->coded_size.width()),
[](void* addr, void* context) {
delete static_cast<FramePinner*>(context);

View file

@ -314,6 +314,10 @@ os_crypt_async::OSCryptAsync* BrowserProcessImpl::os_crypt_async() {
return os_crypt_async_.get();
}
void BrowserProcessImpl::set_additional_os_crypt_async_provider_for_test(
size_t precedence,
std::unique_ptr<os_crypt_async::KeyProvider> provider) {}
void BrowserProcessImpl::SetSystemLocale(const std::string& locale) {
system_locale_ = locale;
}
@ -351,7 +355,6 @@ void BrowserProcessImpl::SetLinuxStorageBackend(
break;
case os_crypt::SelectedLinuxBackend::DEFER:
NOTREACHED();
break;
}
}
#endif // BUILDFLAG(IS_LINUX)

View file

@ -115,6 +115,9 @@ class BrowserProcessImpl : public BrowserProcess {
HidSystemTrayIcon* hid_system_tray_icon() override;
UsbSystemTrayIcon* usb_system_tray_icon() override;
os_crypt_async::OSCryptAsync* os_crypt_async() override;
void set_additional_os_crypt_async_provider_for_test(
size_t precedence,
std::unique_ptr<os_crypt_async::KeyProvider> provider) override;
void CreateDevToolsProtocolHandler() override {}
void CreateDevToolsAutoOpener() override {}
void set_background_mode_manager_for_test(

View file

@ -58,6 +58,7 @@
#include "electron/fuses.h"
#include "electron/shell/common/api/api.mojom.h"
#include "extensions/browser/extension_navigation_ui_data.h"
#include "extensions/common/extension_id.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "net/ssl/ssl_cert_request_info.h"
#include "net/ssl/ssl_private_key.h"
@ -282,11 +283,10 @@ RenderProcessHostPrivilege GetPrivilegeRequiredByUrl(
RenderProcessHostPrivilege GetProcessPrivilege(
content::RenderProcessHost* process_host,
extensions::ProcessMap* process_map,
extensions::ExtensionRegistry* registry) {
std::set<std::string> extension_ids =
process_map->GetExtensionsInProcess(process_host->GetID());
if (extension_ids.empty())
extensions::ProcessMap* process_map) {
std::optional<extensions::ExtensionId> extension_id =
process_map->GetExtensionIdForProcess(process_host->GetID());
if (!extension_id.has_value())
return RenderProcessHostPrivilege::kNormal;
return RenderProcessHostPrivilege::kExtension;
@ -740,8 +740,7 @@ bool ElectronBrowserClient::IsSuitableHost(
// required by the site.
RenderProcessHostPrivilege privilege_required =
GetPrivilegeRequiredByUrl(site_url, registry);
return GetProcessPrivilege(process_host, process_map, registry) ==
privilege_required;
return GetProcessPrivilege(process_host, process_map) == privilege_required;
#else
return content::ContentBrowserClient::IsSuitableHost(process_host, site_url);
#endif

View file

@ -6,6 +6,7 @@
#define ELECTRON_SHELL_BROWSER_ELECTRON_BROWSER_CLIENT_H_
#include <memory>
#include <optional>
#include <string>
#include <vector>
@ -288,7 +289,7 @@ class ElectronBrowserClient : public content::ContentBrowserClient,
const base::RepeatingCallback<content::WebContents*()>& wc_getter,
content::NavigationUIData* navigation_ui_data,
int frame_tree_node_id,
absl::optional<int64_t> navigation_id) override;
std::optional<int64_t> navigation_id) override;
base::flat_set<std::string> GetPluginMimeTypesWithExternalHandlers(
content::BrowserContext* browser_context) override;
bool IsSuitableHost(content::RenderProcessHost* process_host,

View file

@ -5,6 +5,7 @@
#include "shell/browser/electron_browser_context.h"
#include <memory>
#include <optional>
#include <utility>
@ -156,21 +157,21 @@ media::mojom::CaptureHandlePtr CreateCaptureHandle(
}
// Copied from chrome/browser/media/webrtc/desktop_capture_devices_util.cc.
absl::optional<int> GetZoomLevel(content::WebContents* capturer,
const url::Origin& capturer_origin,
const content::DesktopMediaID& captured_id) {
std::optional<int> GetZoomLevel(content::WebContents* capturer,
const url::Origin& capturer_origin,
const content::DesktopMediaID& captured_id) {
content::RenderFrameHost* const captured_rfh =
content::RenderFrameHost::FromID(
captured_id.web_contents_id.render_process_id,
captured_id.web_contents_id.main_render_frame_id);
if (!captured_rfh || !captured_rfh->IsActive()) {
return absl::nullopt;
return std::nullopt;
}
content::WebContents* const captured_wc =
content::WebContents::FromRenderFrameHost(captured_rfh);
if (!captured_wc) {
return absl::nullopt;
return std::nullopt;
}
double zoom_level = blink::PageZoomLevelToZoomFactor(

View file

@ -4,6 +4,7 @@
// Most code came from: chrome/browser/chrome_browser_main_posix.cc.
#include "base/notreached.h"
#include "shell/browser/electron_browser_main_parts.h"
#include <errno.h>
@ -139,11 +140,11 @@ void ShutdownDetector::ThreadMain() {
read(shutdown_fd_, reinterpret_cast<char*>(&signal) + bytes_read,
sizeof(signal) - bytes_read));
if (ret < 0) {
NOTREACHED() << "Unexpected error: " << strerror(errno);
NOTREACHED_IN_MIGRATION() << "Unexpected error: " << strerror(errno);
ShutdownFDReadError();
break;
} else if (ret == 0) {
NOTREACHED() << "Unexpected closure of shutdown pipe.";
NOTREACHED_IN_MIGRATION() << "Unexpected closure of shutdown pipe.";
ShutdownFDClosedError();
break;
}

View file

@ -28,7 +28,6 @@ ElectronNavigationThrottle::WillStartRequest() {
auto* contents = handle->GetWebContents();
if (!contents) {
NOTREACHED();
return PROCEED;
}
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();
@ -69,7 +68,6 @@ ElectronNavigationThrottle::WillRedirectRequest() {
auto* contents = handle->GetWebContents();
if (!contents) {
NOTREACHED();
return PROCEED;
}
v8::Isolate* isolate = JavascriptEnvironment::GetIsolate();

View file

@ -377,7 +377,8 @@ ElectronPermissionManager::CheckProtectedUSBClasses(
blink::mojom::PermissionStatus
ElectronPermissionManager::GetPermissionStatusForCurrentDocument(
blink::PermissionType permission,
content::RenderFrameHost* render_frame_host) {
content::RenderFrameHost* render_frame_host,
bool /*should_include_device_status*/) {
if (render_frame_host->IsNestedWithinFencedFrame())
return blink::mojom::PermissionStatus::DENIED;
@ -420,6 +421,7 @@ ElectronPermissionManager::SubscribeToPermissionStatusChange(
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();
}

View file

@ -130,7 +130,8 @@ class ElectronPermissionManager : public content::PermissionControllerDelegate {
const url::Origin& embedding_origin) override;
blink::mojom::PermissionStatus GetPermissionStatusForCurrentDocument(
blink::PermissionType permission,
content::RenderFrameHost* render_frame_host) override;
content::RenderFrameHost* render_frame_host,
bool should_include_device_status) override;
blink::mojom::PermissionStatus GetPermissionStatusForWorker(
blink::PermissionType permission,
content::RenderProcessHost* render_process_host,
@ -144,6 +145,7 @@ class ElectronPermissionManager : public content::PermissionControllerDelegate {
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;

View file

@ -21,9 +21,6 @@ void ElectronSpeechRecognitionManagerDelegate::OnRecognitionStart(
void ElectronSpeechRecognitionManagerDelegate::OnAudioStart(int session_id) {}
void ElectronSpeechRecognitionManagerDelegate::OnEnvironmentEstimationComplete(
int session_id) {}
void ElectronSpeechRecognitionManagerDelegate::OnSoundStart(int session_id) {}
void ElectronSpeechRecognitionManagerDelegate::OnSoundEnd(int session_id) {}
@ -35,11 +32,11 @@ void ElectronSpeechRecognitionManagerDelegate::OnRecognitionEnd(
void ElectronSpeechRecognitionManagerDelegate::OnRecognitionResults(
int session_id,
const std::vector<blink::mojom::SpeechRecognitionResultPtr>& results) {}
const std::vector<media::mojom::WebSpeechRecognitionResultPtr>& results) {}
void ElectronSpeechRecognitionManagerDelegate::OnRecognitionError(
int session_id,
const blink::mojom::SpeechRecognitionError& error) {}
const media::mojom::SpeechRecognitionError& error) {}
void ElectronSpeechRecognitionManagerDelegate::OnAudioLevelsChange(
int session_id,

View file

@ -28,17 +28,16 @@ class ElectronSpeechRecognitionManagerDelegate
// content::SpeechRecognitionEventListener:
void OnRecognitionStart(int session_id) override;
void OnAudioStart(int session_id) override;
void OnEnvironmentEstimationComplete(int session_id) override;
void OnSoundStart(int session_id) override;
void OnSoundEnd(int session_id) override;
void OnAudioEnd(int session_id) override;
void OnRecognitionEnd(int session_id) override;
void OnRecognitionResults(
int session_id,
const std::vector<blink::mojom::SpeechRecognitionResultPtr>&) override;
const std::vector<media::mojom::WebSpeechRecognitionResultPtr>&) override;
void OnRecognitionError(
int session_id,
const blink::mojom::SpeechRecognitionError& error) override;
const media::mojom::SpeechRecognitionError& error) override;
void OnAudioLevelsChange(int session_id,
float volume,
float noise_volume) override;

View file

@ -203,12 +203,12 @@ void ElectronManagementAPIDelegate::SetLaunchType(
GURL ElectronManagementAPIDelegate::GetIconURL(
const extensions::Extension* extension,
int icon_size,
ExtensionIconSet::MatchType match,
ExtensionIconSet::Match match,
bool grayscale) const {
GURL icon_url(base::StringPrintf("%s%s/%d/%d%s",
chrome::kChromeUIExtensionIconURL,
extension->id().c_str(), icon_size, match,
grayscale ? "?grayscale=true" : ""));
GURL icon_url(base::StringPrintf(
"%s%s/%d/%d%s", chrome::kChromeUIExtensionIconURL,
extension->id().c_str(), icon_size, static_cast<int>(match),
grayscale ? "?grayscale=true" : ""));
CHECK(icon_url.is_valid());
return icon_url;
}

View file

@ -69,7 +69,7 @@ class ElectronManagementAPIDelegate : public extensions::ManagementAPIDelegate {
extensions::LaunchType launch_type) const override;
GURL GetIconURL(const extensions::Extension* extension,
int icon_size,
ExtensionIconSet::MatchType match,
ExtensionIconSet::Match match,
bool grayscale) const override;
GURL GetEffectiveUpdateURL(const extensions::Extension& extension,
content::BrowserContext* context) const override;

View file

@ -56,10 +56,8 @@ ExtensionFunction::ResponseAction ResourcesPrivateGetStringsFunction::Run() {
break;
case api::resources_private::Component::kIdentity:
NOTREACHED();
break;
case api::resources_private::Component::kNone:
NOTREACHED();
break;
}
const std::string& app_locale = g_browser_process->GetApplicationLocale();

View file

@ -57,7 +57,6 @@ bool ElectronRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
info->os = extensions::api::runtime::PlatformOs::kOpenbsd;
} else {
NOTREACHED();
return false;
}
const char* arch = update_client::UpdateQueryParams::GetArch();
@ -71,7 +70,6 @@ bool ElectronRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
info->arch = extensions::api::runtime::PlatformArch::kX86_64;
} else {
NOTREACHED();
return false;
}
const char* nacl_arch = update_client::UpdateQueryParams::GetNaclArch();
@ -83,7 +81,6 @@ bool ElectronRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) {
info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kX86_64;
} else {
NOTREACHED();
return false;
}
return true;

View file

@ -36,7 +36,6 @@ ElectronExtensionHostDelegate::GetJavaScriptDialogManager() {
// TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
// content_shell.
NOTREACHED();
return nullptr;
}
void ElectronExtensionHostDelegate::CreateTab(
@ -72,7 +71,6 @@ content::PictureInPictureResult
ElectronExtensionHostDelegate::EnterPictureInPicture(
content::WebContents* web_contents) {
NOTREACHED();
return content::PictureInPictureResult();
}
void ElectronExtensionHostDelegate::ExitPictureInPicture() {

View file

@ -190,14 +190,12 @@ void ElectronExtensionSystem::InstallUpdate(
bool install_immediately,
InstallUpdateCallback install_update_callback) {
NOTREACHED();
base::DeletePathRecursively(temp_dir);
}
bool ElectronExtensionSystem::FinishDelayedInstallationIfReady(
const std::string& extension_id,
bool install_immediately) {
NOTREACHED();
return false;
}
void ElectronExtensionSystem::PerformActionBasedOnOmahaAttributes(

View file

@ -78,7 +78,8 @@ class ElectronMimeHandlerViewGuestDelegate
}
void RecordLoadMetric(bool in_main_frame,
const std::string& mime_type) override {}
const std::string& mime_type,
content::BrowserContext* browser_context) override {}
};
ElectronExtensionsAPIClient::ElectronExtensionsAPIClient() = default;

View file

@ -270,6 +270,7 @@ ElectronExtensionsBrowserClient::GetProcessManagerDelegate() const {
mojo::PendingRemote<network::mojom::URLLoaderFactory>
ElectronExtensionsBrowserClient::GetControlledFrameEmbedderURLLoader(
const url::Origin& app_origin,
int frame_tree_node_id,
content::BrowserContext* browser_context) {
return mojo::PendingRemote<network::mojom::URLLoaderFactory>();

View file

@ -16,6 +16,7 @@
#include "mojo/public/cpp/bindings/pending_remote.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/mojom/fetch_api.mojom.h"
#include "url/origin.h"
class PrefService;
@ -104,6 +105,7 @@ class ElectronExtensionsBrowserClient
const override;
mojo::PendingRemote<network::mojom::URLLoaderFactory>
GetControlledFrameEmbedderURLLoader(
const url::Origin& app_origin,
int frame_tree_node_id,
content::BrowserContext* browser_context) override;
std::unique_ptr<extensions::ExtensionHostDelegate>

View file

@ -83,16 +83,6 @@ gin::IsolateHolder CreateIsolateHolder(v8::Isolate* isolate) {
// Align behavior with V8 Isolate default for Node.js.
// This is necessary for important aspects of Node.js
// including heap and cpu profilers to function properly.
//
// Additional note:
// We do not want to invoke a termination exception at exit when
// we're running with only_terminate_in_safe_scope set to false. Heap and
// coverage profilers run after environment exit and if there is a pending
// exception at this stage then they will fail to generate the appropriate
// profiles. Node.js does not call node::Stop(), which calls
// isolate->TerminateExecution(), and therefore does not have this issue
// when also running with only_terminate_in_safe_scope set to false.
create_params->only_terminate_in_safe_scope = false;
return gin::IsolateHolder(
base::SingleThreadTaskRunner::GetCurrentDefault(),

View file

@ -27,7 +27,7 @@
class SkRegion;
namespace content {
namespace input {
struct NativeWebKeyboardEvent;
}
@ -290,9 +290,9 @@ class NativeWindow : public base::SupportsUserData,
virtual void SetWindowControlsOverlayRect(const gfx::Rect& overlay_rect);
// Methods called by the WebContents.
virtual void HandleKeyboardEvent(
content::WebContents*,
const content::NativeWebKeyboardEvent& event) {}
virtual void HandleKeyboardEvent(content::WebContents*,
const input::NativeWebKeyboardEvent& event) {
}
// Public API used by platform-dependent delegates and observers to send UI
// related notifications.

View file

@ -5,6 +5,7 @@
#include "shell/browser/native_window_features.h"
namespace features {
const base::Feature kWaylandWindowDecorations{"WaylandWindowDecorations",
base::FEATURE_ENABLED_BY_DEFAULT};
BASE_FEATURE(kWaylandWindowDecorations,
"WaylandWindowDecorations",
base::FEATURE_ENABLED_BY_DEFAULT);
}

View file

@ -233,11 +233,11 @@ NativeWindowMac::NativeWindowMac(const gin_helper::Dictionary& options,
// Create views::Widget and assign window_ with it.
// TODO(zcbenz): Get rid of the window_ in future.
views::Widget::InitParams params;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
views::Widget::InitParams params(
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET,
views::Widget::InitParams::TYPE_WINDOW);
params.bounds = bounds;
params.delegate = this;
params.type = views::Widget::InitParams::TYPE_WINDOW;
params.headless_mode = true;
params.native_widget =
new ElectronNativeWidgetMac(this, windowType, styleMask, widget());

View file

@ -268,25 +268,25 @@ NativeWindowViews::NativeWindowViews(const gin_helper::Dictionary& options,
widget()->AddObserver(this);
views::Widget::InitParams params;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
using InitParams = views::Widget::InitParams;
auto params = InitParams{InitParams::WIDGET_OWNS_NATIVE_WIDGET,
InitParams::TYPE_WINDOW};
params.bounds = bounds;
params.delegate = this;
params.type = views::Widget::InitParams::TYPE_WINDOW;
params.remove_standard_frame = !has_frame() || has_client_frame();
// If a client frame, we need to draw our own shadows.
if (IsTranslucent() || has_client_frame())
params.opacity = views::Widget::InitParams::WindowOpacity::kTranslucent;
params.opacity = InitParams::WindowOpacity::kTranslucent;
// The given window is most likely not rectangular since it is translucent and
// has no standard frame, don't show a shadow for it.
if (IsTranslucent() && !has_frame())
params.shadow_type = views::Widget::InitParams::ShadowType::kNone;
params.shadow_type = InitParams::ShadowType::kNone;
bool focusable;
if (options.Get(options::kFocusable, &focusable) && !focusable)
params.activatable = views::Widget::InitParams::Activatable::kNo;
params.activatable = InitParams::Activatable::kNo;
#if BUILDFLAG(IS_WIN)
if (parent)
@ -1718,7 +1718,7 @@ void NativeWindowViews::OnWidgetMove() {
void NativeWindowViews::HandleKeyboardEvent(
content::WebContents*,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
if (widget_destroyed_)
return;

View file

@ -231,9 +231,8 @@ class NativeWindowViews : public NativeWindow,
void SetEnabledInternal(bool enabled);
// NativeWindow:
void HandleKeyboardEvent(
content::WebContents*,
const content::NativeWebKeyboardEvent& event) override;
void HandleKeyboardEvent(content::WebContents*,
const input::NativeWebKeyboardEvent& event) override;
// ui::EventHandler:
void OnMouseEvent(ui::MouseEvent* event) override;

View file

@ -392,7 +392,6 @@ void ProxyingWebSocket::OnAuthRequiredComplete(AuthRequiredResponse rv) {
break;
case AuthRequiredResponse::kIoPending:
NOTREACHED();
break;
}
}

View file

@ -261,15 +261,6 @@ void SystemNetworkContextManager::OnNetworkServiceCreated(
net::SecureDnsMode default_secure_dns_mode = net::SecureDnsMode::kOff;
std::string default_doh_templates;
if (base::FeatureList::IsEnabled(features::kDnsOverHttps)) {
if (features::kDnsOverHttpsFallbackParam.Get()) {
default_secure_dns_mode = net::SecureDnsMode::kAutomatic;
} else {
default_secure_dns_mode = net::SecureDnsMode::kSecure;
}
default_doh_templates = features::kDnsOverHttpsTemplatesParam.Get();
}
net::DnsOverHttpsConfig doh_config;
if (!default_doh_templates.empty() &&
default_secure_dns_mode != net::SecureDnsMode::kOff) {

View file

@ -21,9 +21,9 @@
#include "components/viz/common/frame_sinks/copy_output_request.h"
#include "components/viz/common/frame_sinks/delay_based_time_source.h"
#include "components/viz/common/quads/compositor_render_pass.h"
#include "content/browser/renderer_host/cursor_manager.h" // nogncheck
#include "content/browser/renderer_host/render_widget_host_delegate.h" // nogncheck
#include "content/browser/renderer_host/render_widget_host_owner_delegate.h" // nogncheck
#include "content/common/input/cursor_manager.h"
#include "content/common/input/synthetic_gesture.h" // nogncheck
#include "content/common/input/synthetic_gesture_target.h"
#include "content/public/browser/browser_task_traits.h"
@ -593,7 +593,7 @@ void OffScreenRenderWidgetHostView::DidNavigate() {
bool OffScreenRenderWidgetHostView::TransformPointToCoordSpaceForView(
const gfx::PointF& point,
RenderWidgetHostViewBase* target_view,
RenderWidgetHostViewInput* target_view,
gfx::PointF* transformed_point) {
if (target_view == this) {
*transformed_point = point;

View file

@ -174,7 +174,7 @@ class OffScreenRenderWidgetHostView
bool TransformPointToCoordSpaceForView(
const gfx::PointF& point,
RenderWidgetHostViewBase* target_view,
RenderWidgetHostViewInput* target_view,
gfx::PointF* transformed_point) override;
// RenderFrameMetadataProvider::Observer:

View file

@ -120,7 +120,7 @@ void OffScreenVideoConsumer::OnFrameCaptured(
SkImageInfo::MakeN32(content_rect.width(), content_rect.height(),
kPremul_SkAlphaType),
pixels,
media::VideoFrame::RowBytes(media::VideoFrame::kARGBPlane,
media::VideoFrame::RowBytes(media::VideoFrame::Plane::kARGB,
info->pixel_format, info->coded_size.width()),
[](void* addr, void* context) {
delete static_cast<FramePinner*>(context);

View file

@ -119,6 +119,7 @@ void ElectronDesktopWindowTreeHostLinux::UpdateWindowState(
case ui::PlatformWindowState::kSnappedPrimary:
case ui::PlatformWindowState::kSnappedSecondary:
case ui::PlatformWindowState::kFloated:
case ui::PlatformWindowState::kPip:
case ui::PlatformWindowState::kPinnedFullscreen:
case ui::PlatformWindowState::kTrustedPinnedFullscreen:
break;
@ -138,6 +139,7 @@ void ElectronDesktopWindowTreeHostLinux::UpdateWindowState(
case ui::PlatformWindowState::kSnappedPrimary:
case ui::PlatformWindowState::kSnappedSecondary:
case ui::PlatformWindowState::kFloated:
case ui::PlatformWindowState::kPip:
case ui::PlatformWindowState::kPinnedFullscreen:
case ui::PlatformWindowState::kTrustedPinnedFullscreen:
break;

View file

@ -78,7 +78,6 @@ static HRESULT GetFileNameFromShellItem(IShellItem* pShellItem,
wcscpy_s(lpstr, cchLength, lpstrName);
} else {
NOTREACHED();
hRet = DISP_E_BUFFERTOOSMALL;
}
::CoTaskMemFree(lpstrName);

View file

@ -732,9 +732,10 @@ void InspectableWebContents::ShowItemInFolder(
void InspectableWebContents::SaveToFile(const std::string& url,
const std::string& content,
bool save_as) {
bool save_as,
bool is_base64) {
if (delegate_)
delegate_->DevToolsSaveToFile(url, content, save_as);
delegate_->DevToolsSaveToFile(url, content, save_as, is_base64);
}
void InspectableWebContents::AppendToFile(const std::string& url,
@ -887,6 +888,12 @@ void InspectableWebContents::GetSyncInformation(DispatchCallback callback) {
std::move(callback).Run(&result);
}
void InspectableWebContents::GetHostConfig(DispatchCallback callback) {
base::Value::Dict response_dict;
base::Value response = base::Value(std::move(response_dict));
std::move(callback).Run(&response);
}
void InspectableWebContents::ConnectionReady() {}
void InspectableWebContents::RegisterExtensionsAPI(const std::string& origin,
@ -977,7 +984,7 @@ void InspectableWebContents::WebContentsDestroyed() {
bool InspectableWebContents::HandleKeyboardEvent(
content::WebContents* source,
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
auto* delegate = web_contents_->GetDelegate();
return !delegate || delegate->HandleKeyboardEvent(source, event);
}

View file

@ -103,7 +103,8 @@ class InspectableWebContents
void ShowItemInFolder(const std::string& file_system_path) override;
void SaveToFile(const std::string& url,
const std::string& content,
bool save_as) override;
bool save_as,
bool is_base64) override;
void AppendToFile(const std::string& url,
const std::string& content) override;
void RequestFileSystems() override;
@ -154,6 +155,7 @@ class InspectableWebContents
void RemovePreference(const std::string& name) override;
void ClearPreferences() override;
void GetSyncInformation(DispatchCallback callback) override;
void GetHostConfig(DispatchCallback callback) override;
void ConnectionReady() override;
void RegisterExtensionsAPI(const std::string& origin,
const std::string& script) override;
@ -203,7 +205,7 @@ class InspectableWebContents
// content::WebContentsDelegate:
bool HandleKeyboardEvent(content::WebContents*,
const content::NativeWebKeyboardEvent&) override;
const input::NativeWebKeyboardEvent&) override;
void CloseContents(content::WebContents* source) override;
void RunFileChooser(content::RenderFrameHost* render_frame_host,
scoped_refptr<content::FileSelectListener> listener,

View file

@ -20,7 +20,8 @@ class InspectableWebContentsDelegate {
virtual void DevToolsReloadPage() {}
virtual void DevToolsSaveToFile(const std::string& url,
const std::string& content,
bool save_as) {}
bool save_as,
bool is_base64) {}
virtual void DevToolsAppendToFile(const std::string& url,
const std::string& content) {}
virtual void DevToolsRequestFileSystems() {}

View file

@ -170,8 +170,8 @@ void InspectableWebContentsView::SetIsDocked(bool docked, bool activate) {
devtools_window_delegate_ = new DevToolsWindowDelegate(
this, devtools_window_web_view_, devtools_window_.get());
views::Widget::InitParams params;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
views::Widget::InitParams params{
views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET};
params.delegate = devtools_window_delegate_;
params.bounds = inspectable_web_contents()->dev_tools_bounds();

View file

@ -366,7 +366,7 @@ bool AutofillPopupView::AcceleratorPressed(const ui::Accelerator& accelerator) {
}
bool AutofillPopupView::HandleKeyPressEvent(
const content::NativeWebKeyboardEvent& event) {
const input::NativeWebKeyboardEvent& event) {
if (!popup_)
return false;
switch (event.windows_key_code) {

View file

@ -11,8 +11,8 @@
#include "shell/browser/ui/autofill_popup.h"
#include "base/memory/raw_ptr.h"
#include "components/input/native_web_keyboard_event.h"
#include "content/public/browser/render_widget_host.h"
#include "content/public/common/input/native_web_keyboard_event.h"
#include "electron/buildflags/buildflags.h"
#include "shell/browser/osr/osr_view_proxy.h"
#include "ui/accessibility/ax_node_data.h"
@ -110,7 +110,7 @@ class AutofillPopupView : public views::WidgetDelegateView,
void OnMouseReleased(const ui::MouseEvent& event) override;
void OnGestureEvent(ui::GestureEvent* event) override;
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
bool HandleKeyPressEvent(const content::NativeWebKeyboardEvent& event);
bool HandleKeyPressEvent(const input::NativeWebKeyboardEvent& event);
// views::WidgetFocusChangeListener implementation.
void OnNativeFocusChanged(gfx::NativeView focused_now) override;

View file

@ -58,7 +58,6 @@ ui::NavButtonProvider::ButtonState ButtonStateToNavButtonProviderState(
case views::Button::STATE_COUNT:
default:
NOTREACHED();
return ui::NavButtonProvider::ButtonState::kNormal;
}
}
@ -258,8 +257,10 @@ void ClientFrameViewLinux::SizeConstraintsChanged() {
InvalidateLayout();
}
gfx::Size ClientFrameViewLinux::CalculatePreferredSize() const {
return SizeWithDecorations(FramelessView::CalculatePreferredSize());
gfx::Size ClientFrameViewLinux::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
return SizeWithDecorations(
FramelessView::CalculatePreferredSize(available_size));
}
gfx::Size ClientFrameViewLinux::GetMinimumSize() const {

View file

@ -71,7 +71,8 @@ class ClientFrameViewLinux : public FramelessView,
void SizeConstraintsChanged() override;
// Overridden from View:
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;
void Layout(PassKey) override;

View file

@ -109,10 +109,11 @@ views::View* FramelessView::TargetForRect(views::View* root,
return NonClientFrameView::TargetForRect(root, rect);
}
gfx::Size FramelessView::CalculatePreferredSize() const {
gfx::Size FramelessView::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
return frame_->non_client_view()
->GetWindowBoundsForClientBounds(
gfx::Rect(frame_->client_view()->GetPreferredSize()))
->GetWindowBoundsForClientBounds(gfx::Rect(
frame_->client_view()->CalculatePreferredSize(available_size)))
.size();
}

View file

@ -54,7 +54,8 @@ class FramelessView : public views::NonClientFrameView {
views::View* TargetForRect(views::View* root, const gfx::Rect& rect) override;
// views::View:
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;

View file

@ -6,7 +6,7 @@
#include <memory>
#include "content/public/common/input/native_web_keyboard_event.h"
#include "components/input/native_web_keyboard_event.h"
#include "shell/browser/native_window.h"
#include "shell/browser/ui/views/menu_bar.h"
#include "ui/views/layout/box_layout.h"
@ -15,12 +15,12 @@ namespace electron {
namespace {
bool IsAltKey(const content::NativeWebKeyboardEvent& event) {
bool IsAltKey(const input::NativeWebKeyboardEvent& event) {
return event.windows_key_code == ui::VKEY_MENU;
}
bool IsAltModifier(const content::NativeWebKeyboardEvent& event) {
typedef content::NativeWebKeyboardEvent::Modifiers Modifiers;
bool IsAltModifier(const input::NativeWebKeyboardEvent& event) {
using Modifiers = input::NativeWebKeyboardEvent::Modifiers;
int modifiers = event.GetModifiers();
modifiers &= ~Modifiers::kNumLockOn;
modifiers &= ~Modifiers::kCapsLockOn;
@ -98,7 +98,7 @@ void RootView::SetMenuBarVisibility(bool visible) {
InvalidateLayout();
}
void RootView::HandleKeyEvent(const content::NativeWebKeyboardEvent& event) {
void RootView::HandleKeyEvent(const input::NativeWebKeyboardEvent& event) {
if (!menu_bar_)
return;

View file

@ -14,7 +14,7 @@
#include "ui/views/view.h"
#include "ui/views/view_tracker.h"
namespace content {
namespace input {
struct NativeWebKeyboardEvent;
}
@ -40,7 +40,7 @@ class RootView : public views::View {
bool is_menu_bar_auto_hide() const { return menu_bar_autohide_; }
void SetMenuBarVisibility(bool visible);
bool is_menu_bar_visible() const { return menu_bar_visible_; }
void HandleKeyEvent(const content::NativeWebKeyboardEvent& event);
void HandleKeyEvent(const input::NativeWebKeyboardEvent& event);
void ResetAltState();
void RestoreFocus();
// Register/Unregister accelerators supported by the menu model.

View file

@ -46,7 +46,8 @@ std::unique_ptr<WinIconPainter> WinCaptionButton::CreateIconPainter() {
return std::make_unique<WinIconPainter>();
}
gfx::Size WinCaptionButton::CalculatePreferredSize() const {
gfx::Size WinCaptionButton::CalculatePreferredSize(
const views::SizeBounds& available_size) const {
// TODO(bsep): The sizes in this function are for 1x device scale and don't
// match Windows button sizes at hidpi.
@ -138,7 +139,6 @@ int WinCaptionButton::GetButtonDisplayOrderIndex() const {
break;
default:
NOTREACHED();
return 0;
}
// Reverse the ordering if we're in RTL mode
@ -207,7 +207,6 @@ void WinCaptionButton::PaintSymbol(gfx::Canvas* canvas) {
default:
NOTREACHED();
return;
}
}

View file

@ -36,7 +36,8 @@ class WinCaptionButton : public views::Button {
WinCaptionButton& operator=(const WinCaptionButton&) = delete;
// // views::Button:
gfx::Size CalculatePreferredSize() const override;
gfx::Size CalculatePreferredSize(
const views::SizeBounds& available_size) const override;
void OnPaintBackground(gfx::Canvas* canvas) override;
void PaintButtonContents(gfx::Canvas* canvas) override;

View file

@ -217,7 +217,6 @@ void NotifyIconHost::Remove(NotifyIcon* icon) {
if (i == notify_icons_.end()) {
NOTREACHED();
return;
}
mouse_entered_exited_detector_->IconRemoved(*i);

View file

@ -14,6 +14,7 @@
#include "base/containers/fixed_flat_map.h"
#include "base/memory/raw_ptr.h"
#include "base/no_destructor.h"
#include "base/notreached.h"
#include "base/sequence_checker.h"
#include "base/strings/string_number_conversions.h"
#include "gin/handle.h"
@ -151,7 +152,7 @@ class BufferDataSource : public mojo::DataPipeProducer::DataSource {
}
result.bytes_read = copyable_size;
} else {
NOTREACHED();
NOTREACHED_IN_MIGRATION();
result.result = MOJO_RESULT_OUT_OF_RANGE;
}
return result;

View file

@ -19,6 +19,7 @@
#include "extensions/common/features/simple_feature.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handler.h"
#include "extensions/common/manifest_handler_registry.h"
#include "extensions/common/manifest_handlers/permissions_parser.h"
#include "extensions/common/manifest_url_handlers.h"
#include "extensions/common/permissions/permissions_info.h"

View file

@ -36,10 +36,8 @@ struct Converter<base::TerminationStatus> {
#endif
case base::TERMINATION_STATUS_MAX_ENUM:
NOTREACHED();
return gin::ConvertToV8(isolate, "");
}
NOTREACHED();
return gin::ConvertToV8(isolate, "");
}
};

View file

@ -8,9 +8,9 @@
#include <string_view>
#include "base/containers/fixed_flat_map.h"
#include "components/input/native_web_keyboard_event.h"
#include "content/public/browser/context_menu_params.h"
#include "content/public/browser/web_contents.h"
#include "content/public/common/input/native_web_keyboard_event.h"
#include "shell/browser/api/electron_api_web_contents.h"
#include "shell/browser/web_contents_permission_helper.h"
#include "shell/common/gin_converters/blink_converter.h"
@ -304,10 +304,10 @@ bool Converter<content::Referrer>::FromV8(v8::Isolate* isolate,
}
// static
bool Converter<content::NativeWebKeyboardEvent>::FromV8(
bool Converter<input::NativeWebKeyboardEvent>::FromV8(
v8::Isolate* isolate,
v8::Local<v8::Value> val,
content::NativeWebKeyboardEvent* out) {
input::NativeWebKeyboardEvent* out) {
gin_helper::Dictionary dict;
if (!ConvertFromV8(isolate, val, &dict))
return false;
@ -318,9 +318,9 @@ bool Converter<content::NativeWebKeyboardEvent>::FromV8(
}
// static
v8::Local<v8::Value> Converter<content::NativeWebKeyboardEvent>::ToV8(
v8::Local<v8::Value> Converter<input::NativeWebKeyboardEvent>::ToV8(
v8::Isolate* isolate,
const content::NativeWebKeyboardEvent& in) {
const input::NativeWebKeyboardEvent& in) {
return ConvertToV8(isolate, static_cast<blink::WebKeyboardEvent>(in));
}

View file

@ -17,11 +17,14 @@
namespace content {
struct ContextMenuParams;
struct NativeWebKeyboardEvent;
class RenderFrameHost;
class WebContents;
} // namespace content
namespace input {
struct NativeWebKeyboardEvent;
}
using ContextMenuParamsWithRenderFrameHost =
std::pair<content::ContextMenuParams, content::RenderFrameHost*>;
@ -88,12 +91,12 @@ struct Converter<content::Referrer> {
};
template <>
struct Converter<content::NativeWebKeyboardEvent> {
struct Converter<input::NativeWebKeyboardEvent> {
static bool FromV8(v8::Isolate* isolate,
v8::Local<v8::Value> val,
content::NativeWebKeyboardEvent* out);
input::NativeWebKeyboardEvent* out);
static v8::Local<v8::Value> ToV8(v8::Isolate* isolate,
const content::NativeWebKeyboardEvent& in);
const input::NativeWebKeyboardEvent& in);
};
} // namespace gin

View file

@ -129,7 +129,7 @@ class Dictionary : public gin::Dictionary {
auto context = isolate()->GetCurrentContext();
return GetHandle()
->SetAccessor(
->SetNativeDataProperty(
context, gin::StringToV8(isolate(), key),
[](v8::Local<v8::Name> property_name,
const v8::PropertyCallbackInfo<v8::Value>& info) {
@ -143,7 +143,7 @@ class Dictionary : public gin::Dictionary {
if (gin::TryConvertToV8(info.GetIsolate(), val, &v8_value))
info.GetReturnValue().Set(v8_value);
},
nullptr, v8_value_accessor, v8::DEFAULT, attribute)
nullptr, v8_value_accessor, attribute)
.ToChecked();
}

View file

@ -255,7 +255,6 @@ v8::ModifyCodeGenerationFromStringsResult ModifyCodeGenerationFromStrings(
// enabled.
if (!electron::IsRendererProcess()) {
NOTREACHED();
return {false, {}};
}
return blink::V8Initializer::CodeGenerationCheckCallbackInMainThread(
context, source, is_code_like);

View file

@ -29,9 +29,9 @@
#include "third_party/blink/public/web/web_local_frame.h"
namespace features {
const base::Feature kContextBridgeMutability{"ContextBridgeMutability",
base::FEATURE_DISABLED_BY_DEFAULT};
BASE_FEATURE(kContextBridgeMutability,
"ContextBridgeMutability",
base::FEATURE_DISABLED_BY_DEFAULT);
}
namespace electron {

View file

@ -195,7 +195,8 @@ void AutofillAgent::HidePopup() {
void AutofillAgent::ShowPopup(const blink::WebFormControlElement& element,
const std::vector<std::u16string>& values,
const std::vector<std::u16string>& labels) {
gfx::RectF bounds = render_frame()->ElementBoundsInWindow(element);
auto bounds = gfx::RectF{
render_frame()->ConvertViewportToWindow(element.BoundsInWidget())};
GetAutofillDriver()->ShowAutofillPopup(bounds, values, labels);
}