chore: bump chromium to 63be48daea281d4f8c834c2e707a7 (master) (#19923)

This commit is contained in:
Electron Bot 2019-09-18 15:58:00 -04:00 committed by Jeremy Apthorp
parent 104088b86b
commit eb2d2264d0
124 changed files with 1736 additions and 1410 deletions

7
DEPS
View file

@ -5,12 +5,13 @@ gclient_gn_args = [
'checkout_android_native_support', 'checkout_android_native_support',
'checkout_libaom', 'checkout_libaom',
'checkout_nacl', 'checkout_nacl',
'checkout_oculus_sdk' 'checkout_oculus_sdk',
'checkout_openxr'
] ]
vars = { vars = {
'chromium_version': 'chromium_version':
'62327c655093c821aa0fcfc6db53f5fd943e08c7', 'af5e1805f244bb71328690460ddd3d48ef3b1eca',
'node_version': 'node_version':
'v12.9.1', 'v12.9.1',
'nan_version': 'nan_version':
@ -60,6 +61,8 @@ vars = {
True, True,
'checkout_oculus_sdk': 'checkout_oculus_sdk':
False, False,
'checkout_openxr':
False,
'build_with_chromium': 'build_with_chromium':
True, True,
'checkout_android': 'checkout_android':

View file

@ -24,3 +24,6 @@ is_cfi = false
# TODO: Remove this and update CI to contain 10.14 SDK once # TODO: Remove this and update CI to contain 10.14 SDK once
# crbug.com/986701 is fixed. # crbug.com/986701 is fixed.
mac_sdk_min = "10.13" mac_sdk_min = "10.13"
# TODO: disabled due to crashes. re-enable.
enable_osr = false

View file

@ -135,10 +135,6 @@ static_library("chrome") {
sources += [ sources += [
"//chrome/browser/speech/tts_controller_delegate_impl.cc", "//chrome/browser/speech/tts_controller_delegate_impl.cc",
"//chrome/browser/speech/tts_controller_delegate_impl.h", "//chrome/browser/speech/tts_controller_delegate_impl.h",
"//chrome/browser/speech/tts_message_filter.cc",
"//chrome/browser/speech/tts_message_filter.h",
"//chrome/renderer/tts_dispatcher.cc",
"//chrome/renderer/tts_dispatcher.h",
] ]
} }
@ -202,8 +198,6 @@ static_library("chrome") {
"//chrome/browser/ui/views/overlay/back_to_tab_image_button.h", "//chrome/browser/ui/views/overlay/back_to_tab_image_button.h",
"//chrome/browser/ui/views/overlay/close_image_button.cc", "//chrome/browser/ui/views/overlay/close_image_button.cc",
"//chrome/browser/ui/views/overlay/close_image_button.h", "//chrome/browser/ui/views/overlay/close_image_button.h",
"//chrome/browser/ui/views/overlay/mute_image_button.cc",
"//chrome/browser/ui/views/overlay/mute_image_button.h",
"//chrome/browser/ui/views/overlay/overlay_window_views.cc", "//chrome/browser/ui/views/overlay/overlay_window_views.cc",
"//chrome/browser/ui/views/overlay/overlay_window_views.h", "//chrome/browser/ui/views/overlay/overlay_window_views.h",
"//chrome/browser/ui/views/overlay/playback_image_button.cc", "//chrome/browser/ui/views/overlay/playback_image_button.cc",

View file

@ -73,7 +73,7 @@ net::NSSCertDatabase* GetNSSCertDatabaseForResourceContext(
void CertificateManagerModel::Create(content::BrowserContext* browser_context, void CertificateManagerModel::Create(content::BrowserContext* browser_context,
const CreationCallback& callback) { const CreationCallback& callback) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::BindOnce(&CertificateManagerModel::GetCertDBOnIOThread, base::BindOnce(&CertificateManagerModel::GetCertDBOnIOThread,
browser_context->GetResourceContext(), callback)); browser_context->GetResourceContext(), callback));
@ -146,7 +146,7 @@ void CertificateManagerModel::DidGetCertDBOnIOThread(
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
bool is_user_db_available = !!cert_db->GetPublicSlot(); bool is_user_db_available = !!cert_db->GetPublicSlot();
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::BindOnce(&CertificateManagerModel::DidGetCertDBOnUIThread, cert_db, base::BindOnce(&CertificateManagerModel::DidGetCertDBOnUIThread, cert_db,
is_user_db_available, callback)); is_user_db_available, callback));

View file

@ -705,7 +705,7 @@ void ProcessSingleton::LinuxWatcher::SocketReader::FinishWithACK(
if (shutdown(fd_, SHUT_WR) < 0) if (shutdown(fd_, SHUT_WR) < 0)
PLOG(ERROR) << "shutdown() failed"; PLOG(ERROR) << "shutdown() failed";
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::BindOnce(&ProcessSingleton::LinuxWatcher::RemoveSocketReader, base::BindOnce(&ProcessSingleton::LinuxWatcher::RemoveSocketReader,
parent_, this)); parent_, this));
@ -885,10 +885,9 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcessOrCreate() {
void ProcessSingleton::StartListeningOnSocket() { void ProcessSingleton::StartListeningOnSocket() {
watcher_ = new LinuxWatcher(this); watcher_ = new LinuxWatcher(this);
base::PostTaskWithTraits( base::PostTask(FROM_HERE, {BrowserThread::IO},
FROM_HERE, {BrowserThread::IO}, base::BindOnce(&ProcessSingleton::LinuxWatcher::StartListening,
base::BindOnce(&ProcessSingleton::LinuxWatcher::StartListening, watcher_, watcher_, sock_));
sock_));
} }
void ProcessSingleton::OnBrowserReady() { void ProcessSingleton::OnBrowserReady() {

View file

@ -54,6 +54,7 @@ component("pepper_flash") {
"//chrome/browser/renderer_host/pepper/monitor_finder_mac.h", "//chrome/browser/renderer_host/pepper/monitor_finder_mac.h",
"//chrome/browser/renderer_host/pepper/monitor_finder_mac.mm", "//chrome/browser/renderer_host/pepper/monitor_finder_mac.mm",
] ]
libs = [ "CoreGraphics.framework" ]
} }
if (is_linux) { if (is_linux) {
deps += [ "//components/services/font/public/cpp" ] deps += [ "//components/services/font/public/cpp" ]

View file

@ -36,7 +36,6 @@ mas-cgdisplayusesforcetogray.patch
mas-audiodeviceduck.patch mas-audiodeviceduck.patch
mas-lssetapplicationlaunchservicesserverconnectionstatus.patch mas-lssetapplicationlaunchservicesserverconnectionstatus.patch
ignore_rc_check.patch ignore_rc_check.patch
enable_widevine.patch
chrome_key_systems.patch chrome_key_systems.patch
allow_nested_error_trackers.patch allow_nested_error_trackers.patch
blink_initialization_order.patch blink_initialization_order.patch
@ -62,7 +61,6 @@ unsandboxed_ppapi_processes_skip_zygote.patch
patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch patch_the_ensure_gn_version_py_script_to_work_on_mac_ci.patch
build_add_electron_tracing_category.patch build_add_electron_tracing_category.patch
disable_custom_libcxx_on_windows.patch disable_custom_libcxx_on_windows.patch
feat_offscreen_rendering_with_viz_compositor.patch
worker_context_will_destroy.patch worker_context_will_destroy.patch
fix_breakpad_symbol_generation_on_linux_arm.patch fix_breakpad_symbol_generation_on_linux_arm.patch
frame_host_manager.patch frame_host_manager.patch
@ -78,3 +76,5 @@ disable_compositor_recycling.patch
allow_new_privileges_in_unsandboxed_child_processes.patch allow_new_privileges_in_unsandboxed_child_processes.patch
expose_setuseragent_on_networkcontext.patch expose_setuseragent_on_networkcontext.patch
feat_add_set_theme_source_to_allow_apps_to.patch feat_add_set_theme_source_to_allow_apps_to.patch
revert_cleanup_remove_menu_subtitles_sublabels.patch
ui_views_fix_jumbo_build.patch

View file

@ -10,7 +10,7 @@ Allows Electron to restore WER when ELECTRON_DEFAULT_ERROR_MODE is set.
This should be upstreamed. This should be upstreamed.
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index 46d92835eadd6429ea0c6a53c5a39ff04f1c2634..1b99a1e601f4226280cdf1382af555b4d61b92fa 100644 index 4373f508964cb1e9fd51c952122ac2f41fb35ae9..065a7a57b77f1e3bf5e03fac900f1936d48ad4ff 100644
--- a/content/gpu/gpu_main.cc --- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc
@@ -236,6 +236,10 @@ int GpuMain(const MainFunctionParams& parameters) { @@ -236,6 +236,10 @@ int GpuMain(const MainFunctionParams& parameters) {

View file

@ -39,10 +39,10 @@ index 2aef366ac8194aa261cbca6abc051f7da8a988d3..3c7d66c81032636abcca4f1538ce9b7f
GIN_EXPORT static ArrayBufferAllocator* SharedInstance(); GIN_EXPORT static ArrayBufferAllocator* SharedInstance();
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
index 7ca876bc7f2afa192167f0689690d73d5a420c60..d58085e0b14241d666f533cb23dd89159c27d8b2 100644 index 3eeafca490b1fbbedc2c16f203a4ac28b23da675..fee684296357c2c3af7395bdd17ac8b8445f55c4 100644
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc --- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc +++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
@@ -642,6 +642,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator { @@ -647,6 +647,10 @@ class ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
size, WTF::ArrayBufferContents::kDontInitialize); size, WTF::ArrayBufferContents::kDontInitialize);
} }
@ -70,7 +70,7 @@ index ac76d127b96b80c8260a7e2cda0b669cd98787ad..dcab64586700a8740262aede8dba2755
Partitions::ArrayBufferPartition()->Free(data); Partitions::ArrayBufferPartition()->Free(data);
} }
diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h diff --git a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
index ee7c89a4950d6b3c97a810c41a62fee7e372018d..c2b60f20a72cca46d05af369f33d9c19395b34ef 100644 index 3f44cd2fdf648057be8defcf041574b4c91e0363..55c0e7c66649ae9d9cbef6179daac7ad771b755c 100644
--- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h --- a/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
+++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h +++ b/third_party/blink/renderer/platform/wtf/typed_arrays/array_buffer_contents.h
@@ -140,6 +140,7 @@ class WTF_EXPORT ArrayBufferContents { @@ -140,6 +140,7 @@ class WTF_EXPORT ArrayBufferContents {

View file

@ -10,7 +10,7 @@ to fix electron/electron#13787. The backport landed in Chromium 67 but the
DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely DidCreateScriptContext re-ordering needs to be upstreamed or kept indefinitely
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
index c0ec993ca6d96c5f95eb7b918ca9c37d9defff43..2522add8f9b1e3ada14fcc5c09d161b0820f4418 100644 index 8331c466ac9ae91d79c32f17b815f048c7e30a8b..e066abfc3341ff620191116d87ff0e135cdf43e7 100644
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc --- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc +++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
@@ -205,11 +205,10 @@ void LocalWindowProxy::Initialize() { @@ -205,11 +205,10 @@ void LocalWindowProxy::Initialize() {
@ -24,5 +24,5 @@ index c0ec993ca6d96c5f95eb7b918ca9c37d9defff43..2522add8f9b1e3ada14fcc5c09d161b0
- InstallConditionalFeatures(); - InstallConditionalFeatures();
- -
// This needs to go after everything else since it accesses the window object. // This needs to go after everything else since it accesses the window object.
// WARNING: May modify the global object!
InitializeV8ExtrasBinding(script_state_); InitializeV8ExtrasBinding(script_state_);

View file

@ -14,10 +14,10 @@ when there is code doing that.
This patch reverts the change to fix the crash in Electron. This patch reverts the change to fix the crash in Electron.
diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc diff --git a/third_party/blink/renderer/core/frame/local_frame.cc b/third_party/blink/renderer/core/frame/local_frame.cc
index 488d9238eec29fd90540881d895f86d8597300be..b9cbd011d8ab5f86128590b2b98a517a5ad04c4e 100644 index 1dc588e0683232fd40fea4fd4b9d4869ccacfaac..66107801f2a4ceddca509fc3737c750d4a798fbf 100644
--- a/third_party/blink/renderer/core/frame/local_frame.cc --- a/third_party/blink/renderer/core/frame/local_frame.cc
+++ b/third_party/blink/renderer/core/frame/local_frame.cc +++ b/third_party/blink/renderer/core/frame/local_frame.cc
@@ -334,10 +334,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) { @@ -338,10 +338,6 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
} }
CHECK(!view_ || !view_->IsAttached()); CHECK(!view_ || !view_->IsAttached());
@ -28,7 +28,7 @@ index 488d9238eec29fd90540881d895f86d8597300be..b9cbd011d8ab5f86128590b2b98a517a
if (!Client()) if (!Client())
return; return;
@@ -355,6 +351,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) { @@ -359,6 +355,10 @@ void LocalFrame::DetachImpl(FrameDetachType type) {
// Notify ScriptController that the frame is closing, since its cleanup ends // Notify ScriptController that the frame is closing, since its cleanup ends
// up calling back to LocalFrameClient via WindowProxy. // up calling back to LocalFrameClient via WindowProxy.
GetScriptController().ClearForClose(); GetScriptController().ClearForClose();

View file

@ -19,10 +19,10 @@ index a781a44399a31f048419311d2317229c912752c2..131c0dcb125b00215e3ad469c11c4b47
// that the script evaluated to with callback. Script execution can be // that the script evaluated to with callback. Script execution can be
// suspend. // suspend.
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
index 85481bb0178d707bb52a4766521cdd8f740b0497..e3d4e5284c13383db47153adb5f8e3d9fce64dbf 100644 index 0fccae4bfe95944bd203240524f358d8ea97f654..107593a056ab68b4e4aa1cd172c35334c5e0b0ea 100644
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc --- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc +++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
@@ -874,6 +874,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const { @@ -877,6 +877,13 @@ v8::Local<v8::Object> WebLocalFrameImpl::GlobalProxy() const {
return MainWorldScriptContext()->Global(); return MainWorldScriptContext()->Global();
} }

View file

@ -8,10 +8,10 @@ categories in use are known / declared. This patch is required for us
to introduce a new Electron category for Electron-specific tracing. to introduce a new Electron category for Electron-specific tracing.
diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h diff --git a/base/trace_event/builtin_categories.h b/base/trace_event/builtin_categories.h
index b50d4123e44ddee34af0b07bfe5d067c4ccc5809..3e2c639a067fb76848783f35ec112a380da2353e 100644 index 6717a2bd93b7bec89934bb3e70cdfb5461dcc29b..ca2bd030d1f46b1a7294883e30274cd0da2e7f49 100644
--- a/base/trace_event/builtin_categories.h --- a/base/trace_event/builtin_categories.h
+++ b/base/trace_event/builtin_categories.h +++ b/base/trace_event/builtin_categories.h
@@ -61,6 +61,7 @@ @@ -62,6 +62,7 @@
X("dwrite") \ X("dwrite") \
X("DXVA Decoding") \ X("DXVA Decoding") \
X("EarlyJava") \ X("EarlyJava") \

View file

@ -5,7 +5,7 @@ Subject: build_gn.patch
diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn diff --git a/build/config/BUILDCONFIG.gn b/build/config/BUILDCONFIG.gn
index 59ab7810e71916e8f0f2d69f06e3c2c3ebc99030..b144e800c94956429ca85fc0aefe6539a6246e4b 100644 index f89e7e831b79f82bd11a5dd8cee6ab49d8de724e..f8a611bf0676ce323cdbb5d639333df9875dd0ca 100644
--- a/build/config/BUILDCONFIG.gn --- a/build/config/BUILDCONFIG.gn
+++ b/build/config/BUILDCONFIG.gn +++ b/build/config/BUILDCONFIG.gn
@@ -123,6 +123,9 @@ if (current_os == "") { @@ -123,6 +123,9 @@ if (current_os == "") {
@ -18,8 +18,8 @@ index 59ab7810e71916e8f0f2d69f06e3c2c3ebc99030..b144e800c94956429ca85fc0aefe6539
# Set to enable the official build level of optimization. This has nothing # Set to enable the official build level of optimization. This has nothing
# to do with branding, but enables an additional level of optimization above # to do with branding, but enables an additional level of optimization above
# release (!is_debug). This might be better expressed as a tri-state # release (!is_debug). This might be better expressed as a tri-state
@@ -437,6 +440,7 @@ default_compiler_configs = [ @@ -438,6 +441,7 @@ default_compiler_configs = [
"//build/config/compiler:thin_archive", "//build/config/compiler:default_init_stack_vars",
"//build/config/coverage:default_coverage", "//build/config/coverage:default_coverage",
"//build/config/sanitizers:default_sanitizer_flags", "//build/config/sanitizers:default_sanitizer_flags",
+ "//electron/build/config:mas_build", + "//electron/build/config:mas_build",

View file

@ -5,10 +5,10 @@ Subject: can_create_window.patch
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc
index c6381fe498311421d2568b6d91b33539eb72cb0b..90b2457b49cb9c68a0dd269e8e8f64a44cae80cf 100644 index bfcb977fbf2400e4ae8c7ea0b69d2b733ed410dc..be064ded7bfa3f96b5230e5bf00f68a0a8f618c2 100644
--- a/content/browser/frame_host/render_frame_host_impl.cc --- a/content/browser/frame_host/render_frame_host_impl.cc
+++ b/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -3885,6 +3885,7 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -3985,6 +3985,7 @@ void RenderFrameHostImpl::CreateNewWindow(
last_committed_origin_, params->window_container_type, last_committed_origin_, params->window_container_type,
params->target_url, params->referrer.To<Referrer>(), params->target_url, params->referrer.To<Referrer>(),
params->frame_name, params->disposition, *params->features, params->frame_name, params->disposition, *params->features,
@ -17,10 +17,10 @@ index c6381fe498311421d2568b6d91b33539eb72cb0b..90b2457b49cb9c68a0dd269e8e8f64a4
&no_javascript_access); &no_javascript_access);
diff --git a/content/common/frame.mojom b/content/common/frame.mojom diff --git a/content/common/frame.mojom b/content/common/frame.mojom
index e227f780d720a80a13699f475757142571094cd1..6984f69e6f9a0d3058b0054df8a3aa9d46f14dbd 100644 index 94b48f4a88df48f51adff20bc7954b0989e5ae05..a8eb7ba81afd2c8fb87544fb70a8ef862811a014 100644
--- a/content/common/frame.mojom --- a/content/common/frame.mojom
+++ b/content/common/frame.mojom +++ b/content/common/frame.mojom
@@ -299,6 +299,10 @@ struct CreateNewWindowParams { @@ -307,6 +307,10 @@ struct CreateNewWindowParams {
// The window features to use for the new window. // The window features to use for the new window.
blink.mojom.WindowFeatures features; blink.mojom.WindowFeatures features;
@ -32,10 +32,10 @@ index e227f780d720a80a13699f475757142571094cd1..6984f69e6f9a0d3058b0054df8a3aa9d
// Operation result when the renderer asks the browser to create a new window. // Operation result when the renderer asks the browser to create a new window.
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 1c904cd011b7a5ca9592a994cf4ba0be025eef55..15081967b0a29316ab82746ca6fe7d188a9efc58 100644 index 6d2b19d1b65496425e0850d8c224b4bf9eefa567..df6f9848ba8ae1e8e7c6e5415b3a4c2efaf6f055 100644
--- a/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc
@@ -484,6 +484,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -493,6 +493,8 @@ bool ContentBrowserClient::CanCreateWindow(
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,
@ -45,10 +45,10 @@ index 1c904cd011b7a5ca9592a994cf4ba0be025eef55..15081967b0a29316ab82746ca6fe7d18
bool opener_suppressed, bool opener_suppressed,
bool* no_javascript_access) { bool* no_javascript_access) {
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 07dc81e27ae92e4e7a872134dcdc6a3ba2e08ec5..678b25401338a624dc37a11c45331d65082934e9 100644 index a9131e72beefd3fd706640d5eeb82646a7ffe65d..7578110f13b23e9585a181bba3e73a3996f60faf 100644
--- a/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h
@@ -178,6 +178,7 @@ class RenderFrameHost; @@ -179,6 +179,7 @@ class RenderFrameHost;
class RenderProcessHost; class RenderProcessHost;
class RenderViewHost; class RenderViewHost;
class ResourceContext; class ResourceContext;
@ -56,7 +56,7 @@ index 07dc81e27ae92e4e7a872134dcdc6a3ba2e08ec5..678b25401338a624dc37a11c45331d65
class SerialDelegate; class SerialDelegate;
class SiteInstance; class SiteInstance;
class SpeechRecognitionManagerDelegate; class SpeechRecognitionManagerDelegate;
@@ -767,6 +768,8 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -779,6 +780,8 @@ class CONTENT_EXPORT ContentBrowserClient {
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,
@ -66,10 +66,10 @@ index 07dc81e27ae92e4e7a872134dcdc6a3ba2e08ec5..678b25401338a624dc37a11c45331d65
bool opener_suppressed, bool opener_suppressed,
bool* no_javascript_access); bool* no_javascript_access);
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index a8a2d29739aabb0bd80cb77e28c46de57afe2b10..e3fa35b439e0f945e9e6a95587561fedd1ef4a2c 100644 index f14d1f7fe20e81b9e488f787db00cd114cce16a7..94bfcf7ae25f6f5c2d1fdf93b96350bd229045e3 100644
--- a/content/renderer/render_view_impl.cc --- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc
@@ -75,6 +75,7 @@ @@ -73,6 +73,7 @@
#include "content/renderer/ime_event_guard.h" #include "content/renderer/ime_event_guard.h"
#include "content/renderer/internal_document_state_data.h" #include "content/renderer/internal_document_state_data.h"
#include "content/renderer/loader/request_extra_data.h" #include "content/renderer/loader/request_extra_data.h"
@ -77,7 +77,7 @@ index a8a2d29739aabb0bd80cb77e28c46de57afe2b10..e3fa35b439e0f945e9e6a95587561fed
#include "content/renderer/media/audio/audio_device_factory.h" #include "content/renderer/media/audio/audio_device_factory.h"
#include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
#include "content/renderer/media/webrtc/rtc_peer_connection_handler.h" #include "content/renderer/media/webrtc/rtc_peer_connection_handler.h"
@@ -1346,6 +1347,8 @@ WebView* RenderViewImpl::CreateView( @@ -1325,6 +1326,8 @@ WebView* RenderViewImpl::CreateView(
} }
params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features); params->features = ConvertWebWindowFeaturesToMojoWindowFeatures(features);
@ -87,10 +87,10 @@ index a8a2d29739aabb0bd80cb77e28c46de57afe2b10..e3fa35b439e0f945e9e6a95587561fed
// moved on send. // moved on send.
bool is_background_tab = bool is_background_tab =
diff --git a/content/shell/browser/web_test/web_test_content_browser_client.cc b/content/shell/browser/web_test/web_test_content_browser_client.cc diff --git a/content/shell/browser/web_test/web_test_content_browser_client.cc b/content/shell/browser/web_test/web_test_content_browser_client.cc
index 1a159e8d2877e5b1c6778b68aec5b36fb88214fd..f9111b3e20fb7607faa4bb605be1ff4c385e40d6 100644 index 5faaea374484d51b1af261ff93fb96aec2eaa4e1..786d3a904a765b5cb53859c35a045b9e04b6250b 100644
--- a/content/shell/browser/web_test/web_test_content_browser_client.cc --- a/content/shell/browser/web_test/web_test_content_browser_client.cc
+++ b/content/shell/browser/web_test/web_test_content_browser_client.cc +++ b/content/shell/browser/web_test/web_test_content_browser_client.cc
@@ -313,6 +313,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( @@ -312,6 +312,8 @@ bool WebTestContentBrowserClient::CanCreateWindow(
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,
@ -100,10 +100,10 @@ index 1a159e8d2877e5b1c6778b68aec5b36fb88214fd..f9111b3e20fb7607faa4bb605be1ff4c
bool opener_suppressed, bool opener_suppressed,
bool* no_javascript_access) { bool* no_javascript_access) {
diff --git a/content/shell/browser/web_test/web_test_content_browser_client.h b/content/shell/browser/web_test/web_test_content_browser_client.h diff --git a/content/shell/browser/web_test/web_test_content_browser_client.h b/content/shell/browser/web_test/web_test_content_browser_client.h
index 1a714946de9f0dceaec008e93928d2c414ef01da..34423135e85b3ed7a54c9f22f6674f9c4026a67c 100644 index 435f204a364e54b59c0bd651b760bf350ea94d11..1e6bee1fa08fa2d2a396678838d475e0e7e4ce0c 100644
--- a/content/shell/browser/web_test/web_test_content_browser_client.h --- a/content/shell/browser/web_test/web_test_content_browser_client.h
+++ b/content/shell/browser/web_test/web_test_content_browser_client.h +++ b/content/shell/browser/web_test/web_test_content_browser_client.h
@@ -67,6 +67,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient { @@ -68,6 +68,8 @@ class WebTestContentBrowserClient : public ShellContentBrowserClient {
const std::string& frame_name, const std::string& frame_name,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,
const blink::mojom::WindowFeatures& features, const blink::mojom::WindowFeatures& features,

View file

@ -8,10 +8,10 @@ run before shutdown. This is required to cleanup WebContents asynchronously
in atom::CommonWebContentsDelegate::ResetManageWebContents. in atom::CommonWebContentsDelegate::ResetManageWebContents.
diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc diff --git a/content/browser/browser_main_loop.cc b/content/browser/browser_main_loop.cc
index 61324582c2dca5e1e5a75c0793034307b648cc98..c73c1e26c2f01713952840fadbd7e8975bcb9843 100644 index 28521684fd37dca5ea4251c166be33470b5ae0d8..cd5f3ef6b679899cd28068e39715d5c4847595cc 100644
--- a/content/browser/browser_main_loop.cc --- a/content/browser/browser_main_loop.cc
+++ b/content/browser/browser_main_loop.cc +++ b/content/browser/browser_main_loop.cc
@@ -1496,7 +1496,7 @@ void BrowserMainLoop::MainMessageLoopRun() { @@ -1505,7 +1505,7 @@ void BrowserMainLoop::MainMessageLoopRun() {
NOTREACHED(); NOTREACHED();
#else #else
base::RunLoop run_loop; base::RunLoop run_loop;

View file

@ -17,10 +17,10 @@ only one or two specific checks fail. Then it's better to simply comment out the
failing checks and allow the rest of the target to have them enabled. failing checks and allow the rest of the target to have them enabled.
diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc diff --git a/content/browser/frame_host/navigation_controller_impl.cc b/content/browser/frame_host/navigation_controller_impl.cc
index 4bc8bd4c68015dd684702a6afbce74b36160e5a1..55dc200a73ef09b17c0e52d622f86956ba6a7bb7 100644 index c8c28a5c1677b353e698b7fea91653fe08ebb77b..b5730d792e58ad090bb21a922fe828a53535bc4a 100644
--- a/content/browser/frame_host/navigation_controller_impl.cc --- a/content/browser/frame_host/navigation_controller_impl.cc
+++ b/content/browser/frame_host/navigation_controller_impl.cc +++ b/content/browser/frame_host/navigation_controller_impl.cc
@@ -1210,8 +1210,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation( @@ -1212,8 +1212,10 @@ NavigationType NavigationControllerImpl::ClassifyNavigation(
return NAVIGATION_TYPE_NEW_SUBFRAME; return NAVIGATION_TYPE_NEW_SUBFRAME;
} }
@ -33,7 +33,7 @@ index 4bc8bd4c68015dd684702a6afbce74b36160e5a1..55dc200a73ef09b17c0e52d622f86956
if (rfh->GetParent()) { if (rfh->GetParent()) {
// All manual subframes would be did_create_new_entry and handled above, so // All manual subframes would be did_create_new_entry and handled above, so
@@ -1463,7 +1465,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage( @@ -1465,7 +1467,10 @@ void NavigationControllerImpl::RendererDidNavigateToNewPage(
new_entry->GetFavicon() = GetLastCommittedEntry()->GetFavicon(); new_entry->GetFavicon() = GetLastCommittedEntry()->GetFavicon();
} }
@ -46,10 +46,10 @@ index 4bc8bd4c68015dd684702a6afbce74b36160e5a1..55dc200a73ef09b17c0e52d622f86956
// navigation. Now we know that the renderer has updated its state accordingly // navigation. Now we know that the renderer has updated its state accordingly
// and it is safe to also clear the browser side history. // and it is safe to also clear the browser side history.
diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc diff --git a/ui/base/clipboard/clipboard_win.cc b/ui/base/clipboard/clipboard_win.cc
index 87a82009c929ff73d3d9fe5b51907b9b4147f78f..32d2316d7553b672a28e84f9433c85d1be213623 100644 index 34c13c28117fe5fced5ca3190c5f948168cd010f..554ddabee8952e578a61a9b9c3f358b2475abd69 100644
--- a/ui/base/clipboard/clipboard_win.cc --- a/ui/base/clipboard/clipboard_win.cc
+++ b/ui/base/clipboard/clipboard_win.cc +++ b/ui/base/clipboard/clipboard_win.cc
@@ -729,9 +729,9 @@ void ClipboardWin::WriteBitmapFromHandle(HBITMAP source_hbitmap, @@ -730,9 +730,9 @@ void ClipboardWin::WriteBitmapFromHandle(HBITMAP source_hbitmap,
} }
void ClipboardWin::WriteToClipboard(unsigned int format, HANDLE handle) { void ClipboardWin::WriteToClipboard(unsigned int format, HANDLE handle) {

View file

@ -15,10 +15,10 @@ the redraw locking mechanism, which fixes these issues. The electron issue
can be found at https://github.com/electron/electron/issues/1821 can be found at https://github.com/electron/electron/issues/1821
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc
index 578b8414531f10ed1fe9d1590336a43ba8dd299f..82e1491988dc31573ae8b15bf6df16fabda1616e 100644 index 0fa5dabec0ebb1dfe248eb5d71f45cc391883854..07e7c1480abfa158856a274b6b1668653121c9b4 100644
--- a/ui/views/win/hwnd_message_handler.cc --- a/ui/views/win/hwnd_message_handler.cc
+++ b/ui/views/win/hwnd_message_handler.cc +++ b/ui/views/win/hwnd_message_handler.cc
@@ -331,6 +331,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500; @@ -332,6 +332,10 @@ constexpr int kSynthesizedMouseMessagesTimeDifference = 500;
} // namespace } // namespace
@ -29,7 +29,7 @@ index 578b8414531f10ed1fe9d1590336a43ba8dd299f..82e1491988dc31573ae8b15bf6df16fa
// A scoping class that prevents a window from being able to redraw in response // A scoping class that prevents a window from being able to redraw in response
// to invalidations that may occur within it for the lifetime of the object. // to invalidations that may occur within it for the lifetime of the object.
// //
@@ -382,6 +386,7 @@ class HWNDMessageHandler::ScopedRedrawLock { @@ -383,6 +387,7 @@ class HWNDMessageHandler::ScopedRedrawLock {
cancel_unlock_(false), cancel_unlock_(false),
should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() && should_lock_(owner_->IsVisible() && !owner->HasChildRenderingWindow() &&
::IsWindow(hwnd_) && ::IsWindow(hwnd_) &&
@ -49,7 +49,7 @@ index 578b8414531f10ed1fe9d1590336a43ba8dd299f..82e1491988dc31573ae8b15bf6df16fa
// HWNDMessageHandler, gfx::WindowImpl overrides: // HWNDMessageHandler, gfx::WindowImpl overrides:
diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h diff --git a/ui/views/win/hwnd_message_handler.h b/ui/views/win/hwnd_message_handler.h
index 57bf68676b697fa2d17c66f08b98d57809d4d20c..86ee2d878f2f310db2f50be05035f087ddb375ba 100644 index 7223a9a61b9ad16ade315ed799d386a52688e16b..9817b49ba264775f88d3a22a825afc8833f2e28c 100644
--- a/ui/views/win/hwnd_message_handler.h --- a/ui/views/win/hwnd_message_handler.h
+++ b/ui/views/win/hwnd_message_handler.h +++ b/ui/views/win/hwnd_message_handler.h
@@ -194,6 +194,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl, @@ -194,6 +194,8 @@ class VIEWS_EXPORT HWNDMessageHandler : public gfx::WindowImpl,
@ -62,7 +62,7 @@ index 57bf68676b697fa2d17c66f08b98d57809d4d20c..86ee2d878f2f310db2f50be05035f087
HICON GetDefaultWindowIcon() const override; HICON GetDefaultWindowIcon() const override;
HICON GetSmallWindowIcon() const override; HICON GetSmallWindowIcon() const override;
diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h diff --git a/ui/views/win/hwnd_message_handler_delegate.h b/ui/views/win/hwnd_message_handler_delegate.h
index 45c4e5b29d05ea0323596fa2c5034c2e30a68f70..e25aac69b09954fbc267309beba98ec0877fa2ac 100644 index ddc640e7a5d278e08c056f1989ac258c9ae8bfae..a5d050dadad3c565b0151ee945e5d17f42255aa3 100644
--- a/ui/views/win/hwnd_message_handler_delegate.h --- a/ui/views/win/hwnd_message_handler_delegate.h
+++ b/ui/views/win/hwnd_message_handler_delegate.h +++ b/ui/views/win/hwnd_message_handler_delegate.h
@@ -46,6 +46,8 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate { @@ -46,6 +46,8 @@ class VIEWS_EXPORT HWNDMessageHandlerDelegate {

View file

@ -20,7 +20,7 @@ to deal with color spaces. That is being tracked at
https://crbug.com/634542 and https://crbug.com/711107. https://crbug.com/634542 and https://crbug.com/711107.
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h
index d62c52b53268b4ffab702a0dac3652edc472ccb9..f1ed520f123802469d94c98c418b9f5c5d2032e0 100644 index 18d99c39b5ec1ba5f8fdd808139f0b5a2de53f60..f03a6f00b9dcc044ef151466f6e16c983f73ce69 100644
--- a/cc/trees/layer_tree_settings.h --- a/cc/trees/layer_tree_settings.h
+++ b/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h
@@ -95,6 +95,8 @@ class CC_EXPORT LayerTreeSettings { @@ -95,6 +95,8 @@ class CC_EXPORT LayerTreeSettings {
@ -66,7 +66,7 @@ index f17aa1fa451f1b99d7f083e07edd49b11f7639e4..09f7c5d6a92d89c199b296771a8ff60c
!command_line->HasSwitch(switches::kUIDisablePartialSwap); !command_line->HasSwitch(switches::kUIDisablePartialSwap);
#if defined(OS_MACOSX) #if defined(OS_MACOSX)
diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc diff --git a/components/viz/service/display/gl_renderer.cc b/components/viz/service/display/gl_renderer.cc
index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c1166404c4209b0 100644 index 8c67161c4a4b970fb9393a9a73a239b5aecb95cf..99ea5a9832aca67030e92e4761209872190388eb 100644
--- a/components/viz/service/display/gl_renderer.cc --- a/components/viz/service/display/gl_renderer.cc
+++ b/components/viz/service/display/gl_renderer.cc +++ b/components/viz/service/display/gl_renderer.cc
@@ -81,6 +81,9 @@ @@ -81,6 +81,9 @@
@ -91,7 +91,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
// Use the full quad_rect for debug quads to not move the edges based on // Use the full quad_rect for debug quads to not move the edges based on
// partial swaps. // partial swaps.
@@ -1448,7 +1452,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params, @@ -1455,7 +1459,8 @@ void GLRenderer::ChooseRPDQProgram(DrawRenderPassDrawQuadParams* params,
params->use_color_matrix, tint_gl_composited_content_, params->use_color_matrix, tint_gl_composited_content_,
params->apply_shader_based_rounded_corner && params->apply_shader_based_rounded_corner &&
ShouldApplyRoundedCorner(params->quad)), ShouldApplyRoundedCorner(params->quad)),
@ -101,7 +101,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
} }
void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) { void GLRenderer::UpdateRPDQUniforms(DrawRenderPassDrawQuadParams* params) {
@@ -1919,8 +1924,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad, @@ -1926,8 +1931,8 @@ void GLRenderer::DrawSolidColorQuad(const SolidColorDrawQuad* quad,
SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA, SetUseProgram(ProgramKey::SolidColor(use_aa ? USE_AA : NO_AA,
tint_gl_composited_content_, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)), ShouldApplyRoundedCorner(quad)),
@ -112,7 +112,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
SetShaderColor(color, opacity); SetShaderColor(color, opacity);
if (current_program_->rounded_corner_rect_location() != -1) { if (current_program_->rounded_corner_rect_location() != -1) {
SetShaderRoundedCorner( SetShaderRoundedCorner(
@@ -2075,8 +2080,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad, @@ -2082,8 +2087,8 @@ void GLRenderer::DrawContentQuadAA(const ContentDrawQuadBase* quad,
: NON_PREMULTIPLIED_ALPHA, : NON_PREMULTIPLIED_ALPHA,
false, false, tint_gl_composited_content_, false, false, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)), ShouldApplyRoundedCorner(quad)),
@ -123,7 +123,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
if (current_program_->tint_color_matrix_location() != -1) { if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2172,8 +2177,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad, @@ -2179,8 +2184,8 @@ void GLRenderer::DrawContentQuadNoAA(const ContentDrawQuadBase* quad,
!quad->ShouldDrawWithBlending(), has_tex_clamp_rect, !quad->ShouldDrawWithBlending(), has_tex_clamp_rect,
tint_gl_composited_content_, tint_gl_composited_content_,
ShouldApplyRoundedCorner(quad)), ShouldApplyRoundedCorner(quad)),
@ -134,7 +134,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
if (current_program_->tint_color_matrix_location() != -1) { if (current_program_->tint_color_matrix_location() != -1) {
auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix(); auto matrix = cc::DebugColors::TintCompositedContentColorTransformMatrix();
@@ -2276,7 +2281,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad, @@ -2283,7 +2288,7 @@ void GLRenderer::DrawYUVVideoQuad(const YUVVideoDrawQuad* quad,
DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB()); DCHECK_NE(src_color_space, src_color_space.GetAsFullRangeRGB());
gfx::ColorSpace dst_color_space = gfx::ColorSpace dst_color_space =
@ -143,7 +143,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
// Force sRGB output on Windows for overlay candidate video quads to match // Force sRGB output on Windows for overlay candidate video quads to match
// DirectComposition behavior in case these switch between overlays and // DirectComposition behavior in case these switch between overlays and
// compositing. See https://crbug.com/811118 for details. // compositing. See https://crbug.com/811118 for details.
@@ -2432,8 +2437,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad, @@ -2439,8 +2444,8 @@ void GLRenderer::DrawStreamVideoQuad(const StreamVideoDrawQuad* quad,
SetUseProgram(ProgramKey::VideoStream(tex_coord_precision, SetUseProgram(ProgramKey::VideoStream(tex_coord_precision,
ShouldApplyRoundedCorner(quad)), ShouldApplyRoundedCorner(quad)),
@ -154,7 +154,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_)); DCHECK_EQ(GL_TEXTURE0, GetActiveTextureUnit(gl_));
gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id()); gl_->BindTexture(GL_TEXTURE_EXTERNAL_OES, lock.texture_id());
@@ -2490,8 +2495,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) { @@ -2497,8 +2502,8 @@ void GLRenderer::FlushTextureQuadCache(BoundGeometry flush_binding) {
draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR); draw_cache_.nearest_neighbor ? GL_NEAREST : GL_LINEAR);
// Bind the program to the GL state. // Bind the program to the GL state.
@ -165,7 +165,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
if (current_program_->rounded_corner_rect_location() != -1) { if (current_program_->rounded_corner_rect_location() != -1) {
SetShaderRoundedCorner( SetShaderRoundedCorner(
@@ -3184,7 +3189,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) { @@ -3195,7 +3200,9 @@ void GLRenderer::PrepareGeometry(BoundGeometry binding) {
void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color, void GLRenderer::SetUseProgram(const ProgramKey& program_key_no_color,
const gfx::ColorSpace& src_color_space, const gfx::ColorSpace& src_color_space,
const gfx::ColorSpace& dst_color_space) { const gfx::ColorSpace& dst_color_space) {
@ -176,7 +176,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
gfx::ColorSpace adjusted_color_space = src_color_space; gfx::ColorSpace adjusted_color_space = src_color_space;
float sdr_white_level = current_frame()->sdr_white_level; float sdr_white_level = current_frame()->sdr_white_level;
@@ -3550,7 +3557,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource( @@ -3574,7 +3581,7 @@ void GLRenderer::CopyRenderPassDrawQuadToOverlayResource(
*overlay_texture = FindOrCreateOverlayTexture( *overlay_texture = FindOrCreateOverlayTexture(
params.quad->render_pass_id, iosurface_width, iosurface_height, params.quad->render_pass_id, iosurface_width, iosurface_height,
@ -185,7 +185,7 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
*new_bounds = gfx::RectF(updated_dst_rect.origin(), *new_bounds = gfx::RectF(updated_dst_rect.origin(),
gfx::SizeF((*overlay_texture)->texture.size())); gfx::SizeF((*overlay_texture)->texture.size()));
@@ -3768,8 +3775,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) { @@ -3792,8 +3799,8 @@ void GLRenderer::FlushOverdrawFeedback(const gfx::Rect& output_rect) {
PrepareGeometry(SHARED_BINDING); PrepareGeometry(SHARED_BINDING);
@ -196,17 +196,17 @@ index 58717216158d62dd2826007fa3ddb4f39a5eb4d1..b8c0fcbd2aadd7c75c90baf39c116640
gfx::Transform render_matrix; gfx::Transform render_matrix;
render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(), render_matrix.Translate(0.5 * output_rect.width() + output_rect.x(),
@@ -3929,3 +3936,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize( @@ -3953,3 +3960,5 @@ gfx::Size GLRenderer::GetRenderPassBackingPixelSize(
} }
} // namespace viz } // namespace viz
+ +
+#undef PATCH_CS +#undef PATCH_CS
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index 157fbbc34a2217f58f3e5931e1d56d6db3b876cd..68bd4a84e6fe68a4741fcedc50fb47230b11ba37 100644 index d38084e36ab82c3c91f7ab5504557707eedbb2fc..ede28387d3fa868c61e291202ab9e8f95f7aa870 100644
--- a/content/browser/gpu/gpu_process_host.cc --- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc +++ b/content/browser/gpu/gpu_process_host.cc
@@ -192,6 +192,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus( @@ -194,6 +194,7 @@ GpuTerminationStatus ConvertToGpuTerminationStatus(
// Command-line switches to propagate to the GPU process. // Command-line switches to propagate to the GPU process.
static const char* const kSwitchNames[] = { static const char* const kSwitchNames[] = {
@ -215,10 +215,10 @@ index 157fbbc34a2217f58f3e5931e1d56d6db3b876cd..68bd4a84e6fe68a4741fcedc50fb4723
service_manager::switches::kGpuSandboxAllowSysVShm, service_manager::switches::kGpuSandboxAllowSysVShm,
service_manager::switches::kGpuSandboxFailuresFatal, service_manager::switches::kGpuSandboxFailuresFatal,
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 6302948343ee810a9d35a70be0c91a1ffbfb7647..6607c71fa295cda32c5ac00aafe642a103703a0e 100644 index 2aaa6b123b917b9b819aa2a2d3fb27179a57a8ec..cfbb71f8ab6a192e49093cc214589ccb40f646b1 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -215,6 +215,7 @@ @@ -219,6 +219,7 @@
#include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches.h"
#include "ui/base/ui_base_switches_util.h" #include "ui/base/ui_base_switches_util.h"
#include "ui/display/display_switches.h" #include "ui/display/display_switches.h"
@ -226,7 +226,7 @@ index 6302948343ee810a9d35a70be0c91a1ffbfb7647..6607c71fa295cda32c5ac00aafe642a1
#include "ui/gl/gl_switches.h" #include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_features.h" #include "ui/native_theme/native_theme_features.h"
#include "url/url_constants.h" #include "url/url_constants.h"
@@ -2917,6 +2918,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( @@ -2910,6 +2911,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer(
// Propagate the following switches to the renderer command line (along // Propagate the following switches to the renderer command line (along
// with any associated values) if present in the browser command line. // with any associated values) if present in the browser command line.
static const char* const kSwitchNames[] = { static const char* const kSwitchNames[] = {
@ -235,10 +235,10 @@ index 6302948343ee810a9d35a70be0c91a1ffbfb7647..6607c71fa295cda32c5ac00aafe642a1
network::switches::kExplicitlyAllowedPorts, network::switches::kExplicitlyAllowedPorts,
service_manager::switches::kDisableInProcessStackTraces, service_manager::switches::kDisableInProcessStackTraces,
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 2f53bc7d22c175a41e71fcbf46b8ce2636e529e3..0eb3d2922453014e90a8f91e2f72aee3145f8cc6 100644 index 928f3d91c3750482e0da1fa885c1e03fdd3285b6..42363587fdd1ebadf7042d2e1dde7442d86a5e4a 100644
--- a/content/renderer/render_widget.cc --- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc +++ b/content/renderer/render_widget.cc
@@ -2836,6 +2836,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings( @@ -2863,6 +2863,9 @@ cc::LayerTreeSettings RenderWidget::GenerateLayerTreeSettings(
settings.main_frame_before_activation_enabled = settings.main_frame_before_activation_enabled =
cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation); cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
@ -249,7 +249,7 @@ index 2f53bc7d22c175a41e71fcbf46b8ce2636e529e3..0eb3d2922453014e90a8f91e2f72aee3
// is what the renderer uses if its not threaded. // is what the renderer uses if its not threaded.
settings.enable_checker_imaging = settings.enable_checker_imaging =
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
index 3d936357343e9829768891a45b6459d6a1bbb4f1..55062c91722b900bbbc775c0c88cfc6e57ddc04b 100644 index 41f7fcbdd63af315f4b4e768bfef3b5004807a0b..398a4fdea3cc0ab4f5132deeb9365189f9c928c3 100644
--- a/ui/gfx/mac/io_surface.cc --- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc +++ b/ui/gfx/mac/io_surface.cc
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
@ -260,7 +260,7 @@ index 3d936357343e9829768891a45b6459d6a1bbb4f1..55062c91722b900bbbc775c0c88cfc6e
namespace gfx { namespace gfx {
@@ -191,6 +192,11 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, @@ -186,6 +187,11 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size,
// Ensure that all IOSurfaces start as sRGB. // Ensure that all IOSurfaces start as sRGB.
CGColorSpaceRef color_space = base::mac::GetSRGBColorSpace(); CGColorSpaceRef color_space = base::mac::GetSRGBColorSpace();
@ -272,7 +272,7 @@ index 3d936357343e9829768891a45b6459d6a1bbb4f1..55062c91722b900bbbc775c0c88cfc6e
base::ScopedCFTypeRef<CFDataRef> color_space_icc( base::ScopedCFTypeRef<CFDataRef> color_space_icc(
CGColorSpaceCopyICCProfile(color_space)); CGColorSpaceCopyICCProfile(color_space));
IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), color_space_icc); IOSurfaceSetValue(surface, CFSTR("IOSurfaceColorSpace"), color_space_icc);
@@ -202,6 +208,14 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size, @@ -197,6 +203,14 @@ IOSurfaceRef CreateIOSurface(const gfx::Size& size,
void IOSurfaceSetColorSpace(IOSurfaceRef io_surface, void IOSurfaceSetColorSpace(IOSurfaceRef io_surface,
const ColorSpace& color_space) { const ColorSpace& color_space) {

View file

@ -5,7 +5,7 @@ Subject: disable_hidden.patch
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index 3925586d55cb79a26b231781a821c510dfe17bd4..1ccff96eccde8dbff2b972d53c05486fb160c5db 100644 index 3f9d2f2a42106e3f4ab7539256021a0446e17a2a..ebe6315a98f9654d2cbc54c09f79a17f18e267a7 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc --- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -675,6 +675,9 @@ void RenderWidgetHostImpl::WasHidden() { @@ -675,6 +675,9 @@ void RenderWidgetHostImpl::WasHidden() {
@ -19,10 +19,10 @@ index 3925586d55cb79a26b231781a821c510dfe17bd4..1ccff96eccde8dbff2b972d53c05486f
TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::WasHidden"); TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::WasHidden");
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index ef6276238004ff6e12de90d03be1f720c1ac266c..b8d981a45edb22a60cc439e881a4bc81854b35cd 100644 index 58df8dfdd530a760fa8e9ecc9ef3901f444b255f..9ed9ebbbd01ff9d23b6cf0bd5cff1b19b9856077 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h --- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -183,6 +183,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl @@ -185,6 +185,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl
// RenderWidgetHostImpl. // RenderWidgetHostImpl.
static RenderWidgetHostImpl* From(RenderWidgetHost* rwh); static RenderWidgetHostImpl* From(RenderWidgetHost* rwh);

View file

@ -6,10 +6,10 @@ Subject: disable_user_gesture_requirement_for_beforeunload_dialogs.patch
See https://github.com/electron/electron/issues/10754 See https://github.com/electron/electron/issues/10754
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 88883a942c20494c9ee406da09e223ddce6307c4..27468bd09b573f6a7ca8edf86cbc5f272689376e 100644 index f53c4cbadd759c4a0ba411c6a35c71ff269836a7..d643b0607ff9133b97f912c7f0a4e66ac2c01855 100644
--- a/third_party/blink/renderer/core/dom/document.cc --- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc +++ b/third_party/blink/renderer/core/dom/document.cc
@@ -4117,7 +4117,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client, @@ -4181,7 +4181,9 @@ bool Document::DispatchBeforeUnloadEvent(ChromeClient* chrome_client,
"frame that never had a user gesture since its load. " "frame that never had a user gesture since its load. "
"https://www.chromestatus.com/feature/5082396709879808"; "https://www.chromestatus.com/feature/5082396709879808";
Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message); Intervention::GenerateReport(frame_, "BeforeUnloadNoGesture", message);

View file

@ -31,10 +31,10 @@ With that in mind, an acceptable alternative to disabling the limit at compile-t
for a given `BrowserWindow` via a `webPreferences` option, for a given `BrowserWindow` via a `webPreferences` option,
similar to [`nodeIntegration`](https://electronjs.org/docs/tutorial/security#2-disable-nodejs-integration-for-remote-content). similar to [`nodeIntegration`](https://electronjs.org/docs/tutorial/security#2-disable-nodejs-integration-for-remote-content).
diff --git a/content/common/dom_storage/dom_storage_types.h b/content/common/dom_storage/dom_storage_types.h diff --git a/content/browser/dom_storage/dom_storage_types.h b/content/browser/dom_storage/dom_storage_types.h
index e87afe5b8ee07f7038a7cc9c40832b6cd27884da..61c9a0dfff60f79c7b36ff5c7d741c06dca03ada 100644 index 6c0b831ebaaa2c1749bbc7436ce1025656588310..b67767751cadc6072c133297c7a6cdcc6bfd0c98 100644
--- a/content/common/dom_storage/dom_storage_types.h --- a/content/browser/dom_storage/dom_storage_types.h
+++ b/content/common/dom_storage/dom_storage_types.h +++ b/content/browser/dom_storage/dom_storage_types.h
@@ -21,6 +21,7 @@ typedef std::map<base::string16, base::NullableString16> DOMStorageValuesMap; @@ -21,6 +21,7 @@ typedef std::map<base::string16, base::NullableString16> DOMStorageValuesMap;
// The quota for each storage area. // The quota for each storage area.

View file

@ -8,10 +8,10 @@ this but it is not a blocker for releasing Electron. This patch removes
the hard fail on dylib resolve failure from dump_syms the hard fail on dylib resolve failure from dump_syms
diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
index cdd374c33a3edc12db9c9496a4ca765d2ba0ab5d..db04d39f8d263dc2b3b67b7f84470f557b519cfa 100755 index 41895d64685930bf26fff821c12c6704a070e8bc..130ee13f8d5ecfcb5a303f7cc05af261693acf78 100755
--- a/components/crash/content/tools/generate_breakpad_symbols.py --- a/components/crash/content/tools/generate_breakpad_symbols.py
+++ b/components/crash/content/tools/generate_breakpad_symbols.py +++ b/components/crash/content/tools/generate_breakpad_symbols.py
@@ -175,7 +175,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path): @@ -188,7 +188,7 @@ def GetSharedLibraryDependenciesMac(binary, exe_path):
'ERROR: failed to resolve %s, exe_path %s, loader_path %s, ' 'ERROR: failed to resolve %s, exe_path %s, loader_path %s, '
'rpaths %s' % (m.group(1), exe_path, loader_path, 'rpaths %s' % (m.group(1), exe_path, loader_path,
', '.join(rpaths))) ', '.join(rpaths)))

View file

@ -1,22 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Aleksei Kuzmin <alkuzmin@microsoft.com>
Date: Thu, 20 Sep 2018 17:50:03 -0700
Subject: enable_widevine.patch
Turns `enable_widevine` flag on by default on Mac and Windows.
Electron needs that flag to be enabled on those paltforms,
but there's no way to conditionally set it during a `gn gen` call.
diff --git a/third_party/widevine/cdm/widevine.gni b/third_party/widevine/cdm/widevine.gni
index 1fe47e92ffb1442159ead7b696884bc8cc4bda83..72b39b83789cd1f67e10c743a3e729420c9b72ed 100644
--- a/third_party/widevine/cdm/widevine.gni
+++ b/third_party/widevine/cdm/widevine.gni
@@ -10,7 +10,7 @@ declare_args() {
# on Android.
# Can be optionally enabled in Chromium on non-Android platforms. Please see
# //src/third_party/widevine/LICENSE file for details.
- enable_widevine = is_chrome_branded || is_android
+ enable_widevine = is_chrome_branded || is_android || is_mac || is_win
}
# Widevine CDM is available as a library CDM on the following platforms and

View file

@ -7,10 +7,10 @@ Compilation of those files fails with the Chromium 68.
Remove the patch during the Chromium 69 upgrade. Remove the patch during the Chromium 69 upgrade.
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 4575cc246a5306f3fc245a0d296b81a4c0f5ae32..af8723a635530df4f14c13461feb737dcd1e7a54 100644 index 7378cf2fc726289d0bdfafef41f190042e95072b..530ee5729291b5a6285ab22a4efaac4dad2b9766 100644
--- a/third_party/blink/renderer/platform/BUILD.gn --- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1726,7 +1726,7 @@ jumbo_source_set("blink_platform_unittests_sources") { @@ -1774,7 +1774,7 @@ jumbo_source_set("blink_platform_unittests_sources") {
"graphics/paint/drawing_display_item_test.cc", "graphics/paint/drawing_display_item_test.cc",
"graphics/paint/drawing_recorder_test.cc", "graphics/paint/drawing_recorder_test.cc",
"graphics/paint/float_clip_rect_test.cc", "graphics/paint/float_clip_rect_test.cc",

View file

@ -33,10 +33,10 @@ index 0ccfe130f00ec3b6c75cd8ee04d5a2777e1fd00c..653829457d58bf92057cc36aa8a28970
DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings); DISALLOW_COPY_AND_ASSIGN(StaticHttpUserAgentSettings);
}; };
diff --git a/services/network/network_context.cc b/services/network/network_context.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 20243f6c333478f14e5bff3789e780b996887512..34e4fd20f78ee0376053720742fc9af60dae37e3 100644 index c36657fc18c705c7224e6c57c8c50b7f641060fa..9a748d3a0cb7c8c6fd730404690c7c12b0974262 100644
--- a/services/network/network_context.cc --- a/services/network/network_context.cc
+++ b/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -1095,6 +1095,13 @@ void NetworkContext::SetNetworkConditions( @@ -917,6 +917,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions)); std::move(network_conditions));
} }
@ -51,10 +51,10 @@ index 20243f6c333478f14e5bff3789e780b996887512..34e4fd20f78ee0376053720742fc9af6
// This may only be called on NetworkContexts created with the constructor // This may only be called on NetworkContexts created with the constructor
// that calls MakeURLRequestContext(). // that calls MakeURLRequestContext().
diff --git a/services/network/network_context.h b/services/network/network_context.h diff --git a/services/network/network_context.h b/services/network/network_context.h
index f117ba5edfa7da25efd25e52ac5fff8b37ba3de3..5a805b4ee688ee7a113c833535db861b0e3b2ef9 100644 index 581196b6d4a0054bc213e4eada1a97a8e0453c5f..96fe00e951771ac0017ee4e60a545a9975153282 100644
--- a/services/network/network_context.h --- a/services/network/network_context.h
+++ b/services/network/network_context.h +++ b/services/network/network_context.h
@@ -213,6 +213,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -219,6 +219,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override; void CloseIdleConnections(CloseIdleConnectionsCallback callback) override;
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
mojom::NetworkConditionsPtr conditions) override; mojom::NetworkConditionsPtr conditions) override;
@ -63,10 +63,10 @@ index f117ba5edfa7da25efd25e52ac5fff8b37ba3de3..5a805b4ee688ee7a113c833535db861b
void SetEnableReferrers(bool enable_referrers) override; void SetEnableReferrers(bool enable_referrers) override;
#if defined(OS_CHROMEOS) #if defined(OS_CHROMEOS)
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 034b5720ffa497429b2cdfcc06cd2d421f2db99c..aa2c88443e744396e381377ec20b03fb0e66d2db 100644 index 6b7571dbf1464284ce30953a27c1ac2099f1872f..955e945c5f0f12a739d0cccaef41a241ea5557f8 100644
--- a/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -857,6 +857,9 @@ interface NetworkContext { @@ -889,6 +889,9 @@ interface NetworkContext {
SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id, SetNetworkConditions(mojo_base.mojom.UnguessableToken throttling_profile_id,
NetworkConditions? conditions); NetworkConditions? conditions);
@ -77,10 +77,10 @@ index 034b5720ffa497429b2cdfcc06cd2d421f2db99c..aa2c88443e744396e381377ec20b03fb
SetAcceptLanguage(string new_accept_language); SetAcceptLanguage(string new_accept_language);
diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h diff --git a/services/network/test/test_network_context.h b/services/network/test/test_network_context.h
index aa21b8e434c01a866e3fae04b8de54a3cdfb725e..63880702102a396576c5825f8c5c7731cde091cc 100644 index 34a8050d5900534663c285028eb42720a5bc8621..e5e361cd197d5080761d07a18f8af6727b395015 100644
--- a/services/network/test/test_network_context.h --- a/services/network/test/test_network_context.h
+++ b/services/network/test/test_network_context.h +++ b/services/network/test/test_network_context.h
@@ -93,6 +93,7 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -95,6 +95,7 @@ class TestNetworkContext : public mojom::NetworkContext {
void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {} void CloseIdleConnections(CloseIdleConnectionsCallback callback) override {}
void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id, void SetNetworkConditions(const base::UnguessableToken& throttling_profile_id,
mojom::NetworkConditionsPtr conditions) override {} mojom::NetworkConditionsPtr conditions) override {}

View file

@ -13,7 +13,7 @@ uses internally for things like menus and devtools.
We can remove this patch once it has in some shape been upstreamed. We can remove this patch once it has in some shape been upstreamed.
diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
index 2370d15332c8c6c7dc7e3403b38891c885704d9f..171214379437f319d3feccc289a5d91e74b77f9e 100644 index 929e339487b7d2b4407cff069944f7a2cc1266a4..4abf0933df57651f36dbb6a1652b2de534a82639 100644
--- a/ui/native_theme/native_theme.cc --- a/ui/native_theme/native_theme.cc
+++ b/ui/native_theme/native_theme.cc +++ b/ui/native_theme/native_theme.cc
@@ -40,6 +40,8 @@ NativeTheme::NativeTheme() @@ -40,6 +40,8 @@ NativeTheme::NativeTheme()
@ -75,10 +75,10 @@ index a8fbfee3b13672902aac05fd5a65fa8ee81f9f7e..1be6369acf0b7c02a6f862636c2b2de1
} }
diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
index 3003643bfb78cec2f5e84fc9e1471e1ef54aae41..06f2cbc84401958d49445f4ce6acb1b2fef0aa04 100644 index 97e72bc38a7231ce295ad943e977c69586cc6e07..a60f7b618ddd29886aac70f16e07cbc871ce38af 100644
--- a/ui/native_theme/native_theme_win.cc --- a/ui/native_theme/native_theme_win.cc
+++ b/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc
@@ -611,6 +611,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const { @@ -725,6 +725,8 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// ...unless --force-dark-mode was specified in which case caveat emptor. // ...unless --force-dark-mode was specified in which case caveat emptor.
if (UsesHighContrastColors() && !IsForcedDarkMode()) if (UsesHighContrastColors() && !IsForcedDarkMode())
return false; return false;

View file

@ -1,636 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Heilig Benedek <benecene@gmail.com>
Date: Wed, 20 Mar 2019 20:30:44 +0100
Subject: feat_offscreen_rendering_with_viz_compositor.patch
diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc
index f5e18df4e06e24d3bdd51308abde48e217444848..41017d9d53b1c0d563ea0901f5cae407c6cf1560 100644
--- a/components/viz/host/host_display_client.cc
+++ b/components/viz/host/host_display_client.cc
@@ -18,6 +18,10 @@
namespace viz {
+void HostDisplayClient::IsOffscreen(IsOffscreenCallback callback) {
+ std::move(callback).Run(false);
+}
+
HostDisplayClient::HostDisplayClient(gfx::AcceleratedWidget widget)
: binding_(this) {
#if defined(OS_MACOSX) || defined(OS_WIN)
@@ -46,9 +50,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
}
#endif
-#if defined(OS_WIN)
void HostDisplayClient::CreateLayeredWindowUpdater(
mojom::LayeredWindowUpdaterRequest request) {
+#if defined(OS_WIN)
if (!NeedsToUseLayerWindow(widget_)) {
DLOG(ERROR) << "HWND shouldn't be using a layered window";
return;
@@ -56,8 +60,12 @@ void HostDisplayClient::CreateLayeredWindowUpdater(
layered_window_updater_ =
std::make_unique<LayeredWindowUpdaterImpl>(widget_, std::move(request));
-}
+#else
+ CHECK(false) << "Chromium is calling CreateLayeredWindowUpdater for non-OSR "
+ "windows on POSIX platforms, something is wrong with "
+ "Electron's OSR implementation.";
#endif
+}
#if defined(USE_X11)
void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h
index b8177277ebca471fc147f2d5b53521cbadd8fa2d..72a807e138f80b4ab37cb1d368bc968e299d903f 100644
--- a/components/viz/host/host_display_client.h
+++ b/components/viz/host/host_display_client.h
@@ -30,17 +30,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
mojom::DisplayClientPtr GetBoundPtr(
scoped_refptr<base::SingleThreadTaskRunner> task_runner);
- private:
+ protected:
// mojom::DisplayClient implementation:
#if defined(OS_MACOSX)
void OnDisplayReceivedCALayerParams(
const gfx::CALayerParams& ca_layer_params) override;
#endif
-#if defined(OS_WIN)
+ void IsOffscreen(IsOffscreenCallback callback) override;
+
void CreateLayeredWindowUpdater(
mojom::LayeredWindowUpdaterRequest request) override;
-#endif
#if defined(USE_X11)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
diff --git a/components/viz/host/layered_window_updater_impl.cc b/components/viz/host/layered_window_updater_impl.cc
index 65c26e2f7ae813e50f6740f73a4d145467da4366..39c04c4d6b644a4ad7b13b4e932b085fad0b8293 100644
--- a/components/viz/host/layered_window_updater_impl.cc
+++ b/components/viz/host/layered_window_updater_impl.cc
@@ -43,7 +43,9 @@ void LayeredWindowUpdaterImpl::OnAllocatedSharedMemory(
// |region|'s handle will close when it goes out of scope.
}
-void LayeredWindowUpdaterImpl::Draw(DrawCallback draw_callback) {
+void LayeredWindowUpdaterImpl::Draw(
+ const gfx::Rect& damage_rect,
+ DrawCallback draw_callback) {
TRACE_EVENT0("viz", "LayeredWindowUpdaterImpl::Draw");
if (!canvas_) {
diff --git a/components/viz/host/layered_window_updater_impl.h b/components/viz/host/layered_window_updater_impl.h
index ced30727ab67e557265c3a61f7c213763da973ce..f422786fe6cd9cab47494fe6028f3c3be8bc763e 100644
--- a/components/viz/host/layered_window_updater_impl.h
+++ b/components/viz/host/layered_window_updater_impl.h
@@ -33,7 +33,7 @@ class VIZ_HOST_EXPORT LayeredWindowUpdaterImpl
// mojom::LayeredWindowUpdater implementation.
void OnAllocatedSharedMemory(const gfx::Size& pixel_size,
base::UnsafeSharedMemoryRegion region) override;
- void Draw(DrawCallback draw_callback) override;
+ void Draw(const gfx::Rect& damage_rect, DrawCallback draw_callback) override;
private:
const HWND hwnd_;
diff --git a/components/viz/service/BUILD.gn b/components/viz/service/BUILD.gn
index ce7ceb3e82e95e49442d77a61d6bf765e8e86e4e..90db4660e0184daa773c9fbd1314cd64132ebd2e 100644
--- a/components/viz/service/BUILD.gn
+++ b/components/viz/service/BUILD.gn
@@ -118,6 +118,8 @@ viz_component("service") {
"display_embedder/output_surface_provider_impl.h",
"display_embedder/server_shared_bitmap_manager.cc",
"display_embedder/server_shared_bitmap_manager.h",
+ "display_embedder/software_output_device_proxy.cc",
+ "display_embedder/software_output_device_proxy.h",
"display_embedder/software_output_surface.cc",
"display_embedder/software_output_surface.h",
"display_embedder/viz_process_context_provider.cc",
diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.cc
index e3c8e9dbca69f2665e8dbbd798d45c3b7199e04c..d9fa2d536e977ac966065a9058661f887e995320 100644
--- a/components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -20,6 +20,7 @@
#include "components/viz/service/display_embedder/server_shared_bitmap_manager.h"
#include "components/viz/service/display_embedder/skia_output_surface_dependency_impl.h"
#include "components/viz/service/display_embedder/skia_output_surface_impl.h"
+#include "components/viz/service/display_embedder/software_output_device_proxy.h"
#include "components/viz/service/display_embedder/software_output_surface.h"
#include "components/viz/service/display_embedder/viz_process_context_provider.h"
#include "components/viz/service/gl/gpu_service_impl.h"
@@ -33,6 +34,7 @@
#include "gpu/ipc/scheduler_sequence.h"
#include "gpu/ipc/service/gpu_channel_manager_delegate.h"
#include "gpu/ipc/service/image_transport_surface.h"
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
#include "ui/base/ui_base_switches.h"
#include "ui/gl/gl_context.h"
#include "ui/gl/init/gl_factory.h"
@@ -223,6 +225,19 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
if (headless_)
return std::make_unique<SoftwareOutputDevice>();
+#if !defined(OS_MACOSX)
+ DCHECK(display_client);
+ bool offscreen = false;
+ if (display_client->IsOffscreen(&offscreen) && offscreen) {
+ mojom::LayeredWindowUpdaterPtr layered_window_updater;
+ display_client->CreateLayeredWindowUpdater(
+ mojo::MakeRequest(&layered_window_updater));
+
+ return std::make_unique<SoftwareOutputDeviceProxy>(
+ std::move(layered_window_updater));
+ }
+#endif
+
#if defined(OS_WIN)
return CreateSoftwareOutputDeviceWin(surface_handle, &output_device_backing_,
display_client);
diff --git a/components/viz/service/display_embedder/software_output_device_mac.cc b/components/viz/service/display_embedder/software_output_device_mac.cc
index b9357082293cc55650144ccbc8bada8fe6d1cac4..b4cb07e26d1504719f80e5835c1cb5f138b9f1ab 100644
--- a/components/viz/service/display_embedder/software_output_device_mac.cc
+++ b/components/viz/service/display_embedder/software_output_device_mac.cc
@@ -102,6 +102,8 @@ void SoftwareOutputDeviceMac::UpdateAndCopyBufferDamage(
SkCanvas* SoftwareOutputDeviceMac::BeginPaint(
const gfx::Rect& new_damage_rect) {
+ last_damage = new_damage_rect;
+
// Record the previous paint buffer.
Buffer* previous_paint_buffer =
buffer_queue_.empty() ? nullptr : buffer_queue_.back().get();
@@ -184,6 +186,7 @@ void SoftwareOutputDeviceMac::EndPaint() {
ca_layer_params.is_empty = false;
ca_layer_params.scale_factor = scale_factor_;
ca_layer_params.pixel_size = pixel_size_;
+ ca_layer_params.damage = last_damage;
ca_layer_params.io_surface_mach_port.reset(
IOSurfaceCreateMachPort(current_paint_buffer_->io_surface));
client_->SoftwareDeviceUpdatedCALayerParams(ca_layer_params);
diff --git a/components/viz/service/display_embedder/software_output_device_mac.h b/components/viz/service/display_embedder/software_output_device_mac.h
index f3867356e3d641416e00e6d115ae9ae2a0be90ab..b1d192d2b20ccb63fba07093101d745e5ffe86dd 100644
--- a/components/viz/service/display_embedder/software_output_device_mac.h
+++ b/components/viz/service/display_embedder/software_output_device_mac.h
@@ -56,6 +56,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputDeviceMac : public SoftwareOutputDevice {
void UpdateAndCopyBufferDamage(Buffer* previous_paint_buffer,
const SkRegion& new_damage_rect);
+ gfx::Rect last_damage;
gfx::Size pixel_size_;
float scale_factor_ = 1;
diff --git a/components/viz/service/display_embedder/software_output_device_proxy.cc b/components/viz/service/display_embedder/software_output_device_proxy.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c17b03e00089bfd301c63910426bb16afb8cdae7
--- /dev/null
+++ b/components/viz/service/display_embedder/software_output_device_proxy.cc
@@ -0,0 +1,156 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/viz/service/display_embedder/software_output_device_proxy.h"
+
+#include "base/memory/unsafe_shared_memory_region.h"
+#include "base/threading/thread_checker.h"
+#include "components/viz/common/resources/resource_sizes.h"
+#include "components/viz/service/display_embedder/output_device_backing.h"
+#include "mojo/public/cpp/system/platform_handle.h"
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
+#include "skia/ext/platform_canvas.h"
+#include "third_party/skia/include/core/SkCanvas.h"
+#include "ui/gfx/skia_util.h"
+
+#if defined(OS_WIN)
+#include "skia/ext/skia_utils_win.h"
+#include "ui/gfx/gdi_util.h"
+#include "ui/gfx/win/hwnd_util.h"
+#else
+#include "mojo/public/cpp/base/shared_memory_utils.h"
+#endif
+
+namespace viz {
+
+SoftwareOutputDeviceBase::~SoftwareOutputDeviceBase() {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ DCHECK(!in_paint_);
+}
+
+void SoftwareOutputDeviceBase::Resize(const gfx::Size& viewport_pixel_size,
+ float scale_factor) {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ DCHECK(!in_paint_);
+
+ if (viewport_pixel_size_ == viewport_pixel_size)
+ return;
+
+ viewport_pixel_size_ = viewport_pixel_size;
+ ResizeDelegated();
+}
+
+SkCanvas* SoftwareOutputDeviceBase::BeginPaint(
+ const gfx::Rect& damage_rect) {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ DCHECK(!in_paint_);
+
+ damage_rect_ = damage_rect;
+ in_paint_ = true;
+ return BeginPaintDelegated();
+}
+
+void SoftwareOutputDeviceBase::EndPaint() {
+ DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
+ DCHECK(in_paint_);
+
+ in_paint_ = false;
+
+ gfx::Rect intersected_damage_rect = damage_rect_;
+ intersected_damage_rect.Intersect(gfx::Rect(viewport_pixel_size_));
+ if (intersected_damage_rect.IsEmpty())
+ return;
+
+ EndPaintDelegated(intersected_damage_rect);
+}
+
+SoftwareOutputDeviceProxy::~SoftwareOutputDeviceProxy() = default;
+
+SoftwareOutputDeviceProxy::SoftwareOutputDeviceProxy(
+ mojom::LayeredWindowUpdaterPtr layered_window_updater)
+ : layered_window_updater_(std::move(layered_window_updater)) {
+ DCHECK(layered_window_updater_.is_bound());
+}
+
+void SoftwareOutputDeviceProxy::OnSwapBuffers(
+ SoftwareOutputDevice::SwapBuffersCallback swap_ack_callback) {
+ DCHECK(swap_ack_callback_.is_null());
+
+ // We aren't waiting on DrawAck() and can immediately run the callback.
+ if (!waiting_on_draw_ack_) {
+ task_runner_->PostTask(FROM_HERE,
+ base::BindOnce(std::move(swap_ack_callback), viewport_pixel_size_));
+ return;
+ }
+
+ swap_ack_callback_ = std::move(swap_ack_callback);
+}
+
+void SoftwareOutputDeviceProxy::ResizeDelegated() {
+ canvas_.reset();
+
+ size_t required_bytes;
+ if (!ResourceSizes::MaybeSizeInBytes(
+ viewport_pixel_size_, ResourceFormat::RGBA_8888, &required_bytes)) {
+ DLOG(ERROR) << "Invalid viewport size " << viewport_pixel_size_.ToString();
+ return;
+ }
+
+ base::UnsafeSharedMemoryRegion region =
+ base::UnsafeSharedMemoryRegion::Create(required_bytes);
+ if (!region.IsValid()) {
+ DLOG(ERROR) << "Failed to allocate " << required_bytes << " bytes";
+ return;
+ }
+
+ #if defined(WIN32)
+ canvas_ = skia::CreatePlatformCanvasWithSharedSection(
+ viewport_pixel_size_.width(), viewport_pixel_size_.height(), false,
+ region.GetPlatformHandle(), skia::CRASH_ON_FAILURE);
+ #else
+ shm_mapping_ = region.Map();
+ if (!shm_mapping_.IsValid()) {
+ DLOG(ERROR) << "Failed to map " << required_bytes << " bytes";
+ return;
+ }
+
+ canvas_ = skia::CreatePlatformCanvasWithPixels(
+ viewport_pixel_size_.width(), viewport_pixel_size_.height(), false,
+ static_cast<uint8_t*>(shm_mapping_.memory()), skia::CRASH_ON_FAILURE);
+ #endif
+
+ // Transfer region ownership to the browser process.
+ layered_window_updater_->OnAllocatedSharedMemory(viewport_pixel_size_,
+ std::move(region));
+}
+
+SkCanvas* SoftwareOutputDeviceProxy::BeginPaintDelegated() {
+ return canvas_.get();
+}
+
+void SoftwareOutputDeviceProxy::EndPaintDelegated(
+ const gfx::Rect& damage_rect) {
+ DCHECK(!waiting_on_draw_ack_);
+
+ if (!canvas_)
+ return;
+
+ layered_window_updater_->Draw(damage_rect, base::BindOnce(
+ &SoftwareOutputDeviceProxy::DrawAck, base::Unretained(this)));
+ waiting_on_draw_ack_ = true;
+
+ TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceProxy::Draw", this);
+}
+
+void SoftwareOutputDeviceProxy::DrawAck() {
+ DCHECK(waiting_on_draw_ack_);
+ DCHECK(!swap_ack_callback_.is_null());
+
+ TRACE_EVENT_ASYNC_END0("viz", "SoftwareOutputDeviceProxy::Draw", this);
+
+ waiting_on_draw_ack_ = false;
+ std::move(swap_ack_callback_).Run(viewport_pixel_size_);
+}
+
+} // namespace viz
diff --git a/components/viz/service/display_embedder/software_output_device_proxy.h b/components/viz/service/display_embedder/software_output_device_proxy.h
new file mode 100644
index 0000000000000000000000000000000000000000..3865939d0445a23a468770f57207ba5ef23277ed
--- /dev/null
+++ b/components/viz/service/display_embedder/software_output_device_proxy.h
@@ -0,0 +1,88 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_VIZ_SERVICE_DISPLAY_EMBEDDER_SOFTWARE_OUTPUT_DEVICE_PROXY_H_
+#define COMPONENTS_VIZ_SERVICE_DISPLAY_EMBEDDER_SOFTWARE_OUTPUT_DEVICE_PROXY_H_
+
+#if defined(OS_WIN)
+#include <windows.h>
+#endif
+
+#include <memory>
+
+#include "components/viz/host/host_display_client.h"
+#include "components/viz/service/display/software_output_device.h"
+#include "components/viz/service/viz_service_export.h"
+#include "services/viz/privileged/mojom/compositing/display_private.mojom.h"
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
+
+namespace viz {
+
+// Shared base class for SoftwareOutputDevice implementations.
+class SoftwareOutputDeviceBase : public SoftwareOutputDevice {
+ public:
+ SoftwareOutputDeviceBase() = default;
+ ~SoftwareOutputDeviceBase() override;
+
+ // SoftwareOutputDevice implementation.
+ void Resize(const gfx::Size& viewport_pixel_size,
+ float scale_factor) override;
+ SkCanvas* BeginPaint(const gfx::Rect& damage_rect) override;
+ void EndPaint() override;
+
+ // Called from Resize() if |viewport_pixel_size_| has changed.
+ virtual void ResizeDelegated() = 0;
+
+ // Called from BeginPaint() and should return an SkCanvas.
+ virtual SkCanvas* BeginPaintDelegated() = 0;
+
+ // Called from EndPaint() if there is damage.
+ virtual void EndPaintDelegated(const gfx::Rect& damage_rect) = 0;
+
+ private:
+ bool in_paint_ = false;
+
+ THREAD_CHECKER(thread_checker_);
+
+ DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceBase);
+};
+
+// SoftwareOutputDevice implementation that draws indirectly. An implementation
+// of mojom::LayeredWindowUpdater in the browser process handles the actual
+// drawing. Pixel backing is in SharedMemory so no copying between processes
+// is required.
+class SoftwareOutputDeviceProxy : public SoftwareOutputDeviceBase {
+ public:
+ explicit SoftwareOutputDeviceProxy(
+ mojom::LayeredWindowUpdaterPtr layered_window_updater);
+ ~SoftwareOutputDeviceProxy() override;
+
+ // SoftwareOutputDevice implementation.
+ void OnSwapBuffers(SoftwareOutputDevice::SwapBuffersCallback swap_ack_callback) override;
+
+ // SoftwareOutputDeviceBase implementation.
+ void ResizeDelegated() override;
+ SkCanvas* BeginPaintDelegated() override;
+ void EndPaintDelegated(const gfx::Rect& rect) override;
+
+ private:
+ // Runs |swap_ack_callback_| after draw has happened.
+ void DrawAck();
+
+ mojom::LayeredWindowUpdaterPtr layered_window_updater_;
+
+ std::unique_ptr<SkCanvas> canvas_;
+ bool waiting_on_draw_ack_ = false;
+ SoftwareOutputDevice::SwapBuffersCallback swap_ack_callback_;
+
+#if !defined(WIN32)
+ base::WritableSharedMemoryMapping shm_mapping_;
+#endif
+
+ DISALLOW_COPY_AND_ASSIGN(SoftwareOutputDeviceProxy);
+};
+
+} // namespace viz
+
+#endif // COMPONENTS_VIZ_SERVICE_DISPLAY_EMBEDDER_SOFTWARE_OUTPUT_DEVICE_PROXY_H_
diff --git a/components/viz/service/display_embedder/software_output_device_win.cc b/components/viz/service/display_embedder/software_output_device_win.cc
index 74316edc0e0bd28b1772e9d7cf34327d113462c4..9cbe5400458ce6e0b8ea9edfa3f0969fb936ee1e 100644
--- a/components/viz/service/display_embedder/software_output_device_win.cc
+++ b/components/viz/service/display_embedder/software_output_device_win.cc
@@ -11,6 +11,7 @@
#include "components/viz/common/display/use_layered_window.h"
#include "components/viz/common/resources/resource_sizes.h"
#include "components/viz/service/display_embedder/output_device_backing.h"
+#include "components/viz/service/display_embedder/software_output_device_proxy.h"
#include "mojo/public/cpp/system/platform_handle.h"
#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
#include "skia/ext/platform_canvas.h"
@@ -265,7 +266,7 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated(
if (!canvas_)
return;
- layered_window_updater_->Draw(base::BindOnce(
+ layered_window_updater_->Draw(damage_rect, base::BindOnce(
&SoftwareOutputDeviceWinProxy::DrawAck, base::Unretained(this)));
waiting_on_draw_ack_ = true;
@@ -297,8 +298,13 @@ std::unique_ptr<SoftwareOutputDevice> CreateSoftwareOutputDeviceWin(
display_client->CreateLayeredWindowUpdater(
mojo::MakeRequest(&layered_window_updater));
- return std::make_unique<SoftwareOutputDeviceWinProxy>(
- hwnd, std::move(layered_window_updater));
+ bool offscreen = false;
+ if (display_client->IsOffscreen(&offscreen) && offscreen)
+ return std::make_unique<SoftwareOutputDeviceProxy>(
+ std::move(layered_window_updater));
+ else
+ return std::make_unique<SoftwareOutputDeviceWinProxy>(
+ hwnd, std::move(layered_window_updater));
} else {
return std::make_unique<SoftwareOutputDeviceWinDirect>(hwnd, backing);
}
diff --git a/services/viz/privileged/mojom/compositing/display_private.mojom b/services/viz/privileged/mojom/compositing/display_private.mojom
index 5c6292cfb3b8b46802c772d202d19c78e4782488..ed27af3ab0b383553b4d9492d29cec2b91bee807 100644
--- a/services/viz/privileged/mojom/compositing/display_private.mojom
+++ b/services/viz/privileged/mojom/compositing/display_private.mojom
@@ -79,12 +79,14 @@ interface DisplayPrivate {
};
interface DisplayClient {
+ [Sync]
+ IsOffscreen() => (bool success);
+
[EnableIf=is_mac]
OnDisplayReceivedCALayerParams(gfx.mojom.CALayerParams ca_layer_params);
// Creates a LayeredWindowUpdater implementation to draw into a layered
// window.
- [EnableIf=is_win]
CreateLayeredWindowUpdater(LayeredWindowUpdater& layered_window_updater);
// Notifies that a swap has occurred and provides information about the pixel
diff --git a/services/viz/privileged/mojom/compositing/layered_window_updater.mojom b/services/viz/privileged/mojom/compositing/layered_window_updater.mojom
index 6b7fbb6cf13dc8ee6ade0878a9a2c1efc5d4d3f1..e2af75168cb914a7b3b4a6c9b6a285498c3f8e72 100644
--- a/services/viz/privileged/mojom/compositing/layered_window_updater.mojom
+++ b/services/viz/privileged/mojom/compositing/layered_window_updater.mojom
@@ -26,5 +26,5 @@ interface LayeredWindowUpdater {
// Draws to the HWND by copying pixels from shared memory. Callback must be
// called after draw operation is complete to signal shared memory can be
// modified.
- Draw() => ();
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
index 359e7d21a4a5e7acaed9bd7f42f40019e650a182..cd90aab9d3a7b5335c829d964d92e3fa62401408 100644
--- a/ui/compositor/compositor.h
+++ b/ui/compositor/compositor.h
@@ -23,6 +23,7 @@
#include "cc/trees/layer_tree_host_single_thread_client.h"
#include "components/viz/common/frame_sinks/begin_frame_args.h"
#include "components/viz/common/surfaces/frame_sink_id.h"
+#include "components/viz/host/host_display_client.h"
#include "components/viz/host/host_frame_sink_client.h"
#include "services/viz/privileged/mojom/compositing/vsync_parameter_observer.mojom-forward.h"
#include "third_party/skia/include/core/SkColor.h"
@@ -194,6 +195,15 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
};
+class COMPOSITOR_EXPORT CompositorDelegate {
+ public:
+ virtual std::unique_ptr<viz::HostDisplayClient> CreateHostDisplayClient(
+ ui::Compositor* compositor) = 0;
+
+ protected:
+ virtual ~CompositorDelegate() {}
+};
+
// Compositor object to take care of GPU painting.
// A Browser compositor object is responsible for generating the final
// displayable form of pixels comprising a single widget's contents. It draws an
@@ -233,6 +243,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
+ CompositorDelegate* delegate() const { return delegate_; }
+ void SetDelegate(CompositorDelegate* delegate) { delegate_ = delegate; }
+
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -448,6 +461,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
+ CompositorDelegate* delegate_ = nullptr;
+
// The root of the Layer tree drawn by this compositor.
Layer* root_layer_ = nullptr;
diff --git a/ui/compositor/host/host_context_factory_private.cc b/ui/compositor/host/host_context_factory_private.cc
index 84b2623bd3dd8a7fdfa8e453eda3574e3b71ef99..974eb17c1d1f50c45b4d3a539a8d1a67b687642d 100644
--- a/ui/compositor/host/host_context_factory_private.cc
+++ b/ui/compositor/host/host_context_factory_private.cc
@@ -99,8 +99,12 @@ void HostContextFactoryPrivate::ConfigureCompositor(
mojo::MakeRequest(&root_params->compositor_frame_sink_client);
root_params->display_private =
mojo::MakeRequest(&compositor_data.display_private);
- compositor_data.display_client =
- std::make_unique<HostDisplayClient>(compositor);
+ if (compositor->delegate())
+ compositor_data.display_client = compositor->delegate()->CreateHostDisplayClient(
+ compositor);
+ else
+ compositor_data.display_client =
+ std::make_unique<HostDisplayClient>(compositor);
root_params->display_client =
compositor_data.display_client->GetBoundPtr(resize_task_runner_)
.PassInterface();
diff --git a/ui/gfx/ca_layer_params.h b/ui/gfx/ca_layer_params.h
index 4014e64a75da88cf66c02e8adb71171c2666cab7..25e57784e1a1ffc546b003daa4cd0059c468432f 100644
--- a/ui/gfx/ca_layer_params.h
+++ b/ui/gfx/ca_layer_params.h
@@ -6,6 +6,7 @@
#define UI_GFX_CA_LAYER_PARAMS_H_
#include "build/build_config.h"
+#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/gfx_export.h"
@@ -41,6 +42,8 @@ struct GFX_EXPORT CALayerParams {
gfx::ScopedRefCountedIOSurfaceMachPort io_surface_mach_port;
#endif
+ gfx::Rect damage;
+
// The geometry of the frame.
gfx::Size pixel_size;
float scale_factor = 1.f;
diff --git a/ui/gfx/mojom/ca_layer_params.mojom b/ui/gfx/mojom/ca_layer_params.mojom
index a73b2e678ffe0a682d0aa5409724fb441768bec5..6c36626d204c77ef51278b9e8f6fc6ee24a7a9ab 100644
--- a/ui/gfx/mojom/ca_layer_params.mojom
+++ b/ui/gfx/mojom/ca_layer_params.mojom
@@ -18,5 +18,6 @@ struct CALayerParams {
bool is_empty;
CALayerContent content;
gfx.mojom.Size pixel_size;
+ gfx.mojom.Rect damage;
float scale_factor;
};
diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
index 843d5c24ec33de07c12d4417eb111f91dbcd42fe..0ea594950fcd2686f1b07248dbc8ceb257d89dca 100644
--- a/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
+++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.cc
@@ -52,6 +52,9 @@ bool StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams>::Read(
if (!data.ReadPixelSize(&out->pixel_size))
return false;
+ if (!data.ReadDamage(&out->damage))
+ return false;
+
out->scale_factor = data.scale_factor();
return true;
}
diff --git a/ui/gfx/mojom/ca_layer_params_mojom_traits.h b/ui/gfx/mojom/ca_layer_params_mojom_traits.h
index 4cac766eae3161baedac4202f694129cd90c80de..0821495ad22944d8856bb750cac8912a2f8328c3 100644
--- a/ui/gfx/mojom/ca_layer_params_mojom_traits.h
+++ b/ui/gfx/mojom/ca_layer_params_mojom_traits.h
@@ -20,6 +20,10 @@ struct StructTraits<gfx::mojom::CALayerParamsDataView, gfx::CALayerParams> {
return ca_layer_params.pixel_size;
}
+ static gfx::Rect damage(const gfx::CALayerParams& ca_layer_params) {
+ return ca_layer_params.damage;
+ }
+
static float scale_factor(const gfx::CALayerParams& ca_layer_params) {
return ca_layer_params.scale_factor;
}

View file

@ -7,7 +7,7 @@ Fixes broken Linux ARM breakpad symbol generation by patching
out an `ldd`-related call that was throwing. out an `ldd`-related call that was throwing.
diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
index edb3fa5c125fae7858a1f36495410baf47d58484..05a1385e13d282a63975143cbc6e157984bbd992 100755 index fe6d008b910942a59e31371ec08179b23a6fa0bb..c8736ae3c5e5a4bc78786aa8ab8e21b69a0d262b 100755
--- a/components/crash/content/tools/generate_breakpad_symbols.py --- a/components/crash/content/tools/generate_breakpad_symbols.py
+++ b/components/crash/content/tools/generate_breakpad_symbols.py +++ b/components/crash/content/tools/generate_breakpad_symbols.py
@@ -67,7 +67,8 @@ def GetSharedLibraryDependenciesLinux(binary, options): @@ -67,7 +67,8 @@ def GetSharedLibraryDependenciesLinux(binary, options):

View file

@ -7,7 +7,7 @@ Subject:
Disable usage of pthread_fchdir_np and pthread_chdir_np in MAS builds. Disable usage of pthread_fchdir_np and pthread_chdir_np in MAS builds.
diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc diff --git a/base/process/launch_mac.cc b/base/process/launch_mac.cc
index 1119fb3f97b1..b0efe96063b9 100644 index 1119fb3f97b116028d78fdf42c1d336440a1681f..264178186f3f780b2b33de7649b1321b23964515 100644
--- a/base/process/launch_mac.cc --- a/base/process/launch_mac.cc
+++ b/base/process/launch_mac.cc +++ b/base/process/launch_mac.cc
@@ -26,8 +26,10 @@ extern "C" { @@ -26,8 +26,10 @@ extern "C" {
@ -21,7 +21,7 @@ index 1119fb3f97b1..b0efe96063b9 100644
int responsibility_spawnattrs_setdisclaim(posix_spawnattr_t attrs, int disclaim) int responsibility_spawnattrs_setdisclaim(posix_spawnattr_t attrs, int disclaim)
API_AVAILABLE(macosx(10.14)); API_AVAILABLE(macosx(10.14));
@@ -95,21 +97,29 @@ class PosixSpawnFileActions { @@ -98,21 +100,29 @@ class PosixSpawnFileActions {
}; };
int ChangeCurrentThreadDirectory(const char* path) { int ChangeCurrentThreadDirectory(const char* path) {
@ -51,7 +51,7 @@ index 1119fb3f97b1..b0efe96063b9 100644
} }
struct GetAppOutputOptions { struct GetAppOutputOptions {
@@ -238,11 +238,13 @@ Process LaunchProcess(const std::vector<std::string>& argv, @@ -228,11 +238,13 @@ Process LaunchProcess(const std::vector<std::string>& argv,
file_actions.Inherit(STDERR_FILENO); file_actions.Inherit(STDERR_FILENO);
} }

View file

@ -42,10 +42,10 @@ index 906a1ee4ac58b0744a32153bbaafeac4322a60e4..c90f4aead36cbf3767dc5094728963c2
// another SiteInstance for the same site. // another SiteInstance for the same site.
void RegisterSiteInstance(SiteInstanceImpl* site_instance); void RegisterSiteInstance(SiteInstanceImpl* site_instance);
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d2111926184a 100644 index c51d888191854be22038380462dce27ea5d51319..ce07eb7a9079a16f59dddf836a9d2b705ce3d5f3 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc --- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc +++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -2228,6 +2228,21 @@ bool RenderFrameHostManager::InitRenderView( @@ -2219,6 +2219,21 @@ bool RenderFrameHostManager::InitRenderView(
scoped_refptr<SiteInstance> scoped_refptr<SiteInstance>
RenderFrameHostManager::GetSiteInstanceForNavigationRequest( RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
const NavigationRequest& request) { const NavigationRequest& request) {
@ -67,7 +67,7 @@ index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d211
SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance(); SiteInstance* current_site_instance = render_frame_host_->GetSiteInstance();
// All children of MHTML documents must be MHTML documents. They all live in // All children of MHTML documents must be MHTML documents. They all live in
@@ -2265,6 +2280,59 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( @@ -2263,6 +2278,59 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request.common_params().url); request.common_params().url);
no_renderer_swap_allowed |= no_renderer_swap_allowed |=
request.from_begin_navigation() && !can_renderer_initiate_transfer; request.from_begin_navigation() && !can_renderer_initiate_transfer;
@ -127,7 +127,7 @@ index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d211
} else { } else {
// Subframe navigations will use the current renderer, unless specifically // Subframe navigations will use the current renderer, unless specifically
// allowed to swap processes. // allowed to swap processes.
@@ -2276,23 +2344,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( @@ -2274,23 +2342,28 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
if (no_renderer_swap_allowed && !should_swap_for_error_isolation) if (no_renderer_swap_allowed && !should_swap_for_error_isolation)
return scoped_refptr<SiteInstance>(current_site_instance); return scoped_refptr<SiteInstance>(current_site_instance);
@ -149,7 +149,7 @@ index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d211
+ request.dest_site_instance(), candidate_site_instance.get(), + request.dest_site_instance(), candidate_site_instance.get(),
request.common_params().transition, request.common_params().transition,
request.state() == NavigationRequest::FAILED, request.state() == NavigationRequest::FAILED,
request.restore_type() != RestoreType::NONE, request.is_view_source(), request.GetRestoreType() != RestoreType::NONE, request.is_view_source(),
was_server_redirect); was_server_redirect);
+ GetContentClient()->browser()->RegisterPendingSiteInstance( + GetContentClient()->browser()->RegisterPendingSiteInstance(
@ -159,10 +159,10 @@ index b95ab6369324c29763d4320dcc4b16820a0e5e95..a0179277fe51d336cbcb19d76e28d211
} }
diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc diff --git a/content/browser/site_instance_impl.cc b/content/browser/site_instance_impl.cc
index 47067d774c0490e3f0daf1f0d7ee60e4f51fc110..54aab183e80538173045c68d539c197af8b8d063 100644 index d0d4e89f4190752fa00a575bb91842a72f4c0070..7b8d9af4005c6c7b7f4ebf0090d718fd276d012b 100644
--- a/content/browser/site_instance_impl.cc --- a/content/browser/site_instance_impl.cc
+++ b/content/browser/site_instance_impl.cc +++ b/content/browser/site_instance_impl.cc
@@ -367,6 +367,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const GURL& url) { @@ -368,6 +368,10 @@ bool SiteInstanceImpl::HasRelatedSiteInstance(const GURL& url) {
return browsing_instance_->HasSiteInstance(url); return browsing_instance_->HasSiteInstance(url);
} }
@ -186,7 +186,7 @@ index 1edb9fd6b0c383f291735dd1a952fcb7b17cc87f..23967f040eb346be265faa2a92562e1f
size_t GetRelatedActiveContentsCount() override; size_t GetRelatedActiveContentsCount() override;
bool RequiresDedicatedProcess() override; bool RequiresDedicatedProcess() override;
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
index 15081967b0a29316ab82746ca6fe7d188a9efc58..2f894fdcc72f9e31e62f660e2eaff686b0bde95a 100644 index df6f9848ba8ae1e8e7c6e5415b3a4c2efaf6f055..d032d13c4395fc00ccc548d6241b298965b23d20 100644
--- a/content/public/browser/content_browser_client.cc --- a/content/public/browser/content_browser_client.cc
+++ b/content/public/browser/content_browser_client.cc +++ b/content/public/browser/content_browser_client.cc
@@ -44,6 +44,21 @@ @@ -44,6 +44,21 @@
@ -212,10 +212,10 @@ index 15081967b0a29316ab82746ca6fe7d188a9efc58..2f894fdcc72f9e31e62f660e2eaff686
const MainFunctionParams& parameters) { const MainFunctionParams& parameters) {
return nullptr; return nullptr;
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
index 678b25401338a624dc37a11c45331d65082934e9..bed09d49f1f8ca3a14a5306144faf4ae4d1f7de9 100644 index 7578110f13b23e9585a181bba3e73a3996f60faf..cbb1eed3af4e8b56c07786a5f35525e5dee629f4 100644
--- a/content/public/browser/content_browser_client.h --- a/content/public/browser/content_browser_client.h
+++ b/content/public/browser/content_browser_client.h +++ b/content/public/browser/content_browser_client.h
@@ -205,8 +205,45 @@ struct WebPreferences; @@ -206,8 +206,45 @@ struct WebPreferences;
// the observer interfaces.) // the observer interfaces.)
class CONTENT_EXPORT ContentBrowserClient { class CONTENT_EXPORT ContentBrowserClient {
public: public:

View file

@ -7,10 +7,10 @@ Dont compare RC.exe and RC.py output.
FIXME: It has to be reverted once the script is fixed. FIXME: It has to be reverted once the script is fixed.
diff --git a/build/toolchain/win/tool_wrapper.py b/build/toolchain/win/tool_wrapper.py diff --git a/build/toolchain/win/tool_wrapper.py b/build/toolchain/win/tool_wrapper.py
index 1ad37129bb5663b547a1f1c32d09b9427d9d4434..6516ab892aa7032722fbe6af5991fc076314013c 100644 index 3834cf2c01a9c63bfe7a6fc9e7549930a5eda01c..454b831a37c13fdd2fe4d8953d60dab661386f9a 100644
--- a/build/toolchain/win/tool_wrapper.py --- a/build/toolchain/win/tool_wrapper.py
+++ b/build/toolchain/win/tool_wrapper.py +++ b/build/toolchain/win/tool_wrapper.py
@@ -241,7 +241,11 @@ class WinTool(object): @@ -250,7 +250,11 @@ class WinTool(object):
if rc_exe_exit_code == 0: if rc_exe_exit_code == 0:
import filecmp import filecmp
# Strip "/fo" prefix. # Strip "/fo" prefix.

View file

@ -7,7 +7,7 @@ Removes usage of the _LSSetApplicationLaunchServicesServerConnectionStatus
private API. private API.
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
index 6779f6d70c1a69cd5668cf3a328cf56a492983e2..46d92835eadd6429ea0c6a53c5a39ff04f1c2634 100644 index d257830f5943937a634aa85539ad654310579e2c..4373f508964cb1e9fd51c952122ac2f41fb35ae9 100644
--- a/content/gpu/gpu_main.cc --- a/content/gpu/gpu_main.cc
+++ b/content/gpu/gpu_main.cc +++ b/content/gpu/gpu_main.cc
@@ -286,8 +286,10 @@ int GpuMain(const MainFunctionParams& parameters) { @@ -286,8 +286,10 @@ int GpuMain(const MainFunctionParams& parameters) {

View file

@ -38,10 +38,10 @@ index 743d1364bcd13e24ecbe5ced730161d15b8c3e93..a7e81072194c00baa0aa3159a6bfe374
// is concerned. // is concerned.
@property(nonatomic, readonly) NSString* subrole; @property(nonatomic, readonly) NSString* subrole;
diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm diff --git a/content/browser/accessibility/browser_accessibility_cocoa.mm b/content/browser/accessibility/browser_accessibility_cocoa.mm
index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc150834055 100644 index 62f17dcca78fc7d9f851456120f7ddde09208dbe..95ec2b203d243a33383c022506ea0a572334043d 100644
--- a/content/browser/accessibility/browser_accessibility_cocoa.mm --- a/content/browser/accessibility/browser_accessibility_cocoa.mm
+++ b/content/browser/accessibility/browser_accessibility_cocoa.mm +++ b/content/browser/accessibility/browser_accessibility_cocoa.mm
@@ -219,6 +219,7 @@ @@ -225,6 +225,7 @@
// VoiceOver uses -1 to mean "no limit" for AXResultsLimit. // VoiceOver uses -1 to mean "no limit" for AXResultsLimit.
const int kAXResultsLimitNoLimit = -1; const int kAXResultsLimitNoLimit = -1;
@ -49,7 +49,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
extern "C" { extern "C" {
// The following are private accessibility APIs required for cursor navigation // The following are private accessibility APIs required for cursor navigation
@@ -420,6 +421,7 @@ void AddMisspelledTextAttributes(const AXPlatformRange& ax_range, @@ -422,6 +423,7 @@ void AddMisspelledTextAttributes(const AXPlatformRange& ax_range,
AddMisspelledTextAttributes(ax_range, attributed_text); AddMisspelledTextAttributes(ax_range, attributed_text);
return attributed_text; return attributed_text;
} }
@ -57,7 +57,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
// Returns an autoreleased copy of the AXNodeData's attribute. // Returns an autoreleased copy of the AXNodeData's attribute.
NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility, NSString* NSStringForStringAttribute(BrowserAccessibility* browserAccessibility,
@@ -687,7 +689,9 @@ + (void)initialize { @@ -689,7 +691,9 @@ + (void)initialize {
{NSAccessibilityEditableAncestorAttribute, @"editableAncestor"}, {NSAccessibilityEditableAncestorAttribute, @"editableAncestor"},
{NSAccessibilityElementBusyAttribute, @"elementBusy"}, {NSAccessibilityElementBusyAttribute, @"elementBusy"},
{NSAccessibilityEnabledAttribute, @"enabled"}, {NSAccessibilityEnabledAttribute, @"enabled"},
@ -67,7 +67,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
{NSAccessibilityExpandedAttribute, @"expanded"}, {NSAccessibilityExpandedAttribute, @"expanded"},
{NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"}, {NSAccessibilityFocusableAncestorAttribute, @"focusableAncestor"},
{NSAccessibilityFocusedAttribute, @"focused"}, {NSAccessibilityFocusedAttribute, @"focused"},
@@ -722,13 +726,17 @@ + (void)initialize { @@ -724,13 +728,17 @@ + (void)initialize {
{NSAccessibilityRowsAttribute, @"rows"}, {NSAccessibilityRowsAttribute, @"rows"},
// TODO(aboxhall): expose // TODO(aboxhall): expose
// NSAccessibilityServesAsTitleForUIElementsAttribute // NSAccessibilityServesAsTitleForUIElementsAttribute
@ -85,7 +85,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
{NSAccessibilitySizeAttribute, @"size"}, {NSAccessibilitySizeAttribute, @"size"},
{NSAccessibilitySortDirectionAttribute, @"sortDirection"}, {NSAccessibilitySortDirectionAttribute, @"sortDirection"},
{NSAccessibilitySubroleAttribute, @"subrole"}, {NSAccessibilitySubroleAttribute, @"subrole"},
@@ -1226,6 +1234,7 @@ - (NSNumber*)enabled { @@ -1228,6 +1236,7 @@ - (NSNumber*)enabled {
ax::mojom::Restriction::kDisabled]; ax::mojom::Restriction::kDisabled];
} }
@ -93,7 +93,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
// Returns a text marker that points to the last character in the document that // Returns a text marker that points to the last character in the document that
// can be selected with VoiceOver. // can be selected with VoiceOver.
- (id)endTextMarker { - (id)endTextMarker {
@@ -1236,6 +1245,7 @@ - (id)endTextMarker { @@ -1238,6 +1247,7 @@ - (id)endTextMarker {
BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
return CreateTextMarker(position->CreatePositionAtEndOfAnchor()); return CreateTextMarker(position->CreatePositionAtEndOfAnchor());
} }
@ -101,7 +101,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
- (NSNumber*)expanded { - (NSNumber*)expanded {
if (![self instanceActive]) if (![self instanceActive])
@@ -2107,6 +2117,7 @@ - (NSValue*)selectedTextRange { @@ -2112,6 +2122,7 @@ - (NSValue*)selectedTextRange {
return [NSValue valueWithRange:NSMakeRange(selStart, selLength)]; return [NSValue valueWithRange:NSMakeRange(selStart, selLength)];
} }
@ -109,7 +109,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
- (id)selectedTextMarkerRange { - (id)selectedTextMarkerRange {
if (![self instanceActive]) if (![self instanceActive])
return nil; return nil;
@@ -2142,6 +2153,7 @@ - (id)selectedTextMarkerRange { @@ -2147,6 +2158,7 @@ - (id)selectedTextMarkerRange {
CreateAXPlatformRange(*anchorObject, anchorOffset, anchorAffinity, CreateAXPlatformRange(*anchorObject, anchorOffset, anchorAffinity,
*focusObject, focusOffset, focusAffinity)); *focusObject, focusOffset, focusAffinity));
} }
@ -117,7 +117,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
- (NSValue*)size { - (NSValue*)size {
if (![self instanceActive]) if (![self instanceActive])
@@ -2174,6 +2186,7 @@ - (NSString*)sortDirection { @@ -2179,6 +2191,7 @@ - (NSString*)sortDirection {
return nil; return nil;
} }
@ -125,7 +125,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
// Returns a text marker that points to the first character in the document that // Returns a text marker that points to the first character in the document that
// can be selected with VoiceOver. // can be selected with VoiceOver.
- (id)startTextMarker { - (id)startTextMarker {
@@ -2184,6 +2197,7 @@ - (id)startTextMarker { @@ -2189,6 +2202,7 @@ - (id)startTextMarker {
BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0); BrowserAccessibilityPositionInstance position = root->CreatePositionAt(0);
return CreateTextMarker(position->CreatePositionAtStartOfAnchor()); return CreateTextMarker(position->CreatePositionAtStartOfAnchor());
} }
@ -133,7 +133,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
// Returns a subrole based upon the role. // Returns a subrole based upon the role.
- (NSString*)subrole { - (NSString*)subrole {
@@ -2475,11 +2489,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range { @@ -2480,11 +2494,13 @@ - (NSAttributedString*)attributedValueForRange:(NSRange)range {
NSMutableAttributedString* attributedValue = NSMutableAttributedString* attributedValue =
[[[NSMutableAttributedString alloc] initWithString:value] autorelease]; [[[NSMutableAttributedString alloc] initWithString:value] autorelease];
@ -147,7 +147,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
return [attributedValue attributedSubstringFromRange:range]; return [attributedValue attributedSubstringFromRange:range];
} }
@@ -2562,9 +2578,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute @@ -2567,9 +2583,8 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return ToBrowserAccessibilityCocoa(cell); return ToBrowserAccessibilityCocoa(cell);
} }
@ -159,7 +159,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
BrowserAccessibilityPositionInstance position = BrowserAccessibilityPositionInstance position =
CreatePositionFromTextMarker(parameter); CreatePositionFromTextMarker(parameter);
if (!position->IsNullPosition()) if (!position->IsNullPosition())
@@ -2854,6 +2869,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute @@ -2859,6 +2874,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return CreateTextMarker(root->CreatePositionAt(index)); return CreateTextMarker(root->CreatePositionAt(index));
} }
@ -167,7 +167,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
if ([attribute isEqualToString: if ([attribute isEqualToString:
NSAccessibilityBoundsForRangeParameterizedAttribute]) { NSAccessibilityBoundsForRangeParameterizedAttribute]) {
@@ -2887,6 +2903,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute @@ -2892,6 +2908,7 @@ - (id)accessibilityAttributeValue:(NSString*)attribute
return nil; return nil;
} }
@ -175,7 +175,7 @@ index eb17b696e5c299acda8c48d5f962df8bd7742632..7cdfe8e899ea84edd0f2a87ec3ad9fc1
if ([attribute if ([attribute
isEqualToString: isEqualToString:
NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) { NSAccessibilityLineTextMarkerRangeForTextMarkerParameterizedAttribute]) {
@@ -2967,6 +2984,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition( @@ -2972,6 +2989,7 @@ AXPlatformRange range(position->CreatePreviousLineStartPosition(
return @(child->GetIndexInParent()); return @(child->GetIndexInParent());
} }

View file

@ -5,10 +5,10 @@ Subject: network_service_allow_remote_certificate_verification_logic.patch
diff --git a/services/network/network_context.cc b/services/network/network_context.cc diff --git a/services/network/network_context.cc b/services/network/network_context.cc
index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a9c923789 100644 index fd4c3971348e1e1b6e4368840f1271659bcdafd3..c36657fc18c705c7224e6c57c8c50b7f641060fa 100644
--- a/services/network/network_context.cc --- a/services/network/network_context.cc
+++ b/services/network/network_context.cc +++ b/services/network/network_context.cc
@@ -91,6 +91,11 @@ @@ -89,6 +89,11 @@
#include "services/network/url_loader.h" #include "services/network/url_loader.h"
#include "services/network/url_request_context_builder_mojo.h" #include "services/network/url_request_context_builder_mojo.h"
@ -20,7 +20,7 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
#if BUILDFLAG(IS_CT_SUPPORTED) #if BUILDFLAG(IS_CT_SUPPORTED)
#include "components/certificate_transparency/chrome_ct_policy_enforcer.h" #include "components/certificate_transparency/chrome_ct_policy_enforcer.h"
#include "components/certificate_transparency/chrome_require_ct_delegate.h" #include "components/certificate_transparency/chrome_require_ct_delegate.h"
@@ -319,6 +324,75 @@ std::string HashesToBase64String(const net::HashValueVector& hashes) { @@ -317,6 +322,79 @@ std::string HashesToBase64String(const net::HashValueVector& hashes) {
} // namespace } // namespace
@ -30,8 +30,12 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
+ } + }
+ ~RemoteCertVerifier() override = default; + ~RemoteCertVerifier() override = default;
+ +
+ void Bind(mojom::CertVerifierClientPtr client_info) { + void Bind(
+ client_ = std::move(client_info); + mojo::PendingRemote<mojom::CertVerifierClient> client_info) {
+ client_.reset();
+ if (client_info.is_valid()) {
+ client_.Bind(std::move(client_info));
+ }
+ } + }
+ +
+ // CertVerifier implementation + // CertVerifier implementation
@ -60,7 +64,7 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
+ } + }
+ +
+ void OnRequestFinished(const RequestParams& params, net::CompletionOnceCallback callback, net::CertVerifyResult* verify_result, int error) { + void OnRequestFinished(const RequestParams& params, net::CompletionOnceCallback callback, net::CertVerifyResult* verify_result, int error) {
+ if (client_) { + if (client_.is_bound()) {
+ client_->Verify(error, *verify_result, params.certificate(), + client_->Verify(error, *verify_result, params.certificate(),
+ params.hostname(), params.flags(), params.ocsp_response(), + params.hostname(), params.flags(), params.ocsp_response(),
+ base::BindOnce(&RemoteCertVerifier::OnRemoteResponse, + base::BindOnce(&RemoteCertVerifier::OnRemoteResponse,
@ -90,17 +94,18 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
+ } + }
+ private: + private:
+ std::unique_ptr<net::CertVerifier> upstream_; + std::unique_ptr<net::CertVerifier> upstream_;
+ mojom::CertVerifierClientPtr client_; + mojo::Remote<mojom::CertVerifierClient> client_;
+}; +};
+ +
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
constexpr bool NetworkContext::enable_resource_scheduler_;
@@ -650,6 +724,12 @@ void NetworkContext::SetClient(mojom::NetworkContextClientPtr client) { NetworkContext::PendingCertVerify::PendingCertVerify() = default;
client_ = std::move(client); @@ -466,6 +544,13 @@ void NetworkContext::SetClient(
client_.Bind(std::move(client));
} }
+void NetworkContext::SetCertVerifierClient(mojom::CertVerifierClientPtr client) { +void NetworkContext::SetCertVerifierClient(
+ mojo::PendingRemote<mojom::CertVerifierClient> client) {
+ if (remote_cert_verifier_) { + if (remote_cert_verifier_) {
+ remote_cert_verifier_->Bind(std::move(client)); + remote_cert_verifier_->Bind(std::move(client));
+ } + }
@ -109,8 +114,8 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
void NetworkContext::CreateURLLoaderFactory( void NetworkContext::CreateURLLoaderFactory(
mojom::URLLoaderFactoryRequest request, mojom::URLLoaderFactoryRequest request,
mojom::URLLoaderFactoryParamsPtr params) { mojom::URLLoaderFactoryParamsPtr params) {
@@ -1727,12 +1807,19 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() { @@ -1541,12 +1626,19 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext() {
cert_net_fetcher_, /*system_trust_store_provider=*/nullptr))); net::SystemTrustStoreProvider::CreateDefaultForSSL())));
} }
#endif #endif
- if (!cert_verifier) - if (!cert_verifier)
@ -131,10 +136,10 @@ index 41e3a4960bfa4909c54b1d3db214fa943bff65b6..781053c8650d98ee39d39e9057159f9a
+ +
+ builder.SetCertVerifier(std::move(cert_verifier)); + builder.SetCertVerifier(std::move(cert_verifier));
std::unique_ptr<net::NetworkDelegate> network_delegate = std::unique_ptr<NetworkServiceNetworkDelegate> network_delegate =
std::make_unique<NetworkServiceNetworkDelegate>(this); std::make_unique<NetworkServiceNetworkDelegate>(
diff --git a/services/network/network_context.h b/services/network/network_context.h diff --git a/services/network/network_context.h b/services/network/network_context.h
index 12806873427b070beed2ec3a2a02c58791aa126d..b64485726b76b5a2939a33b9dd3a193d4fff8f6d 100644 index 21dd391b7330c362e3795fddc2943ed6832d0383..581196b6d4a0054bc213e4eada1a97a8e0453c5f 100644
--- a/services/network/network_context.h --- a/services/network/network_context.h
+++ b/services/network/network_context.h +++ b/services/network/network_context.h
@@ -80,6 +80,7 @@ class DomainReliabilityMonitor; @@ -80,6 +80,7 @@ class DomainReliabilityMonitor;
@ -145,15 +150,16 @@ index 12806873427b070beed2ec3a2a02c58791aa126d..b64485726b76b5a2939a33b9dd3a193d
class CookieManager; class CookieManager;
class ExpectCTReporter; class ExpectCTReporter;
class HostResolver; class HostResolver;
@@ -165,6 +166,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -169,6 +170,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
// mojom::NetworkContext implementation: // mojom::NetworkContext implementation:
void SetClient(mojom::NetworkContextClientPtr client) override; void SetClient(
+ void SetCertVerifierClient(mojom::CertVerifierClientPtr client) override; mojo::PendingRemote<mojom::NetworkContextClient> client) override;
+ void SetCertVerifierClient(
+ mojo::PendingRemote<mojom::CertVerifierClient> client) override;
void CreateURLLoaderFactory(mojom::URLLoaderFactoryRequest request, void CreateURLLoaderFactory(mojom::URLLoaderFactoryRequest request,
mojom::URLLoaderFactoryParamsPtr params) override; mojom::URLLoaderFactoryParamsPtr params) override;
void ResetURLLoaderFactories() override; void ResetURLLoaderFactories() override;
@@ -556,6 +558,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -560,6 +563,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
std::unique_ptr<network::NSSTempCertsCacheChromeOS> nss_temp_certs_cache_; std::unique_ptr<network::NSSTempCertsCacheChromeOS> nss_temp_certs_cache_;
#endif #endif
@ -163,11 +169,11 @@ index 12806873427b070beed2ec3a2a02c58791aa126d..b64485726b76b5a2939a33b9dd3a193d
// CertNetFetcher is not used by the current platform. // CertNetFetcher is not used by the current platform.
scoped_refptr<net::CertNetFetcherImpl> cert_net_fetcher_; scoped_refptr<net::CertNetFetcherImpl> cert_net_fetcher_;
diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom diff --git a/services/network/public/mojom/network_context.mojom b/services/network/public/mojom/network_context.mojom
index 59c05e850bba0c30871fb40f898e9f0b9ce7af36..cd617733773b81aa2e57176c46f392a6a124b7c9 100644 index fe7ed5d396d9cba480a785f46d0df471c117c86e..6b7571dbf1464284ce30953a27c1ac2099f1872f 100644
--- a/services/network/public/mojom/network_context.mojom --- a/services/network/public/mojom/network_context.mojom
+++ b/services/network/public/mojom/network_context.mojom +++ b/services/network/public/mojom/network_context.mojom
@@ -162,6 +162,17 @@ interface TrustedURLLoaderHeaderClient { @@ -165,6 +165,17 @@ interface TrustedURLLoaderHeaderClient {
OnLoaderCreated(int32 request_id, TrustedHeaderClient& header_client); pending_receiver<TrustedHeaderClient> header_client);
}; };
+interface CertVerifierClient { +interface CertVerifierClient {
@ -184,12 +190,12 @@ index 59c05e850bba0c30871fb40f898e9f0b9ce7af36..cd617733773b81aa2e57176c46f392a6
// Parameters for constructing a network context. // Parameters for constructing a network context.
struct NetworkContextParams { struct NetworkContextParams {
// Name used by memory tools to identify the context. // Name used by memory tools to identify the context.
@@ -587,6 +598,9 @@ interface NetworkContext { @@ -727,6 +738,9 @@ interface NetworkContext {
// Sets a client for this network context. // Sets a client for this network context.
SetClient(NetworkContextClient client); SetClient(pending_remote<NetworkContextClient> client);
+ // Sets a certificate verifier client for this network context. + // Sets a certificate verifier client for this network context.
+ SetCertVerifierClient(CertVerifierClient? client); + SetCertVerifierClient(pending_remote<CertVerifierClient>? client);
+ +
// Creates a new URLLoaderFactory with the given |params|. // Creates a new URLLoaderFactory with the given |params|.
CreateURLLoaderFactory(URLLoaderFactory& url_loader_factory, CreateURLLoaderFactory(URLLoaderFactory& url_loader_factory,

View file

@ -55,7 +55,7 @@ index 5253f6be778cc78571b3df0a33d364a9b1e6ef52..dc5307e6500b0bfb5da83e8d8ff8886b
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_; scoped_refptr<ServiceWorkerContextWrapper> service_worker_context_;
diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc diff --git a/content/browser/notifications/blink_notification_service_impl_unittest.cc b/content/browser/notifications/blink_notification_service_impl_unittest.cc
index f64eb733ede38501c34b2af89f42255189abd982..3c2dfad7ac9ba64b0b49ebef41a303edd1470cb1 100644 index ce997528ce2973b54dbbf965220cc30bcb19a094..e84b0b62d853b044e590a0c764f1b21ad3210886 100644
--- a/content/browser/notifications/blink_notification_service_impl_unittest.cc --- a/content/browser/notifications/blink_notification_service_impl_unittest.cc
+++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc +++ b/content/browser/notifications/blink_notification_service_impl_unittest.cc
@@ -138,7 +138,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test { @@ -138,7 +138,7 @@ class BlinkNotificationServiceImplTest : public ::testing::Test {
@ -108,10 +108,10 @@ index 4bf25bf1fa69f7d3869369172d375e2e489e62a1..f80ef2cecc8b111dc54e109646573a59
mojo::PendingReceiver<blink::mojom::NotificationService> receiver); mojo::PendingReceiver<blink::mojom::NotificationService> receiver);
diff --git a/content/browser/renderer_interface_binders.cc b/content/browser/renderer_interface_binders.cc diff --git a/content/browser/renderer_interface_binders.cc b/content/browser/renderer_interface_binders.cc
index 63e8a6a260c0a63d4eee365330352b3112878384..2d20c32e631bc7edf51f02d7d10e8fbbf1516f90 100644 index cf4be3849726b3beb1dd47b8c44f7524e7ee2014..14e7551d62688dc59a24eb67a29f7ab05eb44527 100644
--- a/content/browser/renderer_interface_binders.cc --- a/content/browser/renderer_interface_binders.cc
+++ b/content/browser/renderer_interface_binders.cc +++ b/content/browser/renderer_interface_binders.cc
@@ -200,7 +200,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() { @@ -231,7 +231,7 @@ void RendererInterfaceBinders::InitializeParameterizedBinderRegistry() {
RenderProcessHost* host, const url::Origin& origin) { RenderProcessHost* host, const url::Origin& origin) {
static_cast<StoragePartitionImpl*>(host->GetStoragePartition()) static_cast<StoragePartitionImpl*>(host->GetStoragePartition())
->GetPlatformNotificationContext() ->GetPlatformNotificationContext()
@ -142,10 +142,10 @@ index ca61088079c4150fcf389504ddcf26bcf6bf69cd..d9c034c39890eef1fe3d95c6d7c0ae68
const GURL& origin, const GURL& origin,
const blink::PlatformNotificationData& notification_data, const blink::PlatformNotificationData& notification_data,
diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc diff --git a/content/test/mock_platform_notification_service.cc b/content/test/mock_platform_notification_service.cc
index ba5982883a3821b42c47c80187af2e4d1b3f0ffb..720965aa1df6b415e12a85dd2b2e4475facab019 100644 index 73a1af201b12bf818af2eafadad478b8c422826c..fc7e74c0bf900d475fc134a7b606c5f9e404f934 100644
--- a/content/test/mock_platform_notification_service.cc --- a/content/test/mock_platform_notification_service.cc
+++ b/content/test/mock_platform_notification_service.cc +++ b/content/test/mock_platform_notification_service.cc
@@ -29,6 +29,7 @@ MockPlatformNotificationService::MockPlatformNotificationService( @@ -31,6 +31,7 @@ MockPlatformNotificationService::MockPlatformNotificationService(
MockPlatformNotificationService::~MockPlatformNotificationService() = default; MockPlatformNotificationService::~MockPlatformNotificationService() = default;
void MockPlatformNotificationService::DisplayNotification( void MockPlatformNotificationService::DisplayNotification(

View file

@ -5,10 +5,10 @@ Subject: out_of_process_instance.patch
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc
index 9c77f6422edbb42da34abb4320e0d5103cca5eea..8419b1ce6ed543b150c31d41dc8575e98c203427 100644 index c6b9448faffb8b66c45c643b6fd756e6bc6a32e1..834f387c2f17bfab48a451f0eec634682e97e82d 100644
--- a/pdf/out_of_process_instance.cc --- a/pdf/out_of_process_instance.cc
+++ b/pdf/out_of_process_instance.cc +++ b/pdf/out_of_process_instance.cc
@@ -477,7 +477,9 @@ bool OutOfProcessInstance::Init(uint32_t argc, @@ -478,7 +478,9 @@ bool OutOfProcessInstance::Init(uint32_t argc,
std::string document_url = document_url_var.AsString(); std::string document_url = document_url_var.AsString();
base::StringPiece document_url_piece(document_url); base::StringPiece document_url_piece(document_url);
is_print_preview_ = IsPrintPreviewUrl(document_url_piece); is_print_preview_ = IsPrintPreviewUrl(document_url_piece);

View file

@ -61,7 +61,7 @@ index 37245c48cacbc5db164c61e4499f34ee83e0fce7..0fef12892e965e319e45f5dd1a9c5c9f
+ return PP_OK; + return PP_OK;
} }
diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
index c6c2ac11fd5551fe03978b947d2dda4c016e59ae..2dc392a6eab17b048df730e294398a3a0fb2eb8d 100644 index 91c1562d9894e57fd5c3abfde157127144b31a91..8f4caca848d649db9bd26a4ce37509b29865f3c1 100644
--- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc --- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
+++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc +++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.cc
@@ -8,9 +8,11 @@ @@ -8,9 +8,11 @@
@ -132,10 +132,10 @@ index c6c2ac11fd5551fe03978b947d2dda4c016e59ae..2dc392a6eab17b048df730e294398a3a
device::mojom::WakeLock* PepperFlashBrowserHost::GetWakeLock() { device::mojom::WakeLock* PepperFlashBrowserHost::GetWakeLock() {
// Here is a lazy binding, and will not reconnect after connection error. // Here is a lazy binding, and will not reconnect after connection error.
diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h diff --git a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h
index f2f40b636a41649199a38c663f03e6182df82520..41d11d1f1f9921d4b4deaaf4b2d8ab4be910e8fe 100644 index 6b13bae8def62d9a26d68ac8396b4bf6f7439c1a..d92b5a5855c0cebf94922a31f686e15e3a6cd833 100644
--- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h --- a/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h
+++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h +++ b/chrome/browser/renderer_host/pepper/pepper_flash_browser_host.h
@@ -23,9 +23,11 @@ namespace content { @@ -24,9 +24,11 @@ namespace content {
class BrowserPpapiHost; class BrowserPpapiHost;
} }
@ -147,7 +147,7 @@ index f2f40b636a41649199a38c663f03e6182df82520..41d11d1f1f9921d4b4deaaf4b2d8ab4b
class GURL; class GURL;
@@ -49,15 +51,19 @@ class PepperFlashBrowserHost : public ppapi::host::ResourceHost { @@ -50,15 +52,19 @@ class PepperFlashBrowserHost : public ppapi::host::ResourceHost {
const base::Time& t); const base::Time& t);
int32_t OnGetLocalDataRestrictions(ppapi::host::HostMessageContext* context); int32_t OnGetLocalDataRestrictions(ppapi::host::HostMessageContext* context);
@ -167,8 +167,8 @@ index f2f40b636a41649199a38c663f03e6182df82520..41d11d1f1f9921d4b4deaaf4b2d8ab4b
int render_process_id_; int render_process_id_;
// Requests a wake lock to prevent going to sleep, and a timer to cancel it // Requests a wake lock to prevent going to sleep, and a timer to cancel it
@@ -65,8 +71,10 @@ class PepperFlashBrowserHost : public ppapi::host::ResourceHost { @@ -66,8 +72,10 @@ class PepperFlashBrowserHost : public ppapi::host::ResourceHost {
device::mojom::WakeLockPtr wake_lock_; mojo::Remote<device::mojom::WakeLock> wake_lock_;
base::DelayTimer delay_timer_; base::DelayTimer delay_timer_;
+#if 0 +#if 0

View file

@ -9,45 +9,32 @@ index 8e4deafa1746eeb48802a0503fefb37bedb33d04..127c62efd2327e1f3f09e9b93a0b8344
--- a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc --- a/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc
+++ b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc +++ b/chrome/browser/ui/views/overlay/back_to_tab_image_button.cc
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
#include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h" #include "chrome/browser/ui/views/overlay/back_to_tab_image_button.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/color_palette.h" #include "ui/gfx/color_palette.h"
diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc diff --git a/chrome/browser/ui/views/overlay/close_image_button.cc b/chrome/browser/ui/views/overlay/close_image_button.cc
index 0aca25164dcad26cc000e289d6eb9010e336e6fc..70114b5aa865b96d3ace898d1faf515b9098abd9 100644 index e9b64a823ae7e25361f37190d247af0fa6a6f68a..43fdb0ad50d2b11a1bc28aa0f358c6dd6feb72b8 100644
--- a/chrome/browser/ui/views/overlay/close_image_button.cc --- a/chrome/browser/ui/views/overlay/close_image_button.cc
+++ b/chrome/browser/ui/views/overlay/close_image_button.cc +++ b/chrome/browser/ui/views/overlay/close_image_button.cc
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
#include "chrome/browser/ui/views/overlay/close_image_button.h" #include "chrome/browser/ui/views/overlay/close_image_button.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
#include "ui/gfx/color_palette.h" #include "ui/gfx/color_palette.h"
diff --git a/chrome/browser/ui/views/overlay/mute_image_button.cc b/chrome/browser/ui/views/overlay/mute_image_button.cc
index 8c88ef08dd5165c0429dd90e8a76b711ac15a4df..ebdb06a6391b8108fa51796a4ad5f3a8ca489b60 100644
--- a/chrome/browser/ui/views/overlay/mute_image_button.cc
+++ b/chrome/browser/ui/views/overlay/mute_image_button.cc
@@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/overlay/mute_image_button.h"
#include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h"
#include "components/vector_icons/vector_icons.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc diff --git a/chrome/browser/ui/views/overlay/overlay_window_views.cc b/chrome/browser/ui/views/overlay/overlay_window_views.cc
index 780863193ca12ec1295752969dfc47ac06a9ae64..e2947b893cfcdb1beaa27beac80a1885ed011ce4 100644 index 027fb9dddff339e67600b83c79c209656d210a90..e9dfd515aadfb4442da7a7b574a3891fe2a8d8bb 100644
--- a/chrome/browser/ui/views/overlay/overlay_window_views.cc --- a/chrome/browser/ui/views/overlay/overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/overlay_window_views.cc
@@ -20,7 +20,7 @@ @@ -19,7 +19,7 @@
#include "chrome/browser/ui/views/overlay/resize_handle_button.h" #include "chrome/browser/ui/views/overlay/resize_handle_button.h"
#include "chrome/browser/ui/views/overlay/skip_ad_label_button.h" #include "chrome/browser/ui/views/overlay/skip_ad_label_button.h"
#include "chrome/browser/ui/views/overlay/track_image_button.h" #include "chrome/browser/ui/views/overlay/track_image_button.h"
@ -62,7 +49,7 @@ index d9e5174ed622fb030bc37d32fbb40b132d7c4c23..1bf19c344721e74bb29c11a4c5c762a7
+++ b/chrome/browser/ui/views/overlay/playback_image_button.cc +++ b/chrome/browser/ui/views/overlay/playback_image_button.cc
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/overlay/playback_image_button.h" #include "chrome/browser/ui/views/overlay/playback_image_button.h"
#include "chrome/app/vector_icons/vector_icons.h" #include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"
@ -70,12 +57,12 @@ index d9e5174ed622fb030bc37d32fbb40b132d7c4c23..1bf19c344721e74bb29c11a4c5c762a7
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/browser/ui/views/overlay/resize_handle_button.cc b/chrome/browser/ui/views/overlay/resize_handle_button.cc diff --git a/chrome/browser/ui/views/overlay/resize_handle_button.cc b/chrome/browser/ui/views/overlay/resize_handle_button.cc
index ee6b3612d7bdda591e05e5af338a80167ce6cd53..af093f14f1ef49c6de7228b296c32532203ca568 100644 index aeba6fba215677c2c54a40791986c464fa112486..ebcef6ab0b651c274aa530b1e8d25d3eebcf4f3f 100644
--- a/chrome/browser/ui/views/overlay/resize_handle_button.cc --- a/chrome/browser/ui/views/overlay/resize_handle_button.cc
+++ b/chrome/browser/ui/views/overlay/resize_handle_button.cc +++ b/chrome/browser/ui/views/overlay/resize_handle_button.cc
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/overlay/resize_handle_button.h" #include "chrome/browser/ui/views/overlay/resize_handle_button.h"
#include "chrome/app/vector_icons/vector_icons.h" #include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"
@ -87,9 +74,9 @@ index da780c96bb757d7382df5f419e2c0fd644ac72b0..ae520bcf73cf6c39ca428c03975746e2
--- a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc --- a/chrome/browser/ui/views/overlay/skip_ad_label_button.cc
+++ b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc +++ b/chrome/browser/ui/views/overlay/skip_ad_label_button.cc
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
#include "chrome/browser/ui/views/overlay/skip_ad_label_button.h" #include "chrome/browser/ui/views/overlay/skip_ad_label_button.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
@ -101,7 +88,7 @@ index 8f42277409a216f81d21723eb03045ac54525b0e..f7a15bfde9a43c15b18e8afbd60a0b19
+++ b/chrome/browser/ui/views/overlay/track_image_button.cc +++ b/chrome/browser/ui/views/overlay/track_image_button.cc
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
#include "chrome/browser/ui/views/overlay/track_image_button.h" #include "chrome/browser/ui/views/overlay/track_image_button.h"
#include "chrome/app/vector_icons/vector_icons.h" #include "chrome/app/vector_icons/vector_icons.h"
-#include "chrome/grit/generated_resources.h" -#include "chrome/grit/generated_resources.h"
+#include "electron/grit/electron_resources.h" +#include "electron/grit/electron_resources.h"

View file

@ -8,10 +8,10 @@ this patch removes that dependency so we can reuse it.
Ideally we would change this class in upstream to not depend on Profile. Ideally we would change this class in upstream to not depend on Profile.
diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc diff --git a/chrome/browser/predictors/preconnect_manager.cc b/chrome/browser/predictors/preconnect_manager.cc
index cdee4d11f2d2..7312fb4e4ea5 100644 index c3c7d4220f7ea612e5b86645854e4f426066e18c..969dd6659bfdc0fa3cf3edf494f1623ba10134a5 100644
--- a/chrome/browser/predictors/preconnect_manager.cc --- a/chrome/browser/predictors/preconnect_manager.cc
+++ b/chrome/browser/predictors/preconnect_manager.cc +++ b/chrome/browser/predictors/preconnect_manager.cc
@@ -71,7 +71,7 @@ PreresolveJob::PreresolveJob(PreresolveJob&& other) = default; @@ -70,7 +70,7 @@ PreresolveJob::PreresolveJob(PreresolveJob&& other) = default;
PreresolveJob::~PreresolveJob() = default; PreresolveJob::~PreresolveJob() = default;
PreconnectManager::PreconnectManager(base::WeakPtr<Delegate> delegate, PreconnectManager::PreconnectManager(base::WeakPtr<Delegate> delegate,
@ -20,7 +20,7 @@ index cdee4d11f2d2..7312fb4e4ea5 100644
: delegate_(std::move(delegate)), : delegate_(std::move(delegate)),
profile_(profile), profile_(profile),
inflight_preresolves_count_(0) { inflight_preresolves_count_(0) {
@@ -327,11 +327,13 @@ network::mojom::NetworkContext* PreconnectManager::GetNetworkContext() const { @@ -317,11 +317,13 @@ network::mojom::NetworkContext* PreconnectManager::GetNetworkContext() const {
if (network_context_) if (network_context_)
return network_context_; return network_context_;
@ -35,7 +35,7 @@ index cdee4d11f2d2..7312fb4e4ea5 100644
return content::BrowserContext::GetDefaultStoragePartition(profile_) return content::BrowserContext::GetDefaultStoragePartition(profile_)
->GetNetworkContext(); ->GetNetworkContext();
diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h diff --git a/chrome/browser/predictors/preconnect_manager.h b/chrome/browser/predictors/preconnect_manager.h
index 51a842d2e44f..097316e0cfb6 100644 index e35163576b55d772098ae2a2138c4c1cf8438eac..70cad725f9476175b31859867c640ca8c66816a8 100644
--- a/chrome/browser/predictors/preconnect_manager.h --- a/chrome/browser/predictors/preconnect_manager.h
+++ b/chrome/browser/predictors/preconnect_manager.h +++ b/chrome/browser/predictors/preconnect_manager.h
@@ -22,6 +22,10 @@ @@ -22,6 +22,10 @@
@ -58,7 +58,7 @@ index 51a842d2e44f..097316e0cfb6 100644
virtual ~PreconnectManager(); virtual ~PreconnectManager();
// Starts preconnect and preresolve jobs keyed by |url|. // Starts preconnect and preresolve jobs keyed by |url|.
@@ -202,7 +206,7 @@ class PreconnectManager { @@ -196,7 +200,7 @@ class PreconnectManager {
network::mojom::NetworkContext* GetNetworkContext() const; network::mojom::NetworkContext* GetNetworkContext() const;
base::WeakPtr<Delegate> delegate_; base::WeakPtr<Delegate> delegate_;

View file

@ -61,7 +61,7 @@ index 13f9d7af3ae796ecec3a9189aa59f4b20171fd7a..9c35b294340cce070a9f428dac6aa587
} }
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
index 97079241f54b876c6863097ab523daed4884f410..628a3892a6f5de1247313b64a00cdae2a8557c57 100644 index 7d1e56b3b1a8691477598b0103e2c69c171ec2c8..980971e2b8dd143fde3376f17352f672f2c3a8ad 100644
--- a/chrome/browser/printing/print_view_manager_base.cc --- a/chrome/browser/printing/print_view_manager_base.cc
+++ b/chrome/browser/printing/print_view_manager_base.cc +++ b/chrome/browser/printing/print_view_manager_base.cc
@@ -27,10 +27,7 @@ @@ -27,10 +27,7 @@
@ -180,16 +180,16 @@ index 97079241f54b876c6863097ab523daed4884f410..628a3892a6f5de1247313b64a00cdae2
// We can't print if there is no renderer. // We can't print if there is no renderer.
if (!web_contents()->GetRenderViewHost() || if (!web_contents()->GetRenderViewHost() ||
@@ -554,8 +561,6 @@ bool PrintViewManagerBase::CreateNewPrintJob( @@ -558,8 +565,6 @@ bool PrintViewManagerBase::CreateNewPrintJob(
DCHECK(!print_job_); print_job_->SetSource(PrintJob::Source::PRINT_PREVIEW, /*source_id=*/"");
print_job_ = base::MakeRefCounted<PrintJob>(); #endif // defined(OS_CHROMEOS)
print_job_->Initialize(std::move(query), RenderSourceName(), number_pages_);
- registrar_.Add(this, chrome::NOTIFICATION_PRINT_JOB_EVENT, - registrar_.Add(this, chrome::NOTIFICATION_PRINT_JOB_EVENT,
- content::Source<PrintJob>(print_job_.get())); - content::Source<PrintJob>(print_job_.get()));
printing_succeeded_ = false; printing_succeeded_ = false;
return true; return true;
} }
@@ -604,6 +609,13 @@ void PrintViewManagerBase::ReleasePrintJob() { @@ -608,6 +613,13 @@ void PrintViewManagerBase::ReleasePrintJob() {
content::RenderFrameHost* rfh = printing_rfh_; content::RenderFrameHost* rfh = printing_rfh_;
printing_rfh_ = nullptr; printing_rfh_ = nullptr;
@ -203,7 +203,7 @@ index 97079241f54b876c6863097ab523daed4884f410..628a3892a6f5de1247313b64a00cdae2
if (!print_job_) if (!print_job_)
return; return;
@@ -613,8 +625,9 @@ void PrintViewManagerBase::ReleasePrintJob() { @@ -617,8 +629,9 @@ void PrintViewManagerBase::ReleasePrintJob() {
rfh->Send(msg.release()); rfh->Send(msg.release());
} }
@ -215,9 +215,9 @@ index 97079241f54b876c6863097ab523daed4884f410..628a3892a6f5de1247313b64a00cdae2
// Don't close the worker thread. // Don't close the worker thread.
print_job_ = nullptr; print_job_ = nullptr;
} }
@@ -684,6 +697,9 @@ bool PrintViewManagerBase::PrintNowInternal( @@ -693,6 +706,9 @@ bool PrintViewManagerBase::PrintNowInternal(
// Don't print / print preview interstitials or crashed tabs. // Don't print / print preview interstitials or crashed tabs.
if (web_contents()->ShowingInterstitialPage() || web_contents()->IsCrashed()) if (IsInterstitialOrCrashed())
return false; return false;
+ +
+ registrar_.Add(this, chrome::NOTIFICATION_PRINT_JOB_EVENT, + registrar_.Add(this, chrome::NOTIFICATION_PRINT_JOB_EVENT,
@ -226,7 +226,7 @@ index 97079241f54b876c6863097ab523daed4884f410..628a3892a6f5de1247313b64a00cdae2
} }
diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h diff --git a/chrome/browser/printing/print_view_manager_base.h b/chrome/browser/printing/print_view_manager_base.h
index 49d3f53ec30e9c9c86f8399511a7086afa4342e1..ea5791daf2f3941b5da8ecae28f5b3eb661858e2 100644 index af49d3e2f8abaf7dc4d82dc3f9beccdf4fbd9f18..dd9eb11d31b4ee3d415b1fca7d97872da132203d 100644
--- a/chrome/browser/printing/print_view_manager_base.h --- a/chrome/browser/printing/print_view_manager_base.h
+++ b/chrome/browser/printing/print_view_manager_base.h +++ b/chrome/browser/printing/print_view_manager_base.h
@@ -33,6 +33,8 @@ class PrintJob; @@ -33,6 +33,8 @@ class PrintJob;
@ -249,7 +249,7 @@ index 49d3f53ec30e9c9c86f8399511a7086afa4342e1..ea5791daf2f3941b5da8ecae28f5b3eb
#if BUILDFLAG(ENABLE_PRINT_PREVIEW) #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
// Prints the document in |print_data| with settings specified in // Prints the document in |print_data| with settings specified in
@@ -198,9 +202,15 @@ class PrintViewManagerBase : public content::NotificationObserver, @@ -206,9 +210,15 @@ class PrintViewManagerBase : public content::NotificationObserver,
// The current RFH that is printing with a system printing dialog. // The current RFH that is printing with a system printing dialog.
content::RenderFrameHost* printing_rfh_; content::RenderFrameHost* printing_rfh_;
@ -378,10 +378,10 @@ index 9fbea6d0a2dbe55b1d600fbc217dee5aa8ae8cd5..de9bd267e408c02fd4da7d903523c0e6
// content::BrowserMessageFilter: // content::BrowserMessageFilter:
bool OnMessageReceived(const IPC::Message& message) override; bool OnMessageReceived(const IPC::Message& message) override;
diff --git a/components/printing/common/print_messages.h b/components/printing/common/print_messages.h diff --git a/components/printing/common/print_messages.h b/components/printing/common/print_messages.h
index a134a000bd3ccb229a26b3e2cb3425f91a85618e..fd768d372ac15be9b0553fd7d98ce5e27ed19f5a 100644 index f9f5d1c07e4068d0706770ca81bd92ce166c3822..9f0e079b941296fa27b8cf0a66abfa45a6183b42 100644
--- a/components/printing/common/print_messages.h --- a/components/printing/common/print_messages.h
+++ b/components/printing/common/print_messages.h +++ b/components/printing/common/print_messages.h
@@ -368,7 +368,9 @@ IPC_MESSAGE_ROUTED0(PrintMsg_PrintNodeUnderContextMenu) @@ -365,7 +365,9 @@ IPC_MESSAGE_ROUTED0(PrintMsg_PrintNodeUnderContextMenu)
#if BUILDFLAG(ENABLE_PRINTING) #if BUILDFLAG(ENABLE_PRINTING)
// Tells the RenderFrame to switch the CSS to print media type, renders every // Tells the RenderFrame to switch the CSS to print media type, renders every
// requested pages and switch back the CSS to display media type. // requested pages and switch back the CSS to display media type.
@ -393,18 +393,18 @@ index a134a000bd3ccb229a26b3e2cb3425f91a85618e..fd768d372ac15be9b0553fd7d98ce5e2
// Like PrintMsg_PrintPages, but using the print preview document's frame/node. // Like PrintMsg_PrintPages, but using the print preview document's frame/node.
IPC_MESSAGE_ROUTED0(PrintMsg_PrintForSystemDialog) IPC_MESSAGE_ROUTED0(PrintMsg_PrintForSystemDialog)
diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc diff --git a/components/printing/renderer/print_render_frame_helper.cc b/components/printing/renderer/print_render_frame_helper.cc
index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a6947384f8e4 100644 index fa6f27bf54f1877438a106961b6d236c771d6800..aeb45309624b0ddce874bb85db3f0cea2c48245a 100644
--- a/components/printing/renderer/print_render_frame_helper.cc --- a/components/printing/renderer/print_render_frame_helper.cc
+++ b/components/printing/renderer/print_render_frame_helper.cc +++ b/components/printing/renderer/print_render_frame_helper.cc
@@ -37,6 +37,7 @@ @@ -38,6 +38,7 @@
#include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
#include "printing/buildflags/buildflags.h" #include "printing/buildflags/buildflags.h"
#include "printing/metafile_skia.h" #include "printing/metafile_skia.h"
+#include "printing/print_settings.h" +#include "printing/print_settings.h"
#include "printing/units.h" #include "printing/units.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_registry.h"
#include "third_party/blink/public/common/frame/frame_owner_element_type.h" #include "third_party/blink/public/common/frame/frame_owner_element_type.h"
#include "third_party/blink/public/common/frame/sandbox_flags.h" @@ -1146,7 +1147,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
@@ -1117,7 +1118,8 @@ void PrintRenderFrameHelper::ScriptedPrint(bool user_initiated) {
web_frame->DispatchBeforePrintEvent(); web_frame->DispatchBeforePrintEvent();
if (!weak_this) if (!weak_this)
return; return;
@ -414,8 +414,8 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
if (weak_this) if (weak_this)
web_frame->DispatchAfterPrintEvent(); web_frame->DispatchAfterPrintEvent();
} }
@@ -1165,7 +1167,9 @@ void PrintRenderFrameHelper::OnDestruct() { @@ -1224,7 +1226,9 @@ void PrintRenderFrameHelper::InitiatePrintPreview(
delete this; #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW)
} }
-void PrintRenderFrameHelper::OnPrintPages() { -void PrintRenderFrameHelper::OnPrintPages() {
@ -425,7 +425,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
if (ipc_nesting_level_ > 1) if (ipc_nesting_level_ > 1)
return; return;
@@ -1178,7 +1182,8 @@ void PrintRenderFrameHelper::OnPrintPages() { @@ -1237,7 +1241,8 @@ void PrintRenderFrameHelper::OnPrintPages() {
// If we are printing a PDF extension frame, find the plugin node and print // If we are printing a PDF extension frame, find the plugin node and print
// that instead. // that instead.
auto plugin = delegate_->GetPdfElement(frame); auto plugin = delegate_->GetPdfElement(frame);
@ -435,7 +435,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
if (weak_this) if (weak_this)
frame->DispatchAfterPrintEvent(); frame->DispatchAfterPrintEvent();
// WARNING: |this| may be gone at this point. Do not do any more work here and // WARNING: |this| may be gone at this point. Do not do any more work here and
@@ -1195,7 +1200,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() { @@ -1254,7 +1259,7 @@ void PrintRenderFrameHelper::OnPrintForSystemDialog() {
} }
auto weak_this = weak_ptr_factory_.GetWeakPtr(); auto weak_this = weak_ptr_factory_.GetWeakPtr();
Print(frame, print_preview_context_.source_node(), Print(frame, print_preview_context_.source_node(),
@ -444,7 +444,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
if (weak_this) if (weak_this)
frame->DispatchAfterPrintEvent(); frame->DispatchAfterPrintEvent();
// WARNING: |this| may be gone at this point. Do not do any more work here and // WARNING: |this| may be gone at this point. Do not do any more work here and
@@ -1231,6 +1236,8 @@ void PrintRenderFrameHelper::OnPrintPreview( @@ -1290,6 +1295,8 @@ void PrintRenderFrameHelper::OnPrintPreview(
if (ipc_nesting_level_ > 1) if (ipc_nesting_level_ > 1)
return; return;
@ -453,7 +453,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
print_preview_context_.OnPrintPreview(); print_preview_context_.OnPrintPreview();
UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent", UMA_HISTOGRAM_ENUMERATION("PrintPreview.PreviewEvent",
@@ -1623,7 +1630,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { @@ -1663,7 +1670,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
auto self = weak_ptr_factory_.GetWeakPtr(); auto self = weak_ptr_factory_.GetWeakPtr();
Print(duplicate_node.GetDocument().GetFrame(), duplicate_node, Print(duplicate_node.GetDocument().GetFrame(), duplicate_node,
@ -464,7 +464,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
// Check if |this| is still valid. // Check if |this| is still valid.
if (!self) if (!self)
return; return;
@@ -1634,7 +1643,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { @@ -1674,7 +1683,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
const blink::WebNode& node, const blink::WebNode& node,
@ -475,7 +475,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
// If still not finished with earlier print request simply ignore. // If still not finished with earlier print request simply ignore.
if (prep_frame_view_) if (prep_frame_view_)
return; return;
@@ -1642,7 +1653,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, @@ -1682,7 +1693,7 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
FrameReference frame_ref(frame); FrameReference frame_ref(frame);
int expected_page_count = 0; int expected_page_count = 0;
@ -484,7 +484,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
DidFinishPrinting(FAIL_PRINT_INIT); DidFinishPrinting(FAIL_PRINT_INIT);
return; // Failed to init print page settings. return; // Failed to init print page settings.
} }
@@ -1662,8 +1673,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, @@ -1702,8 +1713,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
PrintMsg_PrintPages_Params print_settings; PrintMsg_PrintPages_Params print_settings;
auto self = weak_ptr_factory_.GetWeakPtr(); auto self = weak_ptr_factory_.GetWeakPtr();
@ -498,7 +498,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
// Check if |this| is still valid. // Check if |this| is still valid.
if (!self) if (!self)
return; return;
@@ -1870,10 +1884,23 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages( @@ -1910,10 +1924,23 @@ std::vector<int> PrintRenderFrameHelper::GetPrintedPages(
return printed_pages; return printed_pages;
} }
@ -525,7 +525,7 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
// Check if the printer returned any settings, if the settings is empty, we // Check if the printer returned any settings, if the settings is empty, we
// can safely assume there are no printer drivers configured. So we safely // can safely assume there are no printer drivers configured. So we safely
// terminate. // terminate.
@@ -1893,12 +1920,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) { @@ -1933,12 +1960,14 @@ bool PrintRenderFrameHelper::InitPrintSettings(bool fit_to_paper_size) {
return result; return result;
} }
@ -545,11 +545,11 @@ index a7780f1beabca9d7335333357fe7cf9f1fcb0d3c..8351ed13f30372dc5e0dcd5b39d9a694
Send(new PrintHostMsg_ShowInvalidPrinterSettingsError(routing_id())); Send(new PrintHostMsg_ShowInvalidPrinterSettingsError(routing_id()));
return false; return false;
diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h diff --git a/components/printing/renderer/print_render_frame_helper.h b/components/printing/renderer/print_render_frame_helper.h
index 71c0c15217b62cd7a6087c6d9ae50481f9041d5f..18d853d7f808aaf816de86e8c5b8231738d16f55 100644 index a4f11e5e5ab7e00522fff073d89b5e7638a19d21..1d94e895ff1d8b86e8e8e6a4189b08471e2728d5 100644
--- a/components/printing/renderer/print_render_frame_helper.h --- a/components/printing/renderer/print_render_frame_helper.h
+++ b/components/printing/renderer/print_render_frame_helper.h +++ b/components/printing/renderer/print_render_frame_helper.h
@@ -193,7 +193,8 @@ class PrintRenderFrameHelper @@ -204,7 +204,8 @@ class PrintRenderFrameHelper
bool OnMessageReceived(const IPC::Message& message) override; bool has_selection) override;
// Message handlers --------------------------------------------------------- // Message handlers ---------------------------------------------------------
- void OnPrintPages(); - void OnPrintPages();
@ -557,8 +557,8 @@ index 71c0c15217b62cd7a6087c6d9ae50481f9041d5f..18d853d7f808aaf816de86e8c5b82317
+ const base::DictionaryValue& settings); + const base::DictionaryValue& settings);
void OnPrintForSystemDialog(); void OnPrintForSystemDialog();
#if BUILDFLAG(ENABLE_PRINT_PREVIEW) #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
void OnInitiatePrintPreview(bool has_selection); void OnPrintPreview(const base::DictionaryValue& settings);
@@ -243,7 +244,9 @@ class PrintRenderFrameHelper @@ -253,7 +254,9 @@ class PrintRenderFrameHelper
// WARNING: |this| may be gone after this method returns. // WARNING: |this| may be gone after this method returns.
void Print(blink::WebLocalFrame* frame, void Print(blink::WebLocalFrame* frame,
const blink::WebNode& node, const blink::WebNode& node,
@ -569,7 +569,7 @@ index 71c0c15217b62cd7a6087c6d9ae50481f9041d5f..18d853d7f808aaf816de86e8c5b82317
// Notification when printing is done - signal tear-down/free resources. // Notification when printing is done - signal tear-down/free resources.
void DidFinishPrinting(PrintingResult result); void DidFinishPrinting(PrintingResult result);
@@ -252,12 +255,14 @@ class PrintRenderFrameHelper @@ -262,12 +265,14 @@ class PrintRenderFrameHelper
// Initialize print page settings with default settings. // Initialize print page settings with default settings.
// Used only for native printing workflow. // Used only for native printing workflow.
@ -587,7 +587,7 @@ index 71c0c15217b62cd7a6087c6d9ae50481f9041d5f..18d853d7f808aaf816de86e8c5b82317
#if BUILDFLAG(ENABLE_PRINT_PREVIEW) #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
// Set options for print preset from source PDF document. // Set options for print preset from source PDF document.
diff --git a/printing/print_settings_conversion.cc b/printing/print_settings_conversion.cc diff --git a/printing/print_settings_conversion.cc b/printing/print_settings_conversion.cc
index 17c363ff9aa2e2262cacd0c9baea3820334bf67b..5b02461c2e9afe254405ddacd904e4bdbddd0b8b 100644 index 7403d3ea6200e2443ca23cb483c2a36fa6ff5027..05fcb8c2ef6d1074cf37b8974830d3fe1dd6e011 100644
--- a/printing/print_settings_conversion.cc --- a/printing/print_settings_conversion.cc
+++ b/printing/print_settings_conversion.cc +++ b/printing/print_settings_conversion.cc
@@ -184,11 +184,12 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings, @@ -184,11 +184,12 @@ bool PrintSettingsFromJobSettings(const base::Value& job_settings,
@ -618,7 +618,7 @@ index cd5c27c87df175676504a06b4e1904f6b836dc90..c4f6acf66bc69f1e7db633aa5b3b03a9
NOTREACHED(); NOTREACHED();
return OnError(); return OnError();
diff --git a/printing/printing_context.h b/printing/printing_context.h diff --git a/printing/printing_context.h b/printing/printing_context.h
index 6a5a7c90ef5b..a033c58076ff 100644 index 6a5a7c90ef5ba82837095c7bb934881b108797f7..a033c58076ff229ae45ed7c454fc60a57e5707b7 100644
--- a/printing/printing_context.h --- a/printing/printing_context.h
+++ b/printing/printing_context.h +++ b/printing/printing_context.h
@@ -131,12 +131,12 @@ class PRINTING_EXPORT PrintingContext { @@ -131,12 +131,12 @@ class PRINTING_EXPORT PrintingContext {

View file

@ -8,7 +8,7 @@ needed in chromium but our autofill implementation uses them. This patch can be
our autofill implementation to work like Chromium's. our autofill implementation to work like Chromium's.
diff --git a/chrome/browser/ui/libgtkui/native_theme_gtk.cc b/chrome/browser/ui/libgtkui/native_theme_gtk.cc diff --git a/chrome/browser/ui/libgtkui/native_theme_gtk.cc b/chrome/browser/ui/libgtkui/native_theme_gtk.cc
index b77b8a53b0246b05e3c45e74eaf2b5c44c6dad88..7af171f6cd5d76e87e2fca32f5dbcc34d7e0a974 100644 index 80542c2cab345f991079453b66f58439d0f214eb..d460eb8d2432df1209412a28cecc22f2db9af99b 100644
--- a/chrome/browser/ui/libgtkui/native_theme_gtk.cc --- a/chrome/browser/ui/libgtkui/native_theme_gtk.cc
+++ b/chrome/browser/ui/libgtkui/native_theme_gtk.cc +++ b/chrome/browser/ui/libgtkui/native_theme_gtk.cc
@@ -279,6 +279,27 @@ SkColor SkColorFromColorId(ui::NativeTheme::ColorId color_id) { @@ -279,6 +279,27 @@ SkColor SkColorFromColorId(ui::NativeTheme::ColorId color_id) {
@ -40,7 +40,7 @@ index b77b8a53b0246b05e3c45e74eaf2b5c44c6dad88..7af171f6cd5d76e87e2fca32f5dbcc34
// TODO(thomasanderson): Render GtkSpinner directly. // TODO(thomasanderson): Render GtkSpinner directly.
case ui::NativeTheme::kColorId_ThrobberSpinningColor: case ui::NativeTheme::kColorId_ThrobberSpinningColor:
diff --git a/ui/native_theme/common_theme.cc b/ui/native_theme/common_theme.cc diff --git a/ui/native_theme/common_theme.cc b/ui/native_theme/common_theme.cc
index af391345a4c893e3fbde4f750af429a0567188d2..febfb06f18b6f51e6ebcc0c59e2a81b259e97997 100644 index 7fd49a2e26968daaa16ed3322b516f53ff60fb56..f902910ecc8e5b4945187e836655362ebba49204 100644
--- a/ui/native_theme/common_theme.cc --- a/ui/native_theme/common_theme.cc
+++ b/ui/native_theme/common_theme.cc +++ b/ui/native_theme/common_theme.cc
@@ -56,6 +56,14 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id, @@ -56,6 +56,14 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id,
@ -58,7 +58,7 @@ index af391345a4c893e3fbde4f750af429a0567188d2..febfb06f18b6f51e6ebcc0c59e2a81b2
// FocusableBorder // FocusableBorder
case NativeTheme::kColorId_FocusedBorderColor: case NativeTheme::kColorId_FocusedBorderColor:
return SkColorSetA(gfx::kGoogleBlue300, 0x66); return SkColorSetA(gfx::kGoogleBlue300, 0x66);
@@ -357,6 +365,18 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id, @@ -359,6 +367,18 @@ SkColor GetAuraColor(NativeTheme::ColorId color_id,
case NativeTheme::kColorId_UnfocusedBorderColor: case NativeTheme::kColorId_UnfocusedBorderColor:
return SkColorSetA(SK_ColorBLACK, 0x66); return SkColorSetA(SK_ColorBLACK, 0x66);
@ -94,10 +94,10 @@ index 3604105e43ee1866a8517c52ed05205b3ed10b56..70389e0245993faa2c17e9deefeb0002
kColorId_ThrobberSpinningColor, kColorId_ThrobberSpinningColor,
kColorId_ThrobberWaitingColor, kColorId_ThrobberWaitingColor,
diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc diff --git a/ui/native_theme/native_theme_win.cc b/ui/native_theme/native_theme_win.cc
index 257206023976b889590bc225f6542881e8a5d463..3003643bfb78cec2f5e84fc9e1471e1ef54aae41 100644 index 5b1804538c2e78af23c797004f250369580b4178..97e72bc38a7231ce295ad943e977c69586cc6e07 100644
--- a/ui/native_theme/native_theme_win.cc --- a/ui/native_theme/native_theme_win.cc
+++ b/ui/native_theme/native_theme_win.cc +++ b/ui/native_theme/native_theme_win.cc
@@ -559,6 +559,17 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id, @@ -673,6 +673,17 @@ SkColor NativeThemeWin::GetSystemColor(ColorId color_id,
case kColorId_TableGroupingIndicatorColor: case kColorId_TableGroupingIndicatorColor:
return system_colors_[SystemThemeColor::kGrayText]; return system_colors_[SystemThemeColor::kGrayText];

View file

@ -5,10 +5,10 @@ Subject: render_widget_host_view_base.patch
diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc diff --git a/content/browser/renderer_host/render_widget_host_view_base.cc b/content/browser/renderer_host/render_widget_host_view_base.cc
index f41270e262784602c90b79b7aefbcd1a7af43dd8..a28ea7ee72fbf596b2b1d10cacaad4068d62e4d4 100644 index dbfcd1da5c853a396b6a44c1a2968cc317d10125..3dc776ac982fdd5d4d15bd3afdf208810340db4e 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.cc --- a/content/browser/renderer_host/render_widget_host_view_base.cc
+++ b/content/browser/renderer_host/render_widget_host_view_base.cc +++ b/content/browser/renderer_host/render_widget_host_view_base.cc
@@ -627,6 +627,15 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor( @@ -631,6 +631,15 @@ bool RenderWidgetHostViewBase::ScreenRectIsUnstableFor(
return false; return false;
} }
@ -25,7 +25,7 @@ index f41270e262784602c90b79b7aefbcd1a7af43dd8..a28ea7ee72fbf596b2b1d10cacaad406
const blink::WebMouseEvent& event, const blink::WebMouseEvent& event,
const ui::LatencyInfo& latency) { const ui::LatencyInfo& latency) {
diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h diff --git a/content/browser/renderer_host/render_widget_host_view_base.h b/content/browser/renderer_host/render_widget_host_view_base.h
index 41288f633262f49ed7fb174c1af4e1834061c940..7fac11ee38f50165a0089473de5be601b1edf040 100644 index 2bd5d56bc37daa97e32cb2be20f9d1b49abd91a2..77674ba193fa3fee3ff0dc5c83cc36c50fbcba68 100644
--- a/content/browser/renderer_host/render_widget_host_view_base.h --- a/content/browser/renderer_host/render_widget_host_view_base.h
+++ b/content/browser/renderer_host/render_widget_host_view_base.h +++ b/content/browser/renderer_host/render_widget_host_view_base.h
@@ -24,9 +24,11 @@ @@ -24,9 +24,11 @@
@ -52,7 +52,7 @@ index 41288f633262f49ed7fb174c1af4e1834061c940..7fac11ee38f50165a0089473de5be601
class WebCursor; class WebCursor;
class DelegatedFrameHost; class DelegatedFrameHost;
struct TextInputState; struct TextInputState;
@@ -131,6 +135,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -132,6 +136,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool destination_is_loaded, bool destination_is_loaded,
bool destination_is_frozen) final; bool destination_is_frozen) final;
@ -62,7 +62,7 @@ index 41288f633262f49ed7fb174c1af4e1834061c940..7fac11ee38f50165a0089473de5be601
// This only needs to be overridden by RenderWidgetHostViewBase subclasses // This only needs to be overridden by RenderWidgetHostViewBase subclasses
// that handle content embedded within other RenderWidgetHostViews. // that handle content embedded within other RenderWidgetHostViews.
gfx::PointF TransformPointToRootCoordSpaceF( gfx::PointF TransformPointToRootCoordSpaceF(
@@ -348,6 +355,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -349,6 +356,11 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
virtual void ProcessGestureEvent(const blink::WebGestureEvent& event, virtual void ProcessGestureEvent(const blink::WebGestureEvent& event,
const ui::LatencyInfo& latency); const ui::LatencyInfo& latency);

View file

@ -5,10 +5,10 @@ Subject: render_widget_host_view_mac.patch
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653de1c70c7 100644 index d8de080eb6a30f16282661941b9a95da4fa41d70..326c5a13f6924643c699ca3cc2f98262a21fd907 100644
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm --- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm +++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
@@ -152,6 +152,11 @@ void ExtractUnderlines(NSAttributedString* string, @@ -153,6 +153,11 @@ void ExtractUnderlines(NSAttributedString* string,
} // namespace } // namespace
@ -20,7 +20,7 @@ index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653
// These are not documented, so use only after checking -respondsToSelector:. // These are not documented, so use only after checking -respondsToSelector:.
@interface NSApplication (UndocumentedSpeechMethods) @interface NSApplication (UndocumentedSpeechMethods)
- (void)speakString:(NSString*)string; - (void)speakString:(NSString*)string;
@@ -569,6 +574,9 @@ - (BOOL)acceptsMouseEventsWhenInactive { @@ -572,6 +577,9 @@ - (BOOL)acceptsMouseEventsWhenInactive {
} }
- (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent {
@ -30,7 +30,7 @@ index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653
return [self acceptsMouseEventsWhenInactive]; return [self acceptsMouseEventsWhenInactive];
} }
@@ -988,6 +996,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv { @@ -990,6 +998,10 @@ - (void)keyEvent:(NSEvent*)theEvent wasKeyEquivalent:(BOOL)equiv {
eventType == NSKeyDown && eventType == NSKeyDown &&
!(modifierFlags & NSCommandKeyMask); !(modifierFlags & NSCommandKeyMask);
@ -41,7 +41,7 @@ index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653
// We only handle key down events and just simply forward other events. // We only handle key down events and just simply forward other events.
if (eventType != NSKeyDown) { if (eventType != NSKeyDown) {
hostHelper_->ForwardKeyboardEvent(event, latency_info); hostHelper_->ForwardKeyboardEvent(event, latency_info);
@@ -1767,9 +1779,11 @@ - (NSAccessibilityRole)accessibilityRole { @@ -1769,9 +1781,11 @@ - (NSAccessibilityRole)accessibilityRole {
// Since this implementation doesn't have to wait any IPC calls, this doesn't // Since this implementation doesn't have to wait any IPC calls, this doesn't
// make any key-typing jank. --hbono 7/23/09 // make any key-typing jank. --hbono 7/23/09
// //
@ -53,7 +53,7 @@ index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653
- (NSArray*)validAttributesForMarkedText { - (NSArray*)validAttributesForMarkedText {
// This code is just copied from WebKit except renaming variables. // This code is just copied from WebKit except renaming variables.
@@ -1778,7 +1792,10 @@ - (NSArray*)validAttributesForMarkedText { @@ -1780,7 +1794,10 @@ - (NSArray*)validAttributesForMarkedText {
initWithObjects:NSUnderlineStyleAttributeName, initWithObjects:NSUnderlineStyleAttributeName,
NSUnderlineColorAttributeName, NSUnderlineColorAttributeName,
NSMarkedClauseSegmentAttributeName, NSMarkedClauseSegmentAttributeName,
@ -66,7 +66,7 @@ index a9654d8c1a9e15a3f90ec54a0b8e1bc61ce1f803..6c1e802fda70968cbcbea157fc982653
return validAttributesForMarkedText_.get(); return validAttributesForMarkedText_.get();
} }
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
index f52e0750f337dde0a1f3e7d6d36bac8a62094316..0aac157ae84f975acd6a944c63194bf2ed233188 100644 index ed9ea51809ec7f06b246b933281dc22b9b0055f7..32f3f2cceb742065db8b52a9f6aa814cfc30f955 100644
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm --- a/content/browser/renderer_host/render_widget_host_view_mac.mm
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -63,6 +63,7 @@ @@ -63,6 +63,7 @@

View file

@ -52,10 +52,10 @@ Some alternatives to this patch:
None of these options seems like a substantial maintainability win over this patch to me (@nornagon). None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index a9814f1349d886c0ec1968fa9bf4e2695c475307..e54ad878e0815c0210f8627816ae1be3151bfb34 100644 index 03dcf65c25ddeb6ae6074435f37b24b4b54cfc57..0e33dfbadf723b9a578c79725ad535ad24820db7 100644
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -1624,7 +1624,7 @@ if (is_chrome_branded && !is_android) { @@ -1599,7 +1599,7 @@ if (is_chrome_branded && !is_android) {
} }
} }
@ -64,7 +64,7 @@ index a9814f1349d886c0ec1968fa9bf4e2695c475307..e54ad878e0815c0210f8627816ae1be3
chrome_paks("packed_resources") { chrome_paks("packed_resources") {
if (is_mac) { if (is_mac) {
output_dir = "$root_gen_dir/repack" output_dir = "$root_gen_dir/repack"
@@ -1648,6 +1648,12 @@ if (!is_android) { @@ -1623,6 +1623,12 @@ if (!is_android) {
} }
} }

View file

@ -0,0 +1,531 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Samuel Attard <sattard@slack-corp.com>
Date: Wed, 28 Aug 2019 14:00:54 -0700
Subject: Revert "Cleanup: Remove Menu Subtitles/Sublabels"
This reverts commit 27a7b3648684204ccb16ede5cf3947579bd6c222.
diff --git a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
index 273666e278b3c6d1ac1e203f51a6a701366cdf2f..e9ab80665fd54b13c4211016e1607dc6cc5d53c2 100644
--- a/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
+++ b/chrome/browser/renderer_context_menu/mock_render_view_context_menu.cc
@@ -157,7 +157,7 @@ void MockRenderViewContextMenu::AppendSubMenuItems(ui::MenuModel* model) {
sub_item.enabled = model->IsEnabledAt(i);
sub_item.checked = model->IsItemCheckedAt(i);
sub_item.hidden = false;
- sub_item.title = model->GetLabelAt(i);
+ sub_item.title = model->GetSublabelAt(i);
items_.push_back(sub_item);
}
}
diff --git a/chrome/browser/status_icons/status_icon_menu_model.cc b/chrome/browser/status_icons/status_icon_menu_model.cc
index 35d5182b293bcc5e013654f71e2366afef7f3e24..6deae7c286e9da72ab6a35d2e973da7fb32353d6 100644
--- a/chrome/browser/status_icons/status_icon_menu_model.cc
+++ b/chrome/browser/status_icons/status_icon_menu_model.cc
@@ -20,6 +20,7 @@ struct StatusIconMenuModel::ItemState {
bool is_dynamic;
ui::Accelerator accelerator;
base::string16 label;
+ base::string16 sublabel;
gfx::Image icon;
};
@@ -61,6 +62,13 @@ void StatusIconMenuModel::ChangeLabelForCommandId(int command_id,
NotifyMenuStateChanged();
}
+void StatusIconMenuModel::ChangeSublabelForCommandId(
+ int command_id, const base::string16& sublabel) {
+ item_states_[command_id].is_dynamic = true;
+ item_states_[command_id].sublabel = sublabel;
+ NotifyMenuStateChanged();
+}
+
void StatusIconMenuModel::ChangeIconForCommandId(
int command_id, const gfx::Image& icon) {
item_states_[command_id].is_dynamic = true;
@@ -122,6 +130,14 @@ base::string16 StatusIconMenuModel::GetLabelForCommandId(int command_id) const {
return base::string16();
}
+base::string16 StatusIconMenuModel::GetSublabelForCommandId(
+ int command_id) const {
+ auto iter = item_states_.find(command_id);
+ if (iter != item_states_.end())
+ return iter->second.sublabel;
+ return base::string16();
+}
+
bool StatusIconMenuModel::GetIconForCommandId(int command_id,
gfx::Image* image_skia) const {
auto iter = item_states_.find(command_id);
diff --git a/chrome/browser/status_icons/status_icon_menu_model.h b/chrome/browser/status_icons/status_icon_menu_model.h
index f40a33f7ce6ef9c9c538f44a86a404925eec32b5..556f531fcb66072828f3b5c2c07cd9d6a744ad53 100644
--- a/chrome/browser/status_icons/status_icon_menu_model.h
+++ b/chrome/browser/status_icons/status_icon_menu_model.h
@@ -61,9 +61,11 @@ class StatusIconMenuModel
// Calling any of these "change" methods will mark the menu item as "dynamic"
// (see menu_model.h:IsItemDynamicAt) which many platforms take as a cue to
- // refresh the label and icon of the menu item each time the menu is
+ // refresh the label, sublabel and icon of the menu item each time the menu is
// shown.
void ChangeLabelForCommandId(int command_id, const base::string16& label);
+ void ChangeSublabelForCommandId(
+ int command_id, const base::string16& sublabel);
void ChangeIconForCommandId(int command_id, const gfx::Image& icon);
void AddObserver(Observer* observer);
@@ -77,6 +79,7 @@ class StatusIconMenuModel
ui::Accelerator* accelerator) const override;
bool IsItemForCommandIdDynamic(int command_id) const override;
base::string16 GetLabelForCommandId(int command_id) const override;
+ base::string16 GetSublabelForCommandId(int command_id) const override;
bool GetIconForCommandId(int command_id, gfx::Image* icon) const override;
protected:
diff --git a/chrome/browser/status_icons/status_icon_menu_model_unittest.cc b/chrome/browser/status_icons/status_icon_menu_model_unittest.cc
index a258d038da4a2bbfc6ec13c250781166235c1fbc..f6dbaa19cdb8938204c3452622589708c7bc3bb2 100644
--- a/chrome/browser/status_icons/status_icon_menu_model_unittest.cc
+++ b/chrome/browser/status_icons/status_icon_menu_model_unittest.cc
@@ -90,6 +90,10 @@ TEST_F(StatusIconMenuModelTest, SetProperties) {
menu_model()->ChangeLabelForCommandId(0, ASCIIToUTF16("label2"));
EXPECT_EQ(ASCIIToUTF16("label2"), menu_model()->GetLabelForCommandId(0));
+ // Set the sublabel and icon image for the second menu item.
+ menu_model()->ChangeSublabelForCommandId(1, ASCIIToUTF16("sublabel"));
+ EXPECT_EQ(ASCIIToUTF16("sublabel"), menu_model()->GetSublabelForCommandId(1));
+
// Try setting icon image and changing it.
menu_model()->ChangeIconForCommandId(1, test_image1);
EXPECT_TRUE(menu_model()->GetIconForCommandId(1, &image_arg));
@@ -98,8 +102,9 @@ TEST_F(StatusIconMenuModelTest, SetProperties) {
// Ensure changes to one menu item does not affect the other menu item.
EXPECT_FALSE(menu_model()->GetAcceleratorForCommandId(1, &accel_arg));
EXPECT_EQ(base::string16(), menu_model()->GetLabelForCommandId(1));
+ EXPECT_EQ(base::string16(), menu_model()->GetSublabelForCommandId(0));
EXPECT_FALSE(menu_model()->GetIconForCommandId(0, &image_arg));
- // Menu state should have changed 6 times in this test.
- EXPECT_EQ(6, changed_count());
+ // Menu state should have changed 7 times in this test.
+ EXPECT_EQ(7, changed_count());
}
diff --git a/chrome/browser/ui/views/menu_item_view_interactive_uitest.cc b/chrome/browser/ui/views/menu_item_view_interactive_uitest.cc
index 654d0bf906c4785321a1fcdad9e12a22dbbbc170..6159eca4a400112f10647defe857c72740ff2779 100644
--- a/chrome/browser/ui/views/menu_item_view_interactive_uitest.cc
+++ b/chrome/browser/ui/views/menu_item_view_interactive_uitest.cc
@@ -91,8 +91,8 @@ class MenuItemViewTestInsert : public MenuTestBase {
inserted_item_ = menu()->AddMenuItemAt(
INSERT_INDEX, 1000, ASCIIToUTF16("inserted item"), base::string16(),
- nullptr, gfx::ImageSkia(), nullptr, views::MenuItemView::NORMAL,
- ui::NORMAL_SEPARATOR);
+ base::string16(), nullptr, gfx::ImageSkia(), nullptr,
+ views::MenuItemView::NORMAL, ui::NORMAL_SEPARATOR);
ASSERT_TRUE(inserted_item_);
menu()->ChildrenChanged();
@@ -186,8 +186,8 @@ class MenuItemViewTestInsertWithSubmenu : public MenuTestBase {
void Step2() {
inserted_item_ = menu()->AddMenuItemAt(
INSERT_INDEX, 1000, ASCIIToUTF16("inserted item"), base::string16(),
- nullptr, gfx::ImageSkia(), nullptr, views::MenuItemView::NORMAL,
- ui::NORMAL_SEPARATOR);
+ base::string16(), nullptr, gfx::ImageSkia(), nullptr,
+ views::MenuItemView::NORMAL, ui::NORMAL_SEPARATOR);
ASSERT_TRUE(inserted_item_);
menu()->ChildrenChanged();
diff --git a/chrome/browser/ui/views/status_icons/concat_menu_model.cc b/chrome/browser/ui/views/status_icons/concat_menu_model.cc
index ead2226583589c2921db7a0d5e97dc6388c49b6c..d537405caad6c30af0f48a168a17252756250e46 100644
--- a/chrome/browser/ui/views/status_icons/concat_menu_model.cc
+++ b/chrome/browser/ui/views/status_icons/concat_menu_model.cc
@@ -33,6 +33,10 @@ base::string16 ConcatMenuModel::GetLabelAt(int index) const {
return GetterImpl(&ui::MenuModel::GetLabelAt, index);
}
+base::string16 ConcatMenuModel::GetSublabelAt(int index) const {
+ return GetterImpl(&ui::MenuModel::GetSublabelAt, index);
+}
+
base::string16 ConcatMenuModel::GetMinorTextAt(int index) const {
return GetterImpl(&ui::MenuModel::GetMinorTextAt, index);
}
diff --git a/chrome/browser/ui/views/status_icons/concat_menu_model.h b/chrome/browser/ui/views/status_icons/concat_menu_model.h
index 0ad30d57d6d13bc8d42920010145595ce0031573..7b73b5753cfd4595121e5b81fd3c95682869e17b 100644
--- a/chrome/browser/ui/views/status_icons/concat_menu_model.h
+++ b/chrome/browser/ui/views/status_icons/concat_menu_model.h
@@ -23,6 +23,7 @@ class ConcatMenuModel : public ui::MenuModel {
ui::MenuSeparatorType GetSeparatorTypeAt(int index) const override;
int GetCommandIdAt(int index) const override;
base::string16 GetLabelAt(int index) const override;
+ base::string16 GetSublabelAt(int index) const override;
base::string16 GetMinorTextAt(int index) const override;
const gfx::VectorIcon* GetMinorIconAt(int index) const override;
bool IsItemDynamicAt(int index) const override;
diff --git a/ui/base/models/menu_model.cc b/ui/base/models/menu_model.cc
index 73f0ab6d84d2cab6732866a6dc4b781faf630c0e..3319d058e8303066e0159d02d27ee2e8a46b38ec 100644
--- a/ui/base/models/menu_model.cc
+++ b/ui/base/models/menu_model.cc
@@ -46,6 +46,10 @@ bool MenuModel::GetModelAndIndexForCommandId(int command_id,
return false;
}
+base::string16 MenuModel::GetSublabelAt(int index) const {
+ return base::string16();
+}
+
base::string16 MenuModel::GetMinorTextAt(int index) const {
return base::string16();
}
diff --git a/ui/base/models/menu_model.h b/ui/base/models/menu_model.h
index e0324ff11fb8c6b578ea7e902488235c33ec5485..690aa082b6be0bd576770d03ac94075183c1f9d6 100644
--- a/ui/base/models/menu_model.h
+++ b/ui/base/models/menu_model.h
@@ -64,6 +64,10 @@ class UI_BASE_EXPORT MenuModel {
// Returns the label of the item at the specified index.
virtual base::string16 GetLabelAt(int index) const = 0;
+ // Returns the sublabel of the item at the specified index. The sublabel
+ // is rendered beneath the label and using the font GetLabelFontAt().
+ virtual base::string16 GetSublabelAt(int index) const;
+
// Returns the minor text of the item at the specified index. The minor text
// is rendered to the right of the label and using the font GetLabelFontAt().
virtual base::string16 GetMinorTextAt(int index) const;
diff --git a/ui/base/models/simple_menu_model.cc b/ui/base/models/simple_menu_model.cc
index 0aeeb3e47074590834de6d9ca7e3eb7dbf6a7793..5efc0589644e243a095765710302af992d53f5b8 100644
--- a/ui/base/models/simple_menu_model.cc
+++ b/ui/base/models/simple_menu_model.cc
@@ -42,6 +42,11 @@ base::string16 SimpleMenuModel::Delegate::GetLabelForCommandId(
return base::string16();
}
+base::string16 SimpleMenuModel::Delegate::GetSublabelForCommandId(
+ int command_id) const {
+ return base::string16();
+}
+
base::string16 SimpleMenuModel::Delegate::GetMinorTextForCommandId(
int command_id) const {
return base::string16();
@@ -324,6 +329,11 @@ void SimpleMenuModel::SetLabel(int index, const base::string16& label) {
MenuItemsChanged();
}
+void SimpleMenuModel::SetSublabel(int index, const base::string16& sublabel) {
+ items_[ValidateItemIndex(index)].sublabel = sublabel;
+ MenuItemsChanged();
+}
+
void SimpleMenuModel::SetMinorText(int index,
const base::string16& minor_text) {
items_[ValidateItemIndex(index)].minor_text = minor_text;
@@ -398,6 +408,12 @@ base::string16 SimpleMenuModel::GetLabelAt(int index) const {
return items_[ValidateItemIndex(index)].label;
}
+base::string16 SimpleMenuModel::GetSublabelAt(int index) const {
+ if (IsItemDynamicAt(index))
+ return delegate_->GetSublabelForCommandId(GetCommandIdAt(index));
+ return items_[ValidateItemIndex(index)].sublabel;
+}
+
base::string16 SimpleMenuModel::GetMinorTextAt(int index) const {
if (IsItemDynamicAt(index))
return delegate_->GetMinorTextForCommandId(GetCommandIdAt(index));
diff --git a/ui/base/models/simple_menu_model.h b/ui/base/models/simple_menu_model.h
index 3cc9d686da8f64ddc8bdc66df40b1866bdd20607..dfacbdd4a55b5f5aa4d8c67136c607f75a880278 100644
--- a/ui/base/models/simple_menu_model.h
+++ b/ui/base/models/simple_menu_model.h
@@ -44,10 +44,11 @@ class UI_BASE_EXPORT SimpleMenuModel : public MenuModel {
// Delegate should return true if |command_id| should be visible.
virtual bool IsCommandIdVisible(int command_id) const;
- // Some command ids have labels, minor text and icons that change over
- // time.
+ // Some command ids have labels, sublabels, minor text and icons that change
+ // over time.
virtual bool IsItemForCommandIdDynamic(int command_id) const;
virtual base::string16 GetLabelForCommandId(int command_id) const;
+ virtual base::string16 GetSublabelForCommandId(int command_id) const;
virtual base::string16 GetMinorTextForCommandId(int command_id) const;
// Gets the icon for the item with the specified id, returning true if there
// is an icon, false otherwise.
@@ -175,6 +176,9 @@ class UI_BASE_EXPORT SimpleMenuModel : public MenuModel {
// Sets the label for the item at |index|.
void SetLabel(int index, const base::string16& label);
+ // Sets the sublabel for the item at |index|.
+ void SetSublabel(int index, const base::string16& sublabel);
+
// Sets the minor text for the item at |index|.
void SetMinorText(int index, const base::string16& minor_text);
@@ -201,6 +205,7 @@ class UI_BASE_EXPORT SimpleMenuModel : public MenuModel {
ui::MenuSeparatorType GetSeparatorTypeAt(int index) const override;
int GetCommandIdAt(int index) const override;
base::string16 GetLabelAt(int index) const override;
+ base::string16 GetSublabelAt(int index) const override;
base::string16 GetMinorTextAt(int index) const override;
const gfx::VectorIcon* GetMinorIconAt(int index) const override;
bool IsItemDynamicAt(int index) const override;
@@ -236,6 +241,7 @@ class UI_BASE_EXPORT SimpleMenuModel : public MenuModel {
int command_id = 0;
ItemType type = TYPE_COMMAND;
base::string16 label;
+ base::string16 sublabel;
base::string16 minor_text;
const gfx::VectorIcon* minor_icon = nullptr;
gfx::Image icon;
diff --git a/ui/views/controls/menu/menu_item_view.cc b/ui/views/controls/menu/menu_item_view.cc
index 729e5ec0b3df05ac96460498612d3fa6742de61a..cfcb44804073da550b77878b0ca216cd3d46da95 100644
--- a/ui/views/controls/menu/menu_item_view.cc
+++ b/ui/views/controls/menu/menu_item_view.cc
@@ -277,6 +277,7 @@ MenuItemView* MenuItemView::AddMenuItemAt(
int index,
int item_id,
const base::string16& label,
+ const base::string16& sublabel,
const base::string16& minor_text,
const gfx::VectorIcon* minor_icon,
const gfx::ImageSkia& icon,
@@ -297,6 +298,7 @@ MenuItemView* MenuItemView::AddMenuItemAt(
item->SetTitle(GetDelegate()->GetLabel(item_id));
else
item->SetTitle(label);
+ item->SetSubtitle(sublabel);
item->SetMinorText(minor_text);
item->SetMinorIcon(minor_icon);
if (vector_icon) {
@@ -338,21 +340,23 @@ void MenuItemView::RemoveAllMenuItems() {
MenuItemView* MenuItemView::AppendMenuItem(int item_id,
const base::string16& label,
Type type) {
- return AppendMenuItemImpl(item_id, label, base::string16(), nullptr,
- gfx::ImageSkia(), type, ui::NORMAL_SEPARATOR);
+ return AppendMenuItemImpl(item_id, label, base::string16(), base::string16(),
+ nullptr, gfx::ImageSkia(), type,
+ ui::NORMAL_SEPARATOR);
}
MenuItemView* MenuItemView::AppendSubMenu(int item_id,
const base::string16& label) {
- return AppendMenuItemImpl(item_id, label, base::string16(), nullptr,
- gfx::ImageSkia(), SUBMENU, ui::NORMAL_SEPARATOR);
+ return AppendMenuItemImpl(item_id, label, base::string16(), base::string16(),
+ nullptr, gfx::ImageSkia(), SUBMENU,
+ ui::NORMAL_SEPARATOR);
}
MenuItemView* MenuItemView::AppendSubMenuWithIcon(int item_id,
const base::string16& label,
const gfx::ImageSkia& icon) {
- return AppendMenuItemImpl(item_id, label, base::string16(), nullptr, icon,
- SUBMENU, ui::NORMAL_SEPARATOR);
+ return AppendMenuItemImpl(item_id, label, base::string16(), base::string16(),
+ nullptr, icon, SUBMENU, ui::NORMAL_SEPARATOR);
}
MenuItemView* MenuItemView::AppendMenuItemWithLabel(
@@ -366,12 +370,14 @@ MenuItemView* MenuItemView::AppendDelegateMenuItem(int item_id) {
}
void MenuItemView::AppendSeparator() {
- AppendMenuItemImpl(0, base::string16(), base::string16(), nullptr,
- gfx::ImageSkia(), SEPARATOR, ui::NORMAL_SEPARATOR);
+ AppendMenuItemImpl(0, base::string16(), base::string16(), base::string16(),
+ nullptr, gfx::ImageSkia(), SEPARATOR,
+ ui::NORMAL_SEPARATOR);
}
void MenuItemView::AddSeparatorAt(int index) {
AddMenuItemAt(index, /*item_id=*/0, /*label=*/base::string16(),
+ /*sub_label=*/base::string16(),
/*minor_text=*/base::string16(), /*minor_icon=*/nullptr,
/*icon=*/gfx::ImageSkia(), /*vector_icon=*/nullptr,
/*type=*/SEPARATOR,
@@ -381,21 +387,22 @@ void MenuItemView::AddSeparatorAt(int index) {
MenuItemView* MenuItemView::AppendMenuItemWithIcon(int item_id,
const base::string16& label,
const gfx::ImageSkia& icon) {
- return AppendMenuItemImpl(item_id, label, base::string16(), nullptr, icon,
- NORMAL, ui::NORMAL_SEPARATOR);
+ return AppendMenuItemImpl(item_id, label, base::string16(), base::string16(),
+ nullptr, icon, NORMAL, ui::NORMAL_SEPARATOR);
}
MenuItemView* MenuItemView::AppendMenuItemImpl(
int item_id,
const base::string16& label,
+ const base::string16& sublabel,
const base::string16& minor_text,
const gfx::VectorIcon* minor_icon,
const gfx::ImageSkia& icon,
Type type,
ui::MenuSeparatorType separator_style) {
const int index = submenu_ ? int{submenu_->children().size()} : 0;
- return AddMenuItemAt(index, item_id, label, minor_text, minor_icon, icon,
- nullptr, type, separator_style);
+ return AddMenuItemAt(index, item_id, label, sublabel, minor_text, minor_icon,
+ icon, nullptr, type, separator_style);
}
SubmenuView* MenuItemView::CreateSubmenu() {
@@ -427,6 +434,11 @@ void MenuItemView::SetTitle(const base::string16& title) {
invalidate_dimensions(); // Triggers preferred size recalculation.
}
+void MenuItemView::SetSubtitle(const base::string16& subtitle) {
+ subtitle_ = subtitle;
+ invalidate_dimensions(); // Triggers preferred size recalculation.
+}
+
void MenuItemView::SetMinorText(const base::string16& minor_text) {
minor_text_ = minor_text;
invalidate_dimensions(); // Triggers preferred size recalculation.
@@ -1016,13 +1028,23 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) {
(!delegate ||
delegate->ShouldReserveSpaceForSubmenuIndicator() ?
item_right_margin_ : config.arrow_to_edge_padding);
- gfx::Rect text_bounds(label_start, top_margin, width, available_height);
+ gfx::Rect text_bounds(label_start, top_margin, width,
+ subtitle_.empty() ? available_height
+ : available_height / 2);
text_bounds.set_x(GetMirroredXForRect(text_bounds));
int flags = GetDrawStringFlags();
if (mode == PB_FOR_DRAG)
flags |= gfx::Canvas::NO_SUBPIXEL_RENDERING;
canvas->DrawStringRectWithFlags(title(), style.font_list, style.foreground,
text_bounds, flags);
+ if (!subtitle_.empty()) {
+ canvas->DrawStringRectWithFlags(
+ subtitle_, style.font_list,
+ GetNativeTheme()->GetSystemColor(
+ ui::NativeTheme::kColorId_MenuItemMinorTextColor),
+ text_bounds + gfx::Vector2d(0, style.font_list.GetHeight()), flags);
+ }
+
PaintMinorIconAndText(canvas, style);
// Set the submenu indicator (arrow) image and color.
@@ -1274,6 +1296,11 @@ MenuItemView::MenuItemDimensions MenuItemView::CalculateDimensions() const {
// Determine the length of the label text.
int string_width = gfx::GetStringWidth(title_, style.font_list);
+ if (!subtitle_.empty()) {
+ string_width =
+ std::max(string_width, gfx::GetStringWidth(subtitle_, style.font_list));
+ }
+
dimensions.standard_width = string_width + label_start +
item_right_margin_;
// Determine the length of the right-side text.
@@ -1281,9 +1308,10 @@ MenuItemView::MenuItemDimensions MenuItemView::CalculateDimensions() const {
minor_text.empty() ? 0 : gfx::GetStringWidth(minor_text, style.font_list);
// Determine the height to use.
- dimensions.height =
- std::max(dimensions.height, style.font_list.GetHeight() +
- GetBottomMargin() + GetTopMargin());
+ dimensions.height = std::max(
+ dimensions.height, (subtitle_.empty() ? 0 : style.font_list.GetHeight()) +
+ style.font_list.GetHeight() + GetBottomMargin() +
+ GetTopMargin());
dimensions.height =
std::max(dimensions.height, MenuConfig::instance().item_min_height);
diff --git a/ui/views/controls/menu/menu_item_view.h b/ui/views/controls/menu/menu_item_view.h
index 0e97c35a8a452e8c602f08e2f2b72fc71becfa4b..332b11faae5eb05291dfd268f1b951a134b559c4 100644
--- a/ui/views/controls/menu/menu_item_view.h
+++ b/ui/views/controls/menu/menu_item_view.h
@@ -151,6 +151,7 @@ class VIEWS_EXPORT MenuItemView : public View {
MenuItemView* AddMenuItemAt(int index,
int item_id,
const base::string16& label,
+ const base::string16& sublabel,
const base::string16& minor_text,
const gfx::VectorIcon* minor_icon,
const gfx::ImageSkia& icon,
@@ -214,6 +215,7 @@ class VIEWS_EXPORT MenuItemView : public View {
// All the AppendXXX methods funnel into this.
MenuItemView* AppendMenuItemImpl(int item_id,
const base::string16& label,
+ const base::string16& sublabel,
const base::string16& minor_text,
const gfx::VectorIcon* minor_icon,
const gfx::ImageSkia& icon,
@@ -241,6 +243,9 @@ class VIEWS_EXPORT MenuItemView : public View {
void SetTitle(const base::string16& title);
const base::string16& title() const { return title_; }
+ // Sets the subtitle.
+ void SetSubtitle(const base::string16& subtitle);
+
// Sets the minor text.
void SetMinorText(const base::string16& minor_text);
@@ -451,7 +456,7 @@ class VIEWS_EXPORT MenuItemView : public View {
void DestroyAllMenuHosts();
// Returns the text that should be displayed on the end (right) of the menu
- // item. This will be the accelerator (if one exists).
+ // item. This will be the accelerator (if one exists), otherwise |subtitle_|.
base::string16 GetMinorText() const;
// Returns the icon that should be displayed to the left of the minor text.
@@ -542,6 +547,9 @@ class VIEWS_EXPORT MenuItemView : public View {
// Title.
base::string16 title_;
+ // Subtitle/sublabel.
+ base::string16 subtitle_;
+
// Minor text.
base::string16 minor_text_;
diff --git a/ui/views/controls/menu/menu_item_view_unittest.cc b/ui/views/controls/menu/menu_item_view_unittest.cc
index f51bd9d85dad7771f18fc535b55b30a855eac48f..63aa8eddf51cb4821517902564e94813f6a42c02 100644
--- a/ui/views/controls/menu/menu_item_view_unittest.cc
+++ b/ui/views/controls/menu/menu_item_view_unittest.cc
@@ -324,10 +324,10 @@ class MenuItemViewPaintUnitTest : public ViewsTestBase {
// Provides assertion coverage for painting minor text and icons.
TEST_F(MenuItemViewPaintUnitTest, MinorTextAndIconAssertionCoverage) {
auto AddItem = [this](auto label, auto minor_label, auto minor_icon) {
- menu_item_view()->AddMenuItemAt(0, 1000, base::ASCIIToUTF16(label),
- minor_label, minor_icon, gfx::ImageSkia(),
- nullptr, views::MenuItemView::NORMAL,
- ui::NORMAL_SEPARATOR);
+ menu_item_view()->AddMenuItemAt(
+ 0, 1000, base::ASCIIToUTF16(label), base::string16(), minor_label,
+ minor_icon, gfx::ImageSkia(), nullptr, views::MenuItemView::NORMAL,
+ ui::NORMAL_SEPARATOR);
};
AddItem("No minor content", base::string16(), nullptr);
AddItem("Minor text only", base::ASCIIToUTF16("minor text"), nullptr);
diff --git a/ui/views/controls/menu/menu_model_adapter.cc b/ui/views/controls/menu/menu_model_adapter.cc
index 09b72733e66d1e13182730e475b781ffefe649c0..e45e249f2a89e1bfd31cc82341a65341571ffc21 100644
--- a/ui/views/controls/menu/menu_model_adapter.cc
+++ b/ui/views/controls/menu/menu_model_adapter.cc
@@ -96,8 +96,8 @@ MenuItemView* MenuModelAdapter::AddMenuItemFromModelAt(ui::MenuModel* model,
if (*type == MenuItemView::SEPARATOR) {
return menu->AddMenuItemAt(menu_index, item_id, base::string16(),
- base::string16(), nullptr, gfx::ImageSkia(),
- nullptr, *type,
+ base::string16(), base::string16(), nullptr,
+ gfx::ImageSkia(), nullptr, *type,
model->GetSeparatorTypeAt(model_index));
}
@@ -105,7 +105,8 @@ MenuItemView* MenuModelAdapter::AddMenuItemFromModelAt(ui::MenuModel* model,
model->GetIconAt(model_index, &icon);
return menu->AddMenuItemAt(
menu_index, item_id, model->GetLabelAt(model_index),
- model->GetMinorTextAt(model_index), model->GetMinorIconAt(model_index),
+ model->GetSublabelAt(model_index), model->GetMinorTextAt(model_index),
+ model->GetMinorIconAt(model_index),
icon.IsEmpty() ? gfx::ImageSkia() : *icon.ToImageSkia(),
icon.IsEmpty() ? model->GetVectorIconAt(model_index) : nullptr, *type,
ui::NORMAL_SEPARATOR);

View file

@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
Patch to make scrollBounce option work. Patch to make scrollBounce option work.
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index cc9e8ad658a018bef04a2f3f40288543ab243443..eb1a89bba7f5d81ebd324bc7b5cf61914ef3ce32 100644 index 56bff36825b02d3aa5ec1ded29b1dc7265df4f7e..569c83ae7cdcc0c7b3c3edf352b379c3b427e651 100644
--- a/content/renderer/render_thread_impl.cc --- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc
@@ -1539,7 +1539,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() { @@ -1523,7 +1523,7 @@ bool RenderThreadImpl::IsGpuMemoryBufferCompositorResourcesEnabled() {
} }
bool RenderThreadImpl::IsElasticOverscrollEnabled() { bool RenderThreadImpl::IsElasticOverscrollEnabled() {

View file

@ -6,7 +6,7 @@ Subject: ssl_security_state_tab_helper.patch
Allows populating security tab info for devtools in Electron. Allows populating security tab info for devtools in Electron.
diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc diff --git a/chrome/browser/ssl/security_state_tab_helper.cc b/chrome/browser/ssl/security_state_tab_helper.cc
index 26ec105bf873bd0e802c2c7e65e5e82f2abcfd85..b5e94e434ad7c22de2b59ae1bd0640d55da690a2 100644 index 887cdd11fbbd9df44edef1548a89891c5cf23cee..12da72449622289ec467d284f616bbf937ff1865 100644
--- a/chrome/browser/ssl/security_state_tab_helper.cc --- a/chrome/browser/ssl/security_state_tab_helper.cc
+++ b/chrome/browser/ssl/security_state_tab_helper.cc +++ b/chrome/browser/ssl/security_state_tab_helper.cc
@@ -13,16 +13,20 @@ @@ -13,16 +13,20 @@
@ -39,19 +39,7 @@ index 26ec105bf873bd0e802c2c7e65e5e82f2abcfd85..b5e94e434ad7c22de2b59ae1bd0640d5
#include "chrome/browser/safe_browsing/chrome_password_protection_service.h" #include "chrome/browser/safe_browsing/chrome_password_protection_service.h"
#endif #endif
@@ -64,6 +68,7 @@ void RecordSecurityLevel( @@ -66,8 +70,9 @@ void RecordSecurityLevel(
}
}
+#if 0
security_state::SafetyTipStatus GetSecurityStateSafetyTipType(
safety_tips::SafetyTipType type) {
switch (type) {
@@ -76,11 +81,13 @@ security_state::SafetyTipStatus GetSecurityStateSafetyTipType(
return security_state::SafetyTipStatus::SAFETY_TIP_STATUS_NONE;
}
}
+#endif
} // namespace } // namespace
@ -62,7 +50,7 @@ index 26ec105bf873bd0e802c2c7e65e5e82f2abcfd85..b5e94e434ad7c22de2b59ae1bd0640d5
SecurityStateTabHelper::SecurityStateTabHelper( SecurityStateTabHelper::SecurityStateTabHelper(
content::WebContents* web_contents) content::WebContents* web_contents)
@@ -102,6 +109,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const { @@ -89,6 +94,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const {
// information is still being initialized, thus no need to check for that. // information is still being initialized, thus no need to check for that.
state->malicious_content_status = GetMaliciousContentStatus(); state->malicious_content_status = GetMaliciousContentStatus();
@ -70,15 +58,15 @@ index 26ec105bf873bd0e802c2c7e65e5e82f2abcfd85..b5e94e434ad7c22de2b59ae1bd0640d5
safety_tips::ReputationWebContentsObserver* reputation_web_contents_observer = safety_tips::ReputationWebContentsObserver* reputation_web_contents_observer =
safety_tips::ReputationWebContentsObserver::FromWebContents( safety_tips::ReputationWebContentsObserver::FromWebContents(
web_contents()); web_contents());
@@ -110,6 +118,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const { @@ -97,6 +103,7 @@ SecurityStateTabHelper::GetVisibleSecurityState() const {
? GetSecurityStateSafetyTipType( ? reputation_web_contents_observer
reputation_web_contents_observer->last_shown_safety_tip_type()) ->GetSafetyTipStatusForVisibleNavigation()
: security_state::SafetyTipStatus::SAFETY_TIP_STATUS_NONE; : security_state::SafetyTipStatus::kUnknown;
+#endif +#endif
return state; return state;
} }
@@ -176,6 +185,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { @@ -164,6 +171,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
web_contents()->GetController().GetVisibleEntry(); web_contents()->GetController().GetVisibleEntry();
if (!entry) if (!entry)
return security_state::MALICIOUS_CONTENT_STATUS_NONE; return security_state::MALICIOUS_CONTENT_STATUS_NONE;
@ -86,7 +74,7 @@ index 26ec105bf873bd0e802c2c7e65e5e82f2abcfd85..b5e94e434ad7c22de2b59ae1bd0640d5
safe_browsing::SafeBrowsingService* sb_service = safe_browsing::SafeBrowsingService* sb_service =
g_browser_process->safe_browsing_service(); g_browser_process->safe_browsing_service();
if (!sb_service) if (!sb_service)
@@ -254,6 +264,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const { @@ -242,6 +250,7 @@ SecurityStateTabHelper::GetMaliciousContentStatus() const {
break; break;
} }
} }

View file

@ -22,21 +22,22 @@ However, the patch would need to be reviewed by the security team, as it
does touch a security-sensitive class. does touch a security-sensitive class.
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 20d0b4a801bdbe0300f878f369fc9017fc8aea3f..6302948343ee810a9d35a70be0c91a1ffbfb7647 100644 index 25fd6ca609bdffcd62b5d16c7da9fbd37490b993..2aaa6b123b917b9b819aa2a2d3fb27179a57a8ec 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc --- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -378,6 +378,10 @@ class RendererSandboxedProcessLauncherDelegate @@ -390,6 +390,11 @@ class RendererSandboxedProcessLauncherDelegate
: public SandboxedProcessLauncherDelegate { {
public: }
RendererSandboxedProcessLauncherDelegate() {}
+#if BUILDFLAG(USE_ZYGOTE_HANDLE) +#if BUILDFLAG(USE_ZYGOTE_HANDLE)
+ RendererSandboxedProcessLauncherDelegate(bool use_zygote): + RendererSandboxedProcessLauncherDelegate(bool use_zygote):
+ use_zygote_(use_zygote) {} + use_zygote_(use_zygote) {}
+#endif +#endif
+
~RendererSandboxedProcessLauncherDelegate() override {} ~RendererSandboxedProcessLauncherDelegate() override {}
@@ -397,6 +401,9 @@ class RendererSandboxedProcessLauncherDelegate #if defined(OS_WIN)
@@ -411,6 +416,9 @@ class RendererSandboxedProcessLauncherDelegate
#if BUILDFLAG(USE_ZYGOTE_HANDLE) #if BUILDFLAG(USE_ZYGOTE_HANDLE)
service_manager::ZygoteHandle GetZygote() override { service_manager::ZygoteHandle GetZygote() override {
@ -46,19 +47,22 @@ index 20d0b4a801bdbe0300f878f369fc9017fc8aea3f..6302948343ee810a9d35a70be0c91a1f
const base::CommandLine& browser_command_line = const base::CommandLine& browser_command_line =
*base::CommandLine::ForCurrentProcess(); *base::CommandLine::ForCurrentProcess();
base::CommandLine::StringType renderer_prefix = base::CommandLine::StringType renderer_prefix =
@@ -410,6 +417,11 @@ class RendererSandboxedProcessLauncherDelegate @@ -425,10 +433,13 @@ class RendererSandboxedProcessLauncherDelegate
service_manager::SandboxType GetSandboxType() override {
return service_manager::SANDBOX_TYPE_RENDERER; return service_manager::SANDBOX_TYPE_RENDERER;
} }
+
+ private: -#if defined(OS_WIN)
private:
+#if defined(OS_WIN)
const bool renderer_code_integrity_enabled_;
#endif
+#if BUILDFLAG(USE_ZYGOTE_HANDLE) +#if BUILDFLAG(USE_ZYGOTE_HANDLE)
+ bool use_zygote_ = true; + bool use_zygote_ = true;
+#endif +#endif
}; };
const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey"; const char kSessionStorageHolderKey[] = "kSessionStorageHolderKey";
@@ -1746,11 +1758,18 @@ bool RenderProcessHostImpl::Init() { @@ -1688,11 +1699,18 @@ bool RenderProcessHostImpl::Init() {
cmd_line->PrependWrapper(renderer_prefix); cmd_line->PrependWrapper(renderer_prefix);
AppendRendererCommandLine(cmd_line.get()); AppendRendererCommandLine(cmd_line.get());

View file

@ -7,7 +7,7 @@ Make chrome's install-sysroot scripts point to our custom sysroot builds,
which include extra deps that Electron needs (e.g. libnotify) which include extra deps that Electron needs (e.g. libnotify)
diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py diff --git a/build/linux/sysroot_scripts/install-sysroot.py b/build/linux/sysroot_scripts/install-sysroot.py
index 2e756f75d243c558c03c720a1a9c90911f2bb121..5b8cc02c3cb9b257bbe9c93cf7ce329272403607 100755 index 165551a2948b74c024459be42d1a9a3d96878a10..5c9272a512e22dfe2e90f6665083f53f0fa8979e 100755
--- a/build/linux/sysroot_scripts/install-sysroot.py --- a/build/linux/sysroot_scripts/install-sysroot.py
+++ b/build/linux/sysroot_scripts/install-sysroot.py +++ b/build/linux/sysroot_scripts/install-sysroot.py
@@ -37,9 +37,11 @@ except ImportError: @@ -37,9 +37,11 @@ except ImportError:

View file

@ -10,7 +10,7 @@ Subject: tts.patch
destruction from content layer. destruction from content layer.
diff --git a/chrome/browser/speech/tts_controller_delegate_impl.cc b/chrome/browser/speech/tts_controller_delegate_impl.cc diff --git a/chrome/browser/speech/tts_controller_delegate_impl.cc b/chrome/browser/speech/tts_controller_delegate_impl.cc
index e96b0cef21bec8925d4adf1e8692dc00f5ec6f5f..7ec07534aa3628873c9fe784fa0235f3c5c7f15f 100644 index cce8cad71b9f620a3d26946a7df937a1336d741e..ea5db4e66f1cbbb2728558091dc07a413a536e1f 100644
--- a/chrome/browser/speech/tts_controller_delegate_impl.cc --- a/chrome/browser/speech/tts_controller_delegate_impl.cc
+++ b/chrome/browser/speech/tts_controller_delegate_impl.cc +++ b/chrome/browser/speech/tts_controller_delegate_impl.cc
@@ -213,6 +213,7 @@ void TtsControllerDelegateImpl::UpdateUtteranceDefaultsFromPrefs( @@ -213,6 +213,7 @@ void TtsControllerDelegateImpl::UpdateUtteranceDefaultsFromPrefs(
@ -29,145 +29,3 @@ index e96b0cef21bec8925d4adf1e8692dc00f5ec6f5f..7ec07534aa3628873c9fe784fa0235f3
return prefs; return prefs;
} }
diff --git a/chrome/browser/speech/tts_message_filter.cc b/chrome/browser/speech/tts_message_filter.cc
index cf0841622b99ad6637314284bcdbd83060a404cc..779b51992c180a76ed8a2c492297416aa557d214 100644
--- a/chrome/browser/speech/tts_message_filter.cc
+++ b/chrome/browser/speech/tts_message_filter.cc
@@ -10,8 +10,11 @@
#include "base/logging.h"
#include "base/task/post_task.h"
#include "chrome/browser/chrome_notification_types.h"
+#if 0
#include "chrome/browser/profiles/profile.h"
+#endif
#include "chrome/common/tts_messages.h"
+#include "components/keyed_service/content/browser_context_keyed_service_shutdown_notifier_factory.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/notification_service.h"
@@ -19,6 +22,29 @@
using content::BrowserThread;
+namespace {
+
+class TtsMessageFilterShutdownNotifierFactory
+ : public BrowserContextKeyedServiceShutdownNotifierFactory {
+ public:
+ static TtsMessageFilterShutdownNotifierFactory* GetInstance() {
+ return base::Singleton<TtsMessageFilterShutdownNotifierFactory>::get();
+ }
+
+ private:
+ friend struct base::DefaultSingletonTraits<
+ TtsMessageFilterShutdownNotifierFactory>;
+
+ TtsMessageFilterShutdownNotifierFactory()
+ : BrowserContextKeyedServiceShutdownNotifierFactory("TtsMessageFilter") {}
+
+ ~TtsMessageFilterShutdownNotifierFactory() override {}
+
+ DISALLOW_COPY_AND_ASSIGN(TtsMessageFilterShutdownNotifierFactory);
+};
+
+} // namespace
+
TtsMessageFilter::TtsMessageFilter(content::BrowserContext* browser_context)
: BrowserMessageFilter(TtsMsgStart),
browser_context_(browser_context),
@@ -26,28 +52,27 @@ TtsMessageFilter::TtsMessageFilter(content::BrowserContext* browser_context)
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
content::TtsController::GetInstance()->AddVoicesChangedDelegate(this);
- // TODO(dmazzoni): make it so that we can listen for a BrowserContext
- // being destroyed rather than a Profile. http://crbug.com/444668
- Profile* profile = Profile::FromBrowserContext(browser_context);
- notification_registrar_.Add(this,
- chrome::NOTIFICATION_PROFILE_DESTROYED,
- content::Source<Profile>(profile));
+ browser_context_shutdown_notifier_ =
+ TtsMessageFilterShutdownNotifierFactory::GetInstance()
+ ->Get(browser_context)
+ ->Subscribe(base::Bind(&TtsMessageFilter::BrowserContextDestroyed,
+ base::RetainedRef(this)));
// Balanced in OnChannelClosingInUIThread() to keep the ref-count be non-zero
// until all pointers to this class are invalidated.
AddRef();
}
-void TtsMessageFilter::OverrideThreadForMessage(
- const IPC::Message& message, BrowserThread::ID* thread) {
+void TtsMessageFilter::OverrideThreadForMessage(const IPC::Message& message,
+ BrowserThread::ID* thread) {
switch (message.type()) {
- case TtsHostMsg_InitializeVoiceList::ID:
- case TtsHostMsg_Speak::ID:
- case TtsHostMsg_Pause::ID:
- case TtsHostMsg_Resume::ID:
- case TtsHostMsg_Cancel::ID:
- *thread = BrowserThread::UI;
- break;
+ case TtsHostMsg_InitializeVoiceList::ID:
+ case TtsHostMsg_Speak::ID:
+ case TtsHostMsg_Pause::ID:
+ case TtsHostMsg_Resume::ID:
+ case TtsHostMsg_Cancel::ID:
+ *thread = BrowserThread::UI;
+ break;
}
}
@@ -211,10 +236,8 @@ void TtsMessageFilter::Cleanup() {
content::TtsController::GetInstance()->RemoveUtteranceEventDelegate(this);
}
-void TtsMessageFilter::Observe(
- int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) {
+void TtsMessageFilter::BrowserContextDestroyed() {
+ CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
browser_context_ = nullptr;
- notification_registrar_.RemoveAll();
+ browser_context_shutdown_notifier_.reset();
}
diff --git a/chrome/browser/speech/tts_message_filter.h b/chrome/browser/speech/tts_message_filter.h
index ffb607fbb275b0a75dba592f2f5f5afb881214e2..99780e56674af749a231f0e85b89e6a6ed3743d6 100644
--- a/chrome/browser/speech/tts_message_filter.h
+++ b/chrome/browser/speech/tts_message_filter.h
@@ -8,6 +8,7 @@
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "base/synchronization/lock.h"
+#include "components/keyed_service/core/keyed_service_shutdown_notifier.h"
#include "content/public/browser/browser_message_filter.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/notification_observer.h"
@@ -21,7 +22,6 @@ class BrowserContext;
struct TtsUtteranceRequest;
class TtsMessageFilter : public content::BrowserMessageFilter,
- public content::NotificationObserver,
public content::UtteranceEventDelegate,
public content::VoicesChangedDelegate {
public:
@@ -64,15 +64,13 @@ class TtsMessageFilter : public content::BrowserMessageFilter,
// about to be deleted.
bool Valid();
- // content::NotificationObserver implementation.
- void Observe(int type,
- const content::NotificationSource& source,
- const content::NotificationDetails& details) override;
+ void BrowserContextDestroyed();
+ std::unique_ptr<KeyedServiceShutdownNotifier::Subscription>
+ browser_context_shutdown_notifier_;
content::BrowserContext* browser_context_;
mutable base::Lock mutex_;
mutable bool valid_;
- content::NotificationRegistrar notification_registrar_;
DISALLOW_COPY_AND_ASSIGN(TtsMessageFilter);
};

View file

@ -0,0 +1,29 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Deepak Mohan <hop2deep@gmail.com>
Date: Wed, 11 Sep 2019 16:09:34 -0700
Subject: ui/views: fix namespace qualification with jumbo_build
In file included from gen/ui/views/views_jumbo_4.cc:45:
.\../../ui/views/widget/widget_hwnd_utils.cc(112,11): error: no member named 'IsFormControlsRefreshEnabled'
in namespace 'views::features'; did you mean '::features::IsFormControlsRefreshEnabled'?
if (features::IsFormControlsRefreshEnabled() &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
::features::IsFormControlsRefreshEnabled
../..\ui/base/ui_base_features.h(72,41): note: '::features::IsFormControlsRefreshEnabled' declared here
COMPONENT_EXPORT(UI_BASE_FEATURES) bool IsFormControlsRefreshEnabled();
^
1 error generated.
ninja: build stopped: subcommand failed.
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index b12b2137e8cd24c28d9c9e6845161ac1756f6425..a6df1985f24b023355b0643c12d5685463dd187e 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -580,6 +580,7 @@ jumbo_component("views") {
"win/pen_event_processor.cc",
"win/scoped_fullscreen_visibility.cc",
]
+ jumbo_excluded_sources = [ "widget/widget_hwnd_utils.cc" ]
libs = [
"dwmapi.lib",
"imm32.lib",

View file

@ -6,7 +6,7 @@ Subject: unsandboxed_ppapi_processes_skip_zygote.patch
Unsandboxed ppapi processes should skip zygote. Unsandboxed ppapi processes should skip zygote.
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index 301349f721145f3fdbf8624e276a0c414ffa14bd..dddc9f959fcf2e6036f3de01738d9ad3eea457a9 100644 index 86c23036817bc69ed44331acb5257582a3c66ff9..f3e184daf801dacb6a1a57ace82d22734ba770c5 100644
--- a/content/browser/ppapi_plugin_process_host.cc --- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc +++ b/content/browser/ppapi_plugin_process_host.cc
@@ -128,6 +128,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate @@ -128,6 +128,9 @@ class PpapiPluginSandboxedProcessLauncherDelegate

View file

@ -7,7 +7,7 @@ Temporarily add additional debugging statements to
generate_breakpad_symbols.py to determine why it is hanging. generate_breakpad_symbols.py to determine why it is hanging.
diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py diff --git a/components/crash/content/tools/generate_breakpad_symbols.py b/components/crash/content/tools/generate_breakpad_symbols.py
index db04d39f8d263dc2b3b67b7f84470f557b519cfa..edb3fa5c125fae7858a1f36495410baf47d58484 100755 index 130ee13f8d5ecfcb5a303f7cc05af261693acf78..fe6d008b910942a59e31371ec08179b23a6fa0bb 100755
--- a/components/crash/content/tools/generate_breakpad_symbols.py --- a/components/crash/content/tools/generate_breakpad_symbols.py
+++ b/components/crash/content/tools/generate_breakpad_symbols.py +++ b/components/crash/content/tools/generate_breakpad_symbols.py
@@ -60,7 +60,10 @@ def Resolve(path, exe_path, loader_path, rpaths): @@ -60,7 +60,10 @@ def Resolve(path, exe_path, loader_path, rpaths):
@ -32,7 +32,7 @@ index db04d39f8d263dc2b3b67b7f84470f557b519cfa..edb3fa5c125fae7858a1f36495410baf
return result return result
@@ -183,7 +189,7 @@ def GetSharedLibraryDependencies(options, binary, exe_path): @@ -196,7 +202,7 @@ def GetSharedLibraryDependencies(options, binary, exe_path):
"""Return absolute paths to all shared library dependencies of the binary.""" """Return absolute paths to all shared library dependencies of the binary."""
deps = [] deps = []
if options.platform == 'linux2': if options.platform == 'linux2':
@ -41,7 +41,7 @@ index db04d39f8d263dc2b3b67b7f84470f557b519cfa..edb3fa5c125fae7858a1f36495410baf
elif options.platform == 'android': elif options.platform == 'android':
deps = GetSharedLibraryDependenciesAndroid(binary) deps = GetSharedLibraryDependenciesAndroid(binary)
elif options.platform == 'darwin': elif options.platform == 'darwin':
@@ -257,7 +263,8 @@ def CreateSymbolDir(options, output_dir, relative_hash_dir): @@ -270,7 +276,8 @@ def CreateSymbolDir(options, output_dir, relative_hash_dir):
def GenerateSymbols(options, binaries): def GenerateSymbols(options, binaries):
"""Dumps the symbols of binary and places them in the given directory.""" """Dumps the symbols of binary and places them in the given directory."""
@ -51,7 +51,7 @@ index db04d39f8d263dc2b3b67b7f84470f557b519cfa..edb3fa5c125fae7858a1f36495410baf
queue = Queue.Queue() queue = Queue.Queue()
print_lock = threading.Lock() print_lock = threading.Lock()
@@ -277,8 +284,15 @@ def GenerateSymbols(options, binaries): @@ -290,8 +297,15 @@ def GenerateSymbols(options, binaries):
reason = "Could not locate dump_syms executable." reason = "Could not locate dump_syms executable."
break break
@ -67,7 +67,7 @@ index db04d39f8d263dc2b3b67b7f84470f557b519cfa..edb3fa5c125fae7858a1f36495410baf
if not binary_info: if not binary_info:
should_dump_syms = False should_dump_syms = False
reason = "Could not obtain binary information." reason = "Could not obtain binary information."
@@ -296,8 +310,14 @@ def GenerateSymbols(options, binaries): @@ -309,8 +323,14 @@ def GenerateSymbols(options, binaries):
# See if there is a symbol file already found next to the binary # See if there is a symbol file already found next to the binary
potential_symbol_files = glob.glob('%s.breakpad*' % binary) potential_symbol_files = glob.glob('%s.breakpad*' % binary)
for potential_symbol_file in potential_symbol_files: for potential_symbol_file in potential_symbol_files:

View file

@ -5,10 +5,10 @@ Subject: web_contents.patch
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index 30c4165bdb6af4cbab48954570c55cbe60cb598d..337c2bade32055f813009e0dbd33621499a921bf 100644 index f194fb62a05aafdc617f6ce56bc2f447fd8b5d15..6f18e4888a345de3941b0a19ef91239f435671f3 100644
--- a/content/browser/web_contents/web_contents_impl.cc --- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2136,6 +2136,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { @@ -2137,6 +2137,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name; std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -21,7 +21,7 @@ index 30c4165bdb6af4cbab48954570c55cbe60cb598d..337c2bade32055f813009e0dbd336214
WebContentsViewDelegate* delegate = WebContentsViewDelegate* delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this); GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -2151,6 +2157,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { @@ -2152,6 +2158,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
&render_view_host_delegate_view_); &render_view_host_delegate_view_);
} }
} }
@ -30,7 +30,7 @@ index 30c4165bdb6af4cbab48954570c55cbe60cb598d..337c2bade32055f813009e0dbd336214
CHECK(view_.get()); CHECK(view_.get());
diff --git a/content/browser/web_contents/web_contents_view_guest.cc b/content/browser/web_contents/web_contents_view_guest.cc diff --git a/content/browser/web_contents/web_contents_view_guest.cc b/content/browser/web_contents/web_contents_view_guest.cc
index ecaf30bcb7b916a92a69641dd7b96a3633d407c0..0af625928ca6227a21cd4263a14a42b72095399c 100644 index c45581fd22b7ba28b76bdebfffdc872b820798c8..f22ac0e611cc79aa1bc7f85836d69e3a8e326a6e 100644
--- a/content/browser/web_contents/web_contents_view_guest.cc --- a/content/browser/web_contents/web_contents_view_guest.cc
+++ b/content/browser/web_contents/web_contents_view_guest.cc +++ b/content/browser/web_contents/web_contents_view_guest.cc
@@ -68,19 +68,27 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const { @@ -68,19 +68,27 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
@ -64,7 +64,7 @@ index ecaf30bcb7b916a92a69641dd7b96a3633d407c0..0af625928ca6227a21cd4263a14a42b7
#endif // defined(USE_AURA) #endif // defined(USE_AURA)
} }
@@ -132,11 +140,22 @@ RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget( @@ -130,11 +138,22 @@ RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
render_widget_host->GetView()); render_widget_host->GetView());
} }
@ -92,10 +92,10 @@ index ecaf30bcb7b916a92a69641dd7b96a3633d407c0..0af625928ca6227a21cd4263a14a42b7
RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget( RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForChildWidget(
diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h
index 4ff447d0615d0e14995581ca07bba5118750c29a..818e357453e9b14a62b1b461bb41f85fc74e033d 100644 index 9dd92030f9a4a0405c9d7724817a5fc3bf497da1..9bef76029aa3e71cf9ac3d2ac5a5e3a66e60c165 100644
--- a/content/public/browser/web_contents.h --- a/content/public/browser/web_contents.h
+++ b/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h
@@ -76,9 +76,12 @@ class BrowserPluginGuestDelegate; @@ -79,9 +79,12 @@ class BrowserPluginGuestDelegate;
class InterstitialPage; class InterstitialPage;
class RenderFrameHost; class RenderFrameHost;
class RenderViewHost; class RenderViewHost;

View file

@ -5,7 +5,7 @@ Subject: webview_cross_drag.patch
diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc diff --git a/content/browser/web_contents/web_contents_view_aura.cc b/content/browser/web_contents/web_contents_view_aura.cc
index dda92e4006db1d9a1b68459644d252a3e1dfa4a2..3ed0b3ec3badc9f558f78adbdb31c680ff2631f4 100644 index ac096c72a956ecb7e6bacb72452b44f6b00ed251..741f6d44d06bb3abe547184403d0e8cccb00d0ce 100644
--- a/content/browser/web_contents/web_contents_view_aura.cc --- a/content/browser/web_contents/web_contents_view_aura.cc
+++ b/content/browser/web_contents/web_contents_view_aura.cc +++ b/content/browser/web_contents/web_contents_view_aura.cc
@@ -777,6 +777,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const { @@ -777,6 +777,7 @@ gfx::NativeView WebContentsViewAura::GetRenderWidgetHostViewParent() const {

View file

@ -5,10 +5,10 @@ Subject: worker_context_will_destroy.patch
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index 76d775b20307a3c9a779489e754c6849a0f21d64..533a1621e82461d8611ba1d8f2ed2fc527085a03 100644 index 7ae6603144706803b04c6583bad366197e20f456..db2e164f0415b511a8d19d18f197d82e8a447ad8 100644
--- a/content/public/renderer/content_renderer_client.h --- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h +++ b/content/public/renderer/content_renderer_client.h
@@ -384,6 +384,11 @@ class CONTENT_EXPORT ContentRendererClient { @@ -383,6 +383,11 @@ class CONTENT_EXPORT ContentRendererClient {
virtual void DidInitializeWorkerContextOnWorkerThread( virtual void DidInitializeWorkerContextOnWorkerThread(
v8::Local<v8::Context> context) {} v8::Local<v8::Context> context) {}
@ -21,10 +21,10 @@ index 76d775b20307a3c9a779489e754c6849a0f21d64..533a1621e82461d8611ba1d8f2ed2fc5
// An empty URL is returned if the URL is not overriden. // An empty URL is returned if the URL is not overriden.
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url); virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
index a61bc92743c4bdf0b011c451cfc341cb4442a4bb..191e9aa21d2b766e2cc696bdf7963b15baf787d3 100644 index 7f3c8fbb4c1870a4313280d00371eea65c718d16..302a23981a0b3b056260f598d22259c57c469ee4 100644
--- a/content/renderer/renderer_blink_platform_impl.cc --- a/content/renderer/renderer_blink_platform_impl.cc
+++ b/content/renderer/renderer_blink_platform_impl.cc +++ b/content/renderer/renderer_blink_platform_impl.cc
@@ -923,6 +923,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { @@ -1002,6 +1002,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread(); WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
} }
@ -38,10 +38,10 @@ index a61bc92743c4bdf0b011c451cfc341cb4442a4bb..191e9aa21d2b766e2cc696bdf7963b15
const v8::Local<v8::Context>& worker) { const v8::Local<v8::Context>& worker) {
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread( GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
index fb807df3f015c6d9a3a18608301b2781596415de..a08e9fb3a30bf401b204c206ef9f2aa289890b39 100644 index b183977096477563043b288b33d90d3ce9fbd8de..87bd2530eb060c8e68a5a2ca090ce80cd63b942e 100644
--- a/content/renderer/renderer_blink_platform_impl.h --- a/content/renderer/renderer_blink_platform_impl.h
+++ b/content/renderer/renderer_blink_platform_impl.h +++ b/content/renderer/renderer_blink_platform_impl.h
@@ -190,6 +190,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -200,6 +200,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
void DidStartWorkerThread() override; void DidStartWorkerThread() override;
void WillStopWorkerThread() override; void WillStopWorkerThread() override;
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override; void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
@ -50,10 +50,10 @@ index fb807df3f015c6d9a3a18608301b2781596415de..a08e9fb3a30bf401b204c206ef9f2aa2
const blink::WebString& header_name) override; const blink::WebString& header_name) override;
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
index 814efddb679051d2bd916ee565d117669c254751..f2ac53df9091a7d5b4ca6b0e5b724a1f058f04e8 100644 index cd9572908f0c8b80341f28facfe4256df30b27ff..d9ff47fac2590b1a0fa2a8faf803bc0fa875ae25 100644
--- a/third_party/blink/public/platform/platform.h --- a/third_party/blink/public/platform/platform.h
+++ b/third_party/blink/public/platform/platform.h +++ b/third_party/blink/public/platform/platform.h
@@ -677,6 +677,7 @@ class BLINK_PLATFORM_EXPORT Platform { @@ -693,6 +693,7 @@ class BLINK_PLATFORM_EXPORT Platform {
virtual void DidStartWorkerThread() {} virtual void DidStartWorkerThread() {}
virtual void WillStopWorkerThread() {} virtual void WillStopWorkerThread() {}
virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {} virtual void WorkerContextCreated(const v8::Local<v8::Context>& worker) {}
@ -62,10 +62,10 @@ index 814efddb679051d2bd916ee565d117669c254751..f2ac53df9091a7d5b4ca6b0e5b724a1f
const WebSecurityOrigin& script_origin) { const WebSecurityOrigin& script_origin) {
return false; return false;
diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc diff --git a/third_party/blink/renderer/core/workers/worker_thread.cc b/third_party/blink/renderer/core/workers/worker_thread.cc
index 391a9d1099ac3226c6c0d42e74e672f958e5a58b..3d66c80a190a533fade36d452f8093116a0d6c1b 100644 index d16b0ea72e4d0c0371bbb145c4f4c26b4d5c19e2..bd4af3ae2df62968aaf9001db8eda006a96d307b 100644
--- a/third_party/blink/renderer/core/workers/worker_thread.cc --- a/third_party/blink/renderer/core/workers/worker_thread.cc
+++ b/third_party/blink/renderer/core/workers/worker_thread.cc +++ b/third_party/blink/renderer/core/workers/worker_thread.cc
@@ -658,6 +658,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() { @@ -680,6 +680,12 @@ void WorkerThread::PrepareForShutdownOnWorkerThread() {
nested_runner_->QuitNow(); nested_runner_->QuitNow();
} }

View file

@ -3,6 +3,8 @@
"src/electron/patches/boringssl": "src/third_party/boringssl/src", "src/electron/patches/boringssl": "src/third_party/boringssl/src",
"src/electron/patches/perfetto": "src/third_party/perfetto",
"src/electron/patches/v8": "src/v8", "src/electron/patches/v8": "src/v8",
"src/electron/patches/node": "src/third_party/electron_node" "src/electron/patches/node": "src/third_party/electron_node"

View file

@ -0,0 +1,2 @@
revert_fix_chrome_roll_update_protoc_host_toolchain_rules.patch
revert_make_trace_processor_a_host-only_target.patch

View file

@ -0,0 +1,134 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Wed, 11 Sep 2019 12:40:20 -0700
Subject: Revert "Fix chrome roll: update protoc host toolchain rules"
This reverts commit b7ebffd32830be65b752841d37de5455d84b42b8.
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index a8aecc1ac1aa0af60df335fafeee56dff337a189..5ead1b50fb43047081b29fa55d5c0eda7a5c8142 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -182,30 +182,28 @@ whitelisted_protobuf_full_deps = [
"../src/trace_processor:trace_processor_shell",
]
-group("protoc") {
- public_deps = [
- "${perfetto_protobuf_target_prefix}:protoc($host_toolchain)",
- ]
-}
+if (current_toolchain == host_toolchain) {
+ group("protoc") {
+ public_deps = [
+ "${perfetto_protobuf_target_prefix}:protoc",
+ ]
+ }
+} # current_toolchain == host_toolchain
# protoc compiler library, it's used for building protoc plugins and by
# trace_processor_shell to dynamically load .proto files for metrics.
group("protoc_lib") {
visibility = whitelisted_protobuf_full_deps
- if (current_toolchain == host_toolchain) {
- public_deps = [
- "${perfetto_protobuf_target_prefix}:protoc_lib",
- ]
- }
+ public_deps = [
+ "${perfetto_protobuf_target_prefix}:protoc_lib",
+ ]
}
group("protobuf_full") {
visibility = whitelisted_protobuf_full_deps
- if (current_toolchain == host_toolchain) {
- public_deps = [
- "${perfetto_protobuf_target_prefix}:protobuf_full",
- ]
- }
+ public_deps = [
+ "${perfetto_protobuf_target_prefix}:protobuf_full",
+ ]
}
group("protobuf_lite") {
diff --git a/gn/perfetto.gni b/gn/perfetto.gni
index 4bf62528336b5b6c8ce6eb932c18dcb6912422da..78aa3a63a677afc8789f58bb48e1dfac8a671eb9 100644
--- a/gn/perfetto.gni
+++ b/gn/perfetto.gni
@@ -161,8 +161,7 @@ declare_args() {
# Misc host executable under tools/.
enable_perfetto_tools =
- (perfetto_build_standalone && current_toolchain == host_toolchain) ||
- perfetto_build_with_android
+ perfetto_build_standalone || perfetto_build_with_android
# Allows to build the UI (TypeScript/ HTML / WASM)
enable_perfetto_ui = perfetto_build_standalone
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index 05a7d508bd51dc83f4b7039fccbb2b7415c0b208..f01e95d5de4bbfd1c8658bfbb6b7e061bfe6b632 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -136,12 +136,23 @@ additional_args = {
def enable_gmock(module):
module.static_libs.append('libgmock')
+
+def enable_gtest_prod(module):
+ module.static_libs.append('libgtest_prod')
+
+
+def enable_gtest(module):
+ assert module.type == 'cc_test'
+
+
def enable_protobuf_full(module):
module.shared_libs.append('libprotobuf-cpp-full')
+
def enable_protobuf_lite(module):
module.shared_libs.append('libprotobuf-cpp-lite')
+
def enable_protoc_lib(module):
module.shared_libs.append('libprotoc')
@@ -171,14 +182,16 @@ def enable_zlib(module):
# Android equivalents for third-party libraries that the upstream project
# depends on.
builtin_deps = {
- '//gn:gtest_and_gmock': enable_gmock,
- '//gn:libunwind': enable_libunwind,
- '//gn:protobuf_full': enable_protobuf_full,
- '//gn:protobuf_lite': enable_protobuf_lite,
- '//gn:protoc_lib': enable_protoc_lib,
- '//gn:libunwindstack': enable_libunwindstack,
- '//gn:sqlite': enable_sqlite,
- '//gn:zlib': enable_zlib,
+ '//buildtools:gmock': enable_gmock,
+ '//buildtools:gtest': enable_gtest,
+ '//buildtools:gtest_main': enable_gtest,
+ '//buildtools:libunwind': enable_libunwind,
+ '//buildtools:protobuf_full': enable_protobuf_full,
+ '//buildtools:protobuf_lite': enable_protobuf_lite,
+ '//buildtools:protoc_lib': enable_protoc_lib,
+ '//buildtools:libunwindstack': enable_libunwindstack,
+ '//buildtools:sqlite': enable_sqlite,
+ '//buildtools:zlib': enable_zlib,
}
# ----------------------------------------------------------------------------
@@ -401,10 +414,7 @@ def apply_module_dependency(blueprint, desc, module, dep_name):
dep_name: GN target of the dependency.
"""
# If the dependency refers to a library which we can replace with an Android
- # equivalent, stop recursing and patch the dependency in. Don't recurse into
- # //buildtools, builtin_deps are intercepted at the //gn:xxx level.
- if dep_name.startswith('//buildtools'):
- return
+ # equivalent, stop recursing and patch the dependency in.
if gn_utils.label_without_toolchain(dep_name) in builtin_deps:
builtin_deps[gn_utils.label_without_toolchain(dep_name)](module)
return

View file

@ -0,0 +1,389 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: deepak1556 <hop2deep@gmail.com>
Date: Wed, 11 Sep 2019 12:40:33 -0700
Subject: Revert "Make trace_processor a host-only target"
This reverts commit d0001c31122289ab00ca03dc493f622aeb8a2e81.
diff --git a/Android.bp b/Android.bp
index 1d3c676bed57846207d68a5d1193991e688655c9..59eaefb7a4a91019eaf9c14d7c078d5aeb4073d5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4660,7 +4660,7 @@ cc_test {
}
// GN target: //src/trace_processor:trace_processor_shell
-cc_binary_host {
+cc_binary {
name: "trace_processor_shell",
srcs: [
":perfetto_protos_perfetto_common_zero_gen",
@@ -4783,12 +4783,10 @@ cc_binary_host {
],
shared_libs: [
"liblog",
- "libprotoc",
+ "libprotobuf-cpp-full",
"libz",
],
- static_libs: [
- "libsqlite",
- ],
+ host_supported: true,
generated_headers: [
"gen_merged_sql_metrics",
"perfetto_protos_perfetto_common_zero_gen_headers",
@@ -4828,6 +4826,21 @@ cc_binary_host {
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
"-DHAVE_HIDDEN",
],
+ target: {
+ android: {
+ shared_libs: [
+ "libandroidicu",
+ "liblog",
+ "libsqlite",
+ "libutils",
+ ],
+ },
+ host: {
+ static_libs: [
+ "libsqlite",
+ ],
+ },
+ },
}
// GN target: //tools/trace_to_text:trace_to_text
diff --git a/buildtools/BUILD.gn b/buildtools/BUILD.gn
index 220fb8ba22d228b95c6b14247edebf54dc9db6c2..cdbdb6a5548df3e984bde1f5406767aa1accf97a 100644
--- a/buildtools/BUILD.gn
+++ b/buildtools/BUILD.gn
@@ -273,111 +273,111 @@ source_set("protobuf_full") {
public_configs = [ ":protobuf_gen_config" ]
}
-source_set("protoc_lib") {
- visibility = _buildtools_visibility
- deps = [
- ":protobuf_full",
- "//gn:default_deps",
- ]
- sources = [
- "protobuf/src/google/protobuf/compiler/code_generator.cc",
- "protobuf/src/google/protobuf/compiler/command_line_interface.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc",
- "protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_enum.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_generator.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
- "protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_context.cc",
- "protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc",
- "protobuf/src/google/protobuf/compiler/java/java_enum.cc",
- "protobuf/src/google/protobuf/compiler/java/java_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_enum_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_extension.cc",
- "protobuf/src/google/protobuf/compiler/java/java_extension_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_file.cc",
- "protobuf/src/google/protobuf/compiler/java/java_generator.cc",
- "protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc",
- "protobuf/src/google/protobuf/compiler/java/java_helpers.cc",
- "protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_lazy_message_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_map_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message_builder.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_message_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc",
- "protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/java/java_service.cc",
- "protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc",
- "protobuf/src/google/protobuf/compiler/java/java_string_field.cc",
- "protobuf/src/google/protobuf/compiler/java/java_string_field_lite.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_enum.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_extension.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_field.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_file.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_generator.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_helpers.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_map_field.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_message.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_message_field.cc",
- "protobuf/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/js/js_generator.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
- "protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
- "protobuf/src/google/protobuf/compiler/plugin.cc",
- "protobuf/src/google/protobuf/compiler/plugin.pb.cc",
- "protobuf/src/google/protobuf/compiler/python/python_generator.cc",
- "protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc",
- "protobuf/src/google/protobuf/compiler/subprocess.cc",
- "protobuf/src/google/protobuf/compiler/zip_writer.cc",
- ]
- configs -= [ "//gn/standalone:extra_warnings" ]
- configs += [ ":protobuf_config" ]
- public_configs = [ ":protobuf_gen_config" ]
-}
-
if (current_toolchain == host_toolchain) {
+ source_set("protoc_lib") {
+ visibility = _buildtools_visibility
+ deps = [
+ ":protobuf_full",
+ "//gn:default_deps",
+ ]
+ sources = [
+ "protobuf/src/google/protobuf/compiler/code_generator.cc",
+ "protobuf/src/google/protobuf/compiler/command_line_interface.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_enum.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_extension.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_field.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_file.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_generator.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_map_field.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_message.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_string_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_enum.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_field_base.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_generator.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_message.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_context.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_doc_comment.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_enum.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_enum_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_extension.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_extension_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_file.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_generator.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_generator_factory.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_lazy_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_lazy_message_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_map_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message_builder.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message_builder_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_message_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_service.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_shared_code_generator.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_string_field.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_string_field_lite.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_enum.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_extension.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_field.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_file.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_generator.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_map_field.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_message.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/javanano/javanano_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/js/js_generator.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_field.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_file.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
+ "protobuf/src/google/protobuf/compiler/plugin.cc",
+ "protobuf/src/google/protobuf/compiler/plugin.pb.cc",
+ "protobuf/src/google/protobuf/compiler/python/python_generator.cc",
+ "protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc",
+ "protobuf/src/google/protobuf/compiler/subprocess.cc",
+ "protobuf/src/google/protobuf/compiler/zip_writer.cc",
+ ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+ configs += [ ":protobuf_config" ]
+ public_configs = [ ":protobuf_gen_config" ]
+ }
+
executable("protoc") {
visibility = _buildtools_visibility
deps = [
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 5ead1b50fb43047081b29fa55d5c0eda7a5c8142..529b4e24c5aa9532e4945c0826231ec60ce78b6d 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -173,34 +173,23 @@ group("gtest_main") {
}
}
-# Full protobuf is just for host tools .No binary shipped on device should
-# depend on this.
-whitelisted_protobuf_full_deps = [
- "../tools/*",
- "../src/ipc/protoc_plugin:*",
- "../src/protozero/protoc_plugin:*",
- "../src/trace_processor:trace_processor_shell",
-]
-
+# protoc compiler library, for building protoc plugins on the host.
if (current_toolchain == host_toolchain) {
+ group("protoc_lib") {
+ public_deps = [
+ "${perfetto_protobuf_target_prefix}:protoc_lib",
+ ]
+ }
+
group("protoc") {
public_deps = [
"${perfetto_protobuf_target_prefix}:protoc",
]
}
-} # current_toolchain == host_toolchain
-
-# protoc compiler library, it's used for building protoc plugins and by
-# trace_processor_shell to dynamically load .proto files for metrics.
-group("protoc_lib") {
- visibility = whitelisted_protobuf_full_deps
- public_deps = [
- "${perfetto_protobuf_target_prefix}:protoc_lib",
- ]
}
group("protobuf_full") {
- visibility = whitelisted_protobuf_full_deps
+ testonly = true
public_deps = [
"${perfetto_protobuf_target_prefix}:protobuf_full",
]
diff --git a/src/trace_processor/BUILD.gn b/src/trace_processor/BUILD.gn
index 952dd65d9ad1c5f4d4ee0443007bfaf6110c8dfb..12e0d800b5673af1785e5a09e49847702442d2a1 100644
--- a/src/trace_processor/BUILD.gn
+++ b/src/trace_processor/BUILD.gn
@@ -14,7 +14,6 @@
import("../../gn/fuzzer.gni")
import("../../gn/perfetto.gni")
-import("../../gn/perfetto_host_executable.gni")
import("../../gn/test.gni")
import("../../gn/wasm.gni")
@@ -229,11 +228,12 @@ source_set("common") {
]
}
-perfetto_host_executable("trace_processor_shell") {
+executable("trace_processor_shell") {
+ testonly = true # We need this for proto full.
deps = [
":lib",
"../../gn:default_deps",
- "../../gn:protoc_lib",
+ "../../gn:protobuf_full",
"../base",
"metrics:lib",
]
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index f01e95d5de4bbfd1c8658bfbb6b7e061bfe6b632..0d6b01a8cc838efda58634d21298243f2a649da8 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -61,6 +61,11 @@ default_targets = [
'//tools/trace_to_text:trace_to_text',
]
+# Targets which are testonly but should still be a cc_binary.
+non_test_binaries = [
+ '//src/trace_processor:trace_processor_shell',
+]
+
# Defines a custom init_rc argument to be applied to the corresponding output
# blueprint target.
target_initrc = {
@@ -70,11 +75,11 @@ target_initrc = {
target_host_supported = [
'//protos/perfetto/trace:perfetto_trace_protos',
+ '//src/trace_processor:trace_processor_shell',
]
target_host_only = [
'//tools/trace_to_text:trace_to_text',
- '//src/trace_processor:trace_processor_shell',
]
# All module names are prefixed with this string to avoid collisions.
@@ -640,7 +645,7 @@ def create_modules_from_target(blueprint, desc, target_name):
if target['type'] == 'executable':
if 'host' in target['toolchain'] or target_name in target_host_only:
module_type = 'cc_binary_host'
- elif target.get('testonly'):
+ elif target.get('testonly') and target_name not in non_test_binaries:
module_type = 'cc_test'
else:
module_type = 'cc_binary'

View file

@ -6,3 +6,4 @@ dcheck.patch
export_symbols_needed_for_windows_build.patch export_symbols_needed_for_windows_build.patch
workaround_an_undefined_symbol_error.patch workaround_an_undefined_symbol_error.patch
do_not_export_private_v8_symbols_on_windows.patch do_not_export_private_v8_symbols_on_windows.patch
revert_cleanup_switch_offset_of_to_offsetof_where_possible.patch

View file

@ -12,10 +12,10 @@ when we override ReallocateBufferMemory, so we therefore need to implement
Realloc on the v8 side. Realloc on the v8 side.
diff --git a/include/v8.h b/include/v8.h diff --git a/include/v8.h b/include/v8.h
index ca96c32088df3983c796a807b2ce76017e0fa2df..db972ab5ce249927d9f6e738263600c30c2e176c 100644 index 24052f25bf7499743d1bf59846325274c3fd81c0..c5f0436eb771b6ca86fdf8e0dc195221c6b481f4 100644
--- a/include/v8.h --- a/include/v8.h
+++ b/include/v8.h +++ b/include/v8.h
@@ -4651,6 +4651,13 @@ class V8_EXPORT ArrayBuffer : public Object { @@ -4748,6 +4748,13 @@ class V8_EXPORT ArrayBuffer : public Object {
*/ */
virtual void* AllocateUninitialized(size_t length) = 0; virtual void* AllocateUninitialized(size_t length) = 0;
@ -30,10 +30,10 @@ index ca96c32088df3983c796a807b2ce76017e0fa2df..db972ab5ce249927d9f6e738263600c3
* Free the memory block of size |length|, pointed to by |data|. * Free the memory block of size |length|, pointed to by |data|.
* That memory is guaranteed to be previously allocated by |Allocate|. * That memory is guaranteed to be previously allocated by |Allocate|.
diff --git a/src/api/api.cc b/src/api/api.cc diff --git a/src/api/api.cc b/src/api/api.cc
index e02c74416b81c67e2bcdfa6bca5d06efd261153a..c41692ca40057efa39440239cda217ae1e39afe8 100644 index b03cc11532e0ec1d0e047bd794d15416cb343670..e9e46fd117dbf67a0fb7bdf560e152daa8624ff8 100644
--- a/src/api/api.cc --- a/src/api/api.cc
+++ b/src/api/api.cc +++ b/src/api/api.cc
@@ -507,6 +507,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) { @@ -518,6 +518,10 @@ void V8::SetSnapshotDataBlob(StartupData* snapshot_blob) {
i::V8::SetSnapshotBlob(snapshot_blob); i::V8::SetSnapshotBlob(snapshot_blob);
} }

View file

@ -5,10 +5,10 @@ Subject: build_gn.patch
diff --git a/BUILD.gn b/BUILD.gn diff --git a/BUILD.gn b/BUILD.gn
index c4dbe902d8bc2b7fd9f41af3e4920ce4cdd8257b..a8fd0b407b6519db82b3599a8d77bb415e0c9c86 100644 index 7e683f86e529316f923b8ff2b6fe5ed94f22420a..b0e242d6c369185172184c1f4a88247aa1e0896c 100644
--- a/BUILD.gn --- a/BUILD.gn
+++ b/BUILD.gn +++ b/BUILD.gn
@@ -271,7 +271,7 @@ config("internal_config") { @@ -284,7 +284,7 @@ config("internal_config") {
":v8_header_features", ":v8_header_features",
] ]
@ -17,7 +17,7 @@ index c4dbe902d8bc2b7fd9f41af3e4920ce4cdd8257b..a8fd0b407b6519db82b3599a8d77bb41
defines += [ "BUILDING_V8_SHARED" ] defines += [ "BUILDING_V8_SHARED" ]
} }
} }
@@ -3784,7 +3784,7 @@ if (current_toolchain == v8_generator_toolchain) { @@ -3834,7 +3834,7 @@ if (current_toolchain == v8_generator_toolchain) {
"src/interpreter/bytecodes.h", "src/interpreter/bytecodes.h",
] ]
@ -26,7 +26,7 @@ index c4dbe902d8bc2b7fd9f41af3e4920ce4cdd8257b..a8fd0b407b6519db82b3599a8d77bb41
deps = [ deps = [
":v8_libbase", ":v8_libbase",
@@ -3815,6 +3815,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { @@ -3865,6 +3865,8 @@ if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
configs = [ ":internal_config" ] configs = [ ":internal_config" ]

View file

@ -5,10 +5,10 @@ Subject: dcheck.patch
diff --git a/src/api/api.cc b/src/api/api.cc diff --git a/src/api/api.cc b/src/api/api.cc
index 848a692d963720a30265f210ebd20159cb3e955a..2750ef2bcddfea8a6ddd5cbadb1ae88df7b5d639 100644 index 11ca1064085568986b8d21250dd8617f0d03f652..39dc796b72553259b167721a4fd51f3f51ef1358 100644
--- a/src/api/api.cc --- a/src/api/api.cc
+++ b/src/api/api.cc +++ b/src/api/api.cc
@@ -8311,7 +8311,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) { @@ -8501,7 +8501,7 @@ void Isolate::SetPromiseRejectCallback(PromiseRejectCallback callback) {
} }
void Isolate::RunMicrotasks() { void Isolate::RunMicrotasks() {
@ -18,10 +18,10 @@ index 848a692d963720a30265f210ebd20159cb3e955a..2750ef2bcddfea8a6ddd5cbadb1ae88d
isolate->default_microtask_queue()->RunMicrotasks(isolate); isolate->default_microtask_queue()->RunMicrotasks(isolate);
} }
diff --git a/src/heap/heap.cc b/src/heap/heap.cc diff --git a/src/heap/heap.cc b/src/heap/heap.cc
index 7feb1c11ba90cb5896d85e9bdd9b693a6f9ee788..cc80dfb9af080539c01bdb3b201cd3554534bbc6 100644 index 92265dd7665887cea46be407180e42de4985f8fd..4268f289c22953c386e28ed3968bedf80e595914 100644
--- a/src/heap/heap.cc --- a/src/heap/heap.cc
+++ b/src/heap/heap.cc +++ b/src/heap/heap.cc
@@ -5311,9 +5311,9 @@ void Heap::TearDown() { @@ -5312,9 +5312,9 @@ void Heap::TearDown() {
void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback, void Heap::AddGCPrologueCallback(v8::Isolate::GCCallbackWithData callback,
GCType gc_type, void* data) { GCType gc_type, void* data) {
DCHECK_NOT_NULL(callback); DCHECK_NOT_NULL(callback);

View file

@ -22,10 +22,10 @@ Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
diff --git a/include/v8.h b/include/v8.h diff --git a/include/v8.h b/include/v8.h
index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52c4b18b4c 100644 index c5f0436eb771b6ca86fdf8e0dc195221c6b481f4..4c93d92fe36c6712a239c47e42bcb2cb6992cb57 100644
--- a/include/v8.h --- a/include/v8.h
+++ b/include/v8.h +++ b/include/v8.h
@@ -1108,6 +1108,10 @@ class V8_EXPORT PrimitiveArray { @@ -1195,6 +1195,10 @@ class V8_EXPORT PrimitiveArray {
public: public:
static Local<PrimitiveArray> New(Isolate* isolate, int length); static Local<PrimitiveArray> New(Isolate* isolate, int length);
int Length() const; int Length() const;
@ -36,7 +36,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
void Set(Isolate* isolate, int index, Local<Primitive> item); void Set(Isolate* isolate, int index, Local<Primitive> item);
Local<Primitive> Get(Isolate* isolate, int index); Local<Primitive> Get(Isolate* isolate, int index);
}; };
@@ -1848,6 +1852,8 @@ class V8_EXPORT StackTrace { @@ -1935,6 +1939,8 @@ class V8_EXPORT StackTrace {
/** /**
* Returns a StackFrame at a particular index. * Returns a StackFrame at a particular index.
*/ */
@ -45,7 +45,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
Local<StackFrame> GetFrame(Isolate* isolate, uint32_t index) const; Local<StackFrame> GetFrame(Isolate* isolate, uint32_t index) const;
/** /**
@@ -2541,6 +2547,13 @@ class V8_EXPORT Value : public Data { @@ -2629,6 +2635,13 @@ class V8_EXPORT Value : public Data {
Local<Boolean> ToBoolean(Isolate* isolate) const; Local<Boolean> ToBoolean(Isolate* isolate) const;
@ -59,7 +59,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
/** /**
* Attempts to convert a string to an array index. * Attempts to convert a string to an array index.
* Returns an empty handle if the conversion fails. * Returns an empty handle if the conversion fails.
@@ -2557,7 +2570,14 @@ class V8_EXPORT Value : public Data { @@ -2645,7 +2658,14 @@ class V8_EXPORT Value : public Data {
Local<Context> context) const; Local<Context> context) const;
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const; V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
@ -74,7 +74,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
V8_WARN_UNUSED_RESULT Maybe<bool> Equals(Local<Context> context, V8_WARN_UNUSED_RESULT Maybe<bool> Equals(Local<Context> context,
Local<Value> that) const; Local<Value> that) const;
bool StrictEquals(Local<Value> that) const; bool StrictEquals(Local<Value> that) const;
@@ -2664,6 +2684,8 @@ class V8_EXPORT String : public Name { @@ -2752,6 +2772,8 @@ class V8_EXPORT String : public Name {
* Returns the number of bytes in the UTF-8 encoded * Returns the number of bytes in the UTF-8 encoded
* representation of this string. * representation of this string.
*/ */
@ -83,7 +83,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
int Utf8Length(Isolate* isolate) const; int Utf8Length(Isolate* isolate) const;
/** /**
@@ -2720,12 +2742,23 @@ class V8_EXPORT String : public Name { @@ -2808,12 +2830,23 @@ class V8_EXPORT String : public Name {
// 16-bit character codes. // 16-bit character codes.
int Write(Isolate* isolate, uint16_t* buffer, int start = 0, int length = -1, int Write(Isolate* isolate, uint16_t* buffer, int start = 0, int length = -1,
int options = NO_OPTIONS) const; int options = NO_OPTIONS) const;
@ -107,7 +107,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
/** /**
* A zero length string. * A zero length string.
@@ -2893,6 +2926,9 @@ class V8_EXPORT String : public Name { @@ -2981,6 +3014,9 @@ class V8_EXPORT String : public Name {
*/ */
static Local<String> Concat(Isolate* isolate, Local<String> left, static Local<String> Concat(Isolate* isolate, Local<String> left,
Local<String> right); Local<String> right);
@ -117,7 +117,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
/** /**
* Creates a new external string using the data defined in the given * Creates a new external string using the data defined in the given
@@ -2957,6 +2993,8 @@ class V8_EXPORT String : public Name { @@ -3045,6 +3081,8 @@ class V8_EXPORT String : public Name {
*/ */
class V8_EXPORT Utf8Value { class V8_EXPORT Utf8Value {
public: public:
@ -126,7 +126,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
Utf8Value(Isolate* isolate, Local<v8::Value> obj); Utf8Value(Isolate* isolate, Local<v8::Value> obj);
~Utf8Value(); ~Utf8Value();
char* operator*() { return str_; } char* operator*() { return str_; }
@@ -2980,6 +3018,7 @@ class V8_EXPORT String : public Name { @@ -3068,6 +3106,7 @@ class V8_EXPORT String : public Name {
*/ */
class V8_EXPORT Value { class V8_EXPORT Value {
public: public:
@ -134,7 +134,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
Value(Isolate* isolate, Local<v8::Value> obj); Value(Isolate* isolate, Local<v8::Value> obj);
~Value(); ~Value();
uint16_t* operator*() { return str_; } uint16_t* operator*() { return str_; }
@@ -5308,6 +5347,8 @@ class V8_EXPORT BooleanObject : public Object { @@ -5407,6 +5446,8 @@ class V8_EXPORT BooleanObject : public Object {
class V8_EXPORT StringObject : public Object { class V8_EXPORT StringObject : public Object {
public: public:
static Local<Value> New(Isolate* isolate, Local<String> value); static Local<Value> New(Isolate* isolate, Local<String> value);
@ -143,7 +143,7 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
Local<String> ValueOf() const; Local<String> ValueOf() const;
@@ -10496,6 +10537,29 @@ template <class T> Value* Value::Cast(T* value) { @@ -10741,6 +10782,29 @@ template <class T> Value* Value::Cast(T* value) {
} }
@ -174,10 +174,10 @@ index db972ab5ce249927d9f6e738263600c30c2e176c..ae41288f4188a81458ad2503b75fae52
#ifdef V8_ENABLE_CHECKS #ifdef V8_ENABLE_CHECKS
CheckCast(value); CheckCast(value);
diff --git a/src/api/api.cc b/src/api/api.cc diff --git a/src/api/api.cc b/src/api/api.cc
index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159cb3e955a 100644 index e9e46fd117dbf67a0fb7bdf560e152daa8624ff8..11ca1064085568986b8d21250dd8617f0d03f652 100644
--- a/src/api/api.cc --- a/src/api/api.cc
+++ b/src/api/api.cc +++ b/src/api/api.cc
@@ -2184,6 +2184,10 @@ int PrimitiveArray::Length() const { @@ -2206,6 +2206,10 @@ int PrimitiveArray::Length() const {
return array->length(); return array->length();
} }
@ -188,7 +188,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
void PrimitiveArray::Set(Isolate* v8_isolate, int index, void PrimitiveArray::Set(Isolate* v8_isolate, int index,
Local<Primitive> item) { Local<Primitive> item) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -2197,6 +2201,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index, @@ -2219,6 +2223,10 @@ void PrimitiveArray::Set(Isolate* v8_isolate, int index,
array->set(index, *i_item); array->set(index, *i_item);
} }
@ -199,7 +199,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
Local<Primitive> PrimitiveArray::Get(Isolate* v8_isolate, int index) { Local<Primitive> PrimitiveArray::Get(Isolate* v8_isolate, int index) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
i::Handle<i::FixedArray> array = Utils::OpenHandle(this); i::Handle<i::FixedArray> array = Utils::OpenHandle(this);
@@ -2937,6 +2945,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) { @@ -2960,6 +2968,10 @@ void Message::PrintCurrentStackTrace(Isolate* isolate, FILE* out) {
// --- S t a c k T r a c e --- // --- S t a c k T r a c e ---
@ -210,7 +210,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
Local<StackFrame> StackTrace::GetFrame(Isolate* v8_isolate, Local<StackFrame> StackTrace::GetFrame(Isolate* v8_isolate,
uint32_t index) const { uint32_t index) const {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -3524,6 +3536,34 @@ MaybeLocal<BigInt> Value::ToBigInt(Local<Context> context) const { @@ -3547,6 +3559,34 @@ MaybeLocal<BigInt> Value::ToBigInt(Local<Context> context) const {
RETURN_ESCAPED(result); RETURN_ESCAPED(result);
} }
@ -245,7 +245,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
bool Value::BooleanValue(Isolate* v8_isolate) const { bool Value::BooleanValue(Isolate* v8_isolate) const {
return Utils::OpenHandle(this)->BooleanValue( return Utils::OpenHandle(this)->BooleanValue(
reinterpret_cast<i::Isolate*>(v8_isolate)); reinterpret_cast<i::Isolate*>(v8_isolate));
@@ -3871,6 +3911,11 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const { @@ -3894,6 +3934,11 @@ MaybeLocal<Uint32> Value::ToArrayIndex(Local<Context> context) const {
return Local<Uint32>(); return Local<Uint32>();
} }
@ -257,7 +257,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
Maybe<bool> Value::Equals(Local<Context> context, Local<Value> that) const { Maybe<bool> Value::Equals(Local<Context> context, Local<Value> that) const {
i::Isolate* isolate = Utils::OpenHandle(*context)->GetIsolate(); i::Isolate* isolate = Utils::OpenHandle(*context)->GetIsolate();
auto self = Utils::OpenHandle(this); auto self = Utils::OpenHandle(this);
@@ -5083,6 +5128,10 @@ bool String::ContainsOnlyOneByte() const { @@ -5111,6 +5156,10 @@ bool String::ContainsOnlyOneByte() const {
return helper.Check(*str); return helper.Check(*str);
} }
@ -268,7 +268,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
int String::Utf8Length(Isolate* isolate) const { int String::Utf8Length(Isolate* isolate) const {
i::Handle<i::String> str = Utils::OpenHandle(this); i::Handle<i::String> str = Utils::OpenHandle(this);
str = i::String::Flatten(reinterpret_cast<i::Isolate*>(isolate), str); str = i::String::Flatten(reinterpret_cast<i::Isolate*>(isolate), str);
@@ -5235,6 +5284,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start, @@ -5263,6 +5312,14 @@ static int WriteUtf8Impl(i::Vector<const Char> string, char* write_start,
} }
} // anonymous namespace } // anonymous namespace
@ -283,7 +283,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
int String::WriteUtf8(Isolate* v8_isolate, char* buffer, int capacity, int String::WriteUtf8(Isolate* v8_isolate, char* buffer, int capacity,
int* nchars_ref, int options) const { int* nchars_ref, int options) const {
i::Handle<i::String> str = Utils::OpenHandle(this); i::Handle<i::String> str = Utils::OpenHandle(this);
@@ -5273,6 +5330,17 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string, @@ -5301,6 +5358,17 @@ static inline int WriteHelper(i::Isolate* isolate, const String* string,
return end - start; return end - start;
} }
@ -301,7 +301,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
int String::WriteOneByte(Isolate* isolate, uint8_t* buffer, int start, int String::WriteOneByte(Isolate* isolate, uint8_t* buffer, int start,
int length, int options) const { int length, int options) const {
return WriteHelper(reinterpret_cast<i::Isolate*>(isolate), this, buffer, return WriteHelper(reinterpret_cast<i::Isolate*>(isolate), this, buffer,
@@ -6190,6 +6258,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate, @@ -6218,6 +6286,11 @@ MaybeLocal<String> String::NewFromTwoByte(Isolate* isolate,
return result; return result;
} }
@ -313,7 +313,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
Local<String> v8::String::Concat(Isolate* v8_isolate, Local<String> left, Local<String> v8::String::Concat(Isolate* v8_isolate, Local<String> left,
Local<String> right) { Local<String> right) {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate); i::Isolate* isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
@@ -6460,6 +6533,10 @@ bool v8::BooleanObject::ValueOf() const { @@ -6488,6 +6561,10 @@ bool v8::BooleanObject::ValueOf() const {
return js_primitive_wrapper->value().IsTrue(isolate); return js_primitive_wrapper->value().IsTrue(isolate);
} }
@ -324,7 +324,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
Local<v8::Value> v8::StringObject::New(Isolate* v8_isolate, Local<v8::Value> v8::StringObject::New(Isolate* v8_isolate,
Local<String> value) { Local<String> value) {
i::Handle<i::String> string = Utils::OpenHandle(*value); i::Handle<i::String> string = Utils::OpenHandle(*value);
@@ -8672,6 +8749,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) { @@ -8874,6 +8951,9 @@ bool MicrotasksScope::IsRunningMicrotasks(Isolate* v8_isolate) {
return microtask_queue->IsRunningMicrotasks(); return microtask_queue->IsRunningMicrotasks();
} }
@ -334,7 +334,7 @@ index c41692ca40057efa39440239cda217ae1e39afe8..848a692d963720a30265f210ebd20159
String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj) String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj)
: str_(nullptr), length_(0) { : str_(nullptr), length_(0) {
if (obj.IsEmpty()) return; if (obj.IsEmpty()) return;
@@ -8689,6 +8769,9 @@ String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj) @@ -8891,6 +8971,9 @@ String::Utf8Value::Utf8Value(v8::Isolate* isolate, v8::Local<v8::Value> obj)
String::Utf8Value::~Utf8Value() { i::DeleteArray(str_); } String::Utf8Value::~Utf8Value() { i::DeleteArray(str_); }

View file

@ -12,10 +12,10 @@ This patch can be safely removed if, when it is removed, `node.lib` does not
contain any standard C++ library exports (e.g. `std::ostringstream`). contain any standard C++ library exports (e.g. `std::ostringstream`).
diff --git a/BUILD.gn b/BUILD.gn diff --git a/BUILD.gn b/BUILD.gn
index a016ebcbf46316e57c9ec9f64cec0cc8af3fb847..bee77efc1d575fc9cfdf18a1976f741ddfc8757e 100644 index 62d1548a10e367795ec3d649fe1cf112b278ec19..8d49e29cb4ab4d7d3373cef20e9033b0ac4ca07a 100644
--- a/BUILD.gn --- a/BUILD.gn
+++ b/BUILD.gn +++ b/BUILD.gn
@@ -271,6 +271,10 @@ config("internal_config") { @@ -284,6 +284,10 @@ config("internal_config") {
":v8_header_features", ":v8_header_features",
] ]
@ -27,10 +27,10 @@ index a016ebcbf46316e57c9ec9f64cec0cc8af3fb847..bee77efc1d575fc9cfdf18a1976f741d
defines += [ "BUILDING_V8_SHARED" ] defines += [ "BUILDING_V8_SHARED" ]
} }
diff --git a/src/base/macros.h b/src/base/macros.h diff --git a/src/base/macros.h b/src/base/macros.h
index ad70e9820ddb4a63639ca7738c1836cb87766db5..d40be9b57294583f74594d88d9b7d7b937b2db3c 100644 index 329c5a90636aa5ef587c743ed20b56c2c2195037..1d43c165341fcf089bf8d5566394d1b80d3c8b22 100644
--- a/src/base/macros.h --- a/src/base/macros.h
+++ b/src/base/macros.h +++ b/src/base/macros.h
@@ -414,13 +414,17 @@ bool is_inbounds(float_t v) { @@ -395,13 +395,17 @@ bool is_inbounds(float_t v) {
#ifdef V8_OS_WIN #ifdef V8_OS_WIN
// Setup for Windows shared library export. // Setup for Windows shared library export.

View file

@ -6,10 +6,10 @@ Subject: Export symbols needed for Windows build
These symbols are required to build v8 with BUILD_V8_SHARED on Windows. These symbols are required to build v8 with BUILD_V8_SHARED on Windows.
diff --git a/src/objects/objects.h b/src/objects/objects.h diff --git a/src/objects/objects.h b/src/objects/objects.h
index d706b2dfb7b51adcc3e8d85e17e9e7376af52ba6..c2889dc332c6de4f41eb02d1d91198edad4f79a8 100644 index b4e78a19377df73051c2e6e650d5b654ca435c6b..93de4136f2a0498038d17866f99f72ea8e217b2f 100644
--- a/src/objects/objects.h --- a/src/objects/objects.h
+++ b/src/objects/objects.h +++ b/src/objects/objects.h
@@ -794,7 +794,7 @@ enum class KeyCollectionMode { @@ -796,7 +796,7 @@ enum class KeyCollectionMode {
// Utility superclass for stack-allocated objects that must be updated // Utility superclass for stack-allocated objects that must be updated
// on gc. It provides two ways for the gc to update instances, either // on gc. It provides two ways for the gc to update instances, either
// iterating or updating after gc. // iterating or updating after gc.
@ -19,7 +19,7 @@ index d706b2dfb7b51adcc3e8d85e17e9e7376af52ba6..c2889dc332c6de4f41eb02d1d91198ed
explicit inline Relocatable(Isolate* isolate); explicit inline Relocatable(Isolate* isolate);
inline virtual ~Relocatable(); inline virtual ~Relocatable();
diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h diff --git a/src/objects/ordered-hash-table.h b/src/objects/ordered-hash-table.h
index 66dc36e81fce469d8cf07abe70f827737a9b61e4..d1838ce6df18b99a8476b7b4fc705e786e031fdf 100644 index 21decaeba72246ef95be0f031c605c7f840715b1..d661a11cf48f51eb6080cc086a7a26b4bd497cae 100644
--- a/src/objects/ordered-hash-table.h --- a/src/objects/ordered-hash-table.h
+++ b/src/objects/ordered-hash-table.h +++ b/src/objects/ordered-hash-table.h
@@ -60,7 +60,7 @@ namespace internal { @@ -60,7 +60,7 @@ namespace internal {

View file

@ -6,10 +6,10 @@ Subject: expose_mksnapshot.patch
Needed in order to target mksnapshot for mksnapshot zip. Needed in order to target mksnapshot for mksnapshot zip.
diff --git a/BUILD.gn b/BUILD.gn diff --git a/BUILD.gn b/BUILD.gn
index a8fd0b407b6519db82b3599a8d77bb415e0c9c86..a016ebcbf46316e57c9ec9f64cec0cc8af3fb847 100644 index b0e242d6c369185172184c1f4a88247aa1e0896c..62d1548a10e367795ec3d649fe1cf112b278ec19 100644
--- a/BUILD.gn --- a/BUILD.gn
+++ b/BUILD.gn +++ b/BUILD.gn
@@ -3795,7 +3795,6 @@ if (current_toolchain == v8_generator_toolchain) { @@ -3845,7 +3845,6 @@ if (current_toolchain == v8_generator_toolchain) {
if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) { if (v8_use_snapshot && current_toolchain == v8_snapshot_toolchain) {
v8_executable("mksnapshot") { v8_executable("mksnapshot") {

View file

@ -0,0 +1,44 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jeremy Apthorp <jeremya@chromium.org>
Date: Tue, 17 Sep 2019 18:35:16 +0000
Subject: Revert "[cleanup] Switch {OFFSET_OF} to {offsetof} where possible."
This reverts commit d287e4bc46243841c77cf9798516ee4dcc54bf43.
diff --git a/src/deoptimizer/deoptimizer.h b/src/deoptimizer/deoptimizer.h
index beb2a9aa50e82640417ae0326f84faab3a0610a5..6d0a350aaceb59fa6486d41566ad22ee3fbe1bdd 100644
--- a/src/deoptimizer/deoptimizer.h
+++ b/src/deoptimizer/deoptimizer.h
@@ -488,14 +488,14 @@ class Deoptimizer : public Malloced {
DeoptimizeKind* type);
// Code generation support.
- static int input_offset() { return offsetof(Deoptimizer, input_); }
+ static int input_offset() { return OFFSET_OF(Deoptimizer, input_); }
static int output_count_offset() {
- return offsetof(Deoptimizer, output_count_);
+ return OFFSET_OF(Deoptimizer, output_count_);
}
- static int output_offset() { return offsetof(Deoptimizer, output_); }
+ static int output_offset() { return OFFSET_OF(Deoptimizer, output_); }
static int caller_frame_top_offset() {
- return offsetof(Deoptimizer, caller_frame_top_);
+ return OFFSET_OF(Deoptimizer, caller_frame_top_);
}
V8_EXPORT_PRIVATE static int GetDeoptimizedCodeCount(Isolate* isolate);
@@ -731,11 +731,11 @@ class FrameDescription {
int parameter_count() { return parameter_count_; }
static int registers_offset() {
- return offsetof(FrameDescription, register_values_.registers_);
+ return OFFSET_OF(FrameDescription, register_values_.registers_);
}
static int double_registers_offset() {
- return offsetof(FrameDescription, register_values_.double_registers_);
+ return OFFSET_OF(FrameDescription, register_values_.double_registers_);
}
static int frame_size_offset() {

View file

@ -12,10 +12,10 @@ By moving some functions out of the the arm64-assembler header file,
this error no longer seems to happen. this error no longer seems to happen.
diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc diff --git a/src/codegen/arm64/assembler-arm64.cc b/src/codegen/arm64/assembler-arm64.cc
index 159e763ba2602639b4499af7b7869ead58b267d4..ac529e78a8a6ae8cffb0fef26e4bce9f258517ee 100644 index c798d3a8a03ed9ed49c4562ef3968fae38c55fbe..7369b80c0762bc86d7e763674479bbd426c0a1fa 100644
--- a/src/codegen/arm64/assembler-arm64.cc --- a/src/codegen/arm64/assembler-arm64.cc
+++ b/src/codegen/arm64/assembler-arm64.cc +++ b/src/codegen/arm64/assembler-arm64.cc
@@ -3564,6 +3564,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift, @@ -3589,6 +3589,22 @@ void Assembler::MoveWide(const Register& rd, uint64_t imm, int shift,
ImmMoveWide(static_cast<int>(imm)) | ShiftMoveWide(shift)); ImmMoveWide(static_cast<int>(imm)) | ShiftMoveWide(shift));
} }
@ -39,10 +39,10 @@ index 159e763ba2602639b4499af7b7869ead58b267d4..ac529e78a8a6ae8cffb0fef26e4bce9f
const Operand& operand, FlagsUpdate S, AddSubOp op) { const Operand& operand, FlagsUpdate S, AddSubOp op) {
DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits()); DCHECK_EQ(rd.SizeInBits(), rn.SizeInBits());
diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h diff --git a/src/codegen/arm64/assembler-arm64.h b/src/codegen/arm64/assembler-arm64.h
index 6a6bf633c13ec6d94bbc145eae6daa9ce0d9b2ce..42a77d305b17ffaac6fd3f07c5290c1d61f31065 100644 index 10542a278db27660ec2dc4650f74653f46139c65..44b679cdf6e08297d77cdbe1224dd861a24e2f17 100644
--- a/src/codegen/arm64/assembler-arm64.h --- a/src/codegen/arm64/assembler-arm64.h
+++ b/src/codegen/arm64/assembler-arm64.h +++ b/src/codegen/arm64/assembler-arm64.h
@@ -2079,11 +2079,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { @@ -2099,11 +2099,7 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
return rm.code() << Rm_offset; return rm.code() << Rm_offset;
} }
@ -55,7 +55,7 @@ index 6a6bf633c13ec6d94bbc145eae6daa9ce0d9b2ce..42a77d305b17ffaac6fd3f07c5290c1d
static Instr Ra(CPURegister ra) { static Instr Ra(CPURegister ra) {
DCHECK_NE(ra.code(), kSPRegInternalCode); DCHECK_NE(ra.code(), kSPRegInternalCode);
@@ -2107,15 +2103,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase { @@ -2127,15 +2123,8 @@ class V8_EXPORT_PRIVATE Assembler : public AssemblerBase {
// These encoding functions allow the stack pointer to be encoded, and // These encoding functions allow the stack pointer to be encoded, and
// disallow the zero register. // disallow the zero register.

View file

@ -10,7 +10,7 @@
#include "base/command_line.h" #include "base/command_line.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "base/task/thread_pool/thread_pool.h" #include "base/task/thread_pool/thread_pool_instance.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "electron/electron_version.h" #include "electron/electron_version.h"
#include "gin/array_buffer.h" #include "gin/array_buffer.h"

View file

@ -396,8 +396,8 @@ std::unique_ptr<SkRegion> BrowserWindow::DraggableRegionsToSkRegion(
auto sk_region = std::make_unique<SkRegion>(); auto sk_region = std::make_unique<SkRegion>();
for (const auto& region : regions) { for (const auto& region : regions) {
sk_region->op( sk_region->op(
region->bounds.x(), region->bounds.y(), region->bounds.right(), {region->bounds.x(), region->bounds.y(), region->bounds.right(),
region->bounds.bottom(), region->bounds.bottom()},
region->draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op); region->draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op);
} }
return sk_region; return sk_region;

View file

@ -47,7 +47,7 @@ std::vector<gfx::Rect> CalculateNonDraggableRegions(
int height) { int height) {
std::vector<gfx::Rect> result; std::vector<gfx::Rect> result;
SkRegion non_draggable; SkRegion non_draggable;
non_draggable.op(0, 0, width, height, SkRegion::kUnion_Op); non_draggable.op({0, 0, width, height}, SkRegion::kUnion_Op);
non_draggable.op(*draggable, SkRegion::kDifference_Op); non_draggable.op(*draggable, SkRegion::kDifference_Op);
for (SkRegion::Iterator it(non_draggable); !it.done(); it.next()) { for (SkRegion::Iterator it(non_draggable); !it.done(); it.next()) {
result.push_back(gfx::SkIRectToRect(it.rect())); result.push_back(gfx::SkIRectToRect(it.rect()));

View file

@ -88,8 +88,10 @@ v8::Local<v8::Promise> StopRecording(mate::Arguments* args) {
StopTracing(std::move(promise), base::make_optional(path)); StopTracing(std::move(promise), base::make_optional(path));
} else { } else {
// use a temporary file. // use a temporary file.
base::PostTaskWithTraitsAndReplyWithResult( base::PostTaskAndReplyWithResult(
FROM_HERE, {base::MayBlock(), base::TaskPriority::USER_VISIBLE}, FROM_HERE,
{base::ThreadPool(), base::MayBlock(),
base::TaskPriority::USER_VISIBLE},
base::BindOnce(CreateTemporaryFileOnIO), base::BindOnce(CreateTemporaryFileOnIO),
base::BindOnce(StopTracing, std::move(promise))); base::BindOnce(StopTracing, std::move(promise)));
} }

View file

@ -135,25 +135,25 @@ void FilterCookies(const base::Value& filter,
std::string InclusionStatusToString( std::string InclusionStatusToString(
net::CanonicalCookie::CookieInclusionStatus status) { net::CanonicalCookie::CookieInclusionStatus status) {
switch (status) { if (status.HasExclusionReason(
case net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_HTTP_ONLY: net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_HTTP_ONLY))
return "Failed to create httponly cookie"; return "Failed to create httponly cookie";
case net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_SECURE_ONLY: if (status.HasExclusionReason(
return "Cannot create a secure cookie from an insecure URL"; net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_SECURE_ONLY))
case net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_FAILURE_TO_STORE: return "Cannot create a secure cookie from an insecure URL";
return "Failed to parse cookie"; if (status.HasExclusionReason(net::CanonicalCookie::CookieInclusionStatus::
case net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN: EXCLUDE_FAILURE_TO_STORE))
return "Failed to get cookie domain"; return "Failed to parse cookie";
case net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_PREFIX: if (status.HasExclusionReason(
return "Failed because the cookie violated prefix rules."; net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN))
case net::CanonicalCookie::CookieInclusionStatus:: return "Failed to get cookie domain";
EXCLUDE_NONCOOKIEABLE_SCHEME: if (status.HasExclusionReason(
return "Cannot set cookie for current scheme"; net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_PREFIX))
case net::CanonicalCookie::CookieInclusionStatus::INCLUDE: return "Failed because the cookie violated prefix rules.";
return ""; if (status.HasExclusionReason(net::CanonicalCookie::CookieInclusionStatus::
default: EXCLUDE_NONCOOKIEABLE_SCHEME))
return "Setting cookie failed"; return "Cannot set cookie for current scheme";
} return "Setting cookie failed";
} }
} // namespace } // namespace
@ -248,14 +248,18 @@ v8::Local<v8::Promise> Cookies::Set(const base::DictionaryValue& details) {
GURL url(url_string ? *url_string : ""); GURL url(url_string ? *url_string : "");
if (!url.is_valid()) { if (!url.is_valid()) {
promise.RejectWithErrorMessage(InclusionStatusToString( promise.RejectWithErrorMessage(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_INVALID_DOMAIN)); InclusionStatusToString(net::CanonicalCookie::CookieInclusionStatus(
net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_INVALID_DOMAIN)));
return handle; return handle;
} }
if (!name || name->empty()) { if (!name || name->empty()) {
promise.RejectWithErrorMessage(InclusionStatusToString( promise.RejectWithErrorMessage(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_FAILURE_TO_STORE)); InclusionStatusToString(net::CanonicalCookie::CookieInclusionStatus(
net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_FAILURE_TO_STORE)));
return handle; return handle;
} }
@ -264,8 +268,10 @@ v8::Local<v8::Promise> Cookies::Set(const base::DictionaryValue& details) {
creation_time, expiration_time, last_access_time, secure, http_only, creation_time, expiration_time, last_access_time, secure, http_only,
net::CookieSameSite::NO_RESTRICTION, net::COOKIE_PRIORITY_DEFAULT); net::CookieSameSite::NO_RESTRICTION, net::COOKIE_PRIORITY_DEFAULT);
if (!canonical_cookie || !canonical_cookie->IsCanonical()) { if (!canonical_cookie || !canonical_cookie->IsCanonical()) {
promise.RejectWithErrorMessage(InclusionStatusToString( promise.RejectWithErrorMessage(
net::CanonicalCookie::CookieInclusionStatus::EXCLUDE_FAILURE_TO_STORE)); InclusionStatusToString(net::CanonicalCookie::CookieInclusionStatus(
net::CanonicalCookie::CookieInclusionStatus::
EXCLUDE_FAILURE_TO_STORE)));
return handle; return handle;
} }
net::CookieOptions options; net::CookieOptions options;
@ -281,11 +287,10 @@ v8::Local<v8::Promise> Cookies::Set(const base::DictionaryValue& details) {
base::BindOnce( base::BindOnce(
[](util::Promise<void*> promise, [](util::Promise<void*> promise,
net::CanonicalCookie::CookieInclusionStatus status) { net::CanonicalCookie::CookieInclusionStatus status) {
auto errmsg = InclusionStatusToString(status); if (status.IsInclude()) {
if (errmsg.empty()) {
promise.Resolve(); promise.Resolve();
} else { } else {
promise.RejectWithErrorMessage(errmsg); promise.RejectWithErrorMessage(InclusionStatusToString(status));
} }
}, },
std::move(promise))); std::move(promise)));

View file

@ -33,7 +33,7 @@ KeyWeakMap<std::string> g_weak_map;
class DataPipeReader { class DataPipeReader {
public: public:
DataPipeReader(util::Promise<v8::Local<v8::Value>> promise, DataPipeReader(util::Promise<v8::Local<v8::Value>> promise,
network::mojom::DataPipeGetterPtr data_pipe_getter) mojo::Remote<network::mojom::DataPipeGetter> data_pipe_getter)
: promise_(std::move(promise)), : promise_(std::move(promise)),
data_pipe_getter_(std::move(data_pipe_getter)), data_pipe_getter_(std::move(data_pipe_getter)),
handle_watcher_(FROM_HERE, handle_watcher_(FROM_HERE,
@ -109,7 +109,7 @@ class DataPipeReader {
// Destroy data pipe. // Destroy data pipe.
handle_watcher_.Cancel(); handle_watcher_.Cancel();
data_pipe_.reset(); data_pipe_.reset();
data_pipe_getter_ = nullptr; data_pipe_getter_.reset();
} }
static void FreeBuffer(char* data, void* self) { static void FreeBuffer(char* data, void* self) {
@ -118,7 +118,7 @@ class DataPipeReader {
util::Promise<v8::Local<v8::Value>> promise_; util::Promise<v8::Local<v8::Value>> promise_;
network::mojom::DataPipeGetterPtr data_pipe_getter_; mojo::Remote<network::mojom::DataPipeGetter> data_pipe_getter_;
mojo::ScopedDataPipeConsumerHandle data_pipe_; mojo::ScopedDataPipeConsumerHandle data_pipe_;
mojo::SimpleWatcher handle_watcher_; mojo::SimpleWatcher handle_watcher_;
@ -141,8 +141,9 @@ class DataPipeReader {
gin::WrapperInfo DataPipeHolder::kWrapperInfo = {gin::kEmbedderNativeGin}; gin::WrapperInfo DataPipeHolder::kWrapperInfo = {gin::kEmbedderNativeGin};
DataPipeHolder::DataPipeHolder(const network::DataElement& element) DataPipeHolder::DataPipeHolder(const network::DataElement& element)
: id_(base::NumberToString(++g_next_id)), : id_(base::NumberToString(++g_next_id)) {
data_pipe_(element.CloneDataPipeGetter()) {} data_pipe_.Bind(element.CloneDataPipeGetter());
}
DataPipeHolder::~DataPipeHolder() = default; DataPipeHolder::~DataPipeHolder() = default;

View file

@ -9,6 +9,7 @@
#include "gin/handle.h" #include "gin/handle.h"
#include "gin/wrappable.h" #include "gin/wrappable.h"
#include "mojo/public/cpp/bindings/remote.h"
#include "services/network/public/cpp/data_element.h" #include "services/network/public/cpp/data_element.h"
#include "services/network/public/mojom/data_pipe_getter.mojom.h" #include "services/network/public/mojom/data_pipe_getter.mojom.h"
@ -41,7 +42,7 @@ class DataPipeHolder : public gin::Wrappable<DataPipeHolder> {
~DataPipeHolder() override; ~DataPipeHolder() override;
std::string id_; std::string id_;
network::mojom::DataPipeGetterPtr data_pipe_; mojo::Remote<network::mojom::DataPipeGetter> data_pipe_;
DISALLOW_COPY_AND_ASSIGN(DataPipeHolder); DISALLOW_COPY_AND_ASSIGN(DataPipeHolder);
}; };

View file

@ -34,10 +34,9 @@ void NativeTheme::OnNativeThemeUpdatedOnUI() {
} }
void NativeTheme::OnNativeThemeUpdated(ui::NativeTheme* theme) { void NativeTheme::OnNativeThemeUpdated(ui::NativeTheme* theme) {
base::PostTaskWithTraits( base::PostTask(FROM_HERE, {content::BrowserThread::UI},
FROM_HERE, {content::BrowserThread::UI}, base::BindOnce(&NativeTheme::OnNativeThemeUpdatedOnUI,
base::BindOnce(&NativeTheme::OnNativeThemeUpdatedOnUI, base::Unretained(this)));
base::Unretained(this)));
} }
void NativeTheme::SetThemeSource(ui::NativeTheme::ThemeSource override) { void NativeTheme::SetThemeSource(ui::NativeTheme::ThemeSource override) {

View file

@ -53,8 +53,8 @@ scoped_refptr<base::SequencedTaskRunner> CreateFileTaskRunner() {
// //
// These operations can be skipped on shutdown since FileNetLogObserver's API // These operations can be skipped on shutdown since FileNetLogObserver's API
// doesn't require things to have completed until notified of completion. // doesn't require things to have completed until notified of completion.
return base::CreateSequencedTaskRunnerWithTraits( return base::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::USER_VISIBLE, {base::ThreadPool(), base::MayBlock(), base::TaskPriority::USER_VISIBLE,
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
} }

View file

@ -30,7 +30,8 @@
#include "content/public/browser/download_manager_delegate.h" #include "content/public/browser/download_manager_delegate.h"
#include "content/public/browser/network_service_instance.h" #include "content/public/browser/network_service_instance.h"
#include "content/public/browser/storage_partition.h" #include "content/public/browser/storage_partition.h"
#include "mojo/public/cpp/bindings/strong_binding.h" #include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "native_mate/dictionary.h" #include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h" #include "native_mate/object_template_builder.h"
#include "net/base/completion_repeating_callback.h" #include "net/base/completion_repeating_callback.h"
@ -401,14 +402,16 @@ void Session::SetCertVerifyProc(v8::Local<v8::Value> val,
return; return;
} }
network::mojom::CertVerifierClientPtr cert_verifier_client; mojo::PendingRemote<network::mojom::CertVerifierClient>
cert_verifier_client_remote;
if (proc) { if (proc) {
mojo::MakeStrongBinding(std::make_unique<CertVerifierClient>(proc), mojo::MakeSelfOwnedReceiver(
mojo::MakeRequest(&cert_verifier_client)); std::make_unique<CertVerifierClient>(proc),
cert_verifier_client_remote.InitWithNewPipeAndPassReceiver());
} }
content::BrowserContext::GetDefaultStoragePartition(browser_context_.get()) content::BrowserContext::GetDefaultStoragePartition(browser_context_.get())
->GetNetworkContext() ->GetNetworkContext()
->SetCertVerifierClient(std::move(cert_verifier_client)); ->SetCertVerifierClient(std::move(cert_verifier_client_remote));
// This causes the cert verifier cache to be cleared. // This causes the cert verifier cache to be cleared.
content::GetNetworkService()->OnCertDBChanged(); content::GetNetworkService()->OnCertDBChanged();
@ -637,7 +640,7 @@ void Session::Preconnect(const mate::Dictionary& options,
} }
DCHECK_GT(num_sockets_to_preconnect, 0); DCHECK_GT(num_sockets_to_preconnect, 0);
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(&StartPreconnectOnUI, base::RetainedRef(browser_context_), base::BindOnce(&StartPreconnectOnUI, base::RetainedRef(browser_context_),
url, num_sockets_to_preconnect)); url, num_sockets_to_preconnect));

View file

@ -240,7 +240,7 @@ class TopLevelWindow : public mate::TrackableObject<TopLevelWindow>,
template <typename... Args> template <typename... Args>
void EmitEventSoon(base::StringPiece eventName) { void EmitEventSoon(base::StringPiece eventName) {
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {content::BrowserThread::UI}, FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(base::IgnoreResult(&TopLevelWindow::Emit<Args...>), base::BindOnce(base::IgnoreResult(&TopLevelWindow::Emit<Args...>),
weak_factory_.GetWeakPtr(), eventName)); weak_factory_.GetWeakPtr(), eventName));

View file

@ -6,6 +6,7 @@
#include <utility> #include <utility>
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "mojo/public/cpp/system/string_data_source.h" #include "mojo/public/cpp/system/string_data_source.h"
#include "native_mate/dictionary.h" #include "native_mate/dictionary.h"
#include "native_mate/object_template_builder.h" #include "native_mate/object_template_builder.h"
@ -112,9 +113,10 @@ class MultipartDataPipeGetter : public UploadDataPipeGetter,
~MultipartDataPipeGetter() override = default; ~MultipartDataPipeGetter() override = default;
void AttachToRequestBody(network::ResourceRequestBody* body) override { void AttachToRequestBody(network::ResourceRequestBody* body) override {
network::mojom::DataPipeGetterPtr data_pipe_getter; mojo::PendingRemote<network::mojom::DataPipeGetter> data_pipe_getter_remote;
binding_set_.AddBinding(this, mojo::MakeRequest(&data_pipe_getter)); receivers_.Add(this,
body->AppendDataPipe(std::move(data_pipe_getter)); data_pipe_getter_remote.InitWithNewPipeAndPassReceiver());
body->AppendDataPipe(std::move(data_pipe_getter_remote));
} }
private: private:
@ -125,11 +127,12 @@ class MultipartDataPipeGetter : public UploadDataPipeGetter,
SetPipe(std::move(pipe)); SetPipe(std::move(pipe));
} }
void Clone(network::mojom::DataPipeGetterRequest request) override { void Clone(
binding_set_.AddBinding(this, std::move(request)); mojo::PendingReceiver<network::mojom::DataPipeGetter> receiver) override {
receivers_.Add(this, std::move(receiver));
} }
mojo::BindingSet<network::mojom::DataPipeGetter> binding_set_; mojo::ReceiverSet<network::mojom::DataPipeGetter> receivers_;
}; };
// Streaming chunked data to NetworkService. // Streaming chunked data to NetworkService.
@ -141,9 +144,11 @@ class ChunkedDataPipeGetter : public UploadDataPipeGetter,
~ChunkedDataPipeGetter() override = default; ~ChunkedDataPipeGetter() override = default;
void AttachToRequestBody(network::ResourceRequestBody* body) override { void AttachToRequestBody(network::ResourceRequestBody* body) override {
network::mojom::ChunkedDataPipeGetterPtr data_pipe_getter; mojo::PendingRemote<network::mojom::ChunkedDataPipeGetter>
binding_set_.AddBinding(this, mojo::MakeRequest(&data_pipe_getter)); data_pipe_getter_remote;
body->SetToChunkedDataPipe(std::move(data_pipe_getter)); receiver_set_.Add(this,
data_pipe_getter_remote.InitWithNewPipeAndPassReceiver());
body->SetToChunkedDataPipe(std::move(data_pipe_getter_remote));
} }
private: private:
@ -156,7 +161,7 @@ class ChunkedDataPipeGetter : public UploadDataPipeGetter,
SetPipe(std::move(pipe)); SetPipe(std::move(pipe));
} }
mojo::BindingSet<network::mojom::ChunkedDataPipeGetter> binding_set_; mojo::ReceiverSet<network::mojom::ChunkedDataPipeGetter> receiver_set_;
}; };
URLRequestNS::URLRequestNS(mate::Arguments* args) : weak_factory_(this) { URLRequestNS::URLRequestNS(mate::Arguments* args) : weak_factory_(this) {

View file

@ -66,7 +66,8 @@ void GPUInfoManager::CompleteInfoFetcher(
complete_info_promise_set_.emplace_back(std::move(promise)); complete_info_promise_set_.emplace_back(std::move(promise));
if (NeedsCompleteGpuInfoCollection()) { if (NeedsCompleteGpuInfoCollection()) {
gpu_data_manager_->RequestCompleteGpuInfoIfNeeded(); gpu_data_manager_->RequestCompleteGpuInfoIfNeeded(
content::kGpuInfoRequestAll, /* delayed */ false);
} else { } else {
GPUInfoManager::OnGpuInfoUpdate(); GPUInfoManager::OnGpuInfoUpdate();
} }

View file

@ -111,7 +111,6 @@
#if BUILDFLAG(ENABLE_TTS) #if BUILDFLAG(ENABLE_TTS)
#include "chrome/browser/speech/tts_controller_delegate_impl.h" #include "chrome/browser/speech/tts_controller_delegate_impl.h"
#include "chrome/browser/speech/tts_message_filter.h"
#endif // BUILDFLAG(ENABLE_TTS) #endif // BUILDFLAG(ENABLE_TTS)
#if BUILDFLAG(ENABLE_PRINTING) #if BUILDFLAG(ENABLE_PRINTING)
@ -175,7 +174,7 @@ AtomBrowserClient* AtomBrowserClient::Get() {
// static // static
void AtomBrowserClient::SetApplicationLocale(const std::string& locale) { void AtomBrowserClient::SetApplicationLocale(const std::string& locale) {
if (!BrowserThread::IsThreadInitialized(BrowserThread::IO) || if (!BrowserThread::IsThreadInitialized(BrowserThread::IO) ||
!base::PostTaskWithTraits( !base::PostTask(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::BindOnce(&SetApplicationLocaleOnIOThread, locale))) { base::BindOnce(&SetApplicationLocaleOnIOThread, locale))) {
g_io_thread_application_locale.Get() = locale; g_io_thread_application_locale.Get() = locale;
@ -353,10 +352,6 @@ void AtomBrowserClient::RenderProcessWillLaunch(
process_id, host->GetBrowserContext())); process_id, host->GetBrowserContext()));
#endif #endif
#if BUILDFLAG(ENABLE_TTS)
host->AddFilter(new TtsMessageFilter(host->GetBrowserContext()));
#endif
ProcessPreferences prefs; ProcessPreferences prefs;
auto* web_preferences = auto* web_preferences =
WebContentsPreferences::From(GetWebContentsFromProcessID(process_id)); WebContentsPreferences::From(GetWebContentsFromProcessID(process_id));
@ -748,13 +743,12 @@ AtomBrowserClient::OverrideSystemLocationProvider() {
#endif #endif
} }
network::mojom::NetworkContextPtr AtomBrowserClient::CreateNetworkContext( mojo::Remote<network::mojom::NetworkContext>
AtomBrowserClient::CreateNetworkContext(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
bool /*in_memory*/, bool /*in_memory*/,
const base::FilePath& /*relative_partition_path*/) { const base::FilePath& /*relative_partition_path*/) {
if (!browser_context) DCHECK(browser_context);
return nullptr;
return NetworkContextServiceFactory::GetForContext(browser_context) return NetworkContextServiceFactory::GetForContext(browser_context)
->CreateNetworkContext(); ->CreateNetworkContext();
} }
@ -861,10 +855,9 @@ bool AtomBrowserClient::HandleExternalProtocol(
ui::PageTransition page_transition, ui::PageTransition page_transition,
bool has_user_gesture, bool has_user_gesture,
network::mojom::URLLoaderFactoryPtr* out_factory) { network::mojom::URLLoaderFactoryPtr* out_factory) {
base::PostTaskWithTraits( base::PostTask(FROM_HERE, {BrowserThread::UI},
FROM_HERE, {BrowserThread::UI}, base::BindOnce(&HandleExternalProtocolInUI, url,
base::BindOnce(&HandleExternalProtocolInUI, url, web_contents_getter, web_contents_getter, has_user_gesture));
has_user_gesture));
return true; return true;
} }
@ -984,7 +977,8 @@ bool AtomBrowserClient::WillCreateURLLoaderFactory(
URLLoaderFactoryType type, URLLoaderFactoryType type,
const url::Origin& request_initiator, const url::Origin& request_initiator,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver, mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks) { bool* bypass_redirect_checks) {
v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::Isolate* isolate = v8::Isolate::GetCurrent();
api::ProtocolNS* protocol = api::ProtocolNS* protocol =
@ -997,14 +991,15 @@ bool AtomBrowserClient::WillCreateURLLoaderFactory(
network::mojom::URLLoaderFactoryPtrInfo target_factory_info; network::mojom::URLLoaderFactoryPtrInfo target_factory_info;
*factory_receiver = mojo::MakeRequest(&target_factory_info); *factory_receiver = mojo::MakeRequest(&target_factory_info);
network::mojom::TrustedURLLoaderHeaderClientRequest header_client_request; mojo::PendingReceiver<network::mojom::TrustedURLLoaderHeaderClient>
header_client_receiver;
if (header_client) if (header_client)
header_client_request = mojo::MakeRequest(header_client); header_client_receiver = header_client->InitWithNewPipeAndPassReceiver();
new ProxyingURLLoaderFactory( new ProxyingURLLoaderFactory(
web_request.get(), protocol->intercept_handlers(), render_process_id, web_request.get(), protocol->intercept_handlers(), render_process_id,
std::move(proxied_receiver), std::move(target_factory_info), std::move(proxied_receiver), std::move(target_factory_info),
std::move(header_client_request)); std::move(header_client_receiver), type);
if (bypass_redirect_checks) if (bypass_redirect_checks)
*bypass_redirect_checks = true; *bypass_redirect_checks = true;
@ -1015,7 +1010,8 @@ network::mojom::URLLoaderFactoryPtrInfo
AtomBrowserClient::CreateURLLoaderFactoryForNetworkRequests( AtomBrowserClient::CreateURLLoaderFactoryForNetworkRequests(
content::RenderProcessHost* process, content::RenderProcessHost* process,
network::mojom::NetworkContext* network_context, network::mojom::NetworkContext* network_context,
network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
const url::Origin& request_initiator) { const url::Origin& request_initiator) {
auto render_process_id = process->GetID(); auto render_process_id = process->GetID();
auto it = process_preferences_.find(render_process_id); auto it = process_preferences_.find(render_process_id);
@ -1039,7 +1035,8 @@ AtomBrowserClient::CreateURLLoaderFactoryForNetworkRequests(
} }
#if defined(OS_WIN) #if defined(OS_WIN)
bool AtomBrowserClient::PreSpawnRenderer(sandbox::TargetPolicy* policy) { bool AtomBrowserClient::PreSpawnRenderer(sandbox::TargetPolicy* policy,
RendererSpawnFlags flags) {
// Allow crashpad to communicate via named pipe. // Allow crashpad to communicate via named pipe.
sandbox::ResultCode result = policy->AddRule( sandbox::ResultCode result = policy->AddRule(
sandbox::TargetPolicy::SUBSYS_FILES, sandbox::TargetPolicy::SUBSYS_FILES,

View file

@ -143,7 +143,7 @@ class AtomBrowserClient : public content::ContentBrowserClient,
content::ResourceContext* resource_context) override; content::ResourceContext* resource_context) override;
std::unique_ptr<device::LocationProvider> OverrideSystemLocationProvider() std::unique_ptr<device::LocationProvider> OverrideSystemLocationProvider()
override; override;
network::mojom::NetworkContextPtr CreateNetworkContext( mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
content::BrowserContext* browser_context, content::BrowserContext* browser_context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path) override; const base::FilePath& relative_partition_path) override;
@ -177,16 +177,19 @@ class AtomBrowserClient : public content::ContentBrowserClient,
URLLoaderFactoryType type, URLLoaderFactoryType type,
const url::Origin& request_initiator, const url::Origin& request_initiator,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver, mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks) override; bool* bypass_redirect_checks) override;
network::mojom::URLLoaderFactoryPtrInfo network::mojom::URLLoaderFactoryPtrInfo
CreateURLLoaderFactoryForNetworkRequests( CreateURLLoaderFactoryForNetworkRequests(
content::RenderProcessHost* process, content::RenderProcessHost* process,
network::mojom::NetworkContext* network_context, network::mojom::NetworkContext* network_context,
network::mojom::TrustedURLLoaderHeaderClientPtrInfo* header_client, mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
const url::Origin& request_initiator) override; const url::Origin& request_initiator) override;
#if defined(OS_WIN) #if defined(OS_WIN)
bool PreSpawnRenderer(sandbox::TargetPolicy* policy) override; bool PreSpawnRenderer(sandbox::TargetPolicy* policy,
RendererSpawnFlags flags) override;
#endif #endif
bool BindAssociatedInterfaceRequestFromFrame( bool BindAssociatedInterfaceRequestFromFrame(
content::RenderFrameHost* render_frame_host, content::RenderFrameHost* render_frame_host,

View file

@ -275,7 +275,8 @@ AtomBrowserContext::GetURLLoaderFactory() {
mojo::MakeRequest(&network_factory); mojo::MakeRequest(&network_factory);
// Consult the embedder. // Consult the embedder.
network::mojom::TrustedURLLoaderHeaderClientPtrInfo header_client; mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>
header_client;
static_cast<content::ContentBrowserClient*>(AtomBrowserClient::Get()) static_cast<content::ContentBrowserClient*>(AtomBrowserClient::Get())
->WillCreateURLLoaderFactory( ->WillCreateURLLoaderFactory(
this, nullptr, -1, this, nullptr, -1,

View file

@ -137,7 +137,7 @@ void ShutdownDetector::ThreadMain() {
} while (bytes_read < sizeof(signal)); } while (bytes_read < sizeof(signal));
VLOG(1) << "Handling shutdown for signal " << signal << "."; VLOG(1) << "Handling shutdown for signal " << signal << ".";
if (!base::PostTaskWithTraits( if (!base::PostTask(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::BindOnce(&Browser::Quit, base::Unretained(Browser::Get())))) { base::BindOnce(&Browser::Quit, base::Unretained(Browser::Get())))) {
// Without a UI thread to post the exit task to, there aren't many // Without a UI thread to post the exit task to, there aren't many

View file

@ -216,9 +216,9 @@ bool AtomDownloadManagerDelegate::DetermineDownloadTarget(
base::FilePath default_download_path = base::FilePath default_download_path =
browser_context->prefs()->GetFilePath(prefs::kDownloadDefaultDirectory); browser_context->prefs()->GetFilePath(prefs::kDownloadDefaultDirectory);
base::PostTaskWithTraitsAndReplyWithResult( base::PostTaskAndReplyWithResult(
FROM_HERE, FROM_HERE,
{base::MayBlock(), base::TaskPriority::BEST_EFFORT, {base::ThreadPool(), base::MayBlock(), base::TaskPriority::BEST_EFFORT,
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
base::BindOnce(&CreateDownloadPath, download->GetURL(), base::BindOnce(&CreateDownloadPath, download->GetURL(),
download->GetContentDisposition(), download->GetContentDisposition(),

View file

@ -178,8 +178,8 @@ bool IsDevToolsFileSystemAdded(content::WebContents* web_contents,
CommonWebContentsDelegate::CommonWebContentsDelegate() CommonWebContentsDelegate::CommonWebContentsDelegate()
: devtools_file_system_indexer_(new DevToolsFileSystemIndexer), : devtools_file_system_indexer_(new DevToolsFileSystemIndexer),
file_task_runner_( file_task_runner_(base::CreateSequencedTaskRunner(
base::CreateSequencedTaskRunnerWithTraits({base::MayBlock()})), {base::ThreadPool(), base::MayBlock()})),
weak_factory_(this) {} weak_factory_(this) {}
CommonWebContentsDelegate::~CommonWebContentsDelegate() = default; CommonWebContentsDelegate::~CommonWebContentsDelegate() = default;

View file

@ -131,7 +131,7 @@ AppSorting* AtomExtensionSystem::app_sorting() {
void AtomExtensionSystem::RegisterExtensionWithRequestContexts( void AtomExtensionSystem::RegisterExtensionWithRequestContexts(
const Extension* extension, const Extension* extension,
const base::Closure& callback) { const base::Closure& callback) {
base::PostTaskWithTraitsAndReply( base::PostTaskAndReply(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::Bind(&InfoMap::AddExtension, info_map(), base::Bind(&InfoMap::AddExtension, info_map(),
base::RetainedRef(extension), base::Time::Now(), false, false), base::RetainedRef(extension), base::Time::Now(), false, false),

View file

@ -235,7 +235,7 @@ void AtomExtensionsBrowserClient::BroadcastEventToRenderers(
const std::string& event_name, const std::string& event_name,
std::unique_ptr<base::ListValue> args) { std::unique_ptr<base::ListValue> args) {
if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::BindOnce(&AtomExtensionsBrowserClient::BroadcastEventToRenderers, base::BindOnce(&AtomExtensionsBrowserClient::BroadcastEventToRenderers,
base::Unretained(this), histogram_value, event_name, base::Unretained(this), histogram_value, event_name,

View file

@ -22,11 +22,11 @@ namespace electron {
LoginHandler::LoginHandler(net::URLRequest* request, LoginHandler::LoginHandler(net::URLRequest* request,
const net::AuthChallengeInfo& auth_info, const net::AuthChallengeInfo& auth_info,
net::NetworkDelegate::AuthCallback callback, // net::NetworkDelegate::AuthCallback callback,
net::AuthCredentials* credentials) net::AuthCredentials* credentials)
: credentials_(credentials), : credentials_(credentials),
auth_info_(std::make_unique<net::AuthChallengeInfo>(auth_info)), auth_info_(std::make_unique<net::AuthChallengeInfo>(auth_info)),
auth_callback_(std::move(callback)), // auth_callback_(std::move(callback)),
weak_factory_(this) { weak_factory_(this) {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
@ -40,7 +40,7 @@ LoginHandler::LoginHandler(net::URLRequest* request,
// web_contents_getter_ = // web_contents_getter_ =
// resource_request_info->GetWebContentsGetterForRequest(); // resource_request_info->GetWebContentsGetterForRequest();
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::UI}, FROM_HERE, {BrowserThread::UI},
base::BindOnce(&Browser::RequestLogin, base::Unretained(Browser::Get()), base::BindOnce(&Browser::RequestLogin, base::Unretained(Browser::Get()),
base::RetainedRef(this), std::move(request_details))); base::RetainedRef(this), std::move(request_details)));
@ -52,7 +52,7 @@ void LoginHandler::Login(const base::string16& username,
const base::string16& password) { const base::string16& password) {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::BindOnce(&LoginHandler::DoLogin, weak_factory_.GetWeakPtr(), base::BindOnce(&LoginHandler::DoLogin, weak_factory_.GetWeakPtr(),
username, password)); username, password));
@ -61,13 +61,13 @@ void LoginHandler::Login(const base::string16& username,
void LoginHandler::CancelAuth() { void LoginHandler::CancelAuth() {
DCHECK_CURRENTLY_ON(BrowserThread::UI); DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::PostTaskWithTraits( base::PostTask(
FROM_HERE, {BrowserThread::IO}, FROM_HERE, {BrowserThread::IO},
base::BindOnce(&LoginHandler::DoCancelAuth, weak_factory_.GetWeakPtr())); base::BindOnce(&LoginHandler::DoCancelAuth, weak_factory_.GetWeakPtr()));
} }
void LoginHandler::NotifyRequestDestroyed() { void LoginHandler::NotifyRequestDestroyed() {
auth_callback_.Reset(); // auth_callback_.Reset();
credentials_ = nullptr; credentials_ = nullptr;
weak_factory_.InvalidateWeakPtrs(); weak_factory_.InvalidateWeakPtrs();
} }
@ -82,19 +82,23 @@ content::WebContents* LoginHandler::GetWebContents() const {
void LoginHandler::DoCancelAuth() { void LoginHandler::DoCancelAuth() {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
/*
if (!auth_callback_.is_null()) if (!auth_callback_.is_null())
std::move(auth_callback_) std::move(auth_callback_)
.Run(net::NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH); .Run(net::NetworkDelegate::AUTH_REQUIRED_RESPONSE_CANCEL_AUTH);
*/
} }
void LoginHandler::DoLogin(const base::string16& username, void LoginHandler::DoLogin(const base::string16& username,
const base::string16& password) { const base::string16& password) {
DCHECK_CURRENTLY_ON(BrowserThread::IO); DCHECK_CURRENTLY_ON(BrowserThread::IO);
/*
if (!auth_callback_.is_null()) { if (!auth_callback_.is_null()) {
credentials_->Set(username, password); credentials_->Set(username, password);
std::move(auth_callback_) std::move(auth_callback_)
.Run(net::NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH); .Run(net::NetworkDelegate::AUTH_REQUIRED_RESPONSE_SET_AUTH);
} }
*/
} }
} // namespace electron } // namespace electron

View file

@ -26,7 +26,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
public: public:
LoginHandler(net::URLRequest* request, LoginHandler(net::URLRequest* request,
const net::AuthChallengeInfo& auth_info, const net::AuthChallengeInfo& auth_info,
net::NetworkDelegate::AuthCallback callback, // net::NetworkDelegate::AuthCallback callback,
net::AuthCredentials* credentials); net::AuthCredentials* credentials);
// The auth is cancelled, must be called on UI thread. // The auth is cancelled, must be called on UI thread.
@ -64,7 +64,7 @@ class LoginHandler : public base::RefCountedThreadSafe<LoginHandler> {
content::WebContents::Getter web_contents_getter_; content::WebContents::Getter web_contents_getter_;
// Called with preferred value of net::NetworkDelegate::AuthRequiredResponse. // Called with preferred value of net::NetworkDelegate::AuthRequiredResponse.
net::NetworkDelegate::AuthCallback auth_callback_; // net::NetworkDelegate::AuthCallback auth_callback_;
base::WeakPtrFactory<LoginHandler> weak_factory_; base::WeakPtrFactory<LoginHandler> weak_factory_;

View file

@ -122,9 +122,8 @@
*/ */
- (void)runCallback:(bool)isProductValid { - (void)runCallback:(bool)isProductValid {
if (callback_) { if (callback_) {
base::PostTaskWithTraits( base::PostTask(FROM_HERE, {content::BrowserThread::UI},
FROM_HERE, {content::BrowserThread::UI}, base::BindOnce(std::move(callback_), isProductValid));
base::BindOnce(std::move(callback_), isProductValid));
} }
// Release this delegate. // Release this delegate.
[self release]; [self release];

View file

@ -75,8 +75,8 @@ using InAppTransactionCallback = base::RepeatingCallback<void(
} }
// Send the callback to the browser thread. // Send the callback to the browser thread.
base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI}, base::PostTask(FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(callback_, converted)); base::BindOnce(callback_, converted));
} }
/** /**

View file

@ -83,8 +83,8 @@
} }
// Send the callback to the browser thread. // Send the callback to the browser thread.
base::PostTaskWithTraits(FROM_HERE, {content::BrowserThread::UI}, base::PostTask(FROM_HERE, {content::BrowserThread::UI},
base::BindOnce(std::move(callback_), converted)); base::BindOnce(std::move(callback_), converted));
[self release]; [self release];
} }

View file

@ -274,7 +274,7 @@ NativeWindowViews::NativeWindowViews(const mate::Dictionary& options,
if (has_frame()) { if (has_frame()) {
// TODO(zcbenz): This was used to force using native frame on Windows 2003, // TODO(zcbenz): This was used to force using native frame on Windows 2003,
// we should check whether setting it in InitParams can work. // we should check whether setting it in InitParams can work.
widget()->set_frame_type(views::Widget::FrameType::FRAME_TYPE_FORCE_NATIVE); widget()->set_frame_type(views::Widget::FrameType::kForceNative);
widget()->FrameTypeChanged(); widget()->FrameTypeChanged();
#if defined(OS_WIN) #if defined(OS_WIN)
// thickFrame also works for normal window. // thickFrame also works for normal window.

View file

@ -20,6 +20,7 @@
#include "net/base/mime_util.h" #include "net/base/mime_util.h"
#include "net/http/http_byte_range.h" #include "net/http/http_byte_range.h"
#include "net/http/http_util.h" #include "net/http/http_util.h"
#include "services/network/public/cpp/resource_response.h"
#include "shell/common/asar/archive.h" #include "shell/common/asar/archive.h"
#include "shell/common/asar/asar_util.h" #include "shell/common/asar/asar_util.h"
@ -298,8 +299,8 @@ void CreateAsarURLLoader(
network::mojom::URLLoaderRequest loader, network::mojom::URLLoaderRequest loader,
network::mojom::URLLoaderClientPtr client, network::mojom::URLLoaderClientPtr client,
scoped_refptr<net::HttpResponseHeaders> extra_response_headers) { scoped_refptr<net::HttpResponseHeaders> extra_response_headers) {
auto task_runner = base::CreateSequencedTaskRunnerWithTraits( auto task_runner = base::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::USER_VISIBLE, {base::ThreadPool(), base::MayBlock(), base::TaskPriority::USER_VISIBLE,
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
task_runner->PostTask( task_runner->PostTask(
FROM_HERE, base::BindOnce(&AsarURLLoader::CreateAndStart, request, FROM_HERE, base::BindOnce(&AsarURLLoader::CreateAndStart, request,

View file

@ -19,12 +19,12 @@ NetworkContextService::NetworkContextService(content::BrowserContext* context)
NetworkContextService::~NetworkContextService() = default; NetworkContextService::~NetworkContextService() = default;
network::mojom::NetworkContextPtr mojo::Remote<network::mojom::NetworkContext>
NetworkContextService::CreateNetworkContext() { NetworkContextService::CreateNetworkContext() {
network::mojom::NetworkContextPtr network_context; mojo::Remote<network::mojom::NetworkContext> network_context;
content::GetNetworkService()->CreateNetworkContext( content::GetNetworkService()->CreateNetworkContext(
MakeRequest(&network_context), network_context.BindNewPipeAndPassReceiver(),
CreateNetworkContextParams(browser_context_->IsOffTheRecord(), CreateNetworkContextParams(browser_context_->IsOffTheRecord(),
browser_context_->GetPath())); browser_context_->GetPath()));

Some files were not shown because too many files have changed in this diff Show more