chore: bump chromium to 133.0.6846.0 (main) (#44665)

* chore: bump chromium in DEPS to 133.0.6836.0

* chore: bump chromium in DEPS to 133.0.6838.0

* chore: update patches

* 6006096: [Sync ESB] Integrate Chrome Toast UI

https://chromium-review.googlesource.com/c/chromium/src/+/6006096

* Confine enable_device_bound_sessions buildflag to //net

https://chromium-review.googlesource.com/c/chromium/src/+/6014679

* revert [api] Delete deprecated struct FastApiTypedArray

 https://chromium-review.googlesource.com/c/v8/v8/+/5982984
Also
https://chromium-review.googlesource.com/c/v8/v8/+/5979766/1

* fixup revert [api] Delete deprecated struct FastApiTypedArray

* Migrate remaining NOTREACHED()s in chrome/

https://chromium-review.googlesource.com/c/chromium/src/+/5998172

* [Reland][Extensions] Remove ExtensionHostDelegate::GetJavaScriptDialogManager()

https://chromium-review.googlesource.com/c/chromium/src/+/6020106

* Remove NOTREACHED_IN_MIGRATION()

https://chromium-review.googlesource.com/c/chromium/src/+/6021996

* Remove Lock screen apps [#8] : remove lock screen extension

https://chromium-review.googlesource.com/c/chromium/src/+/6005846

* Reland "Add CrashReporterClient::GetProductInfo(ProductInfo*)"

https://chromium-review.googlesource.com/c/chromium/src/+/6012631

* Ozone/Wayland: remove lacros specific window states

https://chromium-review.googlesource.com/c/chromium/src/+/6011215

* chore: bump chromium in DEPS to 133.0.6840.0

* chore: bump chromium in DEPS to 133.0.6841.0

* chore: bump chromium in DEPS to 133.0.6844.0

* implement virtual WebContents::CanUserEnterFullscreen

* OnSearchifyStateChange -> OnSearchifyStarted

* regen libc++ filenames

* chore: bump chromium in DEPS to 133.0.6846.0

* chore: update patches

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
This commit is contained in:
electron-roller[bot] 2024-11-19 19:52:20 -08:00 коммит произвёл GitHub
Родитель ac61c74ddc
Коммит 43ed763f18
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
72 изменённых файлов: 2560 добавлений и 349 удалений

2
DEPS
Просмотреть файл

@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
vars = { vars = {
'chromium_version': 'chromium_version':
'132.0.6834.0', '133.0.6846.0',
'node_version': 'node_version':
'v22.9.0', 'v22.9.0',
'nan_version': 'nan_version':

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -20,10 +20,10 @@ index 7de8923518dbfb69fef62d7781f906b30cf62155..7a4310d6d8e85f07f0ae6c97726d909c
case ssl_open_record_error: case ssl_open_record_error:
diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc
index f52030b8cd97d24d805963fd86a9e2b0da15af48..59cb15d5daa22fb87aa9012e25732e90bf5778a4 100644 index 82870cda0593bdfa7434154bb7dfd5e1b00f6c4f..d3ad8a596b832af328d5e6bfeb5f36590574cc94 100644
--- a/ssl/ssl_lib.cc --- a/ssl/ssl_lib.cc
+++ b/ssl/ssl_lib.cc +++ b/ssl/ssl_lib.cc
@@ -1339,7 +1339,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) { @@ -1319,7 +1319,7 @@ int SSL_get_error(const SSL *ssl, int ret_code) {
} }
if (ret_code == 0) { if (ret_code == 0) {
@ -32,7 +32,7 @@ index f52030b8cd97d24d805963fd86a9e2b0da15af48..59cb15d5daa22fb87aa9012e25732e90
return SSL_ERROR_ZERO_RETURN; return SSL_ERROR_ZERO_RETURN;
} }
// An EOF was observed which violates the protocol, and the underlying // An EOF was observed which violates the protocol, and the underlying
@@ -2711,13 +2711,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) { @@ -2686,13 +2686,7 @@ void *SSL_CTX_get_ex_data(const SSL_CTX *ctx, int idx) {
return CRYPTO_get_ex_data(&ctx->ex_data, idx); return CRYPTO_get_ex_data(&ctx->ex_data, idx);
} }

Просмотреть файл

@ -23,10 +23,10 @@ index ad0092ef2e13853e4bb8b923481559a043b00ab7..1c2dfd23f18733e21312992877ae1499
int32_t world_id) {} int32_t world_id) {}
virtual void DidClearWindowObject() {} virtual void DidClearWindowObject() {}
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 3d0544422f05e2edc02921fc39335bf10184028e..bf44c1ffef7df44448ee7b5b176c33348599f0be 100644 index 7d40a2d2db8082278832ff1b799a8653c105866e..a614112af549120e95cc8ea2f8b54c2d91cb4e28 100644
--- a/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -4792,6 +4792,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context, @@ -4793,6 +4793,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
observer.DidCreateScriptContext(context, world_id); observer.DidCreateScriptContext(context, world_id);
} }

Просмотреть файл

@ -6,7 +6,7 @@ Subject: add gin::Converter support for ArrayBufferView
This should be upstreamed. This should be upstreamed.
diff --git a/gin/converter.cc b/gin/converter.cc diff --git a/gin/converter.cc b/gin/converter.cc
index 62209cadaec7314d2d4ec3e63e1bc88394afa4a9..b035bfe1fd16fb6ca8be33bf446ff8578d7cc2a0 100644 index 04bfeb77157ea168de6a382852e7163e0f8d9949..c4d0c2d332f2e09bfa411998abe4c172b135ca23 100644
--- a/gin/converter.cc --- a/gin/converter.cc
+++ b/gin/converter.cc +++ b/gin/converter.cc
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
@ -17,7 +17,7 @@ index 62209cadaec7314d2d4ec3e63e1bc88394afa4a9..b035bfe1fd16fb6ca8be33bf446ff857
using v8::External; using v8::External;
using v8::Function; using v8::Function;
using v8::Int32; using v8::Int32;
@@ -246,6 +247,20 @@ bool Converter<Local<ArrayBuffer>>::FromV8(Isolate* isolate, @@ -244,6 +245,20 @@ bool Converter<Local<ArrayBuffer>>::FromV8(Isolate* isolate,
return true; return true;
} }

Просмотреть файл

@ -116,10 +116,10 @@ index 083af135d890c2837e72c314e170e81931bd2a20..5245ea88441ef84c15b8052a9011ce70
// Visibility ----------------------------------------------------------- // Visibility -----------------------------------------------------------
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index f5fe2e061448673c788315a167efff1fb70c3ef0..ed0c77c14e8dcf3e6d7328c8a9c640388b7be92d 100644 index 9e4f1aebd3021a1b1f41cdce43796b0c51f7617b..1b94c78dc66f80c062365fe4f5aaca73d3e7ff5a 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -2452,6 +2452,10 @@ void WebViewImpl::SetPageLifecycleStateInternal( @@ -2456,6 +2456,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal", TRACE_EVENT2("navigation", "WebViewImpl::SetPageLifecycleStateInternal",
"old_state", old_state, "new_state", new_state); "old_state", old_state, "new_state", new_state);
@ -155,7 +155,7 @@ index f5fe2e061448673c788315a167efff1fb70c3ef0..ed0c77c14e8dcf3e6d7328c8a9c64038
// Do not throttle if the page should be painting. // Do not throttle if the page should be painting.
bool is_visible = bool is_visible =
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h diff --git a/third_party/blink/renderer/core/exported/web_view_impl.h b/third_party/blink/renderer/core/exported/web_view_impl.h
index d5397c53559ba239e46c9485fb30daea89bd392b..4989d9f6a28d519098b16e832c2a36c61ab04c15 100644 index e4784453b357e2a9c18ccf5acfde43f5afd583ae..2c5a9f08ac34ae4106f25c42dca04f78ae703618 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.h --- a/third_party/blink/renderer/core/exported/web_view_impl.h
+++ b/third_party/blink/renderer/core/exported/web_view_impl.h +++ b/third_party/blink/renderer/core/exported/web_view_impl.h
@@ -448,6 +448,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -448,6 +448,7 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@ -166,7 +166,7 @@ index d5397c53559ba239e46c9485fb30daea89bd392b..4989d9f6a28d519098b16e832c2a36c6
void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state, void SetVisibilityState(mojom::blink::PageVisibilityState visibility_state,
bool is_initial_state) override; bool is_initial_state) override;
mojom::blink::PageVisibilityState GetVisibilityState() override; mojom::blink::PageVisibilityState GetVisibilityState() override;
@@ -933,6 +934,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -936,6 +937,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
// If true, we send IPC messages when |preferred_size_| changes. // If true, we send IPC messages when |preferred_size_| changes.
bool send_preferred_size_changes_ = false; bool send_preferred_size_changes_ = false;

Просмотреть файл

@ -49,7 +49,7 @@ index 2f33ec660a975522c473ecd50e633b5edaca707f..65221a51927d9f44bd6adbad88fa1144
// its owning reference back to our owning LocalFrame. // its owning reference back to our owning LocalFrame.
client_->Detached(type); client_->Detached(type);
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 5c8c50fc2025a160bfb0587cd46ba45f8d58a175..d918e9d165acefa8ba3a225aec261ebf028c40f7 100644 index ef53b6f6d9cee47fe37a1ad5d89046b78e6853f7..6790239205233a9707b98215890ff336f02cc3c8 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
@@ -746,10 +746,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) { @@ -746,10 +746,6 @@ bool LocalFrame::DetachImpl(FrameDetachType type) {

Просмотреть файл

@ -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 ef993705e4a3624d06e3a74255bbec5c73eb6dfb..d44cae760548fc4ae48ab9406d3ca02b9264f41e 100644 index 435735a272bea0e67346ee6388e237e190854c8d..230cc8358d1173f51b5b3ca066fcd65685008db2 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
@@ -88,6 +88,7 @@ @@ -93,6 +93,7 @@
X("drm") \ X("drm") \
X("drmcursor") \ X("drmcursor") \
X("dwrite") \ X("dwrite") \

Просмотреть файл

@ -11,10 +11,10 @@ This patch can (and should) be removed when we can prevent those symbols
from being stripped in the release build. from being stripped in the release build.
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index ac5ce5e5d80facc0bbafe51ced9aba53a8fb0c04..6c457c4e63c4024490b47aaf29dfbbab83bf6f5e 100644 index c2cda80929d15c926c61225bdf5e0343bd5fd3b3..f792ec19a0692af0298064dd0439dc76d65ed893 100644
--- a/build/config/compiler/compiler.gni --- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni +++ b/build/config/compiler/compiler.gni
@@ -86,7 +86,7 @@ declare_args() { @@ -82,7 +82,7 @@ declare_args() {
# have the same LLVM revisions as us, making bitcode useless to them. # have the same LLVM revisions as us, making bitcode useless to them.
use_thin_lto = use_thin_lto =
is_cfi || (is_clang && is_official_build && chrome_pgo_phase != 1 && is_cfi || (is_clang && is_official_build && chrome_pgo_phase != 1 &&

Просмотреть файл

@ -11,7 +11,7 @@ if we ever align our .pak file generation with Chrome we can remove this
patch. patch.
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
index 9580623c57cb02f7e924742c6cb1638676881115..ad80d8e63dfebbbdb8eaa63bfe38a6f86df9afb6 100644 index 4a0c2d74f6ce439f562115ee382ea72b1ce6670b..a6562fd7ce1fb11458dfdc21abee462d19414831 100644
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -200,11 +200,16 @@ if (!is_android && !is_mac) { @@ -200,11 +200,16 @@ if (!is_android && !is_mac) {
@ -33,10 +33,10 @@ index 9580623c57cb02f7e924742c6cb1638676881115..ad80d8e63dfebbbdb8eaa63bfe38a6f8
"//base", "//base",
"//build:branding_buildflags", "//build:branding_buildflags",
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 1a136cdeb8aea796a8b3f81e4f791c29ae02cf02..9033419bb880830076835e8400276e738b71f428 100644 index 72aee16421957a0db9fcc5f5e9dd22bbcf623e72..3c6fa910ceadf5f704a72e5fa2bc7cc26b8ceffd 100644
--- a/chrome/browser/BUILD.gn --- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn
@@ -4525,7 +4525,7 @@ static_library("browser") { @@ -4515,7 +4515,7 @@ static_library("browser") {
] ]
} }
@ -46,10 +46,10 @@ index 1a136cdeb8aea796a8b3f81e4f791c29ae02cf02..9033419bb880830076835e8400276e73
# than here in :chrome_dll. # than here in :chrome_dll.
deps += [ "//chrome:packed_resources_integrity_header" ] deps += [ "//chrome:packed_resources_integrity_header" ]
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 7a945c6bac66f8f4c579ae3e2bae6f228c453d8f..48b7b801573cbcc977346a3f80c0c907dd619a06 100644 index bfa1195a062597fff605155440dca91d20f11092..56f1a67ee991bfe0104cc1b7400bb7c8c4f5666d 100644
--- a/chrome/test/BUILD.gn --- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -6818,9 +6818,12 @@ test("unit_tests") { @@ -6847,9 +6847,12 @@ test("unit_tests") {
"//chrome/notification_helper", "//chrome/notification_helper",
] ]
@ -63,7 +63,7 @@ index 7a945c6bac66f8f4c579ae3e2bae6f228c453d8f..48b7b801573cbcc977346a3f80c0c907
"//chrome//services/util_win:unit_tests", "//chrome//services/util_win:unit_tests",
"//chrome/app:chrome_dll_resources", "//chrome/app:chrome_dll_resources",
"//chrome/app:win_unit_tests", "//chrome/app:win_unit_tests",
@@ -7762,6 +7765,10 @@ test("unit_tests") { @@ -7787,6 +7790,10 @@ test("unit_tests") {
"../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc", "../browser/performance_manager/policies/background_tab_loading_policy_unittest.cc",
] ]
@ -74,7 +74,7 @@ index 7a945c6bac66f8f4c579ae3e2bae6f228c453d8f..48b7b801573cbcc977346a3f80c0c907
sources += [ sources += [
# The importer code is not used on Android. # The importer code is not used on Android.
"../common/importer/firefox_importer_utils_unittest.cc", "../common/importer/firefox_importer_utils_unittest.cc",
@@ -7814,7 +7821,6 @@ test("unit_tests") { @@ -7839,7 +7846,6 @@ test("unit_tests") {
# Non-android deps for "unit_tests" target. # Non-android deps for "unit_tests" target.
deps += [ deps += [
"../browser/screen_ai:screen_ai_install_state", "../browser/screen_ai:screen_ai_install_state",

Просмотреть файл

@ -9,10 +9,10 @@ potentially prevent a window from being created.
TODO(loc): this patch is currently broken. TODO(loc): this patch is currently broken.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index d29dac893805535bbbd9aefe096a0ca2825a01aa..4f31803e492d0d05b29659f8bf75b6fee7aff25e 100644 index b22f297cfec19d2afc029c2c63c8451335c6156f..bf6e476bb9fbf7e5fc68bafc7703d00ecaeb4fa3 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -9170,6 +9170,7 @@ void RenderFrameHostImpl::CreateNewWindow( @@ -9176,6 +9176,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,
@ -21,10 +21,10 @@ index d29dac893805535bbbd9aefe096a0ca2825a01aa..4f31803e492d0d05b29659f8bf75b6fe
&no_javascript_access); &no_javascript_access);
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 c93722f2fc5340edeeace5a1690d0fa7d84dffb2..e7e47a9aa5a22aea2aa0eeab7bd661b47c9cbdae 100644 index 45cc80c684f5e6a721a6e015857f8e01e0497079..bdc268c2d378d65c4ddf2b9c4b0dae8b94f9521c 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
@@ -4887,6 +4887,12 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -4890,6 +4890,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params, SetPartitionedPopinOpenerOnNewWindowIfNeeded(new_contents_impl, params,
opener); opener);
@ -37,7 +37,7 @@ index c93722f2fc5340edeeace5a1690d0fa7d84dffb2..e7e47a9aa5a22aea2aa0eeab7bd661b4
// If the new frame has a name, make sure any SiteInstances that can find // If the new frame has a name, make sure any SiteInstances that can find
// this named frame have proxies for it. Must be called after // this named frame have proxies for it. Must be called after
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses // SetSessionStorageNamespace, since this calls CreateRenderView, which uses
@@ -4928,12 +4934,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -4931,12 +4937,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
AddWebContentsDestructionObserver(new_contents_impl); AddWebContentsDestructionObserver(new_contents_impl);
} }
@ -66,7 +66,7 @@ index 8e571dc1371cf2aa7c8354f0b4e492e0d030b485..c878169e7838849cbc23df2ed94ca65d
// 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 a1b6aad3587e7e2d4c24e76aa832e95b31b7ed86..826a2038ebe187a473ac8eabdedf977604ec8337 100644 index ca50de03ee9718f870155adfbac4df31e1c4cb3c..b95fa410f7a38004e54c6aa6d345be851d5b2d76 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
@@ -785,6 +785,8 @@ bool ContentBrowserClient::CanCreateWindow( @@ -785,6 +785,8 @@ bool ContentBrowserClient::CanCreateWindow(
@ -79,10 +79,10 @@ index a1b6aad3587e7e2d4c24e76aa832e95b31b7ed86..826a2038ebe187a473ac8eabdedf9776
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 4d96255c40a8eac7804016383da32fd954f91430..187e5f078084436b2ff296f1cbacd009d738c635 100644 index 472077f2efac793bc3e44b00d06086b1bb1a456e..4b14ef7d2f61f2239876da6f814f0633a2e17f56 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
@@ -195,6 +195,7 @@ class NetworkService; @@ -196,6 +196,7 @@ class NetworkService;
class TrustedURLLoaderHeaderClient; class TrustedURLLoaderHeaderClient;
} // namespace mojom } // namespace mojom
struct ResourceRequest; struct ResourceRequest;
@ -90,7 +90,7 @@ index 4d96255c40a8eac7804016383da32fd954f91430..187e5f078084436b2ff296f1cbacd009
} // namespace network } // namespace network
namespace sandbox { namespace sandbox {
@@ -1348,6 +1349,8 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -1349,6 +1350,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,
@ -122,7 +122,7 @@ index d4546ddda4a14cd5a826a13d4c8132a7fb8b5a7c..d5a7a639089ad37cb611c2ae253675b1
WebContents* source, WebContents* source,
const OpenURLParams& params, const OpenURLParams& params,
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
index 77ee6ba6c65c95622e41f86906ea813be62f72e9..7f38098505afabe1887a6d98a705f1adce201314 100644 index c0be779a4c1d89426c30261aff72ea55be900087..7413c1bef86f5e4633db7220c5de4de7fbdcc654 100644
--- a/content/public/browser/web_contents_delegate.h --- a/content/public/browser/web_contents_delegate.h
+++ b/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
@ -133,7 +133,7 @@ index 77ee6ba6c65c95622e41f86906ea813be62f72e9..7f38098505afabe1887a6d98a705f1ad
#include "content/public/browser/back_forward_transition_animation_manager.h" #include "content/public/browser/back_forward_transition_animation_manager.h"
#include "content/public/browser/eye_dropper.h" #include "content/public/browser/eye_dropper.h"
#include "content/public/browser/fullscreen_types.h" #include "content/public/browser/fullscreen_types.h"
@@ -368,6 +369,13 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -365,6 +366,13 @@ class CONTENT_EXPORT WebContentsDelegate {
const StoragePartitionConfig& partition_config, const StoragePartitionConfig& partition_config,
SessionStorageNamespace* session_storage_namespace); SessionStorageNamespace* session_storage_namespace);
@ -148,10 +148,10 @@ index 77ee6ba6c65c95622e41f86906ea813be62f72e9..7f38098505afabe1887a6d98a705f1ad
// typically happens when popups are created. // typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents, virtual void WebContentsCreated(WebContents* source_contents,
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 6fed6b4c7ad72bd90aeb9f6eea7a3081972c88f8..3d0544422f05e2edc02921fc39335bf10184028e 100644 index 60076b652253b30919467eb0f45e7775902d8dbb..7d40a2d2db8082278832ff1b799a8653c105866e 100644
--- a/content/renderer/render_frame_impl.cc --- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -6849,6 +6849,10 @@ WebView* RenderFrameImpl::CreateNewWindow( @@ -6850,6 +6850,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
request.HasUserGesture(), GetWebFrame()->IsAdFrame(), request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
GetWebFrame()->IsAdScriptInStack()); GetWebFrame()->IsAdScriptInStack());
@ -163,10 +163,10 @@ index 6fed6b4c7ad72bd90aeb9f6eea7a3081972c88f8..3d0544422f05e2edc02921fc39335bf1
// moved on send. // moved on send.
bool is_background_tab = bool is_background_tab =
diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc diff --git a/content/web_test/browser/web_test_content_browser_client.cc b/content/web_test/browser/web_test_content_browser_client.cc
index 4623ebf4ff47e9ec7549659e52c0c5ad7b3ef0ff..83db551286749d8dbf794aa750611e250774e4ff 100644 index 7ee41873389eaa03331460bdc3195f53fe943816..b4eb16ccd451d181a34de9b65e8fa9ed035c1f21 100644
--- a/content/web_test/browser/web_test_content_browser_client.cc --- a/content/web_test/browser/web_test_content_browser_client.cc
+++ b/content/web_test/browser/web_test_content_browser_client.cc +++ b/content/web_test/browser/web_test_content_browser_client.cc
@@ -521,6 +521,8 @@ bool WebTestContentBrowserClient::CanCreateWindow( @@ -524,6 +524,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,

Просмотреть файл

@ -18,7 +18,7 @@ index 9056030523807b8023493c0be9c9675da792852e..a1b949528e0a164c1bad98dbfbef282f
/googleurl /googleurl
/gpu/gles2_conform_test /gpu/gles2_conform_test
diff --git a/third_party/.gitignore b/third_party/.gitignore diff --git a/third_party/.gitignore b/third_party/.gitignore
index 6d2c97019aec77bf73902d69df96284f4b372f3b..99a8a1f352dc361011e0b63140d3efcafb6a06da 100644 index 55454cd51ab777035560a73d0dc69ba32403fbad..bf22972bf1afbe4c94e780e084fdae3ef7c0ef8d 100644
--- a/third_party/.gitignore --- a/third_party/.gitignore
+++ b/third_party/.gitignore +++ b/third_party/.gitignore
@@ -45,7 +45,9 @@ @@ -45,7 +45,9 @@
@ -31,7 +31,7 @@ index 6d2c97019aec77bf73902d69df96284f4b372f3b..99a8a1f352dc361011e0b63140d3efca
/espresso/lib/ /espresso/lib/
/eyesfree/src /eyesfree/src
/fast_float/src /fast_float/src
@@ -92,6 +94,7 @@ @@ -93,6 +95,7 @@
/mocha /mocha
/mockito/src /mockito/src
/nacl_sdk_binaries/ /nacl_sdk_binaries/
@ -39,7 +39,7 @@ index 6d2c97019aec77bf73902d69df96284f4b372f3b..99a8a1f352dc361011e0b63140d3efca
/ninja /ninja
/node/*.tar.gz /node/*.tar.gz
/node/linux/ /node/linux/
@@ -136,7 +139,7 @@ @@ -137,7 +140,7 @@
/spirv-cross/src /spirv-cross/src
/spirv-headers/src /spirv-headers/src
/spirv-tools/src /spirv-tools/src

Просмотреть файл

@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
by changing something in Electron. by changing something in Electron.
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 1b748a2e0d803217985847014855b095b53c58e5..0e742f196367bbbe8c4e147ef4db4f8dbbe4cbbe 100644 index 3ed29244ad407c3fd41879dbf2f7a8554a05236c..c210645cd2a6f2314d648112b50fe02050f7320f 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
@@ -4813,9 +4813,6 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -4816,9 +4816,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
bool renderer_started_hidden = bool renderer_started_hidden =
params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB; params.disposition == WindowOpenDisposition::NEW_BACKGROUND_TAB;

Просмотреть файл

@ -14,7 +14,7 @@ This change patches it out to prevent the DCHECK.
It can be removed once/if we see a better solution to the problem. It can be removed once/if we see a better solution to the problem.
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 ebe21d861ba3c7725f22d8c59738e49856c030ca..c2fc12ea2d5a4f7e6b33546d2a5e0bcbbe4e4c9d 100644 index 062921424cc68780749ce79b29e538a3a952162e..d427e011b996997dff46dc92e8ba19f9f33df0a5 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
@@ -210,7 +210,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest( @@ -210,7 +210,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(

Просмотреть файл

@ -80,10 +80,10 @@ index b078a4a06c7b3f767e2e01f0bef2ba440f729620..0459568581a3073333ae6afabd3680f2
content::WebContents* source, content::WebContents* source,
const content::OpenURLParams& params, const content::OpenURLParams& params,
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index f313979ca1b0a305291c1fb5df57210324000f52..2edfc053ca0bcc9f7e4db36de249aa8a20fbd7c6 100644 index a62c82aab7a350c01c7b4288977895c4f9bb9c56..bc0f6ac675b93992bd017acbd4c9919552cdd401 100644
--- a/chrome/browser/ui/browser.cc --- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc
@@ -2145,12 +2145,11 @@ bool Browser::IsWebContentsCreationOverridden( @@ -2176,12 +2176,11 @@ bool Browser::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type, content::mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -99,10 +99,10 @@ index f313979ca1b0a305291c1fb5df57210324000f52..2edfc053ca0bcc9f7e4db36de249aa8a
WebContents* Browser::CreateCustomWebContents( WebContents* Browser::CreateCustomWebContents(
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 8057f6fcc87c482f2ad477240528191e0043c08c..db6abb4787a57e8b1866fe5d8ae801941a95ef3c 100644 index 1455dcab97edbd2b2b63401643aa288ed08dd52e..20e411aad535f892d903beb022b248b3a0b184e3 100644
--- a/chrome/browser/ui/browser.h --- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h +++ b/chrome/browser/ui/browser.h
@@ -975,8 +975,7 @@ class Browser : public TabStripModelObserver, @@ -978,8 +978,7 @@ class Browser : public TabStripModelObserver,
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type, content::mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -155,7 +155,7 @@ index bd31ef4d919c9ddce958024a93edf1aab44436b6..6b7c5c7b2dd0fa83797ef57a34f7eb99
} }
content::WebContents* CreateCustomWebContents( content::WebContents* CreateCustomWebContents(
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.cc b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
index a6c3e1047551537b5bf4807019f28bb285252528..92fb3e3c03f9f925c54350dd122fa0e39e9ff9dc 100644 index 6402c3406ec8808b41c7a6af1075a7ae03d6c545..f7c5950ab8782ed1d738363feeed1a9877a7cf6b 100644
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc --- a/components/embedder_support/android/delegate/web_contents_delegate_android.cc
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.cc
@@ -185,14 +185,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden( @@ -185,14 +185,13 @@ bool WebContentsDelegateAndroid::IsWebContentsCreationOverridden(
@ -176,7 +176,7 @@ index a6c3e1047551537b5bf4807019f28bb285252528..92fb3e3c03f9f925c54350dd122fa0e3
java_gurl); java_gurl);
} }
diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h diff --git a/components/embedder_support/android/delegate/web_contents_delegate_android.h b/components/embedder_support/android/delegate/web_contents_delegate_android.h
index 6c89a03712b9449e1a7b0e38ed9d019b30029c15..50b324ef3f1163e462ad145e58b42bf3fd053a0a 100644 index 9484a324478d3fe746a51e645368eb3b602ce91d..0676e60fe7773cfcb22e62abff67a66ef6153128 100644
--- a/components/embedder_support/android/delegate/web_contents_delegate_android.h --- a/components/embedder_support/android/delegate/web_contents_delegate_android.h
+++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h +++ b/components/embedder_support/android/delegate/web_contents_delegate_android.h
@@ -82,8 +82,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate { @@ -82,8 +82,7 @@ class WebContentsDelegateAndroid : public content::WebContentsDelegate {
@ -218,10 +218,10 @@ index c6838c83ef971b88769b1f3fba8095025ae25464..2da6a4e08340e72ba7de5d03444c2f17
content::WebContents* AddNewContents( content::WebContents* AddNewContents(
content::WebContents* source, content::WebContents* source,
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 de6b544df67c9702b6771b08b003805b4f5fb5a4..4de45e398ec013714302c8cbaafa3bb6aa01ef8e 100644 index aeb43c34486e5c6e5a6e79487f1964ed3c3aee6f..6da96d1306afb5e6812ca1c9e3b4cafc9c9425bd 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
@@ -4782,8 +4782,7 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -4785,8 +4785,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
if (delegate_ && delegate_->IsWebContentsCreationOverridden( if (delegate_ && delegate_->IsWebContentsCreationOverridden(
source_site_instance, params.window_container_type, source_site_instance, params.window_container_type,
@ -246,10 +246,10 @@ index d5a7a639089ad37cb611c2ae253675b119ac357b..fca239fa24512aed69c420dcdc99be9b
} }
diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h diff --git a/content/public/browser/web_contents_delegate.h b/content/public/browser/web_contents_delegate.h
index 7f38098505afabe1887a6d98a705f1adce201314..735ec45c68dc4951a2b630f93c1994f985ec4d4f 100644 index 7413c1bef86f5e4633db7220c5de4de7fbdcc654..0d649bcd408eb02968acd9e479b4d3e78ad639b4 100644
--- a/content/public/browser/web_contents_delegate.h --- a/content/public/browser/web_contents_delegate.h
+++ b/content/public/browser/web_contents_delegate.h +++ b/content/public/browser/web_contents_delegate.h
@@ -347,8 +347,7 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -344,8 +344,7 @@ class CONTENT_EXPORT WebContentsDelegate {
SiteInstance* source_site_instance, SiteInstance* source_site_instance,
mojom::WindowContainerType window_container_type, mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -352,10 +352,10 @@ index 6bc6375433f3ad3f79f5762c15a2a2eb5d26590b..ead1a393dd897ef773d8bcfa089a52ac
content::RenderFrameHost* opener, content::RenderFrameHost* opener,
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc diff --git a/fuchsia_web/webengine/browser/frame_impl.cc b/fuchsia_web/webengine/browser/frame_impl.cc
index 2052ea2d325cf7b6c4c831d92fc493528746d343..04949a2c52feef18f21e10e8f4c5dcea38042b5e 100644 index 4b6c999c4a2b907f4c3ec97e50218b67dad36e85..d270631108fa348feaf2fe65d8c1a9895c9355f8 100644
--- a/fuchsia_web/webengine/browser/frame_impl.cc --- a/fuchsia_web/webengine/browser/frame_impl.cc
+++ b/fuchsia_web/webengine/browser/frame_impl.cc +++ b/fuchsia_web/webengine/browser/frame_impl.cc
@@ -574,8 +574,7 @@ bool FrameImpl::IsWebContentsCreationOverridden( @@ -572,8 +572,7 @@ bool FrameImpl::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type, content::mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -394,10 +394,10 @@ index b9ee0246ae33b8b66bbd0feb53f56f5f2cc75e2c..16930e15a37a9ccb3cf21c38ac86272c
->options() ->options()
->block_new_web_contents(); ->block_new_web_contents();
diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc diff --git a/ui/views/controls/webview/web_dialog_view.cc b/ui/views/controls/webview/web_dialog_view.cc
index fde8b6ded980b38cfbeb44acfd5f8c6b05b5fef8..7f6e2e4b4b413014e42aa428477d151b41fc4503 100644 index 1a3b4a9408d8dd72ae704b3f48924d56132fe173..2a96dec82efbdbe4fb5fcd714b63b4d9baec2c42 100644
--- a/ui/views/controls/webview/web_dialog_view.cc --- a/ui/views/controls/webview/web_dialog_view.cc
+++ b/ui/views/controls/webview/web_dialog_view.cc +++ b/ui/views/controls/webview/web_dialog_view.cc
@@ -449,8 +449,7 @@ bool WebDialogView::IsWebContentsCreationOverridden( @@ -456,8 +456,7 @@ bool WebDialogView::IsWebContentsCreationOverridden(
content::SiteInstance* source_site_instance, content::SiteInstance* source_site_instance,
content::mojom::WindowContainerType window_container_type, content::mojom::WindowContainerType window_container_type,
const GURL& opener_url, const GURL& opener_url,
@ -408,7 +408,7 @@ index fde8b6ded980b38cfbeb44acfd5f8c6b05b5fef8..7f6e2e4b4b413014e42aa428477d151b
return delegate_->HandleShouldOverrideWebContentsCreation(); return delegate_->HandleShouldOverrideWebContentsCreation();
return false; return false;
diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h diff --git a/ui/views/controls/webview/web_dialog_view.h b/ui/views/controls/webview/web_dialog_view.h
index 5ffd43b4907b7083c5fe0eb30279c75aac1a1800..2caa4140f2dca8c81e24d3738800fc0bce40287a 100644 index c96aeb2571961fa2ad033ca38600006e0e657699..2c733734103bf2cc0af9bcfb32d753053a287775 100644
--- a/ui/views/controls/webview/web_dialog_view.h --- a/ui/views/controls/webview/web_dialog_view.h
+++ b/ui/views/controls/webview/web_dialog_view.h +++ b/ui/views/controls/webview/web_dialog_view.h
@@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView, @@ -167,8 +167,7 @@ class WEBVIEW_EXPORT WebDialogView : public ClientView,

Просмотреть файл

@ -9,10 +9,10 @@ rate-limiting, compression and global annotations.
This should be upstreamed. This should be upstreamed.
diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc diff --git a/components/crash/core/app/crash_reporter_client.cc b/components/crash/core/app/crash_reporter_client.cc
index c4535e6ad8dd8951277201e107aaf47071317b02..e37a31fb7febca3ec9ed6bd53f33c0c7c43844de 100644 index 2284f329488bb85b155516d31f8618f6dbb495f1..43616a86908f0925c0345fadaa71cb4e0f9e776a 100644
--- a/components/crash/core/app/crash_reporter_client.cc --- a/components/crash/core/app/crash_reporter_client.cc
+++ b/components/crash/core/app/crash_reporter_client.cc +++ b/components/crash/core/app/crash_reporter_client.cc
@@ -122,6 +122,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) { @@ -119,6 +119,17 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
return false; return false;
} }
@ -31,7 +31,7 @@ index c4535e6ad8dd8951277201e107aaf47071317b02..e37a31fb7febca3ec9ed6bd53f33c0c7
unsigned int CrashReporterClient::GetCrashDumpPercentage() { unsigned int CrashReporterClient::GetCrashDumpPercentage() {
return 100; return 100;
diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h diff --git a/components/crash/core/app/crash_reporter_client.h b/components/crash/core/app/crash_reporter_client.h
index 4029756b90d1adb2fa6a2ce3a59439d1eccffcf2..6f951fc335db3b9c59172d77e1e65122053b459e 100644 index 5f3b6d61110c1b02bb23a3a647dd51efa3444ed0..f2221953791ad3a6543c68ab32fe1334075b4a59 100644
--- a/components/crash/core/app/crash_reporter_client.h --- a/components/crash/core/app/crash_reporter_client.h
+++ b/components/crash/core/app/crash_reporter_client.h +++ b/components/crash/core/app/crash_reporter_client.h
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
@ -42,7 +42,7 @@ index 4029756b90d1adb2fa6a2ce3a59439d1eccffcf2..6f951fc335db3b9c59172d77e1e65122
#include <string> #include <string>
#include "build/build_config.h" #include "build/build_config.h"
@@ -129,6 +130,19 @@ class CrashReporterClient { @@ -132,6 +133,19 @@ class CrashReporterClient {
// that case, |breakpad_enabled| is set to the value enforced by policies. // that case, |breakpad_enabled| is set to the value enforced by policies.
virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled); virtual bool ReportingIsEnforcedByPolicy(bool* breakpad_enabled);
@ -63,10 +63,10 @@ index 4029756b90d1adb2fa6a2ce3a59439d1eccffcf2..6f951fc335db3b9c59172d77e1e65122
// Used by WebView to sample crashes without generating the unwanted dumps. If // Used by WebView to sample crashes without generating the unwanted dumps. If
// the returned value is less than 100, crash dumping will be sampled to that // the returned value is less than 100, crash dumping will be sampled to that
diff --git a/components/crash/core/app/crashpad_linux.cc b/components/crash/core/app/crashpad_linux.cc diff --git a/components/crash/core/app/crashpad_linux.cc b/components/crash/core/app/crashpad_linux.cc
index 171095381e8acff07ae29531537cdadf76b2c462..8963eade0da26f1494ed26e4b6001f37aca82410 100644 index be28b8449b75b58bbcadc70a31a429f2aaf858c4..f2f09367d83788016d7e4bc3c9df5dfb44c0189c 100644
--- a/components/crash/core/app/crashpad_linux.cc --- a/components/crash/core/app/crashpad_linux.cc
+++ b/components/crash/core/app/crashpad_linux.cc +++ b/components/crash/core/app/crashpad_linux.cc
@@ -231,6 +231,7 @@ bool PlatformCrashpadInitialization( @@ -230,6 +230,7 @@ bool PlatformCrashpadInitialization(
// where crash_reporter provides it's own values for lsb-release. // where crash_reporter provides it's own values for lsb-release.
annotations["lsb-release"] = base::GetLinuxDistro(); annotations["lsb-release"] = base::GetLinuxDistro();
#endif #endif
@ -74,7 +74,7 @@ index 171095381e8acff07ae29531537cdadf76b2c462..8963eade0da26f1494ed26e4b6001f37
std::vector<std::string> arguments; std::vector<std::string> arguments;
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) { if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
@@ -252,6 +253,13 @@ bool PlatformCrashpadInitialization( @@ -251,6 +252,13 @@ bool PlatformCrashpadInitialization(
} }
#endif #endif

Просмотреть файл

@ -7,10 +7,10 @@ By default, chromium sets up one v8 snapshot to be used in all v8 contexts. This
to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`. to have a dedicated browser process v8 snapshot defined by the file `browser_v8_context_snapshot.bin`.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index bde1ca7a9d076d240056a38437615523f9fa2420..a3259377e3ceecfe181dc2b22a4a86e3aae46c36 100644 index 2ea73bf0f0e16ad01e547bb0ec8082ddd02286c2..1ce0ff532976d5d2ac61d6ae14699d5c12c8d490 100644
--- a/content/app/content_main_runner_impl.cc --- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc
@@ -279,8 +279,13 @@ void AsanProcessInfoCB(const char*, bool*) { @@ -280,8 +280,13 @@ void AsanProcessInfoCB(const char*, bool*) {
} }
#endif // defined(ADDRESS_SANITIZER) #endif // defined(ADDRESS_SANITIZER)
@ -25,7 +25,7 @@ index bde1ca7a9d076d240056a38437615523f9fa2420..a3259377e3ceecfe181dc2b22a4a86e3
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
base::FileDescriptorStore& file_descriptor_store = base::FileDescriptorStore& file_descriptor_store =
base::FileDescriptorStore::GetInstance(); base::FileDescriptorStore::GetInstance();
@@ -309,11 +314,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, @@ -310,11 +315,12 @@ bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
#endif // V8_USE_EXTERNAL_STARTUP_DATA #endif // V8_USE_EXTERNAL_STARTUP_DATA
@ -40,7 +40,7 @@ index bde1ca7a9d076d240056a38437615523f9fa2420..a3259377e3ceecfe181dc2b22a4a86e3
#endif // V8_USE_EXTERNAL_STARTUP_DATA #endif // V8_USE_EXTERNAL_STARTUP_DATA
} }
@@ -989,7 +995,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) { @@ -990,7 +996,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParams params) {
return TerminateForFatalInitializationError(); return TerminateForFatalInitializationError();
#endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE) #endif // BUILDFLAG(IS_ANDROID) && (ICU_UTIL_DATA_IMPL == ICU_UTIL_DATA_FILE)

Просмотреть файл

@ -6,7 +6,7 @@ Subject: disable_hidden.patch
Electron uses this to disable background throttling for hidden windows. Electron uses this to disable background throttling for hidden windows.
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 e8f68eca2104c49d762603f39f93ec44b2afe28f..886d70636aedfa714b29625f58420ad11ede9ffd 100644 index fc6a4764bbe0a1380583e5c871d9dbb718669ded..6ad5dd5d062cc84b79b36572955a676cb5936ffd 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
@@ -789,6 +789,10 @@ void RenderWidgetHostImpl::WasHidden() { @@ -789,6 +789,10 @@ void RenderWidgetHostImpl::WasHidden() {
@ -21,7 +21,7 @@ index e8f68eca2104c49d762603f39f93ec44b2afe28f..886d70636aedfa714b29625f58420ad1
// Prompts should remain open and functional across tab switches. // Prompts should remain open and functional across tab switches.
if (!delegate_->IsWaitingForPointerLockPrompt(this)) { if (!delegate_->IsWaitingForPointerLockPrompt(this)) {
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 01b87c84b32c01b93f04a9b8f477564915b1e8d0..8e08570ab381cbbf70d6729f8f13059bd953a9c2 100644 index 2e82843467aa4aae672483aabe20b4b896c03717..b1c50b7f7516abcc4023878a9829deb8ef2b2340 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
@@ -1023,6 +1023,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl @@ -1023,6 +1023,9 @@ class CONTENT_EXPORT RenderWidgetHostImpl

Просмотреть файл

@ -33,10 +33,10 @@ index 0ab8187b0db8ae6db46d81738f653a2bc4c566f6..de3d55e85c22317f7f9375eb94d0d5d4
} // namespace net } // namespace net
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 4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa..b0a994b7c6d4be648d905bc1e4157bc03b56a428 100644 index c72e66a92d20a1366b750c976191c7d7628b1ebc..34a92171a8bc09470eb4486543d9836c3ae29825 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
@@ -1793,6 +1793,13 @@ void NetworkContext::SetNetworkConditions( @@ -1794,6 +1794,13 @@ void NetworkContext::SetNetworkConditions(
std::move(network_conditions)); std::move(network_conditions));
} }
@ -51,10 +51,10 @@ index 4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa..b0a994b7c6d4be648d905bc1e4157bc0
// 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 e77c58cb996fd90f7c268e1beba8f3f93c458c2a..a1ea5369db65498f7eaac5b3ee7eb1be539b46e8 100644 index 01b673a5d0796e15f63953455215dd0a1c306ff1..dcb142bf4daac90e2925386ffc18089262c01951 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
@@ -316,6 +316,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -317,6 +317,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 e77c58cb996fd90f7c268e1beba8f3f93c458c2a..a1ea5369db65498f7eaac5b3ee7eb1be
void SetEnableReferrers(bool enable_referrers) override; void SetEnableReferrers(bool enable_referrers) override;
#if BUILDFLAG(IS_CT_SUPPORTED) #if BUILDFLAG(IS_CT_SUPPORTED)
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 da6abf26316a5a0c8b65203a151eb07ec179233a..00539e44efcbbdabad701e0c755a958a588299d4 100644 index 6d7df96ea41ce10019285c927246208cb3001f8b..8b6fd3726add58937df6a4d91640a8b36f106c52 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
@@ -1228,6 +1228,9 @@ interface NetworkContext { @@ -1241,6 +1241,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 da6abf26316a5a0c8b65203a151eb07ec179233a..00539e44efcbbdabad701e0c755a958a
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 0aa64468f433bf6f9f85cdf95ff098b1aa925649..3bfca8debf95d4b9ad822e6cbebeb253e2ac052b 100644 index 86430711eac5304c96486b0786b6ec3a26ce752b..16800dc67e932f53d679af051fbdd9871f531269 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
@@ -155,6 +155,7 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -156,6 +156,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 {}

Просмотреть файл

@ -12,7 +12,7 @@ Ideally we could add an embedder observer pattern here but that can be
done in future work. done in future work.
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
index ed0c77c14e8dcf3e6d7328c8a9c640388b7be92d..7bf2296e1a3b48cc3aa7f031d5b835fab8488267 100644 index 1b94c78dc66f80c062365fe4f5aaca73d3e7ff5a..eaeb83e0ae7c5d1088ea097ced5dd7aee97314ea 100644
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc --- a/third_party/blink/renderer/core/exported/web_view_impl.cc
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -169,6 +169,7 @@ @@ -169,6 +169,7 @@
@ -23,7 +23,7 @@ index ed0c77c14e8dcf3e6d7328c8a9c640388b7be92d..7bf2296e1a3b48cc3aa7f031d5b835fa
#include "third_party/blink/renderer/platform/graphics/image.h" #include "third_party/blink/renderer/platform/graphics/image.h"
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h" #include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h" #include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
@@ -1850,6 +1851,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs, @@ -1854,6 +1855,7 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
web_view_impl->SetMaximumLegibleScale( web_view_impl->SetMaximumLegibleScale(
prefs.default_maximum_page_scale_factor); prefs.default_maximum_page_scale_factor);

Просмотреть файл

@ -7,10 +7,10 @@ This is implemented as a magic "window id" that instead of pulling an SCStream m
instead farms out to the screen picker. instead farms out to the screen picker.
diff --git a/content/browser/media/capture/desktop_capture_device_mac.cc b/content/browser/media/capture/desktop_capture_device_mac.cc diff --git a/content/browser/media/capture/desktop_capture_device_mac.cc b/content/browser/media/capture/desktop_capture_device_mac.cc
index 88c56f4dfcc1f8517ef1e8b6f1d37f5ba4d0b2c7..a75493a6d4d8ce8340a2d820eff5eed4e6a95109 100644 index afb657b7c9e1ede1273532b16428d37cc5d75c59..16707cf516cd34682c84ea2ccebddaa0f84e01f8 100644
--- a/content/browser/media/capture/desktop_capture_device_mac.cc --- a/content/browser/media/capture/desktop_capture_device_mac.cc
+++ b/content/browser/media/capture/desktop_capture_device_mac.cc +++ b/content/browser/media/capture/desktop_capture_device_mac.cc
@@ -28,7 +28,7 @@ class DesktopCaptureDeviceMac : public IOSurfaceCaptureDeviceBase { @@ -29,7 +29,7 @@ class DesktopCaptureDeviceMac : public IOSurfaceCaptureDeviceBase {
~DesktopCaptureDeviceMac() override = default; ~DesktopCaptureDeviceMac() override = default;
// IOSurfaceCaptureDeviceBase: // IOSurfaceCaptureDeviceBase:
@ -20,7 +20,7 @@ index 88c56f4dfcc1f8517ef1e8b6f1d37f5ba4d0b2c7..a75493a6d4d8ce8340a2d820eff5eed4
requested_format_.pixel_format = media::PIXEL_FORMAT_NV12; requested_format_.pixel_format = media::PIXEL_FORMAT_NV12;
DCHECK_GT(requested_format_.frame_size.GetArea(), 0); DCHECK_GT(requested_format_.frame_size.GetArea(), 0);
diff --git a/content/browser/media/capture/io_surface_capture_device_base_mac.cc b/content/browser/media/capture/io_surface_capture_device_base_mac.cc diff --git a/content/browser/media/capture/io_surface_capture_device_base_mac.cc b/content/browser/media/capture/io_surface_capture_device_base_mac.cc
index 8a774911ce0f610b2c993976d108f840696c1d02..5ead7287e2d765d043f8b9c0229a2ee825d9f544 100644 index e59ed011a70358a4ff61342e4db3e0ce4cad8ab0..e3fa18fbade4c11f5317705bc89a1e2456c924bc 100644
--- a/content/browser/media/capture/io_surface_capture_device_base_mac.cc --- a/content/browser/media/capture/io_surface_capture_device_base_mac.cc
+++ b/content/browser/media/capture/io_surface_capture_device_base_mac.cc +++ b/content/browser/media/capture/io_surface_capture_device_base_mac.cc
@@ -20,7 +20,7 @@ void IOSurfaceCaptureDeviceBase::AllocateAndStart( @@ -20,7 +20,7 @@ void IOSurfaceCaptureDeviceBase::AllocateAndStart(

Просмотреть файл

@ -187,10 +187,10 @@ index bdd5bec301f5fcff2d3e3d7994ecbc4eae46da36..f6082bada22c5f4e70af60ea6f555b0f
host->GetChildProcess()->BindServiceInterface(std::move(receiver)); host->GetChildProcess()->BindServiceInterface(std::move(receiver));
} }
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
index 62ed305cd55a0243899450592dd6097e6dbbe879..cdc2046f465110b60285da81fb0db7cdce064a59 100644 index 76cff9038fd48b7373f9a8df265fa8ed0648d1db..03f417e6b0aafc426e068a9bea1880524f983370 100644
--- a/content/browser/utility_process_host.cc --- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc +++ b/content/browser/utility_process_host.cc
@@ -179,11 +179,13 @@ const ChildProcessData& UtilityProcessHost::GetData() { @@ -184,11 +184,13 @@ const ChildProcessData& UtilityProcessHost::GetData() {
return process_->GetData(); return process_->GetData();
} }
@ -206,7 +206,7 @@ index 62ed305cd55a0243899450592dd6097e6dbbe879..cdc2046f465110b60285da81fb0db7cd
bool UtilityProcessHost::Start() { bool UtilityProcessHost::Start() {
return StartProcess(); return StartProcess();
@@ -230,6 +232,30 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) { @@ -235,6 +237,30 @@ void UtilityProcessHost::SetZygoteForTesting(ZygoteCommunication* handle) {
} }
#endif // BUILDFLAG(USE_ZYGOTE) #endif // BUILDFLAG(USE_ZYGOTE)
@ -237,7 +237,7 @@ index 62ed305cd55a0243899450592dd6097e6dbbe879..cdc2046f465110b60285da81fb0db7cd
mojom::ChildProcess* UtilityProcessHost::GetChildProcess() { mojom::ChildProcess* UtilityProcessHost::GetChildProcess() {
return static_cast<ChildProcessHostImpl*>(process_->GetHost()) return static_cast<ChildProcessHostImpl*>(process_->GetHost())
->child_process(); ->child_process();
@@ -432,9 +458,26 @@ bool UtilityProcessHost::StartProcess() { @@ -440,9 +466,26 @@ bool UtilityProcessHost::StartProcess() {
} }
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN) #endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)

Просмотреть файл

@ -8,7 +8,7 @@ rendering with the viz compositor by way of a custom HostDisplayClient
and LayeredWindowUpdater. and LayeredWindowUpdater.
diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc diff --git a/components/viz/host/host_display_client.cc b/components/viz/host/host_display_client.cc
index d20063ec5ccbe6a555fe5da92f4c99a405ecb988..96ee427015987b38c9cb341afc8400ce26795fa6 100644 index abb381d76137d10888380cffc6708df494d3718f..f3da70523976e080c732f9c9dd7048d72b20cd65 100644
--- a/components/viz/host/host_display_client.cc --- a/components/viz/host/host_display_client.cc
+++ b/components/viz/host/host_display_client.cc +++ b/components/viz/host/host_display_client.cc
@@ -48,9 +48,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams( @@ -48,9 +48,9 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
@ -37,7 +37,7 @@ index d20063ec5ccbe6a555fe5da92f4c99a405ecb988..96ee427015987b38c9cb341afc8400ce
+#if BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_WIN)
void HostDisplayClient::AddChildWindowToBrowser( void HostDisplayClient::AddChildWindowToBrowser(
gpu::SurfaceHandle child_window) { gpu::SurfaceHandle child_window) {
NOTREACHED_IN_MIGRATION(); NOTREACHED();
diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h diff --git a/components/viz/host/host_display_client.h b/components/viz/host/host_display_client.h
index 294f99f234006709363d5ae1c7d52aeb19691a7c..e5b9d104e157b588dcd0a2e856a1db2df1cfe658 100644 index 294f99f234006709363d5ae1c7d52aeb19691a7c..e5b9d104e157b588dcd0a2e856a1db2df1cfe658 100644
--- a/components/viz/host/host_display_client.h --- a/components/viz/host/host_display_client.h
@ -117,7 +117,7 @@ index 7fbb05e606fc26364c674c6330b8a5eb9c016fb3..a190a42c2127011ab54aae937a3cab36
virtual gpu::SharedImageManager* GetSharedImageManager() = 0; virtual gpu::SharedImageManager* GetSharedImageManager() = 0;
virtual gpu::SyncPointManager* GetSyncPointManager() = 0; virtual gpu::SyncPointManager* GetSyncPointManager() = 0;
diff --git a/components/viz/service/display_embedder/output_surface_provider_impl.cc b/components/viz/service/display_embedder/output_surface_provider_impl.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 4be4660c007ee5cd9da9947dc61d2497931d0ddb..f382cef64946576c85588ef4d3b334a2ec9e61bd 100644 index d01e905f155e5e7a43e43a8383fcf9dba360600c..a7432b3192c93b5fdf6b754906f66e9916306b61 100644
--- a/components/viz/service/display_embedder/output_surface_provider_impl.cc --- a/components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc +++ b/components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
@ -521,7 +521,7 @@ index 796ae2688436eb07f19909641d1620dd02f10cdb..c9e0eee0b329caf46669b419b1cd10cf
waiting_on_draw_ack_ = true; waiting_on_draw_ack_ = true;
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
index ad65e087075b576222fe9541948afdd777e76cbf..20f0f50e226ce6e488a7636d4d3c08e3d2e2f5e5 100644 index 2538e963ef714148f2a944da8a73c832ecac69f4..ac73b420cf167a5e1b4ef917a156a6069e20f36b 100644
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc --- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
@@ -102,7 +102,8 @@ RootCompositorFrameSinkImpl::Create( @@ -102,7 +102,8 @@ RootCompositorFrameSinkImpl::Create(

Просмотреть файл

@ -52,10 +52,10 @@ index f6082bada22c5f4e70af60ea6f555b0f363919c5..f691676a629bf82f81117599ae0bd0a4
private: private:
diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc diff --git a/content/browser/utility_process_host.cc b/content/browser/utility_process_host.cc
index cdc2046f465110b60285da81fb0db7cdce064a59..8feca9f1c294b3de15d74dfc94508ee2a43e5fc3 100644 index 03f417e6b0aafc426e068a9bea1880524f983370..6c6b5636d9b25093ff0a2cb1218d9fcc5ee1adfd 100644
--- a/content/browser/utility_process_host.cc --- a/content/browser/utility_process_host.cc
+++ b/content/browser/utility_process_host.cc +++ b/content/browser/utility_process_host.cc
@@ -515,7 +515,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) { @@ -523,7 +523,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
// Take ownership of |client_| so the destructor doesn't notify it of // Take ownership of |client_| so the destructor doesn't notify it of
// termination. // termination.
auto client = std::move(client_); auto client = std::move(client_);

Просмотреть файл

@ -28,7 +28,7 @@ index 23b29fe25bc463ff1d36aa502a27c4222595e7c5..c1ac6172c4cee72f64f42ca64d2db9c0
// Returns the http referrer of original request which initited this load. // Returns the http referrer of original request which initited this load.
diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h diff --git a/third_party/blink/renderer/core/loader/document_loader.h b/third_party/blink/renderer/core/loader/document_loader.h
index 1738bf073ecb7dcb388758cc50148a07626df5ea..fbfc870a21979dacad95a901fb9a7624e18e4a61 100644 index abe9239b5863c0cac7623d121580de1f61e83232..3cd9fe38ca4017064d2e17a7d083a8bebbfab34c 100644
--- a/third_party/blink/renderer/core/loader/document_loader.h --- a/third_party/blink/renderer/core/loader/document_loader.h
+++ b/third_party/blink/renderer/core/loader/document_loader.h +++ b/third_party/blink/renderer/core/loader/document_loader.h
@@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>, @@ -325,7 +325,7 @@ class CORE_EXPORT DocumentLoader : public GarbageCollected<DocumentLoader>,

Просмотреть файл

@ -37,10 +37,10 @@ index 57713d234ec93e81ad5ee177f0e2978d7fe82e1d..535cb485455d6a2e23fea4042be4ad91
allow_cookies_from_browser == other.allow_cookies_from_browser && allow_cookies_from_browser == other.allow_cookies_from_browser &&
include_request_cookies_with_response == include_request_cookies_with_response ==
diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h diff --git a/services/network/public/cpp/resource_request.h b/services/network/public/cpp/resource_request.h
index 21a29e5d737874e26cee0217b23afda6c1084d0a..214cc2c5033fd5f410e1ffba74b2089c205e5c2f 100644 index 176db1e8c4b4deafa1b741255474cf6d903d69cd..4ed734888dbeba3099f41767c481da68f5cd0bc3 100644
--- a/services/network/public/cpp/resource_request.h --- a/services/network/public/cpp/resource_request.h
+++ b/services/network/public/cpp/resource_request.h +++ b/services/network/public/cpp/resource_request.h
@@ -74,6 +74,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest { @@ -75,6 +75,7 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) ResourceRequest {
bool has_user_activation = false; bool has_user_activation = false;
bool allow_cookies_from_browser = false; bool allow_cookies_from_browser = false;
bool include_request_cookies_with_response = false; bool include_request_cookies_with_response = false;
@ -49,10 +49,10 @@ index 21a29e5d737874e26cee0217b23afda6c1084d0a..214cc2c5033fd5f410e1ffba74b2089c
mojo::PendingRemote<mojom::TrustTokenAccessObserver> trust_token_observer; mojo::PendingRemote<mojom::TrustTokenAccessObserver> trust_token_observer;
mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver> mojo::PendingRemote<mojom::URLLoaderNetworkServiceObserver>
diff --git a/services/network/public/cpp/url_request_mojom_traits.cc b/services/network/public/cpp/url_request_mojom_traits.cc diff --git a/services/network/public/cpp/url_request_mojom_traits.cc b/services/network/public/cpp/url_request_mojom_traits.cc
index 169b94af574000dd48c64197334038701a43a4a8..85297b343999014999301e2c512e6ffe087eac89 100644 index 59a180c4aa3dc1ee424b6c4944bab46b7b259a53..9e3ddf00b824408d4eee70e8eadd1d07e42c3730 100644
--- a/services/network/public/cpp/url_request_mojom_traits.cc --- a/services/network/public/cpp/url_request_mojom_traits.cc
+++ b/services/network/public/cpp/url_request_mojom_traits.cc +++ b/services/network/public/cpp/url_request_mojom_traits.cc
@@ -94,6 +94,7 @@ bool StructTraits<network::mojom::TrustedUrlRequestParamsDataView, @@ -95,6 +95,7 @@ bool StructTraits<network::mojom::TrustedUrlRequestParamsDataView,
out->allow_cookies_from_browser = data.allow_cookies_from_browser(); out->allow_cookies_from_browser = data.allow_cookies_from_browser();
out->include_request_cookies_with_response = out->include_request_cookies_with_response =
data.include_request_cookies_with_response(); data.include_request_cookies_with_response();
@ -61,10 +61,10 @@ index 169b94af574000dd48c64197334038701a43a4a8..85297b343999014999301e2c512e6ffe
mojo::PendingRemote<network::mojom::CookieAccessObserver>>(); mojo::PendingRemote<network::mojom::CookieAccessObserver>>();
out->trust_token_observer = data.TakeTrustTokenObserver< out->trust_token_observer = data.TakeTrustTokenObserver<
diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h diff --git a/services/network/public/cpp/url_request_mojom_traits.h b/services/network/public/cpp/url_request_mojom_traits.h
index 1690318cc495f46b1b6e16888cd05c6d9e93820b..52f4eb61e0e4be10ea0e1a01a4e166e6dd7094e9 100644 index 5a017a816858ff9748e6eb0fa0dac5a64dd8f2ae..22025bedb1e307fd02314ac0a4250ca90ee3e5bf 100644
--- a/services/network/public/cpp/url_request_mojom_traits.h --- a/services/network/public/cpp/url_request_mojom_traits.h
+++ b/services/network/public/cpp/url_request_mojom_traits.h +++ b/services/network/public/cpp/url_request_mojom_traits.h
@@ -76,6 +76,10 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE) @@ -77,6 +77,10 @@ struct COMPONENT_EXPORT(NETWORK_CPP_BASE)
const network::ResourceRequest::TrustedParams& trusted_params) { const network::ResourceRequest::TrustedParams& trusted_params) {
return trusted_params.include_request_cookies_with_response; return trusted_params.include_request_cookies_with_response;
} }
@ -76,10 +76,10 @@ index 1690318cc495f46b1b6e16888cd05c6d9e93820b..52f4eb61e0e4be10ea0e1a01a4e166e6
cookie_observer( cookie_observer(
const network::ResourceRequest::TrustedParams& trusted_params) { const network::ResourceRequest::TrustedParams& trusted_params) {
diff --git a/services/network/public/mojom/url_request.mojom b/services/network/public/mojom/url_request.mojom diff --git a/services/network/public/mojom/url_request.mojom b/services/network/public/mojom/url_request.mojom
index e88bda2cb7d2f22e80b5ac7053a77896b7d47fc8..8e4821a6f2a4ad03b1b8b4dbae7c5d9b53898cf3 100644 index 0e9546fbcaa0b2999f5e9d163550ef152b21adcc..1608b5662ddbb12cf022f043b699983bc814771a 100644
--- a/services/network/public/mojom/url_request.mojom --- a/services/network/public/mojom/url_request.mojom
+++ b/services/network/public/mojom/url_request.mojom +++ b/services/network/public/mojom/url_request.mojom
@@ -81,6 +81,9 @@ struct TrustedUrlRequestParams { @@ -82,6 +82,9 @@ struct TrustedUrlRequestParams {
// client which should not be able to see them. // client which should not be able to see them.
bool include_request_cookies_with_response = false; bool include_request_cookies_with_response = false;
@ -112,10 +112,10 @@ index 5c4b8a05034f8defacbc13671fe9bc92f76ade5a..e7390e01f113755613f42d592b36108b
string mime_type; string mime_type;
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
index c0fbb04f0717fafedb561acb6ec76a451d541dfe..beb3fe75a654510b60b62ab29380c7ff243bb095 100644 index 812ad7df20f420033f7d1517a560ececa84c94bd..d425623e120c0fce4a2f32357090910fb8df3790 100644
--- a/services/network/url_loader.cc --- a/services/network/url_loader.cc
+++ b/services/network/url_loader.cc +++ b/services/network/url_loader.cc
@@ -601,6 +601,9 @@ URLLoader::URLLoader( @@ -612,6 +612,9 @@ URLLoader::URLLoader(
mojo::SimpleWatcher::ArmingPolicy::MANUAL, mojo::SimpleWatcher::ArmingPolicy::MANUAL,
base::SequencedTaskRunner::GetCurrentDefault()), base::SequencedTaskRunner::GetCurrentDefault()),
per_factory_orb_state_(context.GetMutableOrbState()), per_factory_orb_state_(context.GetMutableOrbState()),
@ -125,7 +125,7 @@ index c0fbb04f0717fafedb561acb6ec76a451d541dfe..beb3fe75a654510b60b62ab29380c7ff
devtools_request_id_(request.devtools_request_id), devtools_request_id_(request.devtools_request_id),
request_mode_(request.mode), request_mode_(request.mode),
request_credentials_mode_(request.credentials_mode), request_credentials_mode_(request.credentials_mode),
@@ -874,7 +877,7 @@ void URLLoader::ConfigureRequest( @@ -891,7 +894,7 @@ void URLLoader::ConfigureRequest(
&URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this))); &URLLoader::IsSharedDictionaryReadAllowed, base::Unretained(this)));
} }
@ -134,7 +134,7 @@ index c0fbb04f0717fafedb561acb6ec76a451d541dfe..beb3fe75a654510b60b62ab29380c7ff
url_request_->SetResponseHeadersCallback(base::BindRepeating( url_request_->SetResponseHeadersCallback(base::BindRepeating(
&URLLoader::SetRawResponseHeaders, base::Unretained(this))); &URLLoader::SetRawResponseHeaders, base::Unretained(this)));
} }
@@ -1852,6 +1855,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) { @@ -1884,6 +1887,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
} }
response_ = BuildResponseHead(); response_ = BuildResponseHead();
@ -155,10 +155,10 @@ index c0fbb04f0717fafedb561acb6ec76a451d541dfe..beb3fe75a654510b60b62ab29380c7ff
// Parse and remove the Trust Tokens response headers, if any are expected, // Parse and remove the Trust Tokens response headers, if any are expected,
diff --git a/services/network/url_loader.h b/services/network/url_loader.h diff --git a/services/network/url_loader.h b/services/network/url_loader.h
index 994bfb1ba0767f526458cc5cf6df179bcf7c2f3d..0baab6334a650bc34b95b0f68978e9aa2e30af59 100644 index 3647c75f50a85522749fdc5c98c4d25e5f319c34..93d4bc0284e2361f6890078764d68c3ba75d7941 100644
--- a/services/network/url_loader.h --- a/services/network/url_loader.h
+++ b/services/network/url_loader.h +++ b/services/network/url_loader.h
@@ -708,6 +708,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader @@ -712,6 +712,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
std::unique_ptr<ResourceScheduler::ScheduledResourceRequest> std::unique_ptr<ResourceScheduler::ScheduledResourceRequest>
resource_scheduler_request_handle_; resource_scheduler_request_handle_;

Просмотреть файл

@ -16,13 +16,13 @@ Linux or Windows to un-fullscreen in some circumstances without this
change. change.
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588efdfb0619 100644 index e9c7ab23a1e9c3eda0f4fb94bf3ef44de7de7ad3..21367db92b195c3883729c3f599694295928f03f 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
@@ -21,12 +21,16 @@ @@ -20,12 +20,16 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/history/history_service_factory.h" #include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/safe_browsing/safe_browsing_service.h"
+#if 0 +#if 0
#include "chrome/browser/ui/blocked_content/popunder_preventer.h" #include "chrome/browser/ui/blocked_content/popunder_preventer.h"
+#endif +#endif
@ -36,7 +36,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
#include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_switches.h"
#include "components/history/core/browser/history_service.h" #include "components/history/core/browser/history_service.h"
#include "components/history/core/browser/history_types.h" #include "components/history/core/browser/history_types.h"
@@ -259,10 +263,12 @@ void FullscreenController::EnterFullscreenModeForTab( @@ -262,10 +266,12 @@ void FullscreenController::EnterFullscreenModeForTab(
return; return;
} }
@ -49,7 +49,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
// Keep the current state. |SetTabWithExclusiveAccess| may change the return // Keep the current state. |SetTabWithExclusiveAccess| may change the return
// value of |IsWindowFullscreenForTabOrPending|. // value of |IsWindowFullscreenForTabOrPending|.
@@ -374,12 +380,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) { @@ -377,12 +383,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
void FullscreenController::FullscreenTabOpeningPopup( void FullscreenController::FullscreenTabOpeningPopup(
content::WebContents* opener, content::WebContents* opener,
content::WebContents* popup) { content::WebContents* popup) {
@ -64,7 +64,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
} }
void FullscreenController::OnTabDeactivated( void FullscreenController::OnTabDeactivated(
@@ -465,10 +473,12 @@ void FullscreenController::FullscreenTransitionCompleted() { @@ -468,10 +476,12 @@ void FullscreenController::FullscreenTransitionCompleted() {
#endif // DCHECK_IS_ON() #endif // DCHECK_IS_ON()
tab_fullscreen_target_display_id_ = display::kInvalidDisplayId; tab_fullscreen_target_display_id_ = display::kInvalidDisplayId;
started_fullscreen_transition_ = false; started_fullscreen_transition_ = false;
@ -77,7 +77,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
} }
void FullscreenController::RunOrDeferUntilTransitionIsComplete( void FullscreenController::RunOrDeferUntilTransitionIsComplete(
@@ -576,18 +586,17 @@ void FullscreenController::EnterFullscreenModeInternal( @@ -585,18 +595,17 @@ void FullscreenController::EnterFullscreenModeInternal(
// Do not enter fullscreen mode if disallowed by pref. This prevents the user // Do not enter fullscreen mode if disallowed by pref. This prevents the user
// from manually entering fullscreen mode and also disables kiosk mode on // from manually entering fullscreen mode and also disables kiosk mode on
// desktop platforms. // desktop platforms.
@ -101,7 +101,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
if (option == TAB) { if (option == TAB) {
url = GetRequestingOrigin(); url = GetRequestingOrigin();
tab_fullscreen_ = true; tab_fullscreen_ = true;
@@ -620,6 +629,7 @@ void FullscreenController::EnterFullscreenModeInternal( @@ -629,6 +638,7 @@ void FullscreenController::EnterFullscreenModeInternal(
if (!extension_caused_fullscreen_.is_empty()) if (!extension_caused_fullscreen_.is_empty())
url = extension_caused_fullscreen_; url = extension_caused_fullscreen_;
} }
@ -109,7 +109,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
fullscreen_start_time_ = base::TimeTicks::Now(); fullscreen_start_time_ = base::TimeTicks::Now();
if (option == BROWSER) if (option == BROWSER)
@@ -640,6 +650,7 @@ void FullscreenController::ExitFullscreenModeInternal() { @@ -649,6 +659,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
return; return;
} }
@ -117,7 +117,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
// `fullscreen_start_time_` is null if a fullscreen tab moves to a new window. // `fullscreen_start_time_` is null if a fullscreen tab moves to a new window.
if (fullscreen_start_time_ && exclusive_access_tab()) { if (fullscreen_start_time_ && exclusive_access_tab()) {
ukm::SourceId source_id = ukm::SourceId source_id =
@@ -651,15 +662,16 @@ void FullscreenController::ExitFullscreenModeInternal() { @@ -660,15 +671,16 @@ void FullscreenController::ExitFullscreenModeInternal() {
.Record(ukm::UkmRecorder::Get()); .Record(ukm::UkmRecorder::Get());
fullscreen_start_time_.reset(); fullscreen_start_time_.reset();
} }
@ -137,7 +137,7 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
exclusive_access_manager()->context()->ExitFullscreen(); exclusive_access_manager()->context()->ExitFullscreen();
extension_caused_fullscreen_ = GURL(); extension_caused_fullscreen_ = GURL();
exclusive_access_manager()->UpdateBubble(base::NullCallback()); exclusive_access_manager()->UpdateBubble(base::NullCallback());
@@ -721,8 +733,12 @@ GURL FullscreenController::GetEmbeddingOrigin() const { @@ -730,8 +742,12 @@ GURL FullscreenController::GetEmbeddingOrigin() const {
void FullscreenController::RecordMetricsOnFullscreenApiRequested( void FullscreenController::RecordMetricsOnFullscreenApiRequested(
content::RenderFrameHost* requesting_frame) { content::RenderFrameHost* requesting_frame) {
history::HistoryService* service = history::HistoryService* service =
@ -151,10 +151,10 @@ index 176f02f0abb4220564caa1d794faabc5b22bd8bc..4b08918cef83a84076e452b41302588e
// Check if the origin has been visited more than a day ago and whether it's // Check if the origin has been visited more than a day ago and whether it's
// on an allowlist, then record those bits of information in a metric. // on an allowlist, then record those bits of information in a metric.
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.h b/chrome/browser/ui/exclusive_access/fullscreen_controller.h diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.h b/chrome/browser/ui/exclusive_access/fullscreen_controller.h
index 97003f03b69c9435ee1f79e42476003b63b8a66d..859b9d21985c14c9e9f95c65edfbd89e13ef16e7 100644 index 3c7a057de47b35217a6b06a21630bf5f8961f935..9f2493ed7319e730d6064f873d1f5ed3a61cbdeb 100644
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.h --- a/chrome/browser/ui/exclusive_access/fullscreen_controller.h
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.h +++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.h
@@ -250,10 +250,12 @@ class FullscreenController : public ExclusiveAccessControllerBase { @@ -253,10 +253,12 @@ class FullscreenController : public ExclusiveAccessControllerBase {
// Used in testing to set the state to tab fullscreen. // Used in testing to set the state to tab fullscreen.
bool is_tab_fullscreen_for_testing_ = false; bool is_tab_fullscreen_for_testing_ = false;

Просмотреть файл

@ -23,10 +23,10 @@ Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266. Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/3856266.
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
index f8e18b15a19517b28057dd007adccc0fd222e2e1..6e1656f3bd62b597952528bfee884666111277fc 100644 index 3fea2b30defa555a72425d8806129ea9a7a66646..1f5700ff184935d0e15eec3b550967df117557d5 100644
--- a/content/browser/renderer_host/navigation_request.cc --- a/content/browser/renderer_host/navigation_request.cc
+++ b/content/browser/renderer_host/navigation_request.cc +++ b/content/browser/renderer_host/navigation_request.cc
@@ -10802,6 +10802,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() { @@ -10822,6 +10822,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryUncheckedWithDebugInfo() {
"blob"); "blob");
} }
@ -40,7 +40,7 @@ index f8e18b15a19517b28057dd007adccc0fd222e2e1..6e1656f3bd62b597952528bfee884666
// origin of |common_params.url| and/or |common_params.initiator_origin|. // origin of |common_params.url| and/or |common_params.initiator_origin|.
url::Origin resolved_origin = url::Origin::Resolve( url::Origin resolved_origin = url::Origin::Resolve(
diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc
index 8f620599f4ccf8729e1b3de16650e73cbfebfadd..9ceab90b928cebb6208513982b5789b9c045bebe 100644 index fb11dcea26684440b7b08fe5ca4da619ac4ccb5c..bd3591e3d6f1ee66c31897cdfd1994510a8ebe52 100644
--- a/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc
+++ b/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc
@@ -2308,6 +2308,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() { @@ -2308,6 +2308,10 @@ Frame* DocumentLoader::CalculateOwnerFrame() {

Просмотреть файл

@ -13,10 +13,10 @@ This patch can be removed should we choose to support chrome.fileSystem
or support it enough to fix the crash. or support it enough to fix the crash.
diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts diff --git a/chrome/browser/resources/pdf/pdf_viewer.ts b/chrome/browser/resources/pdf/pdf_viewer.ts
index f7e98f2c94ac9802062880f9341214f88c85a669..86b0b3b7596e7da68c536c0dea3d95b22bdd9481 100644 index 25f2145d4202af9c386780366f726fbf6dcf558f..860d19e5ba1aa4dd027f3f5e5f2ccd37f54a99ad 100644
--- a/chrome/browser/resources/pdf/pdf_viewer.ts --- a/chrome/browser/resources/pdf/pdf_viewer.ts
+++ b/chrome/browser/resources/pdf/pdf_viewer.ts +++ b/chrome/browser/resources/pdf/pdf_viewer.ts
@@ -1076,28 +1076,27 @@ export class PdfViewerElement extends PdfViewerBaseElement { @@ -1089,28 +1089,27 @@ export class PdfViewerElement extends PdfViewerBaseElement {
dataArray = [result.dataToSave]; dataArray = [result.dataToSave];
} }
@ -65,7 +65,7 @@ index f7e98f2c94ac9802062880f9341214f88c85a669..86b0b3b7596e7da68c536c0dea3d95b2
} }
/** /**
@@ -1288,36 +1287,33 @@ export class PdfViewerElement extends PdfViewerBaseElement { @@ -1301,36 +1300,33 @@ export class PdfViewerElement extends PdfViewerBaseElement {
fileName = fileName + '.pdf'; fileName = fileName + '.pdf';
} }
@ -128,7 +128,7 @@ index f7e98f2c94ac9802062880f9341214f88c85a669..86b0b3b7596e7da68c536c0dea3d95b2
// <if expr="enable_pdf_ink2"> // <if expr="enable_pdf_ink2">
// Ink2 doesn't need to exit annotation mode after save. // Ink2 doesn't need to exit annotation mode after save.
@@ -1464,6 +1460,9 @@ declare global { @@ -1476,6 +1472,9 @@ declare global {
interface HTMLElementTagNameMap { interface HTMLElementTagNameMap {
'pdf-viewer': PdfViewerElement; 'pdf-viewer': PdfViewerElement;
} }

Просмотреть файл

@ -75,10 +75,10 @@ index 50f1b8711f7e9bd0aa31ba29f7e7be45eed2647c..869f36e70c48e80a0606d156f33fe05c
PictureInPictureOcclusionTracker* PictureInPictureOcclusionTracker*
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
index d3e8b53be5a5184c2cca905bebaec5a5a4a84569..e860d49909cebd9259d3fc6fe90e2bde0eb15f8e 100644 index 55e298e5ba9209e192384c5a0d7dff314d0cd17c..838e4cd7a8f73c68bc1e5096e6d5904cf9f6612c 100644
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
@@ -358,11 +358,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create( @@ -399,11 +399,13 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)

Просмотреть файл

@ -87,10 +87,10 @@ index 51522e60d6dc14f1113cc438558b6b393c3fe73a..153ed02f493a83ef9ca354cc18736f93
// The view with active text input state, i.e., a focused <input> element. // The view with active text input state, i.e., a focused <input> element.
// It will be nullptr if no such view exists. Note that the active view // It will be nullptr if no such view exists. Note that the active view
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 9b84cc06795a5bef730cd81908254cf9ad11c836..1b748a2e0d803217985847014855b095b53c58e5 100644 index 3122f022de3345eb47de9964706e1e93c39e6420..3ed29244ad407c3fd41879dbf2f7a8554a05236c 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
@@ -9384,7 +9384,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame( @@ -9392,7 +9392,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
"WebContentsImpl::OnFocusedElementChangedInFrame", "WebContentsImpl::OnFocusedElementChangedInFrame",
"render_frame_host", frame); "render_frame_host", frame);
RenderWidgetHostViewBase* root_view = RenderWidgetHostViewBase* root_view =

Просмотреть файл

@ -11,7 +11,7 @@ This patch should be upstreamed as a conditional revert of the logic in desktop
vs mobile runtimes. i.e. restore the old logic only on desktop platforms vs mobile runtimes. i.e. restore the old logic only on desktop platforms
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 7906b94983733a9deb2365fb2a13461965b6f42b..201ef468e61101a04c078b1c736347c013ea7cf0 100644 index 4e7947551428495f1fc1b88a17195e8fc03aeedf..e01951f7b3ddeecd9bb97dd0d336ec75b789d81e 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
@@ -2048,9 +2048,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() { @@ -2048,9 +2048,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {

Просмотреть файл

@ -64,10 +64,10 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..7a985067b1371604644d48159f2f5aa7
#endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_ #endif // THIRD_PARTY_BLINK_PUBLIC_WEB_WEB_SCRIPT_EXECUTION_CALLBACK_H_
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 d918e9d165acefa8ba3a225aec261ebf028c40f7..d6cbf553961137429c40fe768f28b104bda0f89b 100644 index 6790239205233a9707b98215890ff336f02cc3c8..6678eb78463290941311db43c94bf5f59b9b2d90 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
@@ -3130,6 +3130,7 @@ void LocalFrame::RequestExecuteScript( @@ -3135,6 +3135,7 @@ void LocalFrame::RequestExecuteScript(
mojom::blink::EvaluationTiming evaluation_timing, mojom::blink::EvaluationTiming evaluation_timing,
mojom::blink::LoadEventBlockingOption blocking_option, mojom::blink::LoadEventBlockingOption blocking_option,
WebScriptExecutionCallback callback, WebScriptExecutionCallback callback,
@ -75,7 +75,7 @@ index d918e9d165acefa8ba3a225aec261ebf028c40f7..d6cbf553961137429c40fe768f28b104
BackForwardCacheAware back_forward_cache_aware, BackForwardCacheAware back_forward_cache_aware,
mojom::blink::WantResultOption want_result_option, mojom::blink::WantResultOption want_result_option,
mojom::blink::PromiseResultOption promise_behavior) { mojom::blink::PromiseResultOption promise_behavior) {
@@ -3162,7 +3163,7 @@ void LocalFrame::RequestExecuteScript( @@ -3167,7 +3168,7 @@ void LocalFrame::RequestExecuteScript(
PausableScriptExecutor::CreateAndRun( PausableScriptExecutor::CreateAndRun(
script_state, std::move(script_sources), execute_script_policy, script_state, std::move(script_sources), execute_script_policy,
user_gesture, evaluation_timing, blocking_option, want_result_option, user_gesture, evaluation_timing, blocking_option, want_result_option,
@ -85,7 +85,7 @@ index d918e9d165acefa8ba3a225aec261ebf028c40f7..d6cbf553961137429c40fe768f28b104
void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() { void LocalFrame::SetEvictCachedSessionStorageOnFreezeOrUnload() {
diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h diff --git a/third_party/blink/renderer/core/frame/local_frame.h b/third_party/blink/renderer/core/frame/local_frame.h
index 13d1bea90341efbf51c476d3eacae49c8b960537..f508e3e9df98c167740b0574ef554bd17f41447f 100644 index 7e65f92dbeb987836be447dee2c660cdde8295ed..b5484a84fea067938a9e3d15f49f4c12c3739c20 100644
--- a/third_party/blink/renderer/core/frame/local_frame.h --- a/third_party/blink/renderer/core/frame/local_frame.h
+++ b/third_party/blink/renderer/core/frame/local_frame.h +++ b/third_party/blink/renderer/core/frame/local_frame.h
@@ -824,6 +824,7 @@ class CORE_EXPORT LocalFrame final @@ -824,6 +824,7 @@ class CORE_EXPORT LocalFrame final
@ -97,7 +97,7 @@ index 13d1bea90341efbf51c476d3eacae49c8b960537..f508e3e9df98c167740b0574ef554bd1
mojom::blink::WantResultOption, mojom::blink::WantResultOption,
mojom::blink::PromiseResultOption); mojom::blink::PromiseResultOption);
diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc diff --git a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
index 0143c528c3ae098c212fc2ca503d2dcd11c8eae0..87a4ac7926ab4f54c0c41f9a6f0b5031d54e8b06 100644 index 88fafe4cd7652c7e56a24dfcb2528a9a6d2560cc..812a8ebdb6d808bb3fbf7ebfcffe7186921629e6 100644
--- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc --- a/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc +++ b/third_party/blink/renderer/core/frame/local_frame_mojo_handler.cc
@@ -964,6 +964,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld( @@ -964,6 +964,7 @@ void LocalFrameMojoHandler::JavaScriptExecuteRequestInIsolatedWorld(
@ -109,7 +109,7 @@ index 0143c528c3ae098c212fc2ca503d2dcd11c8eae0..87a4ac7926ab4f54c0c41f9a6f0b5031
wants_result wants_result
? mojom::blink::WantResultOption::kWantResultDateAndRegExpAllowed ? mojom::blink::WantResultOption::kWantResultDateAndRegExpAllowed
diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.cc b/third_party/blink/renderer/core/frame/pausable_script_executor.cc diff --git a/third_party/blink/renderer/core/frame/pausable_script_executor.cc b/third_party/blink/renderer/core/frame/pausable_script_executor.cc
index 53f0ae7d2a3df5b89900dcbfa89d2b4225859966..6231edeb3540827c5552bf934cd3905bebdae164 100644 index 2b651a3e5043ff4c174986155a91e7f76d57a4ba..f736bd3f1b5014aa1373737b3d7678697ff2af4b 100644
--- a/third_party/blink/renderer/core/frame/pausable_script_executor.cc --- a/third_party/blink/renderer/core/frame/pausable_script_executor.cc
+++ b/third_party/blink/renderer/core/frame/pausable_script_executor.cc +++ b/third_party/blink/renderer/core/frame/pausable_script_executor.cc
@@ -246,7 +246,7 @@ void PausableScriptExecutor::CreateAndRun( @@ -246,7 +246,7 @@ void PausableScriptExecutor::CreateAndRun(
@ -204,7 +204,7 @@ index fa65331f40b90d812b71a489fd560e9359152d2b..390714d631dc88ef92d59ef9618a5706
const mojom::blink::UserActivationOption user_activation_option_; const mojom::blink::UserActivationOption user_activation_option_;
const mojom::blink::LoadEventBlockingOption blocking_option_; const mojom::blink::LoadEventBlockingOption blocking_option_;
diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc diff --git a/third_party/blink/renderer/core/frame/web_frame_test.cc b/third_party/blink/renderer/core/frame/web_frame_test.cc
index 3979c3987da3dd49218407c41977d9ce7d114edb..7e00f6bdd1d398f22d39823088caf5cde3a34dd9 100644 index 0802173ce891bcaca8b6bba2762ad2b80d4d5c75..6d31ccae7e6a9e204999d8475808afc11a0665c8 100644
--- a/third_party/blink/renderer/core/frame/web_frame_test.cc --- a/third_party/blink/renderer/core/frame/web_frame_test.cc
+++ b/third_party/blink/renderer/core/frame/web_frame_test.cc +++ b/third_party/blink/renderer/core/frame/web_frame_test.cc
@@ -291,6 +291,7 @@ void ExecuteScriptsInMainWorld( @@ -291,6 +291,7 @@ void ExecuteScriptsInMainWorld(

Просмотреть файл

@ -15,10 +15,10 @@ capturer was window or screen-specific, as the IDs remain valid for
generic capturer as well. generic capturer as well.
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
index 1463ddcc48cbfb796867cd55beb7bb38c2fe3c93..8ad7fbebdf57cde246339956ff1ec96514153ddf 100644 index ac8f970c54e22da9043d2b5581889059e3afe4ac..41df0b38694fcf39e42e377d5bacf4820166bdd1 100644
--- a/content/browser/media/capture/desktop_capture_device.cc --- a/content/browser/media/capture/desktop_capture_device.cc
+++ b/content/browser/media/capture/desktop_capture_device.cc +++ b/content/browser/media/capture/desktop_capture_device.cc
@@ -811,8 +811,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create( @@ -812,8 +812,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
switch (source.type) { switch (source.type) {
case DesktopMediaID::TYPE_SCREEN: { case DesktopMediaID::TYPE_SCREEN: {
@ -35,7 +35,7 @@ index 1463ddcc48cbfb796867cd55beb7bb38c2fe3c93..8ad7fbebdf57cde246339956ff1ec965
if (screen_capturer && screen_capturer->SelectSource(source.id)) { if (screen_capturer && screen_capturer->SelectSource(source.id)) {
capturer = std::make_unique<webrtc::DesktopAndCursorComposer>( capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
std::move(screen_capturer), options); std::move(screen_capturer), options);
@@ -825,8 +831,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create( @@ -826,8 +832,14 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
} }
case DesktopMediaID::TYPE_WINDOW: { case DesktopMediaID::TYPE_WINDOW: {

Просмотреть файл

@ -6,10 +6,10 @@ Subject: frame_host_manager.patch
Allows embedder to intercept site instances created by chromium. Allows embedder to intercept site instances created by chromium.
diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc diff --git a/content/browser/renderer_host/render_frame_host_manager.cc b/content/browser/renderer_host/render_frame_host_manager.cc
index 260909a2d2761a32687d3fce5ba50509ffde375c..83396cdd7d69c6fd436ebd8bd66edc0fa7df6020 100644 index c90e1bc281095132f55e4165fb4e3fcfc31d576e..9f2c89f81cdadddb99e71145efff635005048ff1 100644
--- a/content/browser/renderer_host/render_frame_host_manager.cc --- a/content/browser/renderer_host/render_frame_host_manager.cc
+++ b/content/browser/renderer_host/render_frame_host_manager.cc +++ b/content/browser/renderer_host/render_frame_host_manager.cc
@@ -4617,6 +4617,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest( @@ -4644,6 +4644,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
request->ResetStateForSiteInstanceChange(); request->ResetStateForSiteInstanceChange();
} }
@ -20,10 +20,10 @@ index 260909a2d2761a32687d3fce5ba50509ffde375c..83396cdd7d69c6fd436ebd8bd66edc0f
} }
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 187e5f078084436b2ff296f1cbacd009d738c635..fde9dbdf3fe3bcd88c14abead60ff17fad1b2f0e 100644 index 4b14ef7d2f61f2239876da6f814f0633a2e17f56..e75c03a43540b8f22e491f16211d37f48799f8bf 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
@@ -335,6 +335,11 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -336,6 +336,11 @@ class CONTENT_EXPORT ContentBrowserClient {
virtual ~ContentBrowserClient() = default; virtual ~ContentBrowserClient() = default;

Просмотреть файл

@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
Add electron resources file to the list of resource ids generation. Add electron resources file to the list of resource ids generation.
diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec diff --git a/tools/gritsettings/resource_ids.spec b/tools/gritsettings/resource_ids.spec
index a5b89cfbae1642cb5c714e670d4d76e4b520d961..a9d0739cf4d3e39c486d2a525ad6a778f1611df0 100644 index b4c1a70fec7e571a17279e54ecf0deaec0a54b8b..99e11e5cb706cf3bff47a75ed59f91ecfc7b645c 100644
--- a/tools/gritsettings/resource_ids.spec --- a/tools/gritsettings/resource_ids.spec
+++ b/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec
@@ -1385,6 +1385,11 @@ @@ -1403,6 +1403,11 @@
"<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": { "<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": {
"META": {"sizes": {"messages": [2000],}}, "META": {"sizes": {"messages": [2000],}},
"messages": [10080], "messages": [10080],

Просмотреть файл

@ -11,7 +11,7 @@ If removing this patch causes no sync failures, it's safe to delete :+1:
Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903 Ref https://chromium-review.googlesource.com/c/chromium/src/+/2953903
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
index f7e967557a15b0986dda0096a28470d81f2246aa..ca50120ec6feec93aa5de85f57a02b26de739003 100755 index b1b677598374fae555558bdcd7ab1d3b1afd0f53..b24e7a48b1a4273c9a3dc175d39cfaff3d83f7a8 100755
--- a/tools/clang/scripts/update.py --- a/tools/clang/scripts/update.py
+++ b/tools/clang/scripts/update.py +++ b/tools/clang/scripts/update.py
@@ -304,6 +304,8 @@ def GetDefaultHostOs(): @@ -304,6 +304,8 @@ def GetDefaultHostOs():

Просмотреть файл

@ -21,7 +21,7 @@ index 50f3163e57544847f256869b14ed782b35dadd80..ff8364b40c733229d6a7ff1c63eb204b
properties->supports_global_application_menus = true; properties->supports_global_application_menus = true;
properties->app_modal_dialogs_use_event_blocker = true; properties->app_modal_dialogs_use_event_blocker = true;
diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h
index 9960ad66f3c9d47b00171478e625c9da2e1dd43e..c7a6cfbf4d86b9ba0139d7eb61a7f513be843718 100644 index abd39cb2459b971a26398d535397e5cd31bb313a..6ba639ccbc697acfff4fb50fad43cd45b53667e2 100644
--- a/ui/ozone/public/ozone_platform.h --- a/ui/ozone/public/ozone_platform.h
+++ b/ui/ozone/public/ozone_platform.h +++ b/ui/ozone/public/ozone_platform.h
@@ -128,6 +128,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { @@ -128,6 +128,10 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform {

Просмотреть файл

@ -9,10 +9,10 @@ but due to the nature of electron, we need to load the v8 snapshot
in the browser process. in the browser process.
diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc diff --git a/content/app/content_main_runner_impl.cc b/content/app/content_main_runner_impl.cc
index 93957c7a155949c42843aa0a8165860dbc8ac5a5..bde1ca7a9d076d240056a38437615523f9fa2420 100644 index 74d648de9172e8610d1c665cb5dfd6c8da69e96d..2ea73bf0f0e16ad01e547bb0ec8082ddd02286c2 100644
--- a/content/app/content_main_runner_impl.cc --- a/content/app/content_main_runner_impl.cc
+++ b/content/app/content_main_runner_impl.cc +++ b/content/app/content_main_runner_impl.cc
@@ -300,11 +300,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) { @@ -301,11 +301,8 @@ void LoadV8SnapshotFile(const base::CommandLine& command_line) {
bool ShouldLoadV8Snapshot(const base::CommandLine& command_line, bool ShouldLoadV8Snapshot(const base::CommandLine& command_line,
const std::string& process_type) { const std::string& process_type) {

Просмотреть файл

@ -35,10 +35,10 @@ system font by checking if it's kCTFontPriorityAttribute is set to
system priority. system priority.
diff --git a/base/BUILD.gn b/base/BUILD.gn diff --git a/base/BUILD.gn b/base/BUILD.gn
index 5dee8a9226d2422e98878067e35552ca366dc18e..c81c0140dc45e6f436f478cf3b20c73782226f45 100644 index c884f31fed70631df74f64bbda076868167ac394..a30a23706aac3a43e80e738bdefc80a09b28901d 100644
--- a/base/BUILD.gn --- a/base/BUILD.gn
+++ b/base/BUILD.gn +++ b/base/BUILD.gn
@@ -1017,6 +1017,7 @@ component("base") { @@ -1021,6 +1021,7 @@ component("base") {
"//build:ios_buildflags", "//build:ios_buildflags",
"//build/config/compiler:compiler_buildflags", "//build/config/compiler:compiler_buildflags",
"//third_party/modp_b64", "//third_party/modp_b64",
@ -250,20 +250,20 @@ index e9f4e5131238b9fb5f1b4b3e90a0cb84a7fc15b4..8b5f4cae3123ac5480ad73f0c873fca0
} // namespace } // namespace
diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm diff --git a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
index 1db1e7fc1d86bbca432a4226a24a312cf0b989f8..c4192c16299d291df259902ef8497a65776e3189 100644 index 19fff43c3daaef5451b6b60b84a610a21311448e..240b954661d34fcc4329d39490be33c485fa8b6e 100644
--- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm --- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
+++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm +++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm
@@ -8,7 +8,9 @@ @@ -9,7 +9,9 @@
#include "components/remote_cocoa/app_shim/features.h"
#include "components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h" #include "components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h"
#include "components/remote_cocoa/common/native_widget_ns_window_host.mojom.h" #include "components/remote_cocoa/common/native_widget_ns_window_host.mojom.h"
+#include "electron/mas.h" +#include "electron/mas.h"
+#if !IS_MAS_BUILD() +#if !IS_MAS_BUILD()
@interface NSWindow (PrivateBrowserNativeWidgetAPI) namespace {
+ (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle; // Workaround for https://crbug.com/1369643
@end const double kThinControllerHeight = 0.5;
@@ -95,10 +97,13 @@ - (void)maybeShowTrafficLights { @@ -100,12 +102,15 @@ - (void)maybeShowTrafficLights {
@end @end
@ -271,13 +271,15 @@ index 1db1e7fc1d86bbca432a4226a24a312cf0b989f8..c4192c16299d291df259902ef8497a65
+ +
@implementation BrowserNativeWidgetWindow @implementation BrowserNativeWidgetWindow
@synthesize thinTitlebarViewController = _thinTitlebarViewController;
// NSWindow (PrivateAPI) overrides. // NSWindow (PrivateAPI) overrides.
+#if !IS_MAS_BUILD() +#if !IS_MAS_BUILD()
+ (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle { + (Class)frameViewClassForStyleMask:(NSUInteger)windowStyle {
// - NSThemeFrame and its subclasses will be nil if it's missing at runtime. // - NSThemeFrame and its subclasses will be nil if it's missing at runtime.
if ([BrowserWindowFrame class]) if ([BrowserWindowFrame class])
@@ -145,6 +150,8 @@ - (BOOL)_usesCustomDrawing { @@ -165,6 +170,8 @@ - (BOOL)_usesCustomDrawing {
return NO; return NO;
} }
@ -286,7 +288,7 @@ index 1db1e7fc1d86bbca432a4226a24a312cf0b989f8..c4192c16299d291df259902ef8497a65
// Handle "Move focus to the window toolbar" configured in System Preferences -> // Handle "Move focus to the window toolbar" configured in System Preferences ->
// Keyboard -> Shortcuts -> Keyboard. Usually Ctrl+F5. The argument (|unknown|) // Keyboard -> Shortcuts -> Keyboard. Usually Ctrl+F5. The argument (|unknown|)
// tends to just be nil. // tends to just be nil.
@@ -155,8 +162,8 @@ - (void)_handleFocusToolbarHotKey:(id)unknown { @@ -175,8 +182,8 @@ - (void)_handleFocusToolbarHotKey:(id)unknown {
} }
- (void)setAlwaysShowTrafficLights:(BOOL)alwaysShow { - (void)setAlwaysShowTrafficLights:(BOOL)alwaysShow {
@ -558,7 +560,7 @@ index 6aa74c4137ac7a649e8f79eb628e297e9459b089..c89f25bf49d773f5f77b2434bd6fabcf
return kAttributes; return kAttributes;
} }
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 6f0eb1326294a246ce737ff8ee3c1be0944a86b3..83d2719e1db8034dc7487cde81c074daa3180a61 100644 index bdde3bd488b2018241835436fdaf3548dc453ec2..e47794527c5912a43047cdca48df0f7deb9edf9b 100644
--- a/content/browser/BUILD.gn --- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -325,6 +325,7 @@ source_set("browser") { @@ -325,6 +325,7 @@ source_set("browser") {
@ -677,10 +679,10 @@ index 34fb29866785ef07c6dca4cfc85966df1c479b5f..e305d25a8f2a34ac90f4d503a9c74dcc
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index f1a3573055d86e68e7089b06ea1bb3f97e36df27..e5b0194d583e0a0eb2441514abb65816f595dedc 100644 index 0b346b5636b5cb62e8d4c9df17067c0d7cf20395..cebc10db18c9896a9ac47a134f9578babddfba14 100644
--- a/content/common/BUILD.gn --- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn +++ b/content/common/BUILD.gn
@@ -286,6 +286,7 @@ source_set("common") { @@ -284,6 +284,7 @@ source_set("common") {
"//ui/shell_dialogs", "//ui/shell_dialogs",
"//url", "//url",
"//url/ipc:url_ipc", "//url/ipc:url_ipc",
@ -771,7 +773,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
} // namespace content } // namespace content
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 9fb80e05154c7882f46e00460ee62742a329eb1d..c7ef928f2ea937d41c07aa9382fa64f6bf9625b6 100644 index 70deb00ddaf443ecb8bbc1b54b09f9b52ecd3f5a..ccae03f971b51f7388b1ebc23ff121a7a0ab118a 100644
--- a/content/test/BUILD.gn --- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn +++ b/content/test/BUILD.gn
@@ -643,6 +643,7 @@ static_library("test_support") { @@ -643,6 +643,7 @@ static_library("test_support") {
@ -798,7 +800,7 @@ index 9fb80e05154c7882f46e00460ee62742a329eb1d..c7ef928f2ea937d41c07aa9382fa64f6
] ]
if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) { if (!(is_chromeos_ash && target_cpu == "arm64" && current_cpu == "arm")) {
@@ -3236,6 +3239,7 @@ test("content_unittests") { @@ -3241,6 +3244,7 @@ test("content_unittests") {
"//ui/latency:test_support", "//ui/latency:test_support",
"//ui/shell_dialogs:shell_dialogs", "//ui/shell_dialogs:shell_dialogs",
"//ui/webui:test_support", "//ui/webui:test_support",
@ -819,7 +821,7 @@ index 99e612f705c5dff041454802033564085718260a..aa37555d9a9c0fda19d0096d035c245e
# TODO(crbug.com/40139469): Blink test plugin must be migrated from PPAPI. # TODO(crbug.com/40139469): Blink test plugin must be migrated from PPAPI.
diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn diff --git a/device/bluetooth/BUILD.gn b/device/bluetooth/BUILD.gn
index 094318e67239ea34ccfe42949f417dece377673a..ba645e2aad56ac007eb6f41cf84cb1e05e4a6a1a 100644 index 1fb121f31d7a4817a7934d75972a527adecdc91e..35703443b285256286276744e1f6c9f40ed8d595 100644
--- a/device/bluetooth/BUILD.gn --- a/device/bluetooth/BUILD.gn
+++ b/device/bluetooth/BUILD.gn +++ b/device/bluetooth/BUILD.gn
@@ -258,6 +258,7 @@ component("bluetooth") { @@ -258,6 +258,7 @@ component("bluetooth") {
@ -1371,10 +1373,10 @@ index eb81a70e4d5d5cd3e6ae9b45f8cd1c795ea76c51..9921ccb10d3455600eddd85f77f10228
} // namespace sandbox } // namespace sandbox
diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn diff --git a/third_party/blink/renderer/core/BUILD.gn b/third_party/blink/renderer/core/BUILD.gn
index 2041934dd6c8f5bb77c286871ff79c1fb56922a5..c6b5bb81023dd7b61b8d429e7cb46f4d37c4d9e1 100644 index 679005c0d241207646a7aabad5ce896bc5c56558..39547524d6e77954c949d4ac05bec1f9596162fd 100644
--- a/third_party/blink/renderer/core/BUILD.gn --- a/third_party/blink/renderer/core/BUILD.gn
+++ b/third_party/blink/renderer/core/BUILD.gn +++ b/third_party/blink/renderer/core/BUILD.gn
@@ -408,6 +408,7 @@ component("core") { @@ -409,6 +409,7 @@ component("core") {
"//ui/gfx/geometry", "//ui/gfx/geometry",
"//ui/gfx/geometry:geometry_skia", "//ui/gfx/geometry:geometry_skia",
"//ui/strings", "//ui/strings",
@ -1612,10 +1614,10 @@ index c8171f0527fe5194f0ea73b57c4444d4c630fbc4..c2ac4da580e3e7f749a0a4de1e859af6
// Accessible object // Accessible object
if (AXElementWrapper::IsValidElement(value)) { if (AXElementWrapper::IsValidElement(value)) {
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
index 12896a91a06e53d623daab137c6a11326659dc2f..180bed4b6900bd6b2ddbe5a3745a28241da8aad6 100644 index eea697e433fad6ded98ee0db8b6f49760340c364..13351f20f8a965e097281fee9db4f33e29fe704e 100644
--- a/ui/base/BUILD.gn --- a/ui/base/BUILD.gn
+++ b/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn
@@ -357,6 +357,13 @@ component("base") { @@ -358,6 +358,13 @@ component("base") {
] ]
} }
@ -1629,7 +1631,7 @@ index 12896a91a06e53d623daab137c6a11326659dc2f..180bed4b6900bd6b2ddbe5a3745a2824
if (is_ios) { if (is_ios) {
sources += [ sources += [
"device_form_factor_ios.mm", "device_form_factor_ios.mm",
@@ -500,6 +507,12 @@ component("base") { @@ -501,6 +508,12 @@ component("base") {
"//url", "//url",
] ]
@ -1837,7 +1839,7 @@ index fe3f85073e31de487a08e57d7f9b07aa4eccf8f3..cf5b07203c8bd559a404600cc98cc8ec
// enough. // enough.
return PlatformFontMac::SystemFontType::kGeneral; return PlatformFontMac::SystemFontType::kGeneral;
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 9cd0b0c5141b49130900172370e191b57bf7ea07..f8e8638374ea3e88fea694fd306bf719dea2a7a6 100644 index 0d4a2d809d3fa731af0bad5a9d5f50f5b0a838f4..059a995648ec07960ab3a3cd15cbcc7952ec472d 100644
--- a/ui/views/BUILD.gn --- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn +++ b/ui/views/BUILD.gn
@@ -713,6 +713,8 @@ component("views") { @@ -713,6 +713,8 @@ component("views") {

Просмотреть файл

@ -7,10 +7,10 @@ This adds a callback from the network service that's used to implement
session.setCertificateVerifyCallback. session.setCertificateVerifyCallback.
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 cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1f5aaa7aa 100644 index c0f354a0ed2ff8c931f7cf07a3bb68c318f892b7..c72e66a92d20a1366b750c976191c7d7628b1ebc 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
@@ -158,6 +158,11 @@ @@ -160,6 +160,11 @@
#include "services/network/web_transport.h" #include "services/network/web_transport.h"
#include "url/gurl.h" #include "url/gurl.h"
@ -22,7 +22,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1
#if BUILDFLAG(IS_CT_SUPPORTED) #if BUILDFLAG(IS_CT_SUPPORTED)
// gn check does not account for BUILDFLAG(). So, for iOS builds, it will // gn check does not account for BUILDFLAG(). So, for iOS builds, it will
// complain about a missing dependency on the target exposing this header. Add a // complain about a missing dependency on the target exposing this header. Add a
@@ -606,6 +611,99 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) { @@ -604,6 +609,99 @@ void RecordHSTSPreconnectUpgradeReason(HSTSRedirectUpgradeReason reason) {
} // namespace } // namespace
@ -122,7 +122,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1
constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess; constexpr uint32_t NetworkContext::kMaxOutstandingRequestsPerProcess;
NetworkContext::NetworkContextHttpAuthPreferences:: NetworkContext::NetworkContextHttpAuthPreferences::
@@ -1000,6 +1098,13 @@ void NetworkContext::SetClient( @@ -1001,6 +1099,13 @@ void NetworkContext::SetClient(
client_.Bind(std::move(client)); client_.Bind(std::move(client));
} }
@ -136,7 +136,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1
void NetworkContext::CreateURLLoaderFactory( void NetworkContext::CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver, mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) { mojom::URLLoaderFactoryParamsPtr params) {
@@ -2569,6 +2674,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( @@ -2570,6 +2675,9 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::move(cert_verifier)); std::move(cert_verifier));
cert_verifier = std::move(cert_verifier_with_trust_anchors); cert_verifier = std::move(cert_verifier_with_trust_anchors);
#endif // BUILDFLAG(IS_CHROMEOS) #endif // BUILDFLAG(IS_CHROMEOS)
@ -147,7 +147,7 @@ index cae84c27a26d6198d9da5913b008e748d6680037..4be02fdb03038ee4c30ea699cbbf56d1
builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( builder.SetCertVerifier(IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
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 964b2634c0232260a8193e15d543fef9011a5d9d..e77c58cb996fd90f7c268e1beba8f3f93c458c2a 100644 index a89e2187c8fb0d90318de19ebbb9dc6b5d407f6d..01b673a5d0796e15f63953455215dd0a1c306ff1 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
@@ -114,6 +114,7 @@ class URLMatcher; @@ -114,6 +114,7 @@ class URLMatcher;
@ -158,7 +158,7 @@ index 964b2634c0232260a8193e15d543fef9011a5d9d..e77c58cb996fd90f7c268e1beba8f3f9
class CookieManager; class CookieManager;
class HostResolver; class HostResolver;
class MdnsResponderManager; class MdnsResponderManager;
@@ -245,6 +246,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -246,6 +247,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
void CreateURLLoaderFactory( void CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver, mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) override; mojom::URLLoaderFactoryParamsPtr params) override;
@ -167,7 +167,7 @@ index 964b2634c0232260a8193e15d543fef9011a5d9d..e77c58cb996fd90f7c268e1beba8f3f9
void ResetURLLoaderFactories() override; void ResetURLLoaderFactories() override;
void GetViaObliviousHttp( void GetViaObliviousHttp(
mojom::ObliviousHttpRequestPtr request, mojom::ObliviousHttpRequestPtr request,
@@ -932,6 +935,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext @@ -937,6 +940,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext
std::vector<base::OnceClosure> dismount_closures_; std::vector<base::OnceClosure> dismount_closures_;
#endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED) #endif // BUILDFLAG(IS_DIRECTORY_TRANSFER_REQUIRED)
@ -177,10 +177,10 @@ index 964b2634c0232260a8193e15d543fef9011a5d9d..e77c58cb996fd90f7c268e1beba8f3f9
std::unique_ptr<HostResolver> internal_host_resolver_; std::unique_ptr<HostResolver> internal_host_resolver_;
std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator> std::set<std::unique_ptr<HostResolver>, base::UniquePtrComparator>
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 f2c8a56442e0a51efa53d5478d4917afbf47073c..da6abf26316a5a0c8b65203a151eb07ec179233a 100644 index 32c82e61a37b49f1177979f6f7d0fca158f836ad..6d7df96ea41ce10019285c927246208cb3001f8b 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
@@ -304,6 +304,16 @@ struct SocketBrokerRemotes { @@ -306,6 +306,17 @@ struct SocketBrokerRemotes {
pending_remote<SocketBroker> server; pending_remote<SocketBroker> server;
}; };
@ -194,10 +194,11 @@ index f2c8a56442e0a51efa53d5478d4917afbf47073c..da6abf26316a5a0c8b65203a151eb07e
+ string? ocsp_response + string? ocsp_response
+ ) => (int32 error_code, CertVerifyResult result); + ) => (int32 error_code, CertVerifyResult result);
+}; +};
+
// Parameters for constructing a network context. // Parameters for constructing a network context.
struct NetworkContextParams { struct NetworkContextParams {
@@ -917,6 +927,9 @@ interface NetworkContext { // The user agent string.
@@ -924,6 +935,9 @@ interface NetworkContext {
// Sets a client for this network context. // Sets a client for this network context.
SetClient(pending_remote<NetworkContextClient> client); SetClient(pending_remote<NetworkContextClient> client);
@ -205,13 +206,13 @@ index f2c8a56442e0a51efa53d5478d4917afbf47073c..da6abf26316a5a0c8b65203a151eb07e
+ SetCertVerifierClient(pending_remote<CertVerifierClient>? client); + SetCertVerifierClient(pending_remote<CertVerifierClient>? client);
+ +
// Creates a new URLLoaderFactory with the given |params|. // Creates a new URLLoaderFactory with the given |params|.
CreateURLLoaderFactory(pending_receiver<URLLoaderFactory> url_loader_factory, CreateURLLoaderFactory(
URLLoaderFactoryParams params); pending_receiver<URLLoaderFactory> url_loader_factory,
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 053c3e927fab11eac532749f4311227d3143a7c5..0aa64468f433bf6f9f85cdf95ff098b1aa925649 100644 index 2bcbb4fda66214ec24a9dacc69cebcdf58bb9f13..86430711eac5304c96486b0786b6ec3a26ce752b 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
@@ -63,6 +63,8 @@ class TestNetworkContext : public mojom::NetworkContext { @@ -64,6 +64,8 @@ class TestNetworkContext : public mojom::NetworkContext {
void CreateURLLoaderFactory( void CreateURLLoaderFactory(
mojo::PendingReceiver<mojom::URLLoaderFactory> receiver, mojo::PendingReceiver<mojom::URLLoaderFactory> receiver,
mojom::URLLoaderFactoryParamsPtr params) override {} mojom::URLLoaderFactoryParamsPtr params) override {}

Просмотреть файл

@ -133,10 +133,10 @@ index 05d3a12dd84c7005d46cc73b312f97ef418d96f5..4765de982802541b3efc7211d106acc7
const GURL& document_url, const GURL& document_url,
const WeakDocumentPtr& weak_document_ptr, const WeakDocumentPtr& weak_document_ptr,
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 07907372f37d3ef5c9eaef7011ebcd4ed6a2fed6..ec5e553d93caf8a24de97465a870567d95944000 100644 index 2f12a1dc6a97762089d2bcf0d900657bd80efefd..17ddd5003307663a37d741937ea2fb1859be11fe 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
@@ -2105,7 +2105,7 @@ void RenderProcessHostImpl::CreateNotificationService( @@ -2106,7 +2106,7 @@ void RenderProcessHostImpl::CreateNotificationService(
case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker: case RenderProcessHost::NotificationServiceCreatorType::kSharedWorker:
case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: { case RenderProcessHost::NotificationServiceCreatorType::kDedicatedWorker: {
storage_partition_impl_->GetPlatformNotificationContext()->CreateService( storage_partition_impl_->GetPlatformNotificationContext()->CreateService(
@ -145,7 +145,7 @@ index 07907372f37d3ef5c9eaef7011ebcd4ed6a2fed6..ec5e553d93caf8a24de97465a870567d
creator_type, std::move(receiver)); creator_type, std::move(receiver));
break; break;
} }
@@ -2113,7 +2113,7 @@ void RenderProcessHostImpl::CreateNotificationService( @@ -2114,7 +2114,7 @@ void RenderProcessHostImpl::CreateNotificationService(
CHECK(rfh); CHECK(rfh);
storage_partition_impl_->GetPlatformNotificationContext()->CreateService( storage_partition_impl_->GetPlatformNotificationContext()->CreateService(

Просмотреть файл

@ -10,7 +10,7 @@ an about:blank check to this area.
Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/5403876
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 174b6cb9531237528664bcaff06a6e8dc1677349..144490c1ad76dce306e7e4a25270456d60bbb7f5 100644 index dc4ad54e8fc41bdb766c28cc8b56a47384272ea6..1f391a6a1cc6b7eede328b11a79dbbf06d2873c9 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -784,8 +784,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch( @@ -784,8 +784,8 @@ void VerifyThatBrowserAndRendererCalculatedOriginsToCommitMatch(

Просмотреть файл

@ -38,10 +38,10 @@ index 91ef40b1c054ffceec006400c18d68b5ab393161..7a33b6e01b57b58a77ec54be59f6f323
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground, ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
kCloseButtonIconSize)); kCloseButtonIconSize));
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
index 0ca5d6f5680e5e1342a3ad75e4b0ebbda5122805..d3e8b53be5a5184c2cca905bebaec5a5a4a84569 100644 index 32de1f4d7329ee8c0fb828a42849542265d7a4eb..55e298e5ba9209e192384c5a0d7dff314d0cd17c 100644
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc --- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc +++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
@@ -17,9 +17,11 @@ @@ -18,9 +18,11 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h" #include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h"
#include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h" #include "chrome/browser/picture_in_picture/picture_in_picture_window_manager.h"
@ -53,7 +53,7 @@ index 0ca5d6f5680e5e1342a3ad75e4b0ebbda5122805..d3e8b53be5a5184c2cca905bebaec5a5
#include "chrome/browser/ui/color/chrome_color_id.h" #include "chrome/browser/ui/color/chrome_color_id.h"
#include "chrome/browser/ui/views/overlay/back_to_tab_button.h" #include "chrome/browser/ui/views/overlay/back_to_tab_button.h"
#include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h" #include "chrome/browser/ui/views/overlay/back_to_tab_label_button.h"
@@ -63,7 +65,7 @@ @@ -69,7 +71,7 @@
#include "ui/aura/window.h" #include "ui/aura/window.h"
#endif #endif
@ -62,7 +62,7 @@ index 0ca5d6f5680e5e1342a3ad75e4b0ebbda5122805..d3e8b53be5a5184c2cca905bebaec5a5
#include "chrome/browser/shell_integration_win.h" #include "chrome/browser/shell_integration_win.h"
#include "content/public/browser/render_widget_host_view.h" #include "content/public/browser/render_widget_host_view.h"
#include "ui/aura/window.h" #include "ui/aura/window.h"
@@ -323,7 +325,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create( @@ -364,7 +366,7 @@ std::unique_ptr<VideoOverlayWindowViews> VideoOverlayWindowViews::Create(
overlay_window->Init(std::move(params)); overlay_window->Init(std::move(params));
overlay_window->OnRootViewReady(); overlay_window->OnRootViewReady();

Просмотреть файл

@ -653,7 +653,7 @@ index 3c2fdc9f9a6c60efc4b0afacbfb83eef55917791..8fd9aff538fa03da6c171927c316d4f6
PrintingFailed(int32 cookie, PrintFailureReason reason); PrintingFailed(int32 cookie, PrintFailureReason reason);
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 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf897446aca606c 100644 index e1e7623427eccb5f7e4d0caf4394b6ee01357049..a8ace3f66e5961a14726faf537ba428f45939f9b 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
@@ -52,6 +52,7 @@ @@ -52,6 +52,7 @@
@ -722,7 +722,7 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744
if (render_frame_gone_) { if (render_frame_gone_) {
return; return;
@@ -1456,6 +1460,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) { @@ -1455,6 +1459,8 @@ void PrintRenderFrameHelper::PrintPreview(base::Value::Dict settings) {
if (ipc_nesting_level_ > kAllowedIpcDepthForPrint) if (ipc_nesting_level_ > kAllowedIpcDepthForPrint)
return; return;
@ -731,7 +731,7 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744
print_preview_context_.OnPrintPreview(); print_preview_context_.OnPrintPreview();
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -2063,17 +2069,19 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) { @@ -2062,17 +2068,19 @@ 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,
@ -754,7 +754,7 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744
DidFinishPrinting(PrintingResult::kFailPrintInit); DidFinishPrinting(PrintingResult::kFailPrintInit);
return; return;
} }
@@ -2094,8 +2102,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame, @@ -2093,8 +2101,15 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
print_pages_params_->params->print_scaling_option; print_pages_params_->params->print_scaling_option;
auto self = weak_ptr_factory_.GetWeakPtr(); auto self = weak_ptr_factory_.GetWeakPtr();
@ -771,7 +771,7 @@ index 423cea4420bc868baad6260fb7c6b33430eaaf95..2b105dc1fb2a7b06fe717df9edf89744
// Check if `this` is still valid. // Check if `this` is still valid.
if (!self) if (!self)
return; return;
@@ -2360,29 +2375,37 @@ void PrintRenderFrameHelper::IPCProcessed() { @@ -2359,29 +2374,37 @@ void PrintRenderFrameHelper::IPCProcessed() {
} }
bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame, bool PrintRenderFrameHelper::InitPrintSettings(blink::WebLocalFrame* frame,
@ -860,10 +860,10 @@ index b8c803184f267d87696c4e72c3d993ff3b69d95b..7278dfae56305cc8669fc2240563450f
ScriptingThrottler scripting_throttler_; ScriptingThrottler scripting_throttler_;
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 83d2719e1db8034dc7487cde81c074daa3180a61..53baef7c2f76d8efd187ef5062bf4e0dc1a4f128 100644 index e47794527c5912a43047cdca48df0f7deb9edf9b..858a54fbbdf83a42a631fe4355fe66e26a85f6db 100644
--- a/content/browser/BUILD.gn --- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -3023,8 +3023,9 @@ source_set("browser") { @@ -3025,8 +3025,9 @@ source_set("browser") {
"//ppapi/shared_impl", "//ppapi/shared_impl",
] ]

Просмотреть файл

@ -30,7 +30,7 @@ index dea7ba2237cea261fe0b526753e1a9c4e355e484..9e3bf5eca5e9ad99112069a28b7fb8c1
// RenderWidgetHost on the primary main frame, and false otherwise. // RenderWidgetHost on the primary main frame, and false otherwise.
virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*); virtual bool IsWidgetForPrimaryMainFrame(RenderWidgetHostImpl*);
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 886d70636aedfa714b29625f58420ad11ede9ffd..7906b94983733a9deb2365fb2a13461965b6f42b 100644 index 6ad5dd5d062cc84b79b36572955a676cb5936ffd..4e7947551428495f1fc1b88a17195e8fc03aeedf 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
@@ -1982,6 +1982,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) { @@ -1982,6 +1982,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
@ -44,10 +44,10 @@ index 886d70636aedfa714b29625f58420ad11ede9ffd..7906b94983733a9deb2365fb2a134619
void RenderWidgetHostImpl::ShowContextMenuAtPoint( void RenderWidgetHostImpl::ShowContextMenuAtPoint(
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 e7e47a9aa5a22aea2aa0eeab7bd661b47c9cbdae..de6b544df67c9702b6771b08b003805b4f5fb5a4 100644 index bdc268c2d378d65c4ddf2b9c4b0dae8b94f9521c..aeb43c34486e5c6e5a6e79487f1964ed3c3aee6f 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
@@ -5612,6 +5612,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() { @@ -5615,6 +5615,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
return text_input_manager_.get(); return text_input_manager_.get();
} }
@ -60,10 +60,10 @@ index e7e47a9aa5a22aea2aa0eeab7bd661b47c9cbdae..de6b544df67c9702b6771b08b003805b
RenderWidgetHostImpl* render_widget_host) { RenderWidgetHostImpl* render_widget_host) {
return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost(); return render_widget_host == GetPrimaryMainFrame()->GetRenderWidgetHost();
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h
index 88282f2880d2443aca30ec1754bf5e43ed67acfc..60c94fd4508e166e0dd1be9c6eb97dd45e418853 100644 index a0b35bf72396331ac8c5a5126daef50fbea3e84e..d915536e03123360f9068e95c933fdca05c730c0 100644
--- a/content/browser/web_contents/web_contents_impl.h --- a/content/browser/web_contents/web_contents_impl.h
+++ b/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h
@@ -1128,6 +1128,7 @@ class CONTENT_EXPORT WebContentsImpl @@ -1131,6 +1131,7 @@ class CONTENT_EXPORT WebContentsImpl
void SendScreenRects() override; void SendScreenRects() override;
void SendActiveState(bool active) override; void SendActiveState(bool active) override;
TextInputManager* GetTextInputManager() override; TextInputManager* GetTextInputManager() override;
@ -72,7 +72,7 @@ index 88282f2880d2443aca30ec1754bf5e43ed67acfc..60c94fd4508e166e0dd1be9c6eb97dd4
RenderWidgetHostImpl* render_widget_host) override; RenderWidgetHostImpl* render_widget_host) override;
bool IsShowingContextMenuOnPage() const override; bool IsShowingContextMenuOnPage() const override;
diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h diff --git a/content/public/browser/web_contents_observer.h b/content/public/browser/web_contents_observer.h
index 0379a5ca835e3e9d1b90543bbbe5971148d6c73e..03ed25d04ff0f54d412e1a3044b7770f75384a96 100644 index f3284b11c2a9d020e85af2fea2057926de4cdd0b..9d58a654ddbabeecef2d9f17e0229c72c0afe6fd 100644
--- a/content/public/browser/web_contents_observer.h --- a/content/public/browser/web_contents_observer.h
+++ b/content/public/browser/web_contents_observer.h +++ b/content/public/browser/web_contents_observer.h
@@ -37,6 +37,7 @@ @@ -37,6 +37,7 @@

Просмотреть файл

@ -15,10 +15,10 @@ This CL removes these filters so the unresponsive event can still be
accessed from our JS event. The filtering is moved into Electron's code. accessed from our JS event. The filtering is moved into Electron's code.
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 0e742f196367bbbe8c4e147ef4db4f8dbbe4cbbe..7026b28c4f228971f74a706b6ad99777e4ca0773 100644 index c210645cd2a6f2314d648112b50fe02050f7320f..d637599c1127bf7862566b8b119592caa30744c7 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
@@ -9518,25 +9518,13 @@ void WebContentsImpl::RendererUnresponsive( @@ -9526,25 +9526,13 @@ void WebContentsImpl::RendererUnresponsive(
base::RepeatingClosure hang_monitor_restarter) { base::RepeatingClosure hang_monitor_restarter) {
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive", OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
"render_widget_host", render_widget_host); "render_widget_host", render_widget_host);

Просмотреть файл

@ -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 c785db2fe2a24d33db6499da7806defbdec78a7e..9580623c57cb02f7e924742c6cb1638676881115 100644 index 0566dcb500838b1c5d2b09873a2007bd960a19de..4a0c2d74f6ce439f562115ee382ea72b1ce6670b 100644
--- a/chrome/BUILD.gn --- a/chrome/BUILD.gn
+++ b/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -1557,7 +1557,7 @@ if (is_chrome_branded && !is_android) { @@ -1559,7 +1559,7 @@ if (is_chrome_branded && !is_android) {
} }
} }
@ -64,7 +64,7 @@ index c785db2fe2a24d33db6499da7806defbdec78a7e..9580623c57cb02f7e924742c6cb16386
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"
@@ -1596,6 +1596,12 @@ if (!is_android) { @@ -1598,6 +1598,12 @@ if (!is_android) {
} }
} }

Просмотреть файл

@ -15,7 +15,7 @@ short-circuit all the permissions checks in MSDC for now to allow us to
unduplicate this code. unduplicate this code.
diff --git a/components/webrtc/media_stream_devices_controller.cc b/components/webrtc/media_stream_devices_controller.cc diff --git a/components/webrtc/media_stream_devices_controller.cc b/components/webrtc/media_stream_devices_controller.cc
index fc6ed7e7de02c6c27dd93cb40a01ab1881c98990..2e745a5cccbae20b9d1e22e2b4fe0d2d3c47a629 100644 index bf53561282ea03a8d881e9a33db17ad04e9127a6..6f53b97bca9975d9eac6a676edd438d52a90c23e 100644
--- a/components/webrtc/media_stream_devices_controller.cc --- a/components/webrtc/media_stream_devices_controller.cc
+++ b/components/webrtc/media_stream_devices_controller.cc +++ b/components/webrtc/media_stream_devices_controller.cc
@@ -57,7 +57,8 @@ bool PermissionIsRequested(blink::PermissionType permission, @@ -57,7 +57,8 @@ bool PermissionIsRequested(blink::PermissionType permission,
@ -72,7 +72,7 @@ index fc6ed7e7de02c6c27dd93cb40a01ab1881c98990..2e745a5cccbae20b9d1e22e2b4fe0d2d
} }
MediaStreamDevicesController::~MediaStreamDevicesController() { MediaStreamDevicesController::~MediaStreamDevicesController() {
@@ -429,6 +437,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( @@ -426,6 +434,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
return false; return false;
} }
@ -80,7 +80,7 @@ index fc6ed7e7de02c6c27dd93cb40a01ab1881c98990..2e745a5cccbae20b9d1e22e2b4fe0d2d
// TODO(raymes): This function wouldn't be needed if // TODO(raymes): This function wouldn't be needed if
// PermissionManager::RequestPermissions returned a denial reason. // PermissionManager::RequestPermissions returned a denial reason.
content::PermissionResult result = content::PermissionResult result =
@@ -439,6 +448,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason( @@ -436,6 +445,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
DCHECK_EQ(blink::mojom::PermissionStatus::DENIED, result.status); DCHECK_EQ(blink::mojom::PermissionStatus::DENIED, result.status);
return true; return true;
} }

Просмотреть файл

@ -22,10 +22,10 @@ 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 ec5e553d93caf8a24de97465a870567d95944000..369b4c70bba9363ed8fac184fd843bf1aa49e59e 100644 index 17ddd5003307663a37d741937ea2fb1859be11fe..dda8404e020a8eecc3d78465c33eba5887737e6a 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
@@ -1753,6 +1753,10 @@ bool RenderProcessHostImpl::Init() { @@ -1754,6 +1754,10 @@ bool RenderProcessHostImpl::Init() {
std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate = std::unique_ptr<SandboxedProcessLauncherDelegate> sandbox_delegate =
std::make_unique<RendererSandboxedProcessLauncherDelegateWin>( std::make_unique<RendererSandboxedProcessLauncherDelegateWin>(
*cmd_line, IsPdf(), IsJitDisabled()); *cmd_line, IsPdf(), IsJitDisabled());

Просмотреть файл

@ -9,10 +9,10 @@ is needed for OSR.
Originally landed in https://github.com/electron/libchromiumcontent/pull/226. Originally landed in https://github.com/electron/libchromiumcontent/pull/226.
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 4de45e398ec013714302c8cbaafa3bb6aa01ef8e..6d0b5e9a3350108f183e958871928623283cbe23 100644 index 6da96d1306afb5e6812ca1c9e3b4cafc9c9425bd..c54d73745e7bc8faf18ecd169fc10548a827d512 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
@@ -3754,6 +3754,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -3757,6 +3757,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy, params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create()); base::UnguessableToken::Create());
@ -26,7 +26,7 @@ index 4de45e398ec013714302c8cbaafa3bb6aa01ef8e..6d0b5e9a3350108f183e958871928623
std::unique_ptr<WebContentsViewDelegate> delegate = std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this); GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3764,6 +3771,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -3767,6 +3774,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate), view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_); &render_view_host_delegate_view_);
} }
@ -35,10 +35,10 @@ index 4de45e398ec013714302c8cbaafa3bb6aa01ef8e..6d0b5e9a3350108f183e958871928623
CHECK(view_.get()); CHECK(view_.get());
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 825e0d9d641bfa8fc5907a6d479d94206d432fb6..0f2ce0476e9b067ea2f678e5683040e29f10fe81 100644 index 025b7eb0aa7b9f8cc81bfb19a408e98f1870dc0f..7fa7378eccb890e01f48d95c2f3a9f5feaf688d5 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
@@ -111,10 +111,13 @@ class BrowserPluginGuestDelegate; @@ -112,10 +112,13 @@ class BrowserPluginGuestDelegate;
class GuestPageHolder; class GuestPageHolder;
class RenderFrameHost; class RenderFrameHost;
class RenderViewHost; class RenderViewHost;
@ -52,7 +52,7 @@ index 825e0d9d641bfa8fc5907a6d479d94206d432fb6..0f2ce0476e9b067ea2f678e5683040e2
class WebUI; class WebUI;
struct DropData; struct DropData;
struct MHTMLGenerationParams; struct MHTMLGenerationParams;
@@ -275,6 +278,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { @@ -276,6 +279,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
network::mojom::WebSandboxFlags starting_sandbox_flags = network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone; network::mojom::WebSandboxFlags::kNone;

Просмотреть файл

@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
`api::WebContents::IsFullscreenForTabOrPending` value. `api::WebContents::IsFullscreenForTabOrPending` value.
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
index 4f31803e492d0d05b29659f8bf75b6fee7aff25e..174b6cb9531237528664bcaff06a6e8dc1677349 100644 index bf6e476bb9fbf7e5fc68bafc7703d00ecaeb4fa3..dc4ad54e8fc41bdb766c28cc8b56a47384272ea6 100644
--- a/content/browser/renderer_host/render_frame_host_impl.cc --- a/content/browser/renderer_host/render_frame_host_impl.cc
+++ b/content/browser/renderer_host/render_frame_host_impl.cc +++ b/content/browser/renderer_host/render_frame_host_impl.cc
@@ -8277,6 +8277,17 @@ void RenderFrameHostImpl::EnterFullscreen( @@ -8283,6 +8283,17 @@ void RenderFrameHostImpl::EnterFullscreen(
} }
} }
@ -37,10 +37,10 @@ index 4f31803e492d0d05b29659f8bf75b6fee7aff25e..174b6cb9531237528664bcaff06a6e8d
if (had_fullscreen_token && !GetView()->HasFocus()) if (had_fullscreen_token && !GetView()->HasFocus())
GetView()->Focus(); GetView()->Focus();
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 6d0b5e9a3350108f183e958871928623283cbe23..9b84cc06795a5bef730cd81908254cf9ad11c836 100644 index c54d73745e7bc8faf18ecd169fc10548a827d512..3122f022de3345eb47de9964706e1e93c39e6420 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
@@ -4011,21 +4011,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent( @@ -4014,21 +4014,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
const input::NativeWebKeyboardEvent& event) { const input::NativeWebKeyboardEvent& event) {
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"), OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
"WebContentsImpl::PreHandleKeyboardEvent"); "WebContentsImpl::PreHandleKeyboardEvent");
@ -78,7 +78,7 @@ index 6d0b5e9a3350108f183e958871928623283cbe23..9b84cc06795a5bef730cd81908254cf9
} }
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) { bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
@@ -4184,7 +4188,7 @@ void WebContentsImpl::EnterFullscreenMode( @@ -4187,7 +4191,7 @@ void WebContentsImpl::EnterFullscreenMode(
OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode"); OPTIONAL_TRACE_EVENT0("content", "WebContentsImpl::EnterFullscreenMode");
DCHECK(CanEnterFullscreenMode(requesting_frame)); DCHECK(CanEnterFullscreenMode(requesting_frame));
DCHECK(requesting_frame->IsActive()); DCHECK(requesting_frame->IsActive());

Просмотреть файл

@ -26,7 +26,7 @@ index 42c94f71f09cf9067bac9fd9004dda36708ec441..07c014a28ed1ef5878a50fbb194e38fe
// 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 4547a080e06759467e6736c6a76fe55a93a6b3b8..15d304d96426bd7e9c6269feb3cbe66294f3934d 100644 index e4b0cdb22340cf3ad368de9bde61c85f6b97fa74..0883af83028e8fc10b38ec59257f75e64e66c6e1 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
@@ -875,6 +875,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() { @@ -875,6 +875,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
@ -55,10 +55,10 @@ index 17c01a1f03ad4d4fa8a9783a00e159fff7c67940..1bfec2280e6d1f5cb5c157d237069bde
const blink::WebSecurityOrigin& script_origin) override; const blink::WebSecurityOrigin& script_origin) override;
blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel( blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel(
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 f2be7de2e13b7cd8e4b3cae47656109d31049502..8c2fb19e53b55d578134fac78d8149bcde0baeed 100644 index 6bae009bb76ea992d6c34383d75378f4467db5f7..8199839240ecc0abf5b0ce5e042f83bd31cafe9a 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
@@ -664,6 +664,7 @@ class BLINK_PLATFORM_EXPORT Platform { @@ -660,6 +660,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) {}

Просмотреть файл

@ -35,7 +35,7 @@ index 07c014a28ed1ef5878a50fbb194e38fe762361e9..ae4c9c011024a32354a4cc25c63835a4
// from the worker thread. // from the worker thread.
virtual void WillDestroyWorkerContextOnWorkerThread( virtual void WillDestroyWorkerContextOnWorkerThread(
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 15d304d96426bd7e9c6269feb3cbe66294f3934d..ca8ab0a9ad78b694f92c0aa70fb2165cb69a2ce5 100644 index 0883af83028e8fc10b38ec59257f75e64e66c6e1..a9392803a6675391ffd4c97fee0ad782934006ff 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
@@ -887,6 +887,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated( @@ -887,6 +887,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
@ -65,10 +65,10 @@ index 1bfec2280e6d1f5cb5c157d237069bdee44b9a5d..c327e48cbefa0cbfe7192449a97896f3
bool AllowScriptExtensionForServiceWorker( bool AllowScriptExtensionForServiceWorker(
const blink::WebSecurityOrigin& script_origin) override; const blink::WebSecurityOrigin& script_origin) 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 8c2fb19e53b55d578134fac78d8149bcde0baeed..92f7e7a87ea5da17b6f49c143d0adf99d0ec90a8 100644 index 8199839240ecc0abf5b0ce5e042f83bd31cafe9a..40269dcdfb2355067f20f25f4f4f9f31abc6e256 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
@@ -664,6 +664,8 @@ class BLINK_PLATFORM_EXPORT Platform { @@ -660,6 +660,8 @@ 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) {}

Просмотреть файл

@ -1,3 +1,4 @@
chore_allow_customizing_microtask_policy_per_context.patch chore_allow_customizing_microtask_policy_per_context.patch
deps_add_v8_object_setinternalfieldfornodecore.patch deps_add_v8_object_setinternalfieldfornodecore.patch
revert_fastapi_promote_deprecation_of_fastapitypedarray.patch revert_fastapi_remove_dynamic_overload_resolution.patch
revert_api_delete_deprecated_struct_fastapitypedarray.patch

Просмотреть файл

@ -46,10 +46,10 @@ index 3e57ae8efe33f326ef0e5d609c311d4be5b8afd6..dc521d39c2280dfc3217e97c1e413b2b
V8_INLINE static void* GetAlignedPointerFromInternalField( V8_INLINE static void* GetAlignedPointerFromInternalField(
const BasicTracedReference<Object>& object, int index) { const BasicTracedReference<Object>& object, int index) {
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 3e15759b3d30ff0ac8c311fa409b34d19ba7ae2c..522a86c3d58258c8bc7fc63de883a12ba640fd82 100644 index a08ce424cd1f84ce5f1d781f98a242b70f23b168..86f2d298e4ba37a46a74f4f6eba5adc2106889bb 100644
--- a/src/api/api.cc --- a/src/api/api.cc
+++ b/src/api/api.cc +++ b/src/api/api.cc
@@ -6418,14 +6418,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) { @@ -6482,14 +6482,33 @@ Local<Data> v8::Object::SlowGetInternalField(int index) {
i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate)); i::Cast<i::JSObject>(*obj)->GetEmbedderField(index), isolate));
} }

Просмотреть файл

@ -0,0 +1,419 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Kleinschmidt <jkleinsc@electronjs.org>
Date: Fri, 15 Nov 2024 10:49:33 -0500
Subject: Revert "[api] Delete deprecated struct FastApiTypedArray"
Revert this until Node.js decides how to proceed and then pick up their fix.
Refs: https://github.com/nodejs/node/issues/55452
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5956408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5982984
This reverts commit 35a6781f783f037404869f6c9ec22f147dba1c5e.
diff --git a/include/v8-fast-api-calls.h b/include/v8-fast-api-calls.h
index 12ef5e4f7e66f1bfe2ff3f46ebfa8f47c86e313c..9796601c287c0bb83a2fd85f7735678219c2cd5d 100644
--- a/include/v8-fast-api-calls.h
+++ b/include/v8-fast-api-calls.h
@@ -271,7 +271,7 @@ class CTypeInfo {
enum class SequenceType : uint8_t {
kScalar,
kIsSequence, // sequence<T>
- kIsTypedArray V8_DEPRECATED(
+ kIsTypedArray V8_DEPRECATE_SOON(
"TypedArrays are not supported directly anymore."),
// is void
kIsArrayBuffer // ArrayBuffer
@@ -326,7 +326,7 @@ class CTypeInfo {
Flags flags_;
};
-struct V8_DEPRECATED(
+struct V8_DEPRECATE_SOON(
"With the removal of FastApiTypedArray this type is not needed "
"anymore.") FastApiTypedArrayBase {
public:
@@ -339,6 +339,42 @@ struct V8_DEPRECATED(
size_t length_ = 0;
};
+template <typename T>
+struct V8_DEPRECATE_SOON(
+ "When an API function expects a TypedArray as a parameter, the type in the "
+ "signature should be `v8::Local<v8::Value>` instead of "
+ "FastApiTypedArray<>. The API function then has to type-check the "
+ "parameter and convert it to a `v8::Local<v8::TypedArray` to access the "
+ "data. In essence, the parameter should be handled the same as for a "
+ "regular API call.") FastApiTypedArray : public FastApiTypedArrayBase {
+ public:
+ V8_INLINE T get(size_t index) const {
+#ifdef DEBUG
+ ValidateIndex(index);
+#endif // DEBUG
+ T tmp;
+ memcpy(&tmp, static_cast<void*>(reinterpret_cast<T*>(data_) + index),
+ sizeof(T));
+ return tmp;
+ }
+
+ bool getStorageIfAligned(T** elements) const {
+ if (reinterpret_cast<uintptr_t>(data_) % alignof(T) != 0) {
+ return false;
+ }
+ *elements = reinterpret_cast<T*>(data_);
+ return true;
+ }
+
+ private:
+ // This pointer should include the typed array offset applied.
+ // It's not guaranteed that it's aligned to sizeof(T), it's only
+ // guaranteed that it's 4-byte aligned, so for 8-byte types we need to
+ // provide a special implementation for reading from it, which hides
+ // the possibly unaligned read in the `get` method.
+ void* data_;
+};
+
struct V8_DEPRECATED("This API is dead within V8") FastApiArrayBufferView {
void* data;
size_t byte_length;
@@ -664,6 +700,32 @@ PRIMITIVE_C_TYPES(DEFINE_TYPE_INFO_TRAITS)
#undef PRIMITIVE_C_TYPES
#undef ALL_C_TYPES
+#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR_TA(T, Enum) \
+ template <> \
+ struct V8_DEPRECATE_SOON( \
+ "This struct is unnecessary now, because FastApiTypedArray has already " \
+ "been deprecated as well") TypeInfoHelper<const FastApiTypedArray<T>&> { \
+ static constexpr CTypeInfo::Flags Flags() { \
+ return CTypeInfo::Flags::kNone; \
+ } \
+ \
+ static constexpr CTypeInfo::Type Type() { return CTypeInfo::Type::Enum; } \
+ static constexpr CTypeInfo::SequenceType SequenceType() { \
+ return CTypeInfo::SequenceType::kIsTypedArray; \
+ } \
+ };
+
+#define TYPED_ARRAY_C_TYPES(V) \
+ V(uint8_t, kUint8) \
+ V(int32_t, kInt32) \
+ V(uint32_t, kUint32) \
+ V(int64_t, kInt64) \
+ V(uint64_t, kUint64) \
+ V(float, kFloat32) \
+ V(double, kFloat64)
+
+TYPED_ARRAY_C_TYPES(SPECIALIZE_GET_TYPE_INFO_HELPER_FOR_TA)
+
#undef TYPED_ARRAY_C_TYPES
template <>
diff --git a/src/compiler/turboshaft/fast-api-call-lowering-reducer.h b/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
index dc27e91ad0da93a5b68053f132f219f95f641ca1..38ba1110da3f77df4681ccb0ebcee78d1500fbd7 100644
--- a/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
+++ b/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
@@ -188,8 +188,20 @@ class FastApiCallLoweringReducer : public Next {
break;
}
START_ALLOW_USE_DEPRECATED()
- case CTypeInfo::SequenceType::kIsTypedArray:
- UNREACHABLE();
+ case CTypeInfo::SequenceType::kIsTypedArray: {
+ // Check that the value is a TypedArray with a type that matches the
+ // type declared in the c-function.
+ OpIndex stack_slot = AdaptFastCallTypedArrayArgument(
+ argument,
+ fast_api_call::GetTypedArrayElementsKind(
+ resolution_result.element_type),
+ next);
+ OpIndex target_address = __ ExternalConstant(
+ ExternalReference::Create(c_functions[func_index].address,
+ ExternalReference::FAST_C_CALL));
+ GOTO(done, target_address, stack_slot);
+ break;
+ }
END_ALLOW_USE_DEPRECATED()
default: {
@@ -328,8 +340,15 @@ class FastApiCallLoweringReducer : public Next {
return __ AdaptLocalArgument(argument);
}
START_ALLOW_USE_DEPRECATED()
- case CTypeInfo::SequenceType::kIsTypedArray:
- UNREACHABLE();
+ case CTypeInfo::SequenceType::kIsTypedArray: {
+ // Check that the value is a HeapObject.
+ GOTO_IF(__ ObjectIsSmi(argument), handle_error);
+
+ return AdaptFastCallTypedArrayArgument(
+ argument,
+ fast_api_call::GetTypedArrayElementsKind(arg_type.GetType()),
+ handle_error);
+ }
END_ALLOW_USE_DEPRECATED()
default: {
UNREACHABLE();
@@ -387,6 +406,94 @@ class FastApiCallLoweringReducer : public Next {
}
}
+ OpIndex AdaptFastCallTypedArrayArgument(V<HeapObject> argument,
+ ElementsKind expected_elements_kind,
+ Label<>& bailout) {
+ V<Map> map = __ LoadMapField(argument);
+ V<Word32> instance_type = __ LoadInstanceTypeField(map);
+ GOTO_IF_NOT(LIKELY(__ Word32Equal(instance_type, JS_TYPED_ARRAY_TYPE)),
+ bailout);
+
+ V<Word32> bitfield2 =
+ __ template LoadField<Word32>(map, AccessBuilder::ForMapBitField2());
+ V<Word32> kind = __ Word32ShiftRightLogical(
+ __ Word32BitwiseAnd(bitfield2, Map::Bits2::ElementsKindBits::kMask),
+ Map::Bits2::ElementsKindBits::kShift);
+ GOTO_IF_NOT(LIKELY(__ Word32Equal(kind, expected_elements_kind)), bailout);
+
+ V<HeapObject> buffer = __ template LoadField<HeapObject>(
+ argument, AccessBuilder::ForJSArrayBufferViewBuffer());
+ V<Word32> buffer_bitfield = __ template LoadField<Word32>(
+ buffer, AccessBuilder::ForJSArrayBufferBitField());
+
+ // Go to the slow path if the {buffer} was detached.
+ GOTO_IF(UNLIKELY(__ Word32BitwiseAnd(buffer_bitfield,
+ JSArrayBuffer::WasDetachedBit::kMask)),
+ bailout);
+
+ // Go to the slow path if the {buffer} is shared.
+ GOTO_IF(UNLIKELY(__ Word32BitwiseAnd(buffer_bitfield,
+ JSArrayBuffer::IsSharedBit::kMask)),
+ bailout);
+
+ // Unpack the store and length, and store them to a struct
+ // FastApiTypedArray.
+ OpIndex external_pointer =
+ __ LoadField(argument, AccessBuilder::ForJSTypedArrayExternalPointer());
+
+ // Load the base pointer for the buffer. This will always be Smi
+ // zero unless we allow on-heap TypedArrays, which is only the case
+ // for Chrome. Node and Electron both set this limit to 0. Setting
+ // the base to Smi zero here allows the BuildTypedArrayDataPointer
+ // to optimize away the tricky part of the access later.
+ V<WordPtr> data_ptr;
+ if constexpr (JSTypedArray::kMaxSizeInHeap == 0) {
+ data_ptr = external_pointer;
+ } else {
+ V<Object> base_pointer = __ template LoadField<Object>(
+ argument, AccessBuilder::ForJSTypedArrayBasePointer());
+ V<WordPtr> base = __ BitcastTaggedToWordPtr(base_pointer);
+ if (COMPRESS_POINTERS_BOOL) {
+ // Zero-extend Tagged_t to UintPtr according to current compression
+ // scheme so that the addition with |external_pointer| (which already
+ // contains compensated offset value) will decompress the tagged value.
+ // See JSTypedArray::ExternalPointerCompensationForOnHeapArray() for
+ // details.
+ base = __ ChangeUint32ToUintPtr(__ TruncateWordPtrToWord32(base));
+ }
+ data_ptr = __ WordPtrAdd(base, external_pointer);
+ }
+
+ V<WordPtr> length_in_bytes = __ template LoadField<WordPtr>(
+ argument, AccessBuilder::ForJSTypedArrayLength());
+
+ // We hard-code int32_t here, because all specializations of
+ // FastApiTypedArray have the same size.
+ START_ALLOW_USE_DEPRECATED()
+ constexpr int kAlign = alignof(FastApiTypedArray<int32_t>);
+ constexpr int kSize = sizeof(FastApiTypedArray<int32_t>);
+ static_assert(kAlign == alignof(FastApiTypedArray<double>),
+ "Alignment mismatch between different specializations of "
+ "FastApiTypedArray");
+ static_assert(kSize == sizeof(FastApiTypedArray<double>),
+ "Size mismatch between different specializations of "
+ "FastApiTypedArray");
+ END_ALLOW_USE_DEPRECATED()
+ static_assert(
+ kSize == sizeof(uintptr_t) + sizeof(size_t),
+ "The size of "
+ "FastApiTypedArray isn't equal to the sum of its expected members.");
+ OpIndex stack_slot = __ StackSlot(kSize, kAlign);
+ __ StoreOffHeap(stack_slot, length_in_bytes,
+ MemoryRepresentation::UintPtr());
+ __ StoreOffHeap(stack_slot, data_ptr, MemoryRepresentation::UintPtr(),
+ sizeof(size_t));
+ static_assert(sizeof(uintptr_t) == sizeof(size_t),
+ "The buffer length can't "
+ "fit the PointerRepresentation used to store it.");
+ return stack_slot;
+ }
+
V<Any> DefaultReturnValue(const CFunctionInfo* c_signature) {
switch (c_signature->ReturnInfo().GetType()) {
case CTypeInfo::Type::kVoid:
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index f126b758d050236d88ec49a23b298c54eff50821..1282e2cf8a686475492b253138e367cc44d4f77f 100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -29762,6 +29762,16 @@ static Trivial* UnwrapTrivialObject(Local<Object> object) {
return wrapped;
}
+START_ALLOW_USE_DEPRECATED()
+void FastCallback1TypedArray(v8::Local<v8::Object> receiver, int arg0,
+ const v8::FastApiTypedArray<int32_t>& arg1) {
+ Trivial* self = UnwrapTrivialObject(receiver);
+ CHECK_NOT_NULL(self);
+ CHECK_EQ(arg0, arg1.length());
+ self->set_x(arg0);
+}
+END_ALLOW_USE_DEPRECATED()
+
void FastCallback2JSArray(v8::Local<v8::Object> receiver, int arg0,
v8::Local<v8::Array> arg1) {
Trivial* self = UnwrapTrivialObject(receiver);
@@ -29779,10 +29789,103 @@ void FastCallback4Scalar(v8::Local<v8::Object> receiver, int arg0, float arg1) {
void FastCallback5DifferentArity(v8::Local<v8::Object> receiver, int arg0,
v8::Local<v8::Array> arg1, float arg2) {}
+void SequenceSlowCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
+ CHECK(i::ValidateCallbackInfo(info));
+ v8::Isolate* isolate = info.GetIsolate();
+ Trivial* self = UnwrapTrivialObject(info.This());
+ if (!self) {
+ isolate->ThrowError("This method is not defined on the given receiver.");
+ return;
+ }
+ self->set_x(1337);
+
+ HandleScope handle_scope(isolate);
+
+ if (info.Length() < 2 || !info[0]->IsNumber()) {
+ isolate->ThrowError(
+ "This method expects at least 2 arguments,"
+ " first one a number.");
+ return;
+ }
+ int64_t len = info[0]->IntegerValue(isolate->GetCurrentContext()).FromJust();
+ if (info[1]->IsTypedArray()) {
+ v8::Local<v8::TypedArray> typed_array_arg = info[1].As<v8::TypedArray>();
+ size_t length = typed_array_arg->Length();
+ CHECK_EQ(len, length);
+ return;
+ }
+ if (!info[1]->IsArray()) {
+ isolate->ThrowError("This method expects an array as a second argument.");
+ return;
+ }
+ v8::Local<v8::Array> seq_arg = info[1].As<v8::Array>();
+ uint32_t length = seq_arg->Length();
+ CHECK_EQ(len, length);
+ return;
+}
} // namespace
#endif // !defined(V8_LITE_MODE) && defined(V8_ENABLE_TURBOFAN)
START_ALLOW_USE_DEPRECATED()
+TEST(FastApiSequenceOverloads) {
+#if !defined(V8_LITE_MODE) && defined(V8_ENABLE_TURBOFAN)
+ if (i::v8_flags.jitless) return;
+ if (i::v8_flags.disable_optimizing_compilers) return;
+
+ i::v8_flags.turbofan = true;
+ i::v8_flags.turbo_fast_api_calls = true;
+ i::v8_flags.allow_natives_syntax = true;
+ // Disable --always_turbofan, otherwise we haven't generated the necessary
+ // feedback to go down the "best optimization" path for the fast call.
+ i::v8_flags.always_turbofan = false;
+ i::FlagList::EnforceFlagImplications();
+
+ v8::Isolate* isolate = CcTest::isolate();
+ HandleScope handle_scope(isolate);
+ LocalContext env;
+
+ v8::CFunction typed_array_callback =
+ v8::CFunctionBuilder().Fn(FastCallback1TypedArray).Build();
+ v8::CFunction js_array_callback =
+ v8::CFunctionBuilder().Fn(FastCallback2JSArray).Build();
+ const v8::CFunction sequece_overloads[] = {
+ typed_array_callback,
+ js_array_callback,
+ };
+
+ Local<v8::FunctionTemplate> sequence_callback_templ =
+ v8::FunctionTemplate::NewWithCFunctionOverloads(
+ isolate, SequenceSlowCallback, v8::Number::New(isolate, 42),
+ v8::Local<v8::Signature>(), 1, v8::ConstructorBehavior::kThrow,
+ v8::SideEffectType::kHasSideEffect, {sequece_overloads, 2});
+
+ v8::Local<v8::ObjectTemplate> object_template =
+ v8::ObjectTemplate::New(isolate);
+ object_template->SetInternalFieldCount(kV8WrapperObjectIndex + 1);
+ object_template->Set(isolate, "api_func", sequence_callback_templ);
+
+ std::unique_ptr<Trivial> rcv(new Trivial(42));
+ v8::Local<v8::Object> object =
+ object_template->NewInstance(env.local()).ToLocalChecked();
+ object->SetAlignedPointerInInternalField(kV8WrapperObjectIndex, rcv.get());
+
+ CHECK(
+ (env)->Global()->Set(env.local(), v8_str("receiver"), object).FromJust());
+ USE(CompileRun(
+ "function func(num, arr) { return receiver.api_func(num, arr); }"
+ "%PrepareFunctionForOptimization(func);"
+ "func(3, [1,2,3]);"
+ "%OptimizeFunctionOnNextCall(func);"
+ "func(3, [1,2,3]);"));
+ CHECK_EQ(3, rcv->x());
+
+ USE(
+ CompileRun("const ta = new Int32Array([1, 2, 3, 4]);"
+ "func(4, ta);"));
+ CHECK_EQ(4, rcv->x());
+#endif // !defined(V8_LITE_MODE) && defined(V8_ENABLE_TURBOFAN)
+}
+
TEST(FastApiOverloadResolution) {
#if !defined(V8_LITE_MODE) && defined(V8_ENABLE_TURBOFAN)
if (i::v8_flags.jitless) return;
@@ -29796,15 +29899,22 @@ TEST(FastApiOverloadResolution) {
i::v8_flags.always_turbofan = false;
i::FlagList::EnforceFlagImplications();
+ v8::CFunction typed_array_callback =
+ v8::CFunctionBuilder().Fn(FastCallback1TypedArray).Build();
v8::CFunction js_array_callback =
v8::CFunctionBuilder().Fn(FastCallback2JSArray).Build();
+ // Check that a general runtime overload resolution is possible.
+ CHECK_EQ(v8::CFunction::OverloadResolution::kAtRuntime,
+ typed_array_callback.GetOverloadResolution(&js_array_callback));
+
v8::CFunction swapped_params_callback =
v8::CFunctionBuilder().Fn(FastCallback3SwappedParams).Build();
// Check that difference in > 1 position is not possible.
- CHECK_EQ(v8::CFunction::OverloadResolution::kImpossible,
- js_array_callback.GetOverloadResolution(&swapped_params_callback));
+ CHECK_EQ(
+ v8::CFunction::OverloadResolution::kImpossible,
+ typed_array_callback.GetOverloadResolution(&swapped_params_callback));
v8::CFunction scalar_callback =
v8::CFunctionBuilder().Fn(FastCallback4Scalar).Build();
@@ -29812,7 +29922,7 @@ TEST(FastApiOverloadResolution) {
// Check that resolving when there is a scalar at the difference position
// is not possible.
CHECK_EQ(v8::CFunction::OverloadResolution::kImpossible,
- js_array_callback.GetOverloadResolution(&scalar_callback));
+ typed_array_callback.GetOverloadResolution(&scalar_callback));
v8::CFunction diff_arity_callback =
v8::CFunctionBuilder().Fn(FastCallback5DifferentArity).Build();
@@ -29820,7 +29930,7 @@ TEST(FastApiOverloadResolution) {
// Check that overload resolution between different number of arguments
// is possible.
CHECK_EQ(v8::CFunction::OverloadResolution::kAtCompileTime,
- js_array_callback.GetOverloadResolution(&diff_arity_callback));
+ typed_array_callback.GetOverloadResolution(&diff_arity_callback));
#endif // !defined(V8_LITE_MODE) && defined(V8_ENABLE_TURBOFAN)
}

Просмотреть файл

@ -1,25 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: David Sanders <dsanders11@ucsbalum.com>
Date: Wed, 30 Oct 2024 21:40:17 -0700
Subject: Revert "[fastapi] Promote deprecation of FastApiTypedArray"
This reverts commit 22b9e934bbbc2f026ed2c3a97a72d9f3ec890a68.
Revert this until Node.js decides how to proceed and then pick up their fix.
Refs: https://github.com/nodejs/node/issues/55452
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5956408
diff --git a/include/v8-fast-api-calls.h b/include/v8-fast-api-calls.h
index f10444e3916c5dba41bec74f3d87007466ad9dc2..d470bd1fcfc62cb512b102fdafc2e9a9530fb768 100644
--- a/include/v8-fast-api-calls.h
+++ b/include/v8-fast-api-calls.h
@@ -340,7 +340,7 @@ struct V8_DEPRECATE_SOON(
};
template <typename T>
-struct V8_DEPRECATED(
+struct V8_DEPRECATE_SOON(
"When an API function expects a TypedArray as a parameter, the type in the "
"signature should be `v8::Local<v8::Value>` instead of "
"FastApiTypedArray<>. The API function then has to type-check the "

Просмотреть файл

@ -0,0 +1,853 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: John Kleinschmidt <jkleinsc@electronjs.org>
Date: Fri, 15 Nov 2024 10:46:43 -0500
Subject: Revert "[fastapi] Remove dynamic overload resolution"
Revert this until Node.js decides how to proceed and then pick up their fix.
Refs: https://github.com/nodejs/node/issues/55452
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5956408
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5982984
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/5979766
This reverts commit c41f7a0ef99bd1c9752ee79923f634145ebc4153.
diff --git a/src/api/api.cc b/src/api/api.cc
index 86f2d298e4ba37a46a74f4f6eba5adc2106889bb..ae1de25004bd1d1ba11225bc13472f4cbab3ca33 100644
--- a/src/api/api.cc
+++ b/src/api/api.cc
@@ -1348,16 +1348,6 @@ Local<FunctionTemplate> FunctionTemplate::NewWithCFunctionOverloads(
i::Isolate* i_isolate = reinterpret_cast<i::Isolate*>(v8_isolate);
API_RCS_SCOPE(i_isolate, FunctionTemplate, New);
- // Check that all overloads of the fast API callback have different numbers of
- // parameters. Since the number of overloads is supposed to be small, just
- // comparing them with each other should be fine.
- for (size_t i = 0; i < c_function_overloads.size(); ++i) {
- for (size_t j = i + 1; j < c_function_overloads.size(); ++j) {
- CHECK_NE(c_function_overloads.data()[i].ArgumentCount(),
- c_function_overloads.data()[j].ArgumentCount());
- }
- }
-
if (!Utils::ApiCheck(
c_function_overloads.empty() ||
behavior == ConstructorBehavior::kThrow,
diff --git a/src/compiler/fast-api-calls.cc b/src/compiler/fast-api-calls.cc
index 2dc99dc83e0f78d2bbb0875cc04064b565deaf06..d560afa2ee9f4384738cddf659a51d4c42b4fe67 100644
--- a/src/compiler/fast-api-calls.cc
+++ b/src/compiler/fast-api-calls.cc
@@ -62,6 +62,52 @@ ElementsKind GetTypedArrayElementsKind(CTypeInfo::Type type) {
}
}
+OverloadsResolutionResult ResolveOverloads(
+ const FastApiCallFunctionVector& candidates, unsigned int arg_count) {
+ DCHECK_GT(arg_count, 0);
+
+ static constexpr int kReceiver = 1;
+
+ // Only the case of the overload resolution of two functions, one with a
+ // JSArray param and the other with a typed array param is currently
+ // supported.
+ DCHECK_EQ(candidates.size(), 2);
+
+ for (unsigned int arg_index = kReceiver; arg_index < arg_count; arg_index++) {
+ int index_of_func_with_js_array_arg = -1;
+ int index_of_func_with_typed_array_arg = -1;
+ CTypeInfo::Type element_type = CTypeInfo::Type::kVoid;
+
+ for (size_t i = 0; i < candidates.size(); i++) {
+ const CTypeInfo& type_info =
+ candidates[i].signature->ArgumentInfo(arg_index);
+ CTypeInfo::SequenceType sequence_type = type_info.GetSequenceType();
+
+ START_ALLOW_USE_DEPRECATED()
+ if (sequence_type == CTypeInfo::SequenceType::kIsSequence) {
+ DCHECK_LT(index_of_func_with_js_array_arg, 0);
+ index_of_func_with_js_array_arg = static_cast<int>(i);
+ } else if (sequence_type == CTypeInfo::SequenceType::kIsTypedArray) {
+ DCHECK_LT(index_of_func_with_typed_array_arg, 0);
+ index_of_func_with_typed_array_arg = static_cast<int>(i);
+ element_type = type_info.GetType();
+ } else {
+ DCHECK_LT(index_of_func_with_js_array_arg, 0);
+ DCHECK_LT(index_of_func_with_typed_array_arg, 0);
+ }
+ END_ALLOW_USE_DEPRECATED()
+ }
+
+ if (index_of_func_with_js_array_arg >= 0 &&
+ index_of_func_with_typed_array_arg >= 0) {
+ return {static_cast<int>(arg_index), element_type};
+ }
+ }
+
+ // No overload found with a JSArray and a typed array as i-th argument.
+ return OverloadsResolutionResult::Invalid();
+}
+
bool CanOptimizeFastSignature(const CFunctionInfo* c_signature) {
USE(c_signature);
@@ -149,7 +195,8 @@ class FastApiCallBuilder {
initialize_options_(initialize_options),
generate_slow_api_call_(generate_slow_api_call) {}
- Node* Build(FastApiCallFunction c_function, Node* data_argument);
+ Node* Build(const FastApiCallFunctionVector& c_functions,
+ const CFunctionInfo* c_signature, Node* data_argument);
private:
Node* WrapFastCall(const CallDescriptor* call_descriptor, int inputs_size,
@@ -230,15 +277,35 @@ void FastApiCallBuilder::PropagateException() {
__ Call(call_descriptor, count, inputs);
}
-Node* FastApiCallBuilder::Build(FastApiCallFunction c_function,
+Node* FastApiCallBuilder::Build(const FastApiCallFunctionVector& c_functions,
+ const CFunctionInfo* c_signature,
Node* data_argument) {
- const CFunctionInfo* c_signature = c_function.signature;
const int c_arg_count = c_signature->ArgumentCount();
// Hint to fast path.
auto if_success = __ MakeLabel();
auto if_error = __ MakeDeferredLabel();
+ // Overload resolution
+ bool generate_fast_call = false;
+ OverloadsResolutionResult overloads_resolution_result =
+ OverloadsResolutionResult::Invalid();
+
+ if (c_functions.size() == 1) {
+ generate_fast_call = true;
+ } else {
+ DCHECK_EQ(c_functions.size(), 2);
+ overloads_resolution_result = ResolveOverloads(c_functions, c_arg_count);
+ if (overloads_resolution_result.is_valid()) {
+ generate_fast_call = true;
+ }
+ }
+
+ if (!generate_fast_call) {
+ // Only generate the slow call.
+ return generate_slow_api_call_();
+ }
+
// Generate fast call.
const int kFastTargetAddressInputIndex = 0;
@@ -263,11 +330,18 @@ Node* FastApiCallBuilder::Build(FastApiCallFunction c_function,
// address associated to the first and only element in the c_functions vector.
// If there are multiple overloads the value of this input will be set later
// with a Phi node created by AdaptOverloadedFastCallArgument.
- inputs[kFastTargetAddressInputIndex] = __ ExternalConstant(
- ExternalReference::Create(c_function.address, ref_type));
+ inputs[kFastTargetAddressInputIndex] =
+ (c_functions.size() == 1) ? __ ExternalConstant(ExternalReference::Create(
+ c_functions[0].address, ref_type))
+ : nullptr;
for (int i = 0; i < c_arg_count; ++i) {
- inputs[i + kFastTargetAddressInputCount] = get_parameter_(i, &if_error);
+ inputs[i + kFastTargetAddressInputCount] =
+ get_parameter_(i, overloads_resolution_result, &if_error);
+ if (overloads_resolution_result.target_address) {
+ inputs[kFastTargetAddressInputIndex] =
+ overloads_resolution_result.target_address;
+ }
}
DCHECK_NOT_NULL(inputs[kFastTargetAddressInputIndex]);
@@ -368,7 +442,8 @@ Node* FastApiCallBuilder::Build(FastApiCallFunction c_function,
Node* BuildFastApiCall(Isolate* isolate, Graph* graph,
GraphAssembler* graph_assembler,
- FastApiCallFunction c_function, Node* data_argument,
+ const FastApiCallFunctionVector& c_functions,
+ const CFunctionInfo* c_signature, Node* data_argument,
const GetParameter& get_parameter,
const ConvertReturnValue& convert_return_value,
const InitializeOptions& initialize_options,
@@ -376,7 +451,7 @@ Node* BuildFastApiCall(Isolate* isolate, Graph* graph,
FastApiCallBuilder builder(isolate, graph, graph_assembler, get_parameter,
convert_return_value, initialize_options,
generate_slow_api_call);
- return builder.Build(c_function, data_argument);
+ return builder.Build(c_functions, c_signature, data_argument);
}
} // namespace fast_api_call
diff --git a/src/compiler/fast-api-calls.h b/src/compiler/fast-api-calls.h
index 171e66c427991bfe7db5c2875d12559767a24b55..b97b37e5746433d3801de19d4666a19afc223cdc 100644
--- a/src/compiler/fast-api-calls.h
+++ b/src/compiler/fast-api-calls.h
@@ -40,16 +40,21 @@ struct OverloadsResolutionResult {
ElementsKind GetTypedArrayElementsKind(CTypeInfo::Type type);
+OverloadsResolutionResult ResolveOverloads(
+ const FastApiCallFunctionVector& candidates, unsigned int arg_count);
+
bool CanOptimizeFastSignature(const CFunctionInfo* c_signature);
-using GetParameter = std::function<Node*(int, GraphAssemblerLabel<0>*)>;
+using GetParameter = std::function<Node*(int, OverloadsResolutionResult&,
+ GraphAssemblerLabel<0>*)>;
using ConvertReturnValue = std::function<Node*(const CFunctionInfo*, Node*)>;
using InitializeOptions = std::function<void(Node*)>;
using GenerateSlowApiCall = std::function<Node*()>;
Node* BuildFastApiCall(Isolate* isolate, Graph* graph,
GraphAssembler* graph_assembler,
- FastApiCallFunction c_function, Node* data_argument,
+ const FastApiCallFunctionVector& c_functions,
+ const CFunctionInfo* c_signature, Node* data_argument,
const GetParameter& get_parameter,
const ConvertReturnValue& convert_return_value,
const InitializeOptions& initialize_options,
diff --git a/src/compiler/js-call-reducer.cc b/src/compiler/js-call-reducer.cc
index d75a38769d582cd6e5a807f9670732dc92d77b7e..a29bd4a5be0c9a268386898f8a52e98933211b6c 100644
--- a/src/compiler/js-call-reducer.cc
+++ b/src/compiler/js-call-reducer.cc
@@ -631,11 +631,11 @@ class FastApiCallReducerAssembler : public JSCallReducerAssembler {
FastApiCallReducerAssembler(
JSCallReducer* reducer, Node* node,
const FunctionTemplateInfoRef function_template_info,
- FastApiCallFunction c_function, Node* receiver, Node* holder,
- const SharedFunctionInfoRef shared, Node* target, const int arity,
- Node* effect)
+ const FastApiCallFunctionVector& c_candidate_functions, Node* receiver,
+ Node* holder, const SharedFunctionInfoRef shared, Node* target,
+ const int arity, Node* effect)
: JSCallReducerAssembler(reducer, node),
- c_function_(c_function),
+ c_candidate_functions_(c_candidate_functions),
function_template_info_(function_template_info),
receiver_(receiver),
holder_(holder),
@@ -643,6 +643,7 @@ class FastApiCallReducerAssembler : public JSCallReducerAssembler {
target_(target),
arity_(arity) {
DCHECK_EQ(IrOpcode::kJSCall, node->opcode());
+ CHECK_GT(c_candidate_functions.size(), 0);
InitializeEffectControl(effect, NodeProperties::GetControlInput(node));
}
@@ -654,7 +655,7 @@ class FastApiCallReducerAssembler : public JSCallReducerAssembler {
// All functions in c_candidate_functions_ have the same number of
// arguments, so extract c_argument_count from the first function.
const int c_argument_count =
- static_cast<int>(c_function_.signature->ArgumentCount());
+ static_cast<int>(c_candidate_functions_[0].signature->ArgumentCount());
CHECK_GE(c_argument_count, kReceiver);
const int slow_arg_count =
@@ -755,12 +756,13 @@ class FastApiCallReducerAssembler : public JSCallReducerAssembler {
TNode<Object> FastApiCall(CallDescriptor* descriptor, Node** inputs,
size_t inputs_size) {
- return AddNode<Object>(graph()->NewNode(
- simplified()->FastApiCall(c_function_, feedback(), descriptor),
- static_cast<int>(inputs_size), inputs));
+ return AddNode<Object>(
+ graph()->NewNode(simplified()->FastApiCall(c_candidate_functions_,
+ feedback(), descriptor),
+ static_cast<int>(inputs_size), inputs));
}
- FastApiCallFunction c_function_;
+ const FastApiCallFunctionVector c_candidate_functions_;
const FunctionTemplateInfoRef function_template_info_;
Node* const receiver_;
Node* const holder_;
@@ -3886,10 +3888,11 @@ Reduction JSCallReducer::ReduceCallWasmFunction(Node* node,
// Returns an array with the indexes of the remaining entries in S, which
// represents the set of "optimizable" function overloads.
-FastApiCallFunction GetFastApiCallTarget(
- JSHeapBroker* broker, FunctionTemplateInfoRef function_template_info,
- size_t arg_count) {
- if (!v8_flags.turbo_fast_api_calls) return {0, nullptr};
+FastApiCallFunctionVector CanOptimizeFastCall(
+ JSHeapBroker* broker, Zone* zone,
+ FunctionTemplateInfoRef function_template_info, size_t arg_count) {
+ FastApiCallFunctionVector result(zone);
+ if (!v8_flags.turbo_fast_api_calls) return result;
static constexpr int kReceiver = 1;
@@ -3918,15 +3921,15 @@ FastApiCallFunction GetFastApiCallTarget(
static_cast<uint8_t>(c_signature->ArgumentInfo(i).GetFlags());
if (flags & static_cast<uint8_t>(CTypeInfo::Flags::kEnforceRangeBit)) {
// Bailout
- return {0, nullptr};
+ return FastApiCallFunctionVector(zone);
}
}
#endif
- return {functions[i], c_signature};
+ result.push_back({functions[i], c_signature});
}
}
- return {0, nullptr};
+ return result;
}
Reduction JSCallReducer::ReduceCallApiFunction(Node* node,
@@ -4109,13 +4112,15 @@ Reduction JSCallReducer::ReduceCallApiFunction(Node* node,
}
// Handles overloaded functions.
- FastApiCallFunction c_function =
- GetFastApiCallTarget(broker(), function_template_info, argc);
- if (c_function.address) {
+ FastApiCallFunctionVector c_candidate_functions = CanOptimizeFastCall(
+ broker(), graph()->zone(), function_template_info, argc);
+ DCHECK_LE(c_candidate_functions.size(), 2);
+
+ if (!c_candidate_functions.empty()) {
FastApiCallReducerAssembler a(this, node, function_template_info,
- c_function, receiver, holder, shared, target,
- argc, effect);
+ c_candidate_functions, receiver, holder,
+ shared, target, argc, effect);
Node* fast_call_subgraph = a.ReduceFastApiCall();
return Replace(fast_call_subgraph);
diff --git a/src/compiler/simplified-lowering.cc b/src/compiler/simplified-lowering.cc
index a76784f65355cd7f380cadf0db602668f59cf07b..37e216509163514bc9ee43d7bb25695387e82351 100644
--- a/src/compiler/simplified-lowering.cc
+++ b/src/compiler/simplified-lowering.cc
@@ -2015,7 +2015,7 @@ class RepresentationSelector {
// argument, which must be a JSArray in one function and a TypedArray in the
// other function, and both JSArrays and TypedArrays have the same UseInfo
// UseInfo::AnyTagged(). All the other argument types must match.
- const CFunctionInfo* c_signature = op_params.c_function().signature;
+ const CFunctionInfo* c_signature = op_params.c_functions()[0].signature;
const int c_arg_count = c_signature->ArgumentCount();
CallDescriptor* call_descriptor = op_params.descriptor();
// Arguments for CallApiCallbackOptimizedXXX builtin (including context)
@@ -2057,8 +2057,12 @@ class RepresentationSelector {
// Effect and Control.
ProcessRemainingInputs<T>(node, value_input_count);
+ if (op_params.c_functions().empty()) {
+ SetOutput<T>(node, MachineRepresentation::kTagged);
+ return;
+ }
- CTypeInfo return_type = op_params.c_function().signature->ReturnInfo();
+ CTypeInfo return_type = op_params.c_functions()[0].signature->ReturnInfo();
switch (return_type.GetType()) {
case CTypeInfo::Type::kBool:
SetOutput<T>(node, MachineRepresentation::kBit);
diff --git a/src/compiler/simplified-operator.cc b/src/compiler/simplified-operator.cc
index a27ea417112518987f95eac5d7d091693149280a..a8fd6fba72b3140016258b8c156aa65701367c59 100644
--- a/src/compiler/simplified-operator.cc
+++ b/src/compiler/simplified-operator.cc
@@ -2055,21 +2055,26 @@ FastApiCallParameters const& FastApiCallParametersOf(const Operator* op) {
}
std::ostream& operator<<(std::ostream& os, FastApiCallParameters const& p) {
- FastApiCallFunction c_function = p.c_function();
- os << c_function.address << ":" << c_function.signature << ", ";
+ const auto& c_functions = p.c_functions();
+ for (size_t i = 0; i < c_functions.size(); i++) {
+ os << c_functions[i].address << ":" << c_functions[i].signature << ", ";
+ }
return os << p.feedback() << ", " << p.descriptor();
}
size_t hash_value(FastApiCallParameters const& p) {
- FastApiCallFunction c_function = p.c_function();
- size_t hash = base::hash_combine(c_function.address, c_function.signature);
+ const auto& c_functions = p.c_functions();
+ size_t hash = 0;
+ for (size_t i = 0; i < c_functions.size(); i++) {
+ hash = base::hash_combine(c_functions[i].address, c_functions[i].signature);
+ }
return base::hash_combine(hash, FeedbackSource::Hash()(p.feedback()),
p.descriptor());
}
bool operator==(FastApiCallParameters const& lhs,
FastApiCallParameters const& rhs) {
- return lhs.c_function() == rhs.c_function() &&
+ return lhs.c_functions() == rhs.c_functions() &&
lhs.feedback() == rhs.feedback() &&
lhs.descriptor() == rhs.descriptor();
}
@@ -2279,11 +2284,19 @@ const Operator* SimplifiedOperatorBuilder::TransitionAndStoreNonNumberElement(
}
const Operator* SimplifiedOperatorBuilder::FastApiCall(
- FastApiCallFunction c_function, FeedbackSource const& feedback,
- CallDescriptor* descriptor) {
- CHECK_NOT_NULL(c_function.signature);
- const CFunctionInfo* signature = c_function.signature;
+ const FastApiCallFunctionVector& c_functions,
+ FeedbackSource const& feedback, CallDescriptor* descriptor) {
+ DCHECK(!c_functions.empty());
+
+ // All function overloads have the same number of arguments and options.
+ const CFunctionInfo* signature = c_functions[0].signature;
const int c_arg_count = signature->ArgumentCount();
+ for (size_t i = 1; i < c_functions.size(); i++) {
+ CHECK_NOT_NULL(c_functions[i].signature);
+ DCHECK_EQ(c_functions[i].signature->ArgumentCount(), c_arg_count);
+ DCHECK_EQ(c_functions[i].signature->HasOptions(),
+ c_functions[0].signature->HasOptions());
+ }
// Arguments for CallApiCallbackOptimizedXXX builtin (including context)
// plus JS arguments (including receiver).
int slow_arg_count = static_cast<int>(descriptor->ParameterCount());
@@ -2293,13 +2306,13 @@ const Operator* SimplifiedOperatorBuilder::FastApiCall(
return zone()->New<Operator1<FastApiCallParameters>>(
IrOpcode::kFastApiCall, Operator::kNoProperties, "FastApiCall",
value_input_count, 1, 1, 1, 1, 2,
- FastApiCallParameters(c_function, feedback, descriptor));
+ FastApiCallParameters(c_functions, feedback, descriptor));
}
// static
int FastApiCallNode::FastCallArgumentCount(Node* node) {
FastApiCallParameters p = FastApiCallParametersOf(node->op());
- const CFunctionInfo* signature = p.c_function().signature;
+ const CFunctionInfo* signature = p.c_functions()[0].signature;
CHECK_NOT_NULL(signature);
return signature->ArgumentCount();
}
diff --git a/src/compiler/simplified-operator.h b/src/compiler/simplified-operator.h
index a4aecbbfe2f82a16dfc136c2bc22614ade9e6bf7..ee61ba530af51cd3b32a62cc5d4b83016f501078 100644
--- a/src/compiler/simplified-operator.h
+++ b/src/compiler/simplified-operator.h
@@ -716,25 +716,35 @@ struct FastApiCallFunction {
return address == rhs.address && signature == rhs.signature;
}
};
+typedef ZoneVector<FastApiCallFunction> FastApiCallFunctionVector;
class FastApiCallParameters {
public:
- explicit FastApiCallParameters(FastApiCallFunction c_function,
+ explicit FastApiCallParameters(const FastApiCallFunctionVector& c_functions,
FeedbackSource const& feedback,
CallDescriptor* descriptor)
- : c_function_(c_function), feedback_(feedback), descriptor_(descriptor) {}
+ : c_functions_(c_functions),
+ feedback_(feedback),
+ descriptor_(descriptor) {}
- FastApiCallFunction c_function() const { return c_function_; }
+ const FastApiCallFunctionVector& c_functions() const { return c_functions_; }
FeedbackSource const& feedback() const { return feedback_; }
CallDescriptor* descriptor() const { return descriptor_; }
- const CFunctionInfo* signature() const { return c_function_.signature; }
+ const CFunctionInfo* signature() const {
+ DCHECK(!c_functions_.empty());
+ return c_functions_[0].signature;
+ }
unsigned int argument_count() const {
const unsigned int count = signature()->ArgumentCount();
+ DCHECK(base::all_of(c_functions_, [count](const auto& f) {
+ return f.signature->ArgumentCount() == count;
+ }));
return count;
}
private:
- FastApiCallFunction c_function_;
+ // A single FastApiCall node can represent multiple overloaded functions.
+ const FastApiCallFunctionVector c_functions_;
const FeedbackSource feedback_;
CallDescriptor* descriptor_;
@@ -1205,9 +1215,9 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
const Operator* Unsigned32Divide();
// Represents the inputs necessary to construct a fast and a slow API call.
- const Operator* FastApiCall(FastApiCallFunction c_function,
- FeedbackSource const& feedback,
- CallDescriptor* descriptor);
+ const Operator* FastApiCall(
+ const FastApiCallFunctionVector& c_candidate_functions,
+ FeedbackSource const& feedback, CallDescriptor* descriptor);
#ifdef V8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA
const Operator* GetContinuationPreservedEmbedderData();
diff --git a/src/compiler/turbofan-typer.cc b/src/compiler/turbofan-typer.cc
index 51f797d342c4fb20e6833fdebbc8a6417b9a3537..a1ab6f4a314a56db8d1351e81e9640e470c324ae 100644
--- a/src/compiler/turbofan-typer.cc
+++ b/src/compiler/turbofan-typer.cc
@@ -1186,8 +1186,11 @@ Type Typer::Visitor::TypeCall(Node* node) { return Type::Any(); }
Type Typer::Visitor::TypeFastApiCall(Node* node) {
FastApiCallParameters const& op_params = FastApiCallParametersOf(node->op());
+ if (op_params.c_functions().empty()) {
+ return Type::Undefined();
+ }
- const CFunctionInfo* c_signature = op_params.c_function().signature;
+ const CFunctionInfo* c_signature = op_params.c_functions()[0].signature;
CTypeInfo return_type = c_signature->ReturnInfo();
switch (return_type.GetType()) {
diff --git a/src/compiler/turboshaft/fast-api-call-lowering-reducer.h b/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
index 2dec266f9e648391fe61a62931cca1ad20de719c..dc27e91ad0da93a5b68053f132f219f95f641ca1 100644
--- a/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
+++ b/src/compiler/turboshaft/fast-api-call-lowering-reducer.h
@@ -29,23 +29,41 @@ class FastApiCallLoweringReducer : public Next {
base::Vector<const OpIndex> arguments,
const FastApiCallParameters* parameters,
base::Vector<const RegisterRepresentation> out_reps) {
- FastApiCallFunction c_function = parameters->c_function;
+ const auto& c_functions = parameters->c_functions;
const auto& c_signature = parameters->c_signature();
const int c_arg_count = c_signature->ArgumentCount();
DCHECK_EQ(c_arg_count, arguments.size());
+ const auto& resolution_result = parameters->resolution_result;
Label<> handle_error(this);
Label<Word32> done(this);
Variable result = __ NewVariable(RegisterRepresentation::FromCTypeInfo(
c_signature->ReturnInfo(), c_signature->GetInt64Representation()));
- OpIndex callee = __ ExternalConstant(ExternalReference::Create(
- c_function.address, ExternalReference::FAST_C_CALL));
-
+ OpIndex callee;
base::SmallVector<OpIndex, 16> args;
for (int i = 0; i < c_arg_count; ++i) {
+ // Check if this is the argument on which we need to perform overload
+ // resolution.
+ if (i == resolution_result.distinguishable_arg_index) {
+ DCHECK_GT(c_functions.size(), 1);
+ // This only happens when the FastApiCall node represents multiple
+ // overloaded functions and {i} is the index of the distinguishable
+ // argument.
+ OpIndex arg_i;
+ std::tie(callee, arg_i) = AdaptOverloadedFastCallArgument(
+ arguments[i], c_functions, resolution_result, handle_error);
+ args.push_back(arg_i);
+ } else {
CTypeInfo type = c_signature->ArgumentInfo(i);
args.push_back(AdaptFastCallArgument(arguments[i], type, handle_error));
+ }
+ }
+
+ if (c_functions.size() == 1) {
+ DCHECK(!callee.valid());
+ callee = __ ExternalConstant(ExternalReference::Create(
+ c_functions[0].address, ExternalReference::FAST_C_CALL));
}
// While adapting the arguments, we might have noticed an inconsistency that
@@ -137,6 +155,56 @@ class FastApiCallLoweringReducer : public Next {
}
private:
+ std::pair<OpIndex, OpIndex> AdaptOverloadedFastCallArgument(
+ OpIndex argument, const FastApiCallFunctionVector& c_functions,
+ const fast_api_call::OverloadsResolutionResult& resolution_result,
+ Label<>& handle_error) {
+ Label<WordPtr, WordPtr> done(this);
+
+ for (size_t func_index = 0; func_index < c_functions.size(); ++func_index) {
+ const CFunctionInfo* c_signature = c_functions[func_index].signature;
+ CTypeInfo arg_type = c_signature->ArgumentInfo(
+ resolution_result.distinguishable_arg_index);
+
+ Label<> next(this);
+
+ // Check that the value is a HeapObject.
+ GOTO_IF(__ ObjectIsSmi(argument), handle_error);
+
+ switch (arg_type.GetSequenceType()) {
+ case CTypeInfo::SequenceType::kIsSequence: {
+ CHECK_EQ(arg_type.GetType(), CTypeInfo::Type::kVoid);
+
+ // Check that the value is a JSArray.
+ V<Map> map = __ LoadMapField(argument);
+ V<Word32> instance_type = __ LoadInstanceTypeField(map);
+ GOTO_IF_NOT(__ Word32Equal(instance_type, JS_ARRAY_TYPE), next);
+
+ OpIndex argument_to_pass = __ AdaptLocalArgument(argument);
+ OpIndex target_address = __ ExternalConstant(
+ ExternalReference::Create(c_functions[func_index].address,
+ ExternalReference::FAST_C_CALL));
+ GOTO(done, target_address, argument_to_pass);
+ break;
+ }
+ START_ALLOW_USE_DEPRECATED()
+ case CTypeInfo::SequenceType::kIsTypedArray:
+ UNREACHABLE();
+ END_ALLOW_USE_DEPRECATED()
+
+ default: {
+ UNREACHABLE();
+ }
+ }
+
+ BIND(next);
+ }
+ GOTO(handle_error);
+
+ BIND(done, callee, arg);
+ return {callee, arg};
+ }
+
template <typename T>
V<T> Checked(V<Tuple<T, Word32>> result, Label<>& otherwise) {
V<Word32> result_state = __ template Projection<1>(result);
diff --git a/src/compiler/turboshaft/graph-builder.cc b/src/compiler/turboshaft/graph-builder.cc
index 806cb4533cc035ee4c95597ba2ab6bbfb6ac81f1..2b597b8798ed235afcd833efbc7a308b2f1db288 100644
--- a/src/compiler/turboshaft/graph-builder.cc
+++ b/src/compiler/turboshaft/graph-builder.cc
@@ -1974,7 +1974,7 @@ OpIndex GraphBuilder::Process(
DCHECK(dominating_frame_state.valid());
FastApiCallNode n(node);
const auto& params = n.Parameters();
- FastApiCallFunction c_function = params.c_function();
+ const FastApiCallFunctionVector& c_functions = params.c_functions();
const int c_arg_count = params.argument_count();
base::SmallVector<OpIndex, 16> slow_call_arguments;
@@ -2141,6 +2141,40 @@ OpIndex GraphBuilder::Process(
Block* catch_block = Map(block->SuccessorAt(1));
catch_scope.emplace(assembler, catch_block);
}
+ // Overload resolution.
+ auto resolution_result =
+ fast_api_call::OverloadsResolutionResult::Invalid();
+ if (c_functions.size() != 1) {
+ DCHECK_EQ(c_functions.size(), 2);
+ resolution_result =
+ fast_api_call::ResolveOverloads(c_functions, c_arg_count);
+ if (!resolution_result.is_valid()) {
+ V<Object> fallback_result = V<Object>::Cast(__ Call(
+ slow_call_callee, dominating_frame_state,
+ base::VectorOf(slow_call_arguments),
+ TSCallDescriptor::Create(params.descriptor(), CanThrow::kYes,
+ LazyDeoptOnThrow::kNo,
+ __ graph_zone())));
+ Variable result =
+ __ NewVariable(RegisterRepresentation::FromCTypeInfo(
+ c_functions[0].signature->ReturnInfo(),
+ c_functions[0].signature->GetInt64Representation()));
+ convert_fallback_return(
+ result, c_functions[0].signature->GetInt64Representation(),
+ c_functions[0].signature->ReturnInfo().GetType(),
+ fallback_result);
+ V<Any> value = __ GetVariable(result);
+ if (is_final_control) {
+ // The `__ Call()` before has already created exceptional
+ // control flow and bound a new block for the success case. So we
+ // can just `Goto` the block that Turbofan designated as the
+ // `IfSuccess` successor.
+ __ Goto(Map(block->SuccessorAt(0)));
+ }
+ return value;
+ }
+ }
+
// Prepare FastCallApiOp parameters.
base::SmallVector<OpIndex, 16> arguments;
for (int i = 0; i < c_arg_count; ++i) {
@@ -2150,8 +2184,8 @@ OpIndex GraphBuilder::Process(
V<Context> context = Map(n.Context());
- const FastApiCallParameters* parameters =
- FastApiCallParameters::Create(c_function, __ graph_zone());
+ const FastApiCallParameters* parameters = FastApiCallParameters::Create(
+ c_functions, resolution_result, __ graph_zone());
// There is one return in addition to the return value of the C function,
// which indicates if a fast API call actually happened.
diff --git a/src/compiler/turboshaft/operations.h b/src/compiler/turboshaft/operations.h
index 1b36c56008d4b3c5af0d15f2c6336d260fab56c8..f50f1fd3ba0d0ac1deae2510a483714172560b56 100644
--- a/src/compiler/turboshaft/operations.h
+++ b/src/compiler/turboshaft/operations.h
@@ -6318,16 +6318,24 @@ struct Float64SameValueOp : FixedArityOperationT<2, Float64SameValueOp> {
};
struct FastApiCallParameters : public NON_EXPORTED_BASE(ZoneObject) {
- FastApiCallFunction c_function;
+ const FastApiCallFunctionVector c_functions;
+ fast_api_call::OverloadsResolutionResult resolution_result;
- const CFunctionInfo* c_signature() const { return c_function.signature; }
+ const CFunctionInfo* c_signature() const { return c_functions[0].signature; }
- explicit FastApiCallParameters(FastApiCallFunction c_function)
- : c_function(c_function) {}
+ FastApiCallParameters(
+ const FastApiCallFunctionVector& c_functions,
+ const fast_api_call::OverloadsResolutionResult& resolution_result)
+ : c_functions(c_functions), resolution_result(resolution_result) {
+ DCHECK_LT(0, c_functions.size());
+ }
- static const FastApiCallParameters* Create(FastApiCallFunction c_function,
- Zone* graph_zone) {
- return graph_zone->New<FastApiCallParameters>(c_function);
+ static const FastApiCallParameters* Create(
+ const FastApiCallFunctionVector& c_functions,
+ const fast_api_call::OverloadsResolutionResult& resolution_result,
+ Zone* graph_zone) {
+ return graph_zone->New<FastApiCallParameters>(std::move(c_functions),
+ resolution_result);
}
};
diff --git a/src/compiler/wasm-compiler.cc b/src/compiler/wasm-compiler.cc
index b6ded4cd3e2a29af8589862ac31c97fdd0da0c71..14c3378470a34ef8bdda4a4df8211e5a6b8726f7 100644
--- a/src/compiler/wasm-compiler.cc
+++ b/src/compiler/wasm-compiler.cc
@@ -8351,13 +8351,19 @@ class WasmWrapperGraphBuilder : public WasmGraphBuilder {
wasm::ObjectAccess::ToTagged(
FunctionTemplateInfo::kCallbackDataOffset));
- FastApiCallFunction c_function{c_address, c_signature};
+ FastApiCallFunctionVector fast_api_call_function_vector(mcgraph()->zone());
+ fast_api_call_function_vector.push_back({c_address, c_signature});
Node* call = fast_api_call::BuildFastApiCall(
- target->GetIsolate(), graph(), gasm_.get(), c_function,
- api_data_argument,
+ target->GetIsolate(), graph(), gasm_.get(),
+ fast_api_call_function_vector, c_signature, api_data_argument,
// Load and convert parameters passed to C function
- [this, c_signature, receiver_node](int param_index,
- GraphAssemblerLabel<0>*) {
+ [this, c_signature, receiver_node](
+ int param_index,
+ fast_api_call::OverloadsResolutionResult& overloads,
+ GraphAssemblerLabel<0>*) {
+ // Wasm does not currently support overloads
+ CHECK(!overloads.is_valid());
+
if (param_index == 0) {
return gasm_->AdaptLocalArgument(receiver_node);
}
diff --git a/src/d8/d8-test.cc b/src/d8/d8-test.cc
index fd21264ec893850086041c3d7392151a6add2b27..1bc455ed18920588d641cdf9f3a54a5f8f528484 100644
--- a/src/d8/d8-test.cc
+++ b/src/d8/d8-test.cc
@@ -443,6 +443,20 @@ class FastCApiObject {
}
}
+ static int32_t AddAllIntInvalidCallback(Local<Object> receiver,
+ int32_t arg_i32,
+ FastApiCallbackOptions& options) {
+ // This should never be called
+ UNREACHABLE();
+ }
+
+ static int32_t AddAllIntInvalidOverloadCallback(
+ Local<Object> receiver, Local<Object> seq_arg,
+ FastApiCallbackOptions& options) {
+ // This should never be called
+ UNREACHABLE();
+ }
+
#ifdef V8_USE_SIMULATOR_WITH_GENERIC_C_CALLS
static AnyCType Add32BitIntFastCallbackPatch(AnyCType receiver,
AnyCType arg_i32,
@@ -1551,6 +1565,22 @@ Local<FunctionTemplate> Shell::CreateTestFastCApiTemplate(Isolate* isolate) {
signature, 1, ConstructorBehavior::kThrow,
SideEffectType::kHasSideEffect, {add_all_overloads, 2}));
+ CFunction add_all_int_invalid_func =
+ CFunction::Make(FastCApiObject::AddAllIntInvalidCallback);
+ CFunction add_all_int_invalid_overload =
+ CFunction::Make(FastCApiObject::AddAllIntInvalidOverloadCallback);
+
+ const CFunction add_all_invalid_overloads[] = {
+ add_all_int_invalid_func,
+ add_all_int_invalid_overload,
+ };
+ api_obj_ctor->PrototypeTemplate()->Set(
+ isolate, "add_all_invalid_overload",
+ FunctionTemplate::NewWithCFunctionOverloads(
+ isolate, FastCApiObject::AddAllSequenceSlowCallback, Local<Value>(),
+ signature, 1, ConstructorBehavior::kThrow,
+ SideEffectType::kHasSideEffect, {add_all_invalid_overloads, 2}));
+
CFunction add_all_32bit_int_8args_c_func = CFunction::Make(
FastCApiObject::AddAll32BitIntFastCallback_8Args V8_IF_USE_SIMULATOR(
FastCApiObject::AddAll32BitIntFastCallback_8ArgsPatch));
diff --git a/test/mjsunit/compiler/fast-api-sequences.js b/test/mjsunit/compiler/fast-api-sequences.js
index 6a982bbbfe13ae792a3d3a1d3376f71b6b00d38a..4318f60fc70f0a2684c6f233861e513063f8e542 100644
--- a/test/mjsunit/compiler/fast-api-sequences.js
+++ b/test/mjsunit/compiler/fast-api-sequences.js
@@ -81,6 +81,30 @@ for (let i = 0; i < 100; i++) {
ExpectFastCall(overloaded_test, 62);
})();
+// Test function with invalid overloads.
+(function () {
+ function overloaded_test() {
+ return fast_c_api.add_all_invalid_overload(
+ [26, -6, 42]);
+ }
+
+ %PrepareFunctionForOptimization(overloaded_test);
+ result = overloaded_test();
+ assertEquals(62, result);
+
+ fast_c_api.reset_counts();
+ %OptimizeFunctionOnNextCall(overloaded_test);
+ result = overloaded_test();
+ assertEquals(62, result);
+ // Here we deopt because with this invalid overload:
+ // - add_all_int_invalid_func(Receiver, Bool, Int32, Options)
+ // - add_all_seq_c_func(Receiver, Bool, JSArray, Options)
+ // we expect that a number will be passed as 3rd argument
+ // (SimplifiedLowering takes the type from the first overloaded function).
+ assertUnoptimized(overloaded_test);
+ assertEquals(0, fast_c_api.fast_call_count());
+})();
+
// ----------- Test different TypedArray functions. -----------
// ----------- add_all_<TYPE>_typed_array -----------
// `add_all_<TYPE>_typed_array` have the following signature:
diff --git a/test/mjsunit/regress/regress-335548148.js b/test/mjsunit/regress/regress-335548148.js
new file mode 100644
index 0000000000000000000000000000000000000000..4725c48990767fc2a469a5ab3c04ba96e11bf54c
--- /dev/null
+++ b/test/mjsunit/regress/regress-335548148.js
@@ -0,0 +1,29 @@
+// Copyright 2024 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --turbo-fast-api-calls --expose-fast-api --allow-natives-syntax --turbofan
+// --always-turbofan is disabled because we rely on particular feedback for
+// optimizing to the fastest path.
+// Flags: --no-always-turbofan
+// The test relies on optimizing/deoptimizing at predictable moments, so
+// it's not suitable for deoptimization fuzzing.
+// Flags: --deopt-every-n-times=0
+// Flags: --fast-api-allow-float-in-sim
+
+const __v_0 = new d8.test.FastCAPI();
+
+function __f_0(__v_4, __v_5) {
+ try {
+ // Call the API function with an invalid parameter. Because of the invalid
+ // parameter the overload resolution of the fast API cannot figure out
+ // which function should be called, and therefore emits code for a normal
+ // API call.
+ __v_0.add_all_invalid_overload(__v_5, Object.prototype);
+ } catch (e) {}
+}
+
+%PrepareFunctionForOptimization(__f_0);
+__f_0(Number.MIN_VALUE, Number.MIN_VALUE);
+%OptimizeFunctionOnNextCall(__f_0);
+__f_0(Number.MIN_VALUE, Number.MIN_VALUE);

Просмотреть файл

@ -96,26 +96,6 @@ void ElectronCrashReporterClient::SetCrashReporterClientIdFromGUID(
const std::string& client_guid) { const std::string& client_guid) {
crash_keys::SetMetricsClientIdFromGUID(client_guid); crash_keys::SetMetricsClientIdFromGUID(client_guid);
} }
void ElectronCrashReporterClient::GetProductNameAndVersion(
const char** product_name,
const char** version) {
DCHECK(product_name);
DCHECK(version);
*product_name = ELECTRON_PRODUCT_NAME;
*version = ELECTRON_VERSION_STRING;
}
void ElectronCrashReporterClient::GetProductNameAndVersion(
std::string* product_name,
std::string* version,
std::string* channel) {
const char* c_product_name;
const char* c_version;
GetProductNameAndVersion(&c_product_name, &c_version);
*product_name = c_product_name;
*version = c_version;
*channel = "";
}
base::FilePath ElectronCrashReporterClient::GetReporterLogFilename() { base::FilePath ElectronCrashReporterClient::GetReporterLogFilename() {
return base::FilePath(CrashUploadList::kReporterLogFilename); return base::FilePath(CrashUploadList::kReporterLogFilename);
@ -202,6 +182,11 @@ std::string ElectronCrashReporterClient::GetUploadUrl() {
return upload_url_; return upload_url_;
} }
void ElectronCrashReporterClient::GetProductInfo(ProductInfo* product_info) {
product_info->product_name = ELECTRON_PRODUCT_NAME;
product_info->version = ELECTRON_VERSION_STRING;
}
bool ElectronCrashReporterClient::EnableBreakpadForProcess( bool ElectronCrashReporterClient::EnableBreakpadForProcess(
const std::string& process_type) { const std::string& process_type) {
return process_type == switches::kRendererProcess || return process_type == switches::kRendererProcess ||

Просмотреть файл

@ -33,11 +33,6 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
#if BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_LINUX)
void SetCrashReporterClientIdFromGUID( void SetCrashReporterClientIdFromGUID(
const std::string& client_guid) override; const std::string& client_guid) override;
void GetProductNameAndVersion(const char** product_name,
const char** version) override;
void GetProductNameAndVersion(std::string* product_name,
std::string* version,
std::string* channel) override;
base::FilePath GetReporterLogFilename() override; base::FilePath GetReporterLogFilename() override;
#endif #endif
@ -73,6 +68,7 @@ class ElectronCrashReporterClient : public crash_reporter::CrashReporterClient {
bool ShouldMonitorCrashHandlerExpensively() override; bool ShouldMonitorCrashHandlerExpensively() override;
#endif #endif
void GetProductInfo(ProductInfo* product_info) override;
bool EnableBreakpadForProcess(const std::string& process_type) override; bool EnableBreakpadForProcess(const std::string& process_type) override;
std::string GetUploadUrl() override; std::string GetUploadUrl() override;

Просмотреть файл

@ -1368,6 +1368,10 @@ content::WebContents* WebContents::GetWebContentsForExclusiveAccess() {
return web_contents(); return web_contents();
} }
bool WebContents::CanUserEnterFullscreen() const {
return true;
}
bool WebContents::CanUserExitFullscreen() const { bool WebContents::CanUserExitFullscreen() const {
return true; return true;
} }

Просмотреть файл

@ -731,6 +731,7 @@ class WebContents final : public ExclusiveAccessContext,
ExclusiveAccessBubbleHideCallback bubble_first_hide_callback) override {} ExclusiveAccessBubbleHideCallback bubble_first_hide_callback) override {}
void OnExclusiveAccessUserInput() override {} void OnExclusiveAccessUserInput() override {}
content::WebContents* GetWebContentsForExclusiveAccess() override; content::WebContents* GetWebContentsForExclusiveAccess() override;
bool CanUserEnterFullscreen() const override;
bool CanUserExitFullscreen() const override; bool CanUserExitFullscreen() const override;
bool IsExclusiveAccessBubbleDisplayed() const override; bool IsExclusiveAccessBubbleDisplayed() const override;

Просмотреть файл

@ -114,20 +114,6 @@ ShutdownDetector::ShutdownDetector(
CHECK(task_runner_); CHECK(task_runner_);
} }
// These functions are used to help us diagnose crash dumps that happen
// during the shutdown process.
NOINLINE void ShutdownFDReadError() {
// Ensure function isn't optimized away.
asm("");
sleep(UINT_MAX);
}
NOINLINE void ShutdownFDClosedError() {
// Ensure function isn't optimized away.
asm("");
sleep(UINT_MAX);
}
NOINLINE void ExitPosted() { NOINLINE void ExitPosted() {
// Ensure function isn't optimized away. // Ensure function isn't optimized away.
asm(""); asm("");
@ -142,14 +128,10 @@ template <typename T>
while (!bytes.empty()) { while (!bytes.empty()) {
const ssize_t rv = HANDLE_EINTR(read(fd, bytes.data(), bytes.size())); const ssize_t rv = HANDLE_EINTR(read(fd, bytes.data(), bytes.size()));
if (rv < 0) { if (rv < 0) {
NOTREACHED_IN_MIGRATION() << "Unexpected error: " << strerror(errno); NOTREACHED() << "Unexpected error: " << strerror(errno);
ShutdownFDReadError();
return {};
} }
if (rv == 0) { if (rv == 0) {
NOTREACHED_IN_MIGRATION() << "Unexpected closure of shutdown pipe."; NOTREACHED() << "Unexpected closure of shutdown pipe.";
ShutdownFDClosedError();
return {};
} }
const size_t n_bytes_read = static_cast<size_t>(rv); const size_t n_bytes_read = static_cast<size_t>(rv);
bytes = bytes.subspan(n_bytes_read); bytes = bytes.subspan(n_bytes_read);

Просмотреть файл

@ -75,9 +75,10 @@ void ElectronPDFDocumentHelperClient::SetPluginCanSave(
} }
#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
void ElectronPDFDocumentHelperClient::OnSearchifyStateChange( void ElectronPDFDocumentHelperClient::OnSearchifyStarted(
bool busy,
content::WebContents* contents) { content::WebContents* contents) {
// TODO(crbug.com/360803943): Show promo and manage progress bubble. // TODO(crbug.com/360803943): Add test.
// Show the promo only when ScreenAI component is available and OCR can be
// done.
} }
#endif #endif

Просмотреть файл

@ -25,8 +25,7 @@ class ElectronPDFDocumentHelperClient : public pdf::PDFDocumentHelperClient {
void SetPluginCanSave(content::RenderFrameHost* render_frame_host, void SetPluginCanSave(content::RenderFrameHost* render_frame_host,
bool can_save) override; bool can_save) override;
#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE) #if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
void OnSearchifyStateChange(bool busy, void OnSearchifyStarted(content::WebContents* contents) override;
content::WebContents* contents) override;
#endif #endif
}; };

Просмотреть файл

@ -27,13 +27,6 @@ void ElectronExtensionHostDelegate::OnExtensionHostCreated(
electron::api::WebContents::FromOrCreate(isolate, web_contents); electron::api::WebContents::FromOrCreate(isolate, web_contents);
} }
content::JavaScriptDialogManager*
ElectronExtensionHostDelegate::GetJavaScriptDialogManager() {
// TODO(jamescook): Create a JavaScriptDialogManager or reuse the one from
// content_shell.
NOTREACHED();
}
void ElectronExtensionHostDelegate::CreateTab( void ElectronExtensionHostDelegate::CreateTab(
std::unique_ptr<content::WebContents> web_contents, std::unique_ptr<content::WebContents> web_contents,
const std::string& extension_id, const std::string& extension_id,

Просмотреть файл

@ -26,7 +26,6 @@ class ElectronExtensionHostDelegate : public ExtensionHostDelegate {
// ExtensionHostDelegate implementation. // ExtensionHostDelegate implementation.
void OnExtensionHostCreated(content::WebContents* web_contents) override; void OnExtensionHostCreated(content::WebContents* web_contents) override;
void OnMainFrameCreatedForBackgroundPage(ExtensionHost* host) override {} void OnMainFrameCreatedForBackgroundPage(ExtensionHost* host) override {}
content::JavaScriptDialogManager* GetJavaScriptDialogManager() override;
void CreateTab(std::unique_ptr<content::WebContents> web_contents, void CreateTab(std::unique_ptr<content::WebContents> web_contents,
const std::string& extension_id, const std::string& extension_id,
WindowOpenDisposition disposition, WindowOpenDisposition disposition,

Просмотреть файл

@ -389,11 +389,6 @@ extensions::KioskDelegate* ElectronExtensionsBrowserClient::GetKioskDelegate() {
return kiosk_delegate_.get(); return kiosk_delegate_.get();
} }
bool ElectronExtensionsBrowserClient::IsLockScreenContext(
content::BrowserContext* context) {
return false;
}
std::string ElectronExtensionsBrowserClient::GetApplicationLocale() { std::string ElectronExtensionsBrowserClient::GetApplicationLocale() {
return ElectronBrowserClient::Get()->GetApplicationLocale(); return ElectronBrowserClient::Get()->GetApplicationLocale();
} }

Просмотреть файл

@ -139,7 +139,6 @@ class ElectronExtensionsBrowserClient
extensions::ExtensionWebContentsObserver* GetExtensionWebContentsObserver( extensions::ExtensionWebContentsObserver* GetExtensionWebContentsObserver(
content::WebContents* web_contents) override; content::WebContents* web_contents) override;
extensions::KioskDelegate* GetKioskDelegate() override; extensions::KioskDelegate* GetKioskDelegate() override;
bool IsLockScreenContext(content::BrowserContext* context) override;
std::string GetApplicationLocale() override; std::string GetApplicationLocale() override;
std::string GetUserAgent() const override; std::string GetUserAgent() const override;
void RegisterBrowserInterfaceBindersForFrame( void RegisterBrowserInterfaceBindersForFrame(

Просмотреть файл

@ -122,12 +122,6 @@ void ElectronDesktopWindowTreeHostLinux::UpdateWindowState(
break; break;
case ui::PlatformWindowState::kUnknown: case ui::PlatformWindowState::kUnknown:
case ui::PlatformWindowState::kNormal: case ui::PlatformWindowState::kNormal:
case ui::PlatformWindowState::kSnappedPrimary:
case ui::PlatformWindowState::kSnappedSecondary:
case ui::PlatformWindowState::kFloated:
case ui::PlatformWindowState::kPip:
case ui::PlatformWindowState::kPinnedFullscreen:
case ui::PlatformWindowState::kTrustedPinnedFullscreen:
break; break;
} }
switch (new_state) { switch (new_state) {
@ -142,12 +136,6 @@ void ElectronDesktopWindowTreeHostLinux::UpdateWindowState(
break; break;
case ui::PlatformWindowState::kUnknown: case ui::PlatformWindowState::kUnknown:
case ui::PlatformWindowState::kNormal: case ui::PlatformWindowState::kNormal:
case ui::PlatformWindowState::kSnappedPrimary:
case ui::PlatformWindowState::kSnappedSecondary:
case ui::PlatformWindowState::kFloated:
case ui::PlatformWindowState::kPip:
case ui::PlatformWindowState::kPinnedFullscreen:
case ui::PlatformWindowState::kTrustedPinnedFullscreen:
break; break;
} }
window_state_ = new_state; window_state_ = new_state;

Просмотреть файл

@ -161,8 +161,7 @@ class BufferDataSource : public mojo::DataPipeProducer::DataSource {
} }
result.bytes_read = copyable_size; result.bytes_read = copyable_size;
} else { } else {
NOTREACHED_IN_MIGRATION(); NOTREACHED();
result.result = MOJO_RESULT_OUT_OF_RANGE;
} }
return result; return result;
} }