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::EmbedderGraph5403888
* 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 to5535938
* 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 deprecation5465511
* 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 bindings5522321
* 5376861: Change references to RWHVB in RWHIER and RenderWidgetTargeter to RWHVI.5376861
* 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum5530163
* 5463431: iwa: Only create IsolatedWebAppURLLoaderFactory for subresources in IWAs5463431
* fixup! 5465511: [api] Mark v8::ObjectTemplate::SetAccessor(..) for deprecation5465511
* 5512176: Remove OnEnvironmentEstimationComplete()5512176
* 5528282: Move Web Speech API .mojom files to //media/mojo/mojom5528282
* 5513740: Reland "[Extensions] Restructure extensions::ProcessMap"5513740
* 5483406: [PEPC] Make PEPC permission subscription take into account device status5483406
* 5526034: [DoH] Remove kDnsOverHttps feature flag5526034
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 removal5497515
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 class5492183
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom5528282
* 5514687: Reland "Add a secret handshake to the base::Feature constructor"5514687
* fixup! 5530163: [media] Use VideoFrame::Plane typed enum instead of nameless enum5530163
* 5466238: PDF Viewer: add metrics to record if PDF is opened with a11y5466238
* 5502081: Migrate OnDisplayRemoved to OnDisplaysRemoved5502081
* 5539888: [api] Remove several APIs deprecated in version 12.65539888
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 Async5498236
* fixup! 5528282: Move Web Speech API .mojom files to //media/mojo/mojom5528282
* 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 flag5526034
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-op5546257
* [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 commita5480accc2
, 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 DevTools5344413
* 5585788: Extensions: ManifestHandler: Separate Registry like ExtensionRegistry5585788
* 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 Refs5154368
Refs5499157
* spec: update test/parallel/test-v8-stats * views: remove CalculatePreferredSize() Refs5504212
* chore: update patches after rebase * 5560288: Re-enable ChromeOS XNNPack on Intel only5560288
* 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/themes5573603
* 5539888: [api] Remove several APIs deprecated in version 12.65539888
* 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:
parent
84e15e2d04
commit
c3b4cd987c
202 changed files with 1843 additions and 1127 deletions
|
@ -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) {
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -392,7 +392,6 @@ void ProxyingWebSocket::OnAuthRequiredComplete(AuthRequiredResponse rv) {
|
|||
break;
|
||||
case AuthRequiredResponse::kIoPending:
|
||||
NOTREACHED();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -78,7 +78,6 @@ static HRESULT GetFileNameFromShellItem(IShellItem* pShellItem,
|
|||
wcscpy_s(lpstr, cchLength, lpstrName);
|
||||
} else {
|
||||
NOTREACHED();
|
||||
hRet = DISP_E_BUFFERTOOSMALL;
|
||||
}
|
||||
|
||||
::CoTaskMemFree(lpstrName);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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() {}
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -217,7 +217,6 @@ void NotifyIconHost::Remove(NotifyIcon* icon) {
|
|||
|
||||
if (i == notify_icons_.end()) {
|
||||
NOTREACHED();
|
||||
return;
|
||||
}
|
||||
|
||||
mouse_entered_exited_detector_->IconRemoved(*i);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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, "");
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -255,7 +255,6 @@ v8::ModifyCodeGenerationFromStringsResult ModifyCodeGenerationFromStrings(
|
|||
// enabled.
|
||||
if (!electron::IsRendererProcess()) {
|
||||
NOTREACHED();
|
||||
return {false, {}};
|
||||
}
|
||||
return blink::V8Initializer::CodeGenerationCheckCallbackInMainThread(
|
||||
context, source, is_code_like);
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue