mirror of
https://github.com/electron/electron.git
synced 2026-01-09 15:38:08 -05:00
chore: bump chromium to 143.0.7469.0 (main) (#48548)
* chore: bump chromium in DEPS to 143.0.7469.0 * 7021651: [//gpu] Fold handle creation into D3DImageBackingFactory Refs https://chromium-review.googlesource.com/c/chromium/src/+/7021651 * 7013047: Fix various C++23 build errors in //chrome Refs https://chromium-review.googlesource.com/c/chromium/src/+/7013047 * 7010850: [//ui] Port screen_mac.mm's calls to DisplayColorSpaces Refs https://chromium-review.googlesource.com/c/chromium/src/+/7010850 * 7007933: Remove superfluous mojom includes in //content/public headers Refs https://chromium-review.googlesource.com/c/chromium/src/+/7007933 * 7023196: Trim os_crypt/sync visibility list Refs https://chromium-review.googlesource.com/c/chromium/src/+/7023196 * 7008912: Remove GURL::*_piece() method Refs https://chromium-review.googlesource.com/c/chromium/src/+/7008912 * 7003989: Add wrapper struct for CopyFromSurface output Refs https://chromium-review.googlesource.com/c/chromium/src/+/7003989 * 7017889: [MemoryPressureListener] Remove type aliases Refs https://chromium-review.googlesource.com/c/chromium/src/+/7017889 * 7027780: Delete viz::ResourceSizes Refs https://chromium-review.googlesource.com/c/chromium/src/+/7027780 Refs https://chromium-review.googlesource.com/c/chromium/src/+/6989572 * 6495189: [api] Delete old String::Write* APIs Refs https://chromium-review.googlesource.com/c/v8/v8/+/6495189 * chore: update patches * chore: run script/gen-libc++-filenames.js --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
This commit is contained in:
committed by
GitHub
parent
676406c9e6
commit
471a14432f
2
DEPS
2
DEPS
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
|||||||
|
|
||||||
vars = {
|
vars = {
|
||||||
'chromium_version':
|
'chromium_version':
|
||||||
'143.0.7451.0',
|
'143.0.7469.0',
|
||||||
'node_version':
|
'node_version':
|
||||||
'v22.20.0',
|
'v22.20.0',
|
||||||
'nan_version':
|
'nan_version':
|
||||||
|
|||||||
@@ -1426,6 +1426,7 @@ libcxx_headers = [
|
|||||||
"//third_party/libc++/src/include/__type_traits/is_floating_point.h",
|
"//third_party/libc++/src/include/__type_traits/is_floating_point.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/is_function.h",
|
"//third_party/libc++/src/include/__type_traits/is_function.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/is_fundamental.h",
|
"//third_party/libc++/src/include/__type_traits/is_fundamental.h",
|
||||||
|
"//third_party/libc++/src/include/__type_traits/is_generic_transparent_comparator.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/is_implicit_lifetime.h",
|
"//third_party/libc++/src/include/__type_traits/is_implicit_lifetime.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/is_implicitly_default_constructible.h",
|
"//third_party/libc++/src/include/__type_traits/is_implicitly_default_constructible.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/is_integral.h",
|
"//third_party/libc++/src/include/__type_traits/is_integral.h",
|
||||||
@@ -1468,6 +1469,7 @@ libcxx_headers = [
|
|||||||
"//third_party/libc++/src/include/__type_traits/make_32_64_or_128_bit.h",
|
"//third_party/libc++/src/include/__type_traits/make_32_64_or_128_bit.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h",
|
"//third_party/libc++/src/include/__type_traits/make_const_lvalue_ref.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/make_signed.h",
|
"//third_party/libc++/src/include/__type_traits/make_signed.h",
|
||||||
|
"//third_party/libc++/src/include/__type_traits/make_transparent.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/make_unsigned.h",
|
"//third_party/libc++/src/include/__type_traits/make_unsigned.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/maybe_const.h",
|
"//third_party/libc++/src/include/__type_traits/maybe_const.h",
|
||||||
"//third_party/libc++/src/include/__type_traits/nat.h",
|
"//third_party/libc++/src/include/__type_traits/nat.h",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ index 345c94f6e26e88aac77b9feb92bd8d6665234981..8ef2ab8987da63f321d1dbb79f2eded8
|
|||||||
// hash function when given a signature OID. To avoid unintended lax parsing
|
// hash function when given a signature OID. To avoid unintended lax parsing
|
||||||
// of hash OIDs, this is no longer supported for lookup by OID or NID.
|
// of hash OIDs, this is no longer supported for lookup by OID or NID.
|
||||||
diff --git a/crypto/fipsmodule/digest/digests.cc.inc b/crypto/fipsmodule/digest/digests.cc.inc
|
diff --git a/crypto/fipsmodule/digest/digests.cc.inc b/crypto/fipsmodule/digest/digests.cc.inc
|
||||||
index 99e3a66c0a47818ccb039f8ccc41ea50e529a16d..dc50fd05bed6cb40bffe1c0f6f3019d25d351ba2 100644
|
index 3a3bfd3f0560fcd7b5fdbdf4cc29a56e0346b90a..a7335ca03b5b3b918c4321d890b45649679d772b 100644
|
||||||
--- a/crypto/fipsmodule/digest/digests.cc.inc
|
--- a/crypto/fipsmodule/digest/digests.cc.inc
|
||||||
+++ b/crypto/fipsmodule/digest/digests.cc.inc
|
+++ b/crypto/fipsmodule/digest/digests.cc.inc
|
||||||
@@ -18,6 +18,7 @@
|
@@ -18,6 +18,7 @@
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ DidCreateScriptContext is called, not all JS APIs are available in the
|
|||||||
context, which can cause some preload scripts to trip.
|
context, which can cause some preload scripts to trip.
|
||||||
|
|
||||||
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
||||||
index 9728f3c38c27f93188d1aa9026552a5cebbdcb60..0cba9fb59a62f00fb726850ba9901c2887cc8431 100644
|
index 5196f155cdc641b66c4faa77d8b00097145a1290..bbfac47a74f989482343c222b78f187b70297e4e 100644
|
||||||
--- a/content/public/renderer/render_frame_observer.h
|
--- a/content/public/renderer/render_frame_observer.h
|
||||||
+++ b/content/public/renderer/render_frame_observer.h
|
+++ b/content/public/renderer/render_frame_observer.h
|
||||||
@@ -141,6 +141,8 @@ class CONTENT_EXPORT RenderFrameObserver {
|
@@ -141,6 +141,8 @@ class CONTENT_EXPORT RenderFrameObserver {
|
||||||
@@ -23,10 +23,10 @@ index 9728f3c38c27f93188d1aa9026552a5cebbdcb60..0cba9fb59a62f00fb726850ba9901c28
|
|||||||
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 dcfe69d2c719db9e9b1f612275ea2e95f5e632b0..230697a116c26b137c05e234824aded3ae5295af 100644
|
index 2fca6bc42e218050ba325e07f771a3b7e2c6f322..ba670e2841e29f4fc0fd7732bcc89532e45ecb1c 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
|
||||||
@@ -4701,6 +4701,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
@@ -4732,6 +4732,12 @@ void RenderFrameImpl::DidCreateScriptContext(v8::Local<v8::Context> context,
|
||||||
observer.DidCreateScriptContext(context, world_id);
|
observer.DidCreateScriptContext(context, world_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ index dcfe69d2c719db9e9b1f612275ea2e95f5e632b0..230697a116c26b137c05e234824aded3
|
|||||||
int world_id) {
|
int world_id) {
|
||||||
for (auto& observer : observers_)
|
for (auto& observer : observers_)
|
||||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||||
index a87e628da2e1f906352ad1559a26830ed361ecb8..611283f006f96af3c40cbf947505b02ad8ee3438 100644
|
index 1b91ce91b859144680e23b2d3f9bdf514b8bb628..fd13b40fd61067a4b0374a12121a96294ea3cb7f 100644
|
||||||
--- a/content/renderer/render_frame_impl.h
|
--- a/content/renderer/render_frame_impl.h
|
||||||
+++ b/content/renderer/render_frame_impl.h
|
+++ b/content/renderer/render_frame_impl.h
|
||||||
@@ -603,6 +603,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
@@ -603,6 +603,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Ensure that licenses for the dependencies introduced by Electron
|
|||||||
are included in `LICENSES.chromium.html`
|
are included in `LICENSES.chromium.html`
|
||||||
|
|
||||||
diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
|
diff --git a/tools/licenses/licenses.py b/tools/licenses/licenses.py
|
||||||
index a8afd4c9a95ad62fa0c8adb6fd53c2783d6eee96..ef8ab7dd5368d79c4bcf1e22fb539029956d4c67 100755
|
index f5bfe41e67b5f9a34db16377528e7fae58f642ab..58d0af6a561a9d309a5a49894786ea382149c034 100755
|
||||||
--- a/tools/licenses/licenses.py
|
--- a/tools/licenses/licenses.py
|
||||||
+++ b/tools/licenses/licenses.py
|
+++ b/tools/licenses/licenses.py
|
||||||
@@ -342,6 +342,31 @@ SPECIAL_CASES = {
|
@@ -342,6 +342,31 @@ SPECIAL_CASES = {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ usage of BrowserList and Browser as we subclass related methods and use our
|
|||||||
WindowList.
|
WindowList.
|
||||||
|
|
||||||
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
index 8f425bd66fac7b36cee201c3e23c126dd14edf07..6216ad30ed15f11501e1d154258862f57941969e 100644
|
index 049ae3881eff6426b37a1ba09cfd8a10a7e9a597..0cdb542da696e9fc85e9bf321182da2967073016 100644
|
||||||
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||||
@@ -48,6 +48,7 @@
|
@@ -48,6 +48,7 @@
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ index 7944fe64e0da112fc670358b75506bb199bb5e4a..0e3c16c6af2a078943e9f39808134ab2
|
|||||||
void SendRendererPreferencesToRenderer(
|
void SendRendererPreferencesToRenderer(
|
||||||
const blink::RendererPreferences& preferences);
|
const blink::RendererPreferences& preferences);
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
index e8a0554c4d84a16fc2122cb3e48199b4f43ecf88..34fca79b7c87b2fd098271fb5a4f83c015eeb2bc 100644
|
index 9e7796a55f58b0bb04eb576f9d7ea3099ce08bdc..bbcf0a84cbb912279b6c698af0371cfee313c96c 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
@@ -578,8 +578,8 @@ void RenderWidgetHostViewAura::ShowImpl(PageVisibilityState page_visibility) {
|
@@ -578,8 +578,8 @@ void RenderWidgetHostViewAura::ShowImpl(PageVisibilityState page_visibility) {
|
||||||
@@ -66,10 +66,10 @@ index e8a0554c4d84a16fc2122cb3e48199b4f43ecf88..34fca79b7c87b2fd098271fb5a4f83c0
|
|||||||
|
|
||||||
void RenderWidgetHostViewAura::EnsurePlatformVisibility(
|
void RenderWidgetHostViewAura::EnsurePlatformVisibility(
|
||||||
diff --git a/content/public/browser/render_view_host.h b/content/public/browser/render_view_host.h
|
diff --git a/content/public/browser/render_view_host.h b/content/public/browser/render_view_host.h
|
||||||
index a599bc306198de0e172134ce4623b32b8fcd72fa..4960c518d49f98b39873d166597bfb4b5619ee02 100644
|
index 782bed0fdc08d57eceb059f398f253fab9233b1b..f1ab5b981ea68af1b11313e67f2c5060f0a640b1 100644
|
||||||
--- a/content/public/browser/render_view_host.h
|
--- a/content/public/browser/render_view_host.h
|
||||||
+++ b/content/public/browser/render_view_host.h
|
+++ b/content/public/browser/render_view_host.h
|
||||||
@@ -74,6 +74,9 @@ class CONTENT_EXPORT RenderViewHost {
|
@@ -73,6 +73,9 @@ class CONTENT_EXPORT RenderViewHost {
|
||||||
virtual void WriteIntoTrace(
|
virtual void WriteIntoTrace(
|
||||||
perfetto::TracedProto<TraceProto> context) const = 0;
|
perfetto::TracedProto<TraceProto> context) const = 0;
|
||||||
|
|
||||||
@@ -116,10 +116,10 @@ index 9c0fe6ad62872f05cfb1179b4b979139008976d2..6aca43e61ef7f1caea74c30e5c3ce449
|
|||||||
// 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 58a676a50707a3c0a16dd47981dedc246c095728..a004db1a30b6138dbeda5da3f4301bca86ec6ad2 100644
|
index f6d49b17d03a6e82965f5fe33ef1ae16051d7454..c610d4d9af1d8e5d2a12e2fc49fba145b17e086f 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
|
||||||
@@ -2513,6 +2513,10 @@ void WebViewImpl::SetPageLifecycleStateInternal(
|
@@ -2514,6 +2514,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);
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ so we can remove this patch once we migrate our code to use
|
|||||||
os_crypt async.
|
os_crypt async.
|
||||||
|
|
||||||
diff --git a/components/os_crypt/sync/BUILD.gn b/components/os_crypt/sync/BUILD.gn
|
diff --git a/components/os_crypt/sync/BUILD.gn b/components/os_crypt/sync/BUILD.gn
|
||||||
index e9fffc2e3f0520a56ff5753a4a1abfc11c795b83..e22733af7b6a5c9269a41cfb5934ae6ce0777869 100644
|
index 43d25c4826c00af26fad9b4ed3c3bf0fee091fd4..bc1c9d9fe49c54cb635b1ea75bd5bc23ba5e4df2 100644
|
||||||
--- a/components/os_crypt/sync/BUILD.gn
|
--- a/components/os_crypt/sync/BUILD.gn
|
||||||
+++ b/components/os_crypt/sync/BUILD.gn
|
+++ b/components/os_crypt/sync/BUILD.gn
|
||||||
@@ -10,6 +10,7 @@ import("//components/os_crypt/sync/features.gni")
|
@@ -10,6 +10,7 @@ import("//components/os_crypt/sync/features.gni")
|
||||||
@@ -19,5 +19,5 @@ index e9fffc2e3f0520a56ff5753a4a1abfc11c795b83..e22733af7b6a5c9269a41cfb5934ae6c
|
|||||||
visibility = [
|
visibility = [
|
||||||
+ "//electron:*",
|
+ "//electron:*",
|
||||||
"//chrome/browser",
|
"//chrome/browser",
|
||||||
"//chrome/browser/prefs:impl",
|
|
||||||
"//chrome/browser/ui",
|
"//chrome/browser/ui",
|
||||||
|
"//chrome/test:test_support",
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ index cdb5b9246087b5678cf6a0f2713f6238dafc13de..7efbe7524c5ddd3785fff0e2d8901f93
|
|||||||
// 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 dc1464afab92e4148d8c61f2098d5172e236651b..e96fca375fc3eb2504dd6f82e5be2c025d23089e 100644
|
index 06053c55838982a72450375bbb62e6978f5acded..ac4623d35dc9d0765fef5aedfc635df14f95ced3 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) {
|
||||||
|
|||||||
@@ -33,10 +33,10 @@ index 9bffa9c8272a81059eb05fa79107bb326029402c..d286e9ab4edf86570418d4b3699c8f2d
|
|||||||
"//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 94eae061ad314f536385f0f05ac345d502f60c7a..d65ac84e049de5da0b3b537defc4aaff52be65be 100644
|
index e86a07e7f1722bb060e016f5644cd5f448ef5c4f..07abe8ca788af04d03ac729ac4b6ffe8216f07b2 100644
|
||||||
--- a/chrome/browser/BUILD.gn
|
--- a/chrome/browser/BUILD.gn
|
||||||
+++ b/chrome/browser/BUILD.gn
|
+++ b/chrome/browser/BUILD.gn
|
||||||
@@ -4800,7 +4800,7 @@ static_library("browser") {
|
@@ -4805,7 +4805,7 @@ static_library("browser") {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,10 +46,10 @@ index 94eae061ad314f536385f0f05ac345d502f60c7a..d65ac84e049de5da0b3b537defc4aaff
|
|||||||
# 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 5dcaa1182c70ecf3f66d962da699005d0667c974..5542c65bd5bf2adba3c0f0a5a5019fea8077ac38 100644
|
index 016f3d150a99ac222bb7e6b9b887ab655d461070..f23bcf4dee15bacf99077bcd6ab9286dbfe6c3c4 100644
|
||||||
--- a/chrome/test/BUILD.gn
|
--- a/chrome/test/BUILD.gn
|
||||||
+++ b/chrome/test/BUILD.gn
|
+++ b/chrome/test/BUILD.gn
|
||||||
@@ -7560,9 +7560,12 @@ test("unit_tests") {
|
@@ -7574,9 +7574,12 @@ test("unit_tests") {
|
||||||
"//chrome/notification_helper",
|
"//chrome/notification_helper",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -63,7 +63,7 @@ index 5dcaa1182c70ecf3f66d962da699005d0667c974..5542c65bd5bf2adba3c0f0a5a5019fea
|
|||||||
"//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",
|
||||||
@@ -8492,6 +8495,10 @@ test("unit_tests") {
|
@@ -8508,6 +8511,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 5dcaa1182c70ecf3f66d962da699005d0667c974..5542c65bd5bf2adba3c0f0a5a5019fea
|
|||||||
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",
|
||||||
@@ -8548,7 +8555,6 @@ test("unit_tests") {
|
@@ -8564,7 +8571,6 @@ test("unit_tests") {
|
||||||
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
|
# TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above?
|
||||||
deps += [
|
deps += [
|
||||||
"../browser/screen_ai:screen_ai_install_state",
|
"../browser/screen_ai:screen_ai_install_state",
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Build libc++ as static library to compile and pass
|
|||||||
nan tests
|
nan tests
|
||||||
|
|
||||||
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
|
||||||
index c0c6cfb94338c6a75010e1b5de4cb6323b5afd12..903a5a0d9f7b7a7f9f4c44ef69e85eb922569365 100644
|
index f1ac049db7df5637c94893009287b53c6127158f..ebf028bdb2934ca2f9f2ab7b7c3e6d3daa544d37 100644
|
||||||
--- a/buildtools/third_party/libc++/BUILD.gn
|
--- a/buildtools/third_party/libc++/BUILD.gn
|
||||||
+++ b/buildtools/third_party/libc++/BUILD.gn
|
+++ b/buildtools/third_party/libc++/BUILD.gn
|
||||||
@@ -481,6 +481,7 @@ target(libcxx_target_type, "libc++") {
|
@@ -481,6 +481,7 @@ target(libcxx_target_type, "libc++") {
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ index 17103061c4752e6fcac07413dbf574e0c6fd6d39..848be71fa6dc81a64b7274b31d461f9d
|
|||||||
/win-cross/
|
/win-cross/
|
||||||
reproxy.cfg
|
reproxy.cfg
|
||||||
diff --git a/buildtools/reclient_cfgs/configure_reclient_cfgs.py b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
diff --git a/buildtools/reclient_cfgs/configure_reclient_cfgs.py b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
||||||
index 128bda296c91eac5f0c2fcfeed0c553deb5514dd..f1e33d36810dba80a42608655beb27c6e197a888 100755
|
index 8779d4609c9eed155c414a1c97d3598906857b22..731ac034f85c8c5ebee6d29a0395f6e828b41ab0 100755
|
||||||
--- a/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
--- a/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
||||||
+++ b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
+++ b/buildtools/reclient_cfgs/configure_reclient_cfgs.py
|
||||||
@@ -344,4 +344,13 @@ def main():
|
@@ -334,4 +334,13 @@ def main():
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -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 d694d115b452e1cf9fd803d2d32e797001fc8181..15e2f327060adeb32e977a8a371604819fe01108 100644
|
index 25aab53f348352ac5712c9419a7b24d39d49ca63..ebe44040a554674058ee5307b7df32f224f09c17 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
|
||||||
@@ -9865,6 +9865,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
@@ -9854,6 +9854,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 d694d115b452e1cf9fd803d2d32e797001fc8181..15e2f327060adeb32e977a8a37160481
|
|||||||
&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 d7f46a132a23473615ac10184bffa00df6853758..655b289b783a8c35fb85fed715501b25a23acc85 100644
|
index b484a953a22cf32e873ee27b2c1c342e99bbeea2..32d16bae9a25d06f410f51d3cc25c27ea83c6821 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
|
||||||
@@ -5323,6 +5323,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5338,6 +5338,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
create_params.initially_hidden = renderer_started_hidden;
|
create_params.initially_hidden = renderer_started_hidden;
|
||||||
create_params.initial_popup_url = params.target_url;
|
create_params.initial_popup_url = params.target_url;
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ index d7f46a132a23473615ac10184bffa00df6853758..655b289b783a8c35fb85fed715501b25
|
|||||||
// Even though all codepaths leading here are in response to a renderer
|
// Even though all codepaths leading here are in response to a renderer
|
||||||
// trying to open a new window, if the new window ends up in a different
|
// trying to open a new window, if the new window ends up in a different
|
||||||
// browsing instance, then the RenderViewHost, RenderWidgetHost,
|
// browsing instance, then the RenderViewHost, RenderWidgetHost,
|
||||||
@@ -5377,6 +5381,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5392,6 +5396,12 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
// Sets the newly created WebContents WindowOpenDisposition.
|
// Sets the newly created WebContents WindowOpenDisposition.
|
||||||
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
||||||
|
|
||||||
@@ -48,7 +48,7 @@ index d7f46a132a23473615ac10184bffa00df6853758..655b289b783a8c35fb85fed715501b25
|
|||||||
// 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
|
||||||
@@ -5418,12 +5428,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5433,12 +5443,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
AddWebContentsDestructionObserver(new_contents_impl);
|
AddWebContentsDestructionObserver(new_contents_impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,10 +170,10 @@ index caf97e0c94edfa1106b465e793190c82f646ebdb..38b61d04446736bcc44a412f633c01ed
|
|||||||
// 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 9d56818917c764d0c78861e3ce58e4507640bf97..dcfe69d2c719db9e9b1f612275ea2e95f5e632b0 100644
|
index 4971952ae4ebe3518a4838752fa37ee3de54223e..2fca6bc42e218050ba325e07f771a3b7e2c6f322 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
|
||||||
@@ -6800,6 +6800,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
@@ -6831,6 +6831,10 @@ WebView* RenderFrameImpl::CreateNewWindow(
|
||||||
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
request.HasUserGesture(), GetWebFrame()->IsAdFrame(),
|
||||||
GetWebFrame()->IsAdScriptInStack());
|
GetWebFrame()->IsAdScriptInStack());
|
||||||
|
|
||||||
@@ -232,10 +232,10 @@ index 82e9d3dfb5f7da76d89fe15ae61d379fa46e177d..fd035512099a54dff6cc951a2226c23a
|
|||||||
|
|
||||||
} // namespace blink
|
} // namespace blink
|
||||||
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
diff --git a/third_party/blink/renderer/core/frame/local_dom_window.cc b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||||
index 0dcd971d7176e45ae24112f015e69868fc2cd247..2f757adca556d6a038cba0c1f13265eaf1a41ec4 100644
|
index a8f768190d649f528ba34a0203b80f8b9c0f4cee..997a22ed7a1f7870058b1da9c6eda2c319ff1e9d 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||||
@@ -2363,6 +2363,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
@@ -2353,6 +2353,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||||
WebWindowFeatures window_features =
|
WebWindowFeatures window_features =
|
||||||
GetWindowFeaturesFromString(features, entered_window);
|
GetWindowFeaturesFromString(features, entered_window);
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ electron objects that extend gin::Wrappable and gets
|
|||||||
allocated on the cpp heap
|
allocated on the cpp heap
|
||||||
|
|
||||||
diff --git a/gin/public/wrappable_pointer_tags.h b/gin/public/wrappable_pointer_tags.h
|
diff --git a/gin/public/wrappable_pointer_tags.h b/gin/public/wrappable_pointer_tags.h
|
||||||
index a507d1d837ab3ec2b2d3ae7978d9d410ab2ec2d1..6918722e9a3bc0fc885c6ed87ed12dcc07d2cc72 100644
|
index 82fc9e311ec84b19a15818a501b3a29329eff004..1199be7426139cdc77cee2e620eb8427092c74dd 100644
|
||||||
--- a/gin/public/wrappable_pointer_tags.h
|
--- a/gin/public/wrappable_pointer_tags.h
|
||||||
+++ b/gin/public/wrappable_pointer_tags.h
|
+++ b/gin/public/wrappable_pointer_tags.h
|
||||||
@@ -72,7 +72,13 @@ enum WrappablePointerTag : uint16_t {
|
@@ -74,7 +74,13 @@ enum WrappablePointerTag : uint16_t {
|
||||||
kTextInputControllerBindings, // content::TextInputControllerBindings
|
kTextInputControllerBindings, // content::TextInputControllerBindings
|
||||||
kWebAXObjectProxy, // content::WebAXObjectProxy
|
kWebAXObjectProxy, // content::WebAXObjectProxy
|
||||||
kWrappedExceptionHandler, // extensions::WrappedExceptionHandler
|
kWrappedExceptionHandler, // extensions::WrappedExceptionHandler
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ index 79d59c3f4d3d2d5ff39bd65ded489183247656a8..20b49742578ccf363738ee032228f30a
|
|||||||
int64_t service_worker_version_id,
|
int64_t service_worker_version_id,
|
||||||
const GURL& service_worker_scope,
|
const GURL& service_worker_scope,
|
||||||
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
diff --git a/content/public/renderer/render_frame_observer.h b/content/public/renderer/render_frame_observer.h
|
||||||
index 0cba9fb59a62f00fb726850ba9901c2887cc8431..855a1f3633c7b4dae539930e979d2dbb8a1b4e83 100644
|
index bbfac47a74f989482343c222b78f187b70297e4e..3677ca3345fbc775d139684a12fe36241827a729 100644
|
||||||
--- a/content/public/renderer/render_frame_observer.h
|
--- a/content/public/renderer/render_frame_observer.h
|
||||||
+++ b/content/public/renderer/render_frame_observer.h
|
+++ b/content/public/renderer/render_frame_observer.h
|
||||||
@@ -143,7 +143,8 @@ class CONTENT_EXPORT RenderFrameObserver {
|
@@ -143,7 +143,8 @@ class CONTENT_EXPORT RenderFrameObserver {
|
||||||
@@ -34,10 +34,10 @@ index 0cba9fb59a62f00fb726850ba9901c2887cc8431..855a1f3633c7b4dae539930e979d2dbb
|
|||||||
virtual void DidClearWindowObject() {}
|
virtual void DidClearWindowObject() {}
|
||||||
virtual void DidChangeScrollOffset() {}
|
virtual void DidChangeScrollOffset() {}
|
||||||
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 230697a116c26b137c05e234824aded3ae5295af..00f38d0e17449c6c05f2ff9609d3719215f59bfa 100644
|
index ba670e2841e29f4fc0fd7732bcc89532e45ecb1c..128ffa612eda421f9d8c49c9324b3b52b782ba2c 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
|
||||||
@@ -4707,10 +4707,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures(
|
@@ -4738,10 +4738,11 @@ void RenderFrameImpl::DidInstallConditionalFeatures(
|
||||||
observer.DidInstallConditionalFeatures(context, world_id);
|
observer.DidInstallConditionalFeatures(context, world_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ index 230697a116c26b137c05e234824aded3ae5295af..00f38d0e17449c6c05f2ff9609d37192
|
|||||||
|
|
||||||
void RenderFrameImpl::DidChangeScrollOffset() {
|
void RenderFrameImpl::DidChangeScrollOffset() {
|
||||||
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
|
||||||
index 611283f006f96af3c40cbf947505b02ad8ee3438..b7574fc57c43b6d85fb3b6e2c7e7e34f1bd79257 100644
|
index fd13b40fd61067a4b0374a12121a96294ea3cb7f..e79c07abf2744c5461ce682a406954a2a23f03d0 100644
|
||||||
--- a/content/renderer/render_frame_impl.h
|
--- a/content/renderer/render_frame_impl.h
|
||||||
+++ b/content/renderer/render_frame_impl.h
|
+++ b/content/renderer/render_frame_impl.h
|
||||||
@@ -605,7 +605,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
@@ -605,7 +605,8 @@ class CONTENT_EXPORT RenderFrameImpl
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ This patch comes after Chromium removed the ScopedAllowIO API in favor
|
|||||||
of explicitly adding ScopedAllowBlocking calls as friends.
|
of explicitly adding ScopedAllowBlocking calls as friends.
|
||||||
|
|
||||||
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
|
diff --git a/base/threading/thread_restrictions.h b/base/threading/thread_restrictions.h
|
||||||
index 71850795591e1a479620f1348c6adc705db9e839..8821ee4429727630e6600d7f85f0999d3f4b2270 100644
|
index f10a4040b9460baf1b962f53b3dd54d01f49cdc7..ab2858e7a0fd7fcbc0c03b1a8c086ec4ce90c515 100644
|
||||||
--- a/base/threading/thread_restrictions.h
|
--- a/base/threading/thread_restrictions.h
|
||||||
+++ b/base/threading/thread_restrictions.h
|
+++ b/base/threading/thread_restrictions.h
|
||||||
@@ -133,6 +133,7 @@ class KeyStorageLinux;
|
@@ -133,6 +133,7 @@ class KeyStorageLinux;
|
||||||
@@ -36,7 +36,7 @@ index 71850795591e1a479620f1348c6adc705db9e839..8821ee4429727630e6600d7f85f0999d
|
|||||||
friend class ::ProfileImpl;
|
friend class ::ProfileImpl;
|
||||||
friend class ::ScopedAllowBlockingForProfile;
|
friend class ::ScopedAllowBlockingForProfile;
|
||||||
friend class ::StartupTabProviderImpl;
|
friend class ::StartupTabProviderImpl;
|
||||||
@@ -615,6 +620,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
@@ -616,6 +621,7 @@ class BASE_EXPORT ScopedAllowBlocking {
|
||||||
friend class cronet::CronetPrefsManager;
|
friend class cronet::CronetPrefsManager;
|
||||||
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
|
friend class crypto::ScopedAllowBlockingForNSS; // http://crbug.com/59847
|
||||||
friend class drive::FakeDriveService;
|
friend class drive::FakeDriveService;
|
||||||
|
|||||||
@@ -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 366399484c0ff72362fd246dc36182e611954283..a257bc1480369f24b05db19bd2bfce064b96407d 100644
|
index a180b19360dd35f38a2927d01a3fd3ecd0c7dd4e..3489db5f1acfbd4d6fa6d3650e3e73498c728791 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
|
||||||
@@ -5294,7 +5294,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5309,7 +5309,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
: IsGuest();
|
: IsGuest();
|
||||||
// While some guest types do not have a guest SiteInstance, the ones that
|
// While some guest types do not have a guest SiteInstance, the ones that
|
||||||
// don't all override WebContents creation above.
|
// don't all override WebContents creation above.
|
||||||
|
|||||||
@@ -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 484e275ec026af5be17fea9b9dcc540a9aa67535..2eb1296d1e845341352e21445916857878a9d409 100644
|
index ff8cd27f46f49ff3b445becf7cb0c628af147899..8702ca4da61aa296c957a9c50b26e921c5e5b19f 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
|
||||||
@@ -227,7 +227,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
@@ -227,7 +227,7 @@ scoped_refptr<SiteInstanceImpl> SiteInstanceImpl::CreateForGuest(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ index bd19708922b3d9224cc3a05f515c455ce4fb1e69..7198d9f9b22c8725c7ecdf6931ff3685
|
|||||||
// When the enterprise policy is not set, use finch/feature flag choice.
|
// When the enterprise policy is not set, use finch/feature flag choice.
|
||||||
return base::FeatureList::IsEnabled(
|
return base::FeatureList::IsEnabled(
|
||||||
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
|
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
|
||||||
index 8d881dc81d30babc5eed5bf512ad6b23858bab30..5ce3bea323d14d3d4a7b09ea08a477ae23439b53 100644
|
index 328abdd79d287225d0e6ec6becc455e169d6e5d0..10e5e702a43dbb70e13d00b48000e0b4cc974e7a 100644
|
||||||
--- a/chrome/browser/pdf/pdf_extension_util.cc
|
--- a/chrome/browser/pdf/pdf_extension_util.cc
|
||||||
+++ b/chrome/browser/pdf/pdf_extension_util.cc
|
+++ b/chrome/browser/pdf/pdf_extension_util.cc
|
||||||
@@ -248,10 +248,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
@@ -248,10 +248,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ index 39fa45f0a0f9076bd7ac0be6f455dd540a276512..3d0381d463eed73470b28085830f2a23
|
|||||||
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 757db07950a0b179a105cb6201d21bed8b8fe3b8..6d45f2dcaff894836a0e8584ecb622275e02ae62 100644
|
index dec03a1df14aa997dd1c6044fe0167e444a8c5f3..08889021e8ae25d48d542362a86faacc28005933 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
|
||||||
@@ -2417,7 +2417,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
@@ -2413,7 +2413,8 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||||
content::mojom::WindowContainerType window_container_type,
|
content::mojom::WindowContainerType window_container_type,
|
||||||
const GURL& opener_url,
|
const GURL& opener_url,
|
||||||
const std::string& frame_name,
|
const std::string& frame_name,
|
||||||
@@ -93,7 +93,7 @@ index 757db07950a0b179a105cb6201d21bed8b8fe3b8..6d45f2dcaff894836a0e8584ecb62227
|
|||||||
if (HasActorTask(profile(), opener)) {
|
if (HasActorTask(profile(), opener)) {
|
||||||
// If an ExecutionEngine is acting on the opener, prevent it from creating a
|
// If an ExecutionEngine is acting on the opener, prevent it from creating a
|
||||||
// new WebContents. We'll instead force the navigation to happen in the same
|
// new WebContents. We'll instead force the navigation to happen in the same
|
||||||
@@ -2430,7 +2431,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
@@ -2426,7 +2427,7 @@ bool Browser::IsWebContentsCreationOverridden(
|
||||||
return (window_container_type ==
|
return (window_container_type ==
|
||||||
content::mojom::WindowContainerType::BACKGROUND &&
|
content::mojom::WindowContainerType::BACKGROUND &&
|
||||||
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
ShouldCreateBackgroundContents(source_site_instance, opener_url,
|
||||||
@@ -222,10 +222,10 @@ index b969f1d97b7e3396119b579cfbe61e19ff7d2dd4..b8d6169652da28266a514938b45b39c5
|
|||||||
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 e7a985973e1fd6ff51649d4e3fe802cc306c8f39..dfcb0be8195aab4df36c319c0996ec8a1a4f555e 100644
|
index b568a66369e246322698630e495826f0c1109221..2adea6e88f5e09f3416e665039e83c367dca58af 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
|
||||||
@@ -5257,8 +5257,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
@@ -5272,8 +5272,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||||
if (delegate_ &&
|
if (delegate_ &&
|
||||||
delegate_->IsWebContentsCreationOverridden(
|
delegate_->IsWebContentsCreationOverridden(
|
||||||
opener, source_site_instance, params.window_container_type,
|
opener, source_site_instance, params.window_container_type,
|
||||||
@@ -384,10 +384,10 @@ index 756d4192271d6a65cfe8e1511737c565b543cb1f..5688f6f745056565c3c01947f741c4d1
|
|||||||
int opener_render_process_id,
|
int opener_render_process_id,
|
||||||
int opener_render_frame_id,
|
int opener_render_frame_id,
|
||||||
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
diff --git a/headless/lib/browser/headless_web_contents_impl.cc b/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
index 00d3e4de6945e76761576eb95a66e4777f7f2f70..312559105d5de88d81edc917522aecb6a3890104 100644
|
index 617d6cbd13ad3ce5eb9626bb54162e4afdfd24bd..85281656a467262076c081eb974e35590c573dab 100644
|
||||||
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
--- a/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
+++ b/headless/lib/browser/headless_web_contents_impl.cc
|
||||||
@@ -207,8 +207,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
@@ -208,8 +208,7 @@ class HeadlessWebContentsImpl::Delegate : public content::WebContentsDelegate {
|
||||||
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,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ index c80020b2bda2af39b38295dad3c6208cb8294b88..873015289db9709c00c32080e5387d9c
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
||||||
index 083d59f78c542f4900e1b210a0935276516b894b..e32658e386853e2142c325a60ec385635256b758 100644
|
index 1943413560f23c212d98fa1b368204c6e062bab2..bf0053833c782c9bc0187bb093a7ffd81ca9d754 100644
|
||||||
--- a/gin/isolate_holder.cc
|
--- a/gin/isolate_holder.cc
|
||||||
+++ b/gin/isolate_holder.cc
|
+++ b/gin/isolate_holder.cc
|
||||||
@@ -225,6 +225,7 @@ void IsolateHolder::WillCreateMicrotasksRunner() {
|
@@ -225,6 +225,7 @@ void IsolateHolder::WillCreateMicrotasksRunner() {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ Subject: fix: disabling compositor recycling
|
|||||||
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
|
Compositor recycling is useful for Chrome because there can be many tabs and spinning up a compositor for each one would be costly. In practice, Chrome uses the parent compositor code path of browser_compositor_view_mac.mm; the NSView of each tab is detached when it's hidden and attached when it's shown. For Electron, there is no parent compositor, so we're forced into the "own compositor" code path, which seems to be non-optimal and pretty ruthless in terms of the release of resources. Electron has no real concept of multiple tabs per window, so it should be okay to disable this ruthless recycling altogether in Electron.
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
index 1fde0953bdc8bf3cd777206d7d340188ebf946fb..d9f6657a80b73ad7b7f3d8e4ced52dc474c417c9 100644
|
index 9524be857c44a6523cf101d3cd24e69b30291c50..629216122514a1db80b452a6552b96ddb743eb32 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
@@ -558,7 +558,11 @@
|
@@ -558,7 +558,11 @@
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ 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 3a0e028e3650e67337fde8fbad726d5333e8230e..1156ea5df2a390604b822b82cf42940029fea1f7 100644
|
index 39121bd94e74440954d337fa8cb4ce3d6e14756b..755fa9cf571873072d67d97226e7d847c618afcf 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
|
||||||
@@ -840,6 +840,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
@@ -841,6 +841,10 @@ void RenderWidgetHostImpl::WasHidden() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -21,10 +21,10 @@ index 3a0e028e3650e67337fde8fbad726d5333e8230e..1156ea5df2a390604b822b82cf429400
|
|||||||
// Prompts should remain open and functional across tab switches.
|
// Prompts should remain open and functional across tab switches.
|
||||||
if (!delegate_ || !delegate_->IsWaitingForPointerLockPrompt(this)) {
|
if (!delegate_ || !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 636f09a8ac86e7c3f7b8dcdc285792f18f5c5989..276852573eade86f1bc9690e3c78a6279e9ff5af 100644
|
index d1c15f323f2c36dc12dbb8ac2a8f19c0f3365429..507231f8134f7b1bba031baafe6db584f9a47d5d 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
|
||||||
@@ -1031,6 +1031,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
@@ -1035,6 +1035,8 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||||
return synthetic_gesture_controller_.get();
|
return synthetic_gesture_controller_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@ index 636f09a8ac86e7c3f7b8dcdc285792f18f5c5989..276852573eade86f1bc9690e3c78a627
|
|||||||
// |routing_id| must not be IPC::mojom::kRoutingIdNone.
|
// |routing_id| must not be IPC::mojom::kRoutingIdNone.
|
||||||
// If this object outlives |delegate|, DetachDelegate() must be called when
|
// If this object outlives |delegate|, DetachDelegate() must be called when
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
index b8f74e321a8bd8bd65e89cf9d794651c9f6f8705..e8a0554c4d84a16fc2122cb3e48199b4f43ecf88 100644
|
index 39bbcb9f74d9d4fb4c2e81569b100f81837355b9..9e7796a55f58b0bb04eb576f9d7ea3099ce08bdc 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
@@ -642,7 +642,7 @@ void RenderWidgetHostViewAura::HideImpl() {
|
@@ -642,7 +642,7 @@ void RenderWidgetHostViewAura::HideImpl() {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ 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 68ad4334b47b075ea6ed80f2f29e496089695f8d..2e8310cf11fe772b084036a493988de5d9605f95 100644
|
index f1a7f4ab3d77415c22417bac0bb7dd9a5fa91342..71185e4b6ed4125c3343810bc9c41d887fcd4643 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
|
||||||
@@ -1910,6 +1910,13 @@ void NetworkContext::EnableDurableMessageCollector(
|
@@ -1910,6 +1910,13 @@ void NetworkContext::EnableDurableMessageCollector(
|
||||||
|
|||||||
@@ -15,10 +15,10 @@ 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 a004db1a30b6138dbeda5da3f4301bca86ec6ad2..42db2e15163e3410471bd22c03d9c05e73ff748e 100644
|
index c610d4d9af1d8e5d2a12e2fc49fba145b17e086f..2e3ac83d16cd08372a4bdf48a5801a5bed1da220 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
|
||||||
@@ -1909,6 +1909,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
@@ -1908,6 +1908,8 @@ 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);
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ remove this patch once gin::Wrappable can be managed by V8 Oilpan
|
|||||||
via https://github.com/electron/electron/issues/47922
|
via https://github.com/electron/electron/issues/47922
|
||||||
|
|
||||||
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
||||||
index 656267caef2d515f8c3f77535b308108a0b30be1..083d59f78c542f4900e1b210a0935276516b894b 100644
|
index 05c899258143a958471f361b87324f7500d594c9..1943413560f23c212d98fa1b368204c6e062bab2 100644
|
||||||
--- a/gin/isolate_holder.cc
|
--- a/gin/isolate_holder.cc
|
||||||
+++ b/gin/isolate_holder.cc
|
+++ b/gin/isolate_holder.cc
|
||||||
@@ -35,6 +35,8 @@ v8::ArrayBuffer::Allocator* g_array_buffer_allocator = nullptr;
|
@@ -35,6 +35,8 @@ v8::ArrayBuffer::Allocator* g_array_buffer_allocator = nullptr;
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ index fb3fdfca483ff5041ee98095af3f6ac2640adbaf..ada19d78ec1337b0c49a1597c877886f
|
|||||||
+
|
+
|
||||||
} // namespace content
|
} // namespace content
|
||||||
diff --git a/content/browser/renderer_host/code_cache_host_impl.cc b/content/browser/renderer_host/code_cache_host_impl.cc
|
diff --git a/content/browser/renderer_host/code_cache_host_impl.cc b/content/browser/renderer_host/code_cache_host_impl.cc
|
||||||
index 5becc15b30b7e2c3fab289db50ad9774cb5fb17e..7de9e745f249137ecc3224b3b1f6ee70d90b96b6 100644
|
index 4a28c9618120b0b85b01687b3a231539fe1d9c34..91123e98ecb9aadf91d355947da8aa4dba7150fa 100644
|
||||||
--- a/content/browser/renderer_host/code_cache_host_impl.cc
|
--- a/content/browser/renderer_host/code_cache_host_impl.cc
|
||||||
+++ b/content/browser/renderer_host/code_cache_host_impl.cc
|
+++ b/content/browser/renderer_host/code_cache_host_impl.cc
|
||||||
@@ -8,6 +8,7 @@
|
@@ -8,6 +8,7 @@
|
||||||
@@ -363,7 +363,7 @@ index 5becc15b30b7e2c3fab289db50ad9774cb5fb17e..7de9e745f249137ecc3224b3b1f6ee70
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (operation == CodeCacheHostImpl::Operation::kWrite) {
|
if (operation == CodeCacheHostImpl::Operation::kWrite) {
|
||||||
@@ -590,6 +613,7 @@ std::optional<GURL> CodeCacheHostImpl::GetSecondaryKeyForCodeCache(
|
@@ -612,6 +635,7 @@ std::optional<GURL> CodeCacheHostImpl::GetSecondaryKeyForCodeCache(
|
||||||
process_lock.MatchesScheme(url::kHttpsScheme) ||
|
process_lock.MatchesScheme(url::kHttpsScheme) ||
|
||||||
process_lock.MatchesScheme(content::kChromeUIScheme) ||
|
process_lock.MatchesScheme(content::kChromeUIScheme) ||
|
||||||
process_lock.MatchesScheme(content::kChromeUIUntrustedScheme) ||
|
process_lock.MatchesScheme(content::kChromeUIUntrustedScheme) ||
|
||||||
@@ -405,7 +405,7 @@ index 52f16979b05b692ef72762d0cbc16bcb361b047e..b658ebeb9c572158b27d94af56331be8
|
|||||||
std::vector<std::string> extension_schemes;
|
std::vector<std::string> extension_schemes;
|
||||||
// Registers a URL scheme with a predefined default custom handler.
|
// Registers a URL scheme with a predefined default custom handler.
|
||||||
diff --git a/url/url_util.cc b/url/url_util.cc
|
diff --git a/url/url_util.cc b/url/url_util.cc
|
||||||
index ad9d781f55cc20a2c80a743daaa1563e828cd7e1..bbb6674efdf39d43248620d6e66876d1750d7abe 100644
|
index e47605cd20719aef6f076419bbbc7a656e6dc590..0bf502c6ad8564ed66bb014e260a93230e62d992 100644
|
||||||
--- a/url/url_util.cc
|
--- a/url/url_util.cc
|
||||||
+++ b/url/url_util.cc
|
+++ b/url/url_util.cc
|
||||||
@@ -136,6 +136,9 @@ struct SchemeRegistry {
|
@@ -136,6 +136,9 @@ struct SchemeRegistry {
|
||||||
@@ -418,7 +418,7 @@ index ad9d781f55cc20a2c80a743daaa1563e828cd7e1..bbb6674efdf39d43248620d6e66876d1
|
|||||||
// Schemes with a predefined default custom handler.
|
// Schemes with a predefined default custom handler.
|
||||||
std::vector<SchemeWithHandler> predefined_handler_schemes;
|
std::vector<SchemeWithHandler> predefined_handler_schemes;
|
||||||
|
|
||||||
@@ -706,6 +709,15 @@ const std::vector<std::string>& GetEmptyDocumentSchemes() {
|
@@ -688,6 +691,15 @@ const std::vector<std::string>& GetEmptyDocumentSchemes() {
|
||||||
return GetSchemeRegistry().empty_document_schemes;
|
return GetSchemeRegistry().empty_document_schemes;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -435,7 +435,7 @@ index ad9d781f55cc20a2c80a743daaa1563e828cd7e1..bbb6674efdf39d43248620d6e66876d1
|
|||||||
DoAddSchemeWithHandler(
|
DoAddSchemeWithHandler(
|
||||||
new_scheme, handler,
|
new_scheme, handler,
|
||||||
diff --git a/url/url_util.h b/url/url_util.h
|
diff --git a/url/url_util.h b/url/url_util.h
|
||||||
index 8ca0eec8cd9b2e9501daa511acee4fc64d8898af..f888d25801ded67fa600ab2fd268029b26186f35 100644
|
index 035d8390c345c3d9b77fb8d2a30a98934c3a40e7..9681ed030bd53b435d27ae3c330abca2207040a7 100644
|
||||||
--- a/url/url_util.h
|
--- a/url/url_util.h
|
||||||
+++ b/url/url_util.h
|
+++ b/url/url_util.h
|
||||||
@@ -115,6 +115,15 @@ COMPONENT_EXPORT(URL) const std::vector<std::string>& GetCSPBypassingSchemes();
|
@@ -115,6 +115,15 @@ COMPONENT_EXPORT(URL) const std::vector<std::string>& GetCSPBypassingSchemes();
|
||||||
|
|||||||
@@ -311,10 +311,10 @@ index c2d8bbafa39c05f25641f2fd3491ef7f84f4f6a1..5506583824e10d664f32c71d63fda1aa
|
|||||||
|
|
||||||
// Although ScreenCaptureKit is available in 12.3 there were some bugs that
|
// Although ScreenCaptureKit is available in 12.3 there were some bugs that
|
||||||
diff --git a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
diff --git a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||||
index c07b61c6736798b3b8efd79a27fb6546dde24cc2..889c0876394bc973f86cc6f5f2d3ce3902103b41 100644
|
index 2b58244d3d8ca03d900a8c4450ded607861b45f6..1c5b2650c7a1193fd9af74b3826e363a43b676ad 100644
|
||||||
--- a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
--- a/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||||
+++ b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
+++ b/content/browser/renderer_host/media/in_process_video_capture_device_launcher.cc
|
||||||
@@ -310,8 +310,16 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
|
@@ -316,8 +316,16 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -332,7 +332,7 @@ index c07b61c6736798b3b8efd79a27fb6546dde24cc2..889c0876394bc973f86cc6f5f2d3ce39
|
|||||||
// For the other capturers, when a bug reports the type of capture it's
|
// For the other capturers, when a bug reports the type of capture it's
|
||||||
// easy enough to determine which capturer was used, but it's a little
|
// easy enough to determine which capturer was used, but it's a little
|
||||||
// fuzzier with window capture.
|
// fuzzier with window capture.
|
||||||
@@ -327,13 +335,15 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
|
@@ -333,13 +341,15 @@ void InProcessVideoCaptureDeviceLauncher::LaunchDeviceAsync(
|
||||||
}
|
}
|
||||||
#endif // defined(USE_AURA) || BUILDFLAG(IS_MAC)
|
#endif // defined(USE_AURA) || BUILDFLAG(IS_MAC)
|
||||||
|
|
||||||
@@ -350,10 +350,10 @@ index c07b61c6736798b3b8efd79a27fb6546dde24cc2..889c0876394bc973f86cc6f5f2d3ce39
|
|||||||
kMaxNumberOfBuffers, std::move(receiver),
|
kMaxNumberOfBuffers, std::move(receiver),
|
||||||
std::move(receiver_on_io_thread)),
|
std::move(receiver_on_io_thread)),
|
||||||
diff --git a/content/public/browser/desktop_media_id.h b/content/public/browser/desktop_media_id.h
|
diff --git a/content/public/browser/desktop_media_id.h b/content/public/browser/desktop_media_id.h
|
||||||
index b90a88a115247bd0c62abb18771220e37a441d2f..f908a95727633e903bd56d2bc8608bba167de4e7 100644
|
index b10c5376caa9a832826868c72dbc44ee54705283..e9b27b53d9b34fbb0a3410eb2fcc15306497cdf4 100644
|
||||||
--- a/content/public/browser/desktop_media_id.h
|
--- a/content/public/browser/desktop_media_id.h
|
||||||
+++ b/content/public/browser/desktop_media_id.h
|
+++ b/content/public/browser/desktop_media_id.h
|
||||||
@@ -27,6 +27,8 @@ struct CONTENT_EXPORT DesktopMediaID {
|
@@ -28,6 +28,8 @@ struct CONTENT_EXPORT DesktopMediaID {
|
||||||
static constexpr Id kNullId = 0;
|
static constexpr Id kNullId = 0;
|
||||||
// Represents a fake id to create a dummy capturer for autotests.
|
// Represents a fake id to create a dummy capturer for autotests.
|
||||||
static constexpr Id kFakeId = -3;
|
static constexpr Id kFakeId = -3;
|
||||||
|
|||||||
@@ -187,10 +187,10 @@ index d9c14f91747bde0e76056d7f2f2ada166e67f994..53be16879777a3b9bef58ead5f7e420c
|
|||||||
|
|
||||||
UtilityProcessHost::Start(std::move(utility_options),
|
UtilityProcessHost::Start(std::move(utility_options),
|
||||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||||
index b4d84672b85e7c070eafacc602acae5590337854..0d7c270217a7906a7f3c4c6e0afdc1386613578c 100644
|
index ad963436db4e854f8caf388a2d11f2f45bd66094..1cb1195980915098ca5c44a013158e9d91a45774 100644
|
||||||
--- a/content/browser/service_host/utility_process_host.cc
|
--- a/content/browser/service_host/utility_process_host.cc
|
||||||
+++ b/content/browser/service_host/utility_process_host.cc
|
+++ b/content/browser/service_host/utility_process_host.cc
|
||||||
@@ -245,13 +245,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
|
@@ -241,13 +241,13 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithFileToPreload(
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
#endif // BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ index b4d84672b85e7c070eafacc602acae5590337854..0d7c270217a7906a7f3c4c6e0afdc138
|
|||||||
|
|
||||||
#if BUILDFLAG(USE_ZYGOTE)
|
#if BUILDFLAG(USE_ZYGOTE)
|
||||||
UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
||||||
@@ -261,6 +261,36 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
@@ -257,6 +257,36 @@ UtilityProcessHost::Options& UtilityProcessHost::Options::WithZygoteForTesting(
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(USE_ZYGOTE)
|
#endif // BUILDFLAG(USE_ZYGOTE)
|
||||||
|
|
||||||
@@ -244,7 +244,7 @@ index b4d84672b85e7c070eafacc602acae5590337854..0d7c270217a7906a7f3c4c6e0afdc138
|
|||||||
UtilityProcessHost::Options&
|
UtilityProcessHost::Options&
|
||||||
UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting(
|
UtilityProcessHost::Options::WithBoundReceiverOnChildProcessForTesting(
|
||||||
mojo::GenericPendingReceiver receiver) {
|
mojo::GenericPendingReceiver receiver) {
|
||||||
@@ -525,9 +555,26 @@ bool UtilityProcessHost::StartProcess() {
|
@@ -521,9 +551,26 @@ bool UtilityProcessHost::StartProcess() {
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
#endif // BUILDFLAG(ENABLE_GPU_CHANNEL_MEDIA_CAPTURE) && !BUILDFLAG(IS_WIN)
|
||||||
|
|
||||||
|
|||||||
@@ -45,10 +45,10 @@ index e189d584f05f2ce6354c03a9b19f56985df8a15e..41b430e8f2416be098494f5c49fb97ca
|
|||||||
'internal-forced-visited-'):
|
'internal-forced-visited-'):
|
||||||
internal_visited_order = 0
|
internal_visited_order = 0
|
||||||
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
diff --git a/third_party/blink/renderer/core/css/css_properties.json5 b/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
index e1e6a90d3035e1aaedafbf129d2154e84777bd3f..d9fc85153bd0bd980ae2383acda99d79f00b3e2a 100644
|
index b8d8077e22d63fc08b8d7caf44ff0c181ce09c3b..a9098abaa3f92a86e723e6d20465ee5029ae0277 100644
|
||||||
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
--- a/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
+++ b/third_party/blink/renderer/core/css/css_properties.json5
|
||||||
@@ -9032,6 +9032,26 @@
|
@@ -9029,6 +9029,26 @@
|
||||||
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
property_methods: ["ParseShorthand", "CSSValueFromComputedStyleInternal"],
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ index e1e6a90d3035e1aaedafbf129d2154e84777bd3f..d9fc85153bd0bd980ae2383acda99d79
|
|||||||
{
|
{
|
||||||
name: "-internal-visited-color",
|
name: "-internal-visited-color",
|
||||||
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
|
diff --git a/third_party/blink/renderer/core/css/css_property_equality.cc b/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||||
index 362c4d558ad0c1af4f905bee759096c7afdf5e6b..7b764dc1988f8992d2b88e9d4d68d8b13c595f8b 100644
|
index 53fae0d3349df9a6baf19feeefd932e9ffaee3eb..a76f16fb33bd831cb946354a5d4d9da54d088f5c 100644
|
||||||
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
|
--- a/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||||
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
|
+++ b/third_party/blink/renderer/core/css/css_property_equality.cc
|
||||||
@@ -354,6 +354,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
|
@@ -354,6 +354,8 @@ bool CSSPropertyEquality::PropertiesEqual(const PropertyHandle& property,
|
||||||
@@ -89,10 +89,10 @@ index 362c4d558ad0c1af4f905bee759096c7afdf5e6b..7b764dc1988f8992d2b88e9d4d68d8b1
|
|||||||
return a.EmptyCells() == b.EmptyCells();
|
return a.EmptyCells() == b.EmptyCells();
|
||||||
case CSSPropertyID::kFill:
|
case CSSPropertyID::kFill:
|
||||||
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
diff --git a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||||
index 77350eb608ab3af30f9eac3bb0f16ba57b79d049..bea246503fc77eb3c9f2a5dbc67094ccda0f36c0 100644
|
index fc786d43c4c5d1e2ab0f6c0990e607b31ca254d7..88e0db3246cf96d6a682874de272a68a41aec32e 100644
|
||||||
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||||
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||||
@@ -12447,5 +12447,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
@@ -12467,5 +12467,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||||
CSSValueID::kNone>(stream);
|
CSSValueID::kNone>(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -130,10 +130,10 @@ index 77350eb608ab3af30f9eac3bb0f16ba57b79d049..bea246503fc77eb3c9f2a5dbc67094cc
|
|||||||
} // namespace css_longhand
|
} // namespace css_longhand
|
||||||
} // namespace blink
|
} // namespace blink
|
||||||
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
diff --git a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||||
index aaf3b23f63e6bd5d5c8259feeff9f6202ea07f17..64772649927c94949cae132e502ef882c92d8f14 100644
|
index 18195a2597f4bfc598d2d545b91688611f48ce11..8f107b529818fc654465fbe41804e2656c0f568a 100644
|
||||||
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||||
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
||||||
@@ -4080,6 +4080,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
|
@@ -4116,6 +4116,15 @@ PositionTryFallback StyleBuilderConverter::ConvertSinglePositionTryFallback(
|
||||||
return PositionTryFallback(scoped_name, tactic_list);
|
return PositionTryFallback(scoped_name, tactic_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,10 +201,10 @@ index 0802c73aa4aaf4e1fb5efd367758f19c36691f71..5f06c0af277a7c937e694470beac707a
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
|
||||||
index 009aede9ab946ac2a0b661611e9e6832c3b50c00..be3af08956d6b4c60547e6a6722342b4591b555d 100644
|
index b055f218f600948204764f5fe9f5978c9f9fa4f4..2398af8635402706b11afda36b4510667661b74c 100644
|
||||||
--- a/third_party/blink/renderer/platform/BUILD.gn
|
--- a/third_party/blink/renderer/platform/BUILD.gn
|
||||||
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
+++ b/third_party/blink/renderer/platform/BUILD.gn
|
||||||
@@ -1676,6 +1676,8 @@ component("platform") {
|
@@ -1672,6 +1672,8 @@ component("platform") {
|
||||||
"widget/widget_base.h",
|
"widget/widget_base.h",
|
||||||
"widget/widget_base_client.h",
|
"widget/widget_base_client.h",
|
||||||
"windows_keyboard_codes.h",
|
"windows_keyboard_codes.h",
|
||||||
@@ -267,7 +267,7 @@ index 59031b23d3c50aa87db48a5c5a66c5ab04a8103a..1f83cf0dff83d748bf1caafd3685202c
|
|||||||
|
|
||||||
// A Corner is a axis-aligned quad, with the points ordered (start, outer,
|
// A Corner is a axis-aligned quad, with the points ordered (start, outer,
|
||||||
diff --git a/third_party/blink/renderer/platform/geometry/path_builder.cc b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
diff --git a/third_party/blink/renderer/platform/geometry/path_builder.cc b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||||
index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc10268d154ed9 100644
|
index 1d6b8160e8db2a94ee61ed41ac9a74db5b1bfb17..373bcd30c6a4526262912021aaf2b560fedc3667 100644
|
||||||
--- a/third_party/blink/renderer/platform/geometry/path_builder.cc
|
--- a/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||||
+++ b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
+++ b/third_party/blink/renderer/platform/geometry/path_builder.cc
|
||||||
@@ -4,6 +4,7 @@
|
@@ -4,6 +4,7 @@
|
||||||
@@ -278,7 +278,7 @@ index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc1026
|
|||||||
#include "third_party/blink/renderer/platform/geometry/contoured_rect.h"
|
#include "third_party/blink/renderer/platform/geometry/contoured_rect.h"
|
||||||
#include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h"
|
#include "third_party/blink/renderer/platform/geometry/infinite_int_rect.h"
|
||||||
#include "third_party/blink/renderer/platform/geometry/path.h"
|
#include "third_party/blink/renderer/platform/geometry/path.h"
|
||||||
@@ -244,6 +245,32 @@ PathBuilder& PathBuilder::AddContouredRect(
|
@@ -250,6 +251,32 @@ PathBuilder& PathBuilder::AddContouredRect(
|
||||||
AddRoundedRect(target_rect);
|
AddRoundedRect(target_rect);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@@ -312,7 +312,7 @@ index 7e3d46902fbf736b4240eb3fcb89975a7b222197..57fdc89fc265ad70cb0bff8443cc1026
|
|||||||
|
|
||||||
auto DrawAsSinglePath = [&]() {
|
auto DrawAsSinglePath = [&]() {
|
||||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
index 2551bd7880118119921379f932cd6af5feee9a05..940a7f9eb953f8c0868ef1fdd8e3261befdbc511 100644
|
index 21ff121087a23deeeaf69593b69462c3a297b458..c1b444add778b390a267445bac2c2b6926dbd026 100644
|
||||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||||
@@ -214,6 +214,10 @@
|
@@ -214,6 +214,10 @@
|
||||||
|
|||||||
@@ -238,10 +238,10 @@ index 67d5ff67d74c107a867b39b306c6528425b87e05..5fd12a25c9e319e8e675955926271c9d
|
|||||||
|
|
||||||
diff --git a/components/viz/service/display_embedder/software_output_device_proxy.cc b/components/viz/service/display_embedder/software_output_device_proxy.cc
|
diff --git a/components/viz/service/display_embedder/software_output_device_proxy.cc b/components/viz/service/display_embedder/software_output_device_proxy.cc
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..ef5cb8ae4c398e5834496c8b24eb98c41b10a7b3
|
index 0000000000000000000000000000000000000000..02872ac8658a58ea7a508a7063ee1e7e5d69ab0a
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/components/viz/service/display_embedder/software_output_device_proxy.cc
|
+++ b/components/viz/service/display_embedder/software_output_device_proxy.cc
|
||||||
@@ -0,0 +1,162 @@
|
@@ -0,0 +1,161 @@
|
||||||
+// Copyright 2014 The Chromium Authors. All rights reserved.
|
+// Copyright 2014 The Chromium Authors. All rights reserved.
|
||||||
+// Use of this source code is governed by a BSD-style license that can be
|
+// Use of this source code is governed by a BSD-style license that can be
|
||||||
+// found in the LICENSE file.
|
+// found in the LICENSE file.
|
||||||
@@ -252,7 +252,7 @@ index 0000000000000000000000000000000000000000..ef5cb8ae4c398e5834496c8b24eb98c4
|
|||||||
+#include "base/threading/thread_checker.h"
|
+#include "base/threading/thread_checker.h"
|
||||||
+#include "base/trace_event/trace_event.h"
|
+#include "base/trace_event/trace_event.h"
|
||||||
+#include "build/build_config.h"
|
+#include "build/build_config.h"
|
||||||
+#include "components/viz/common/resources/resource_sizes.h"
|
+#include "components/viz/common/resources/shared_image_format_utils.h"
|
||||||
+#include "mojo/public/cpp/system/platform_handle.h"
|
+#include "mojo/public/cpp/system/platform_handle.h"
|
||||||
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
|
+#include "services/viz/privileged/mojom/compositing/layered_window_updater.mojom.h"
|
||||||
+#include "skia/ext/platform_canvas.h"
|
+#include "skia/ext/platform_canvas.h"
|
||||||
@@ -337,18 +337,17 @@ index 0000000000000000000000000000000000000000..ef5cb8ae4c398e5834496c8b24eb98c4
|
|||||||
+void SoftwareOutputDeviceProxy::ResizeDelegated() {
|
+void SoftwareOutputDeviceProxy::ResizeDelegated() {
|
||||||
+ canvas_.reset();
|
+ canvas_.reset();
|
||||||
+
|
+
|
||||||
+ size_t required_bytes;
|
+ auto required_bytes = SharedMemorySizeForSharedImageFormat(
|
||||||
+ if (!ResourceSizes::MaybeSizeInBytes(viewport_pixel_size_,
|
+ SinglePlaneFormat::kRGBA_8888, viewport_pixel_size_);
|
||||||
+ SinglePlaneFormat::kRGBA_8888,
|
+ if (!required_bytes) {
|
||||||
+ &required_bytes)) {
|
|
||||||
+ DLOG(ERROR) << "Invalid viewport size " << viewport_pixel_size_.ToString();
|
+ DLOG(ERROR) << "Invalid viewport size " << viewport_pixel_size_.ToString();
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ base::UnsafeSharedMemoryRegion region =
|
+ base::UnsafeSharedMemoryRegion region =
|
||||||
+ base::UnsafeSharedMemoryRegion::Create(required_bytes);
|
+ base::UnsafeSharedMemoryRegion::Create(required_bytes.value());
|
||||||
+ if (!region.IsValid()) {
|
+ if (!region.IsValid()) {
|
||||||
+ DLOG(ERROR) << "Failed to allocate " << required_bytes << " bytes";
|
+ DLOG(ERROR) << "Failed to allocate " << required_bytes.value() << " bytes";
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -359,7 +358,7 @@ index 0000000000000000000000000000000000000000..ef5cb8ae4c398e5834496c8b24eb98c4
|
|||||||
+#else
|
+#else
|
||||||
+ shm_mapping_ = region.Map();
|
+ shm_mapping_ = region.Map();
|
||||||
+ if (!shm_mapping_.IsValid()) {
|
+ if (!shm_mapping_.IsValid()) {
|
||||||
+ DLOG(ERROR) << "Failed to map " << required_bytes << " bytes";
|
+ DLOG(ERROR) << "Failed to map " << required_bytes.value() << " bytes";
|
||||||
+ return;
|
+ return;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
@@ -620,7 +619,7 @@ index 2f462f0deb5fc8a637457243fb5d5849fc214d14..695869b83cefaa24af93a2e11b39de05
|
|||||||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||||
};
|
};
|
||||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||||
index 986569ff285a2a5be21e715dacf6072de92ebe79..2544d15677ac20c83118d5552c94eed103ac1eaa 100644
|
index 010a30bcd09ca39215f0b31ec59425067a2392a4..7f428fe96da978aa951354eb41f9ebec46cc6e9c 100644
|
||||||
--- a/ui/compositor/compositor.h
|
--- a/ui/compositor/compositor.h
|
||||||
+++ b/ui/compositor/compositor.h
|
+++ b/ui/compositor/compositor.h
|
||||||
@@ -87,6 +87,7 @@ class DisplayPrivate;
|
@@ -87,6 +87,7 @@ class DisplayPrivate;
|
||||||
@@ -647,7 +646,7 @@ index 986569ff285a2a5be21e715dacf6072de92ebe79..2544d15677ac20c83118d5552c94eed1
|
|||||||
|
|
||||||
// Compositor object to take care of GPU painting.
|
// Compositor object to take care of GPU painting.
|
||||||
// A Browser compositor object is responsible for generating the final
|
// A Browser compositor object is responsible for generating the final
|
||||||
@@ -195,6 +205,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
@@ -189,6 +199,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||||
// Schedules a redraw of the layer tree associated with this compositor.
|
// Schedules a redraw of the layer tree associated with this compositor.
|
||||||
void ScheduleDraw();
|
void ScheduleDraw();
|
||||||
|
|
||||||
@@ -657,7 +656,7 @@ index 986569ff285a2a5be21e715dacf6072de92ebe79..2544d15677ac20c83118d5552c94eed1
|
|||||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||||
// must have no parent. The compositor's root layer is reset if the root layer
|
// must have no parent. The compositor's root layer is reset if the root layer
|
||||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||||
@@ -635,6 +648,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
@@ -630,6 +643,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||||
simple_begin_frame_observers_;
|
simple_begin_frame_observers_;
|
||||||
std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;
|
std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;
|
||||||
|
|
||||||
|
|||||||
@@ -84,10 +84,10 @@ index 2648adb1cf38ab557b66ffd0e3034b26b04d76d6..98eab587f343f6ca472efc3d4e7b31b2
|
|||||||
private:
|
private:
|
||||||
const std::string service_interface_name_;
|
const std::string service_interface_name_;
|
||||||
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
diff --git a/content/browser/service_host/utility_process_host.cc b/content/browser/service_host/utility_process_host.cc
|
||||||
index 0d7c270217a7906a7f3c4c6e0afdc1386613578c..61ceacb989f049f7134a3c2279042bf4344d992e 100644
|
index 1cb1195980915098ca5c44a013158e9d91a45774..f09946a3c74e974d2234695841c56107a9ee9246 100644
|
||||||
--- a/content/browser/service_host/utility_process_host.cc
|
--- a/content/browser/service_host/utility_process_host.cc
|
||||||
+++ b/content/browser/service_host/utility_process_host.cc
|
+++ b/content/browser/service_host/utility_process_host.cc
|
||||||
@@ -629,7 +629,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
@@ -625,7 +625,7 @@ void UtilityProcessHost::OnProcessCrashed(int exit_code) {
|
||||||
: Client::CrashType::kPreIpcInitialization;
|
: Client::CrashType::kPreIpcInitialization;
|
||||||
}
|
}
|
||||||
#endif // BUILDFLAG(IS_WIN)
|
#endif // BUILDFLAG(IS_WIN)
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ index 3a028b9a2ff0cac114bca857f3a87c4ed331e0a1..e53ed3ceef61961bce7b9ce45098f83c
|
|||||||
network::ResourceRequest::TrustedParams::EnabledClientHints>&
|
network::ResourceRequest::TrustedParams::EnabledClientHints>&
|
||||||
enabled_client_hints(
|
enabled_client_hints(
|
||||||
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 950d6e0fa3e5304b2d28db0e284f9697d0c9f45c..048900b092875f3dd01b8a3cd813f5a44d1355e1 100644
|
index df9bd2130004821582903699aac1b38403c785a6..8b10c16a10119f2628300b3c52cca0fe5a6bd6e4 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
|
||||||
@@ -111,6 +111,9 @@ struct TrustedUrlRequestParams {
|
@@ -111,6 +111,9 @@ struct TrustedUrlRequestParams {
|
||||||
@@ -112,7 +112,7 @@ index 96fe8a372fa6a166db928c61b2c983b86a74b1a3..2a10810d50d083ab0a7340757d544a40
|
|||||||
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 7834c23474416f7af4db75d24fc613c3913eee77..3d32e5d540deea75a453f603a2902c44a1b82287 100644
|
index 622190e414ef1b4f3910ab09c99e7e27e15e5693..57f1532901e4ba4d1e71c38e232a693b3af9da44 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
|
||||||
@@ -406,6 +406,9 @@ URLLoader::URLLoader(
|
@@ -406,6 +406,9 @@ URLLoader::URLLoader(
|
||||||
@@ -155,7 +155,7 @@ index 7834c23474416f7af4db75d24fc613c3913eee77..3d32e5d540deea75a453f603a2902c44
|
|||||||
|
|
||||||
ad_auction_event_record_request_helper_.HandleResponse(
|
ad_auction_event_record_request_helper_.HandleResponse(
|
||||||
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 21dc5e84807eb89a4e331e5cca5b38f08c41f72d..9f55ff05f239df939833d98d45d455e864f4f2c3 100644
|
index 09c035a73fea5a328193c67a7906d3e8b455d619..1c1e59764fa6a701f61765060428f811029b3d6e 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
|
||||||
@@ -622,6 +622,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
@@ -622,6 +622,8 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) URLLoader
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ index e243b7202505075658e04adc1eeacc01c7d7d72d..7078014e6db7c43d66b1448b2b36500f
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
||||||
index f6c3e8d9139ca22e885979d7fa72edbccac182e1..0a72093709ae8f56cc7b8d1649efe23050423054 100644
|
index e4a4d129e8b7ea11d3825ab55a6a71706d94d34f..a43a28e60d87a446adc187121abbbeeecb50bac7 100644
|
||||||
--- a/content/browser/permissions/permission_controller_impl.cc
|
--- a/content/browser/permissions/permission_controller_impl.cc
|
||||||
+++ b/content/browser/permissions/permission_controller_impl.cc
|
+++ b/content/browser/permissions/permission_controller_impl.cc
|
||||||
@@ -94,6 +94,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
|
@@ -94,6 +94,7 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ index e523151fb670af28cf2c54548c5009825fdbed92..66d5724f848b328a19362a3c0f634670
|
|||||||
gfx::Rect window_bounds_before_fullscreen_;
|
gfx::Rect window_bounds_before_fullscreen_;
|
||||||
|
|
||||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
index 7459d4c241e914248261c62b63652fd7139dd54e..97b1f34a655c87bf888ea16e7ab6897132afdaae 100644
|
index e1a1cdb2ec192d2ee5a555ecccf041f757336f79..68a210eaf34d6d410a14478ad5bf0c78faa30388 100644
|
||||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
@@ -465,6 +465,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
|
@@ -465,6 +465,7 @@ void HandleAccelerator(const ui::Accelerator& accelerator,
|
||||||
@@ -90,7 +90,7 @@ index 7459d4c241e914248261c62b63652fd7139dd54e..97b1f34a655c87bf888ea16e7ab68971
|
|||||||
|
|
||||||
// Register the CGWindowID (used to identify this window for video capture)
|
// Register the CGWindowID (used to identify this window for video capture)
|
||||||
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
|
diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
|
||||||
index 7e1bfe1f3754562a77615ab7ba83c23f719050b7..8a84abb915d3d0123f996eb027b357c953233a9c 100644
|
index 55a5d241058f192091e34164880c0888504b30bd..c047e938a39fa2466fc95312ba7bc581a68b48e2 100644
|
||||||
--- a/ui/views/widget/widget.cc
|
--- a/ui/views/widget/widget.cc
|
||||||
+++ b/ui/views/widget/widget.cc
|
+++ b/ui/views/widget/widget.cc
|
||||||
@@ -222,6 +222,18 @@ ui::ZOrderLevel Widget::InitParams::EffectiveZOrderLevel() const {
|
@@ -222,6 +222,18 @@ ui::ZOrderLevel Widget::InitParams::EffectiveZOrderLevel() const {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ invisible state of the `viz::DisplayScheduler` owned
|
|||||||
by the `ui::Compositor`.
|
by the `ui::Compositor`.
|
||||||
|
|
||||||
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
|
||||||
index a0e6ea08b4918c057d69f15acad717f71d49747d..39e54cff7e13bddda0f37a4b87cbae2adc7d6170 100644
|
index c0a2f822e38712eaad30c5d1104b149fa28d985d..b967896479c7fd0f71c7b9e5407d63e1d62bfadd 100644
|
||||||
--- a/ui/compositor/compositor.cc
|
--- a/ui/compositor/compositor.cc
|
||||||
+++ b/ui/compositor/compositor.cc
|
+++ b/ui/compositor/compositor.cc
|
||||||
@@ -358,7 +358,8 @@ void Compositor::SetLayerTreeFrameSink(
|
@@ -358,7 +358,8 @@ void Compositor::SetLayerTreeFrameSink(
|
||||||
@@ -25,7 +25,7 @@ index a0e6ea08b4918c057d69f15acad717f71d49747d..39e54cff7e13bddda0f37a4b87cbae2a
|
|||||||
display_private_->SetDisplayColorSpaces(display_color_spaces_);
|
display_private_->SetDisplayColorSpaces(display_color_spaces_);
|
||||||
display_private_->SetDisplayColorMatrix(
|
display_private_->SetDisplayColorMatrix(
|
||||||
gfx::SkM44ToTransform(display_color_matrix_));
|
gfx::SkM44ToTransform(display_color_matrix_));
|
||||||
@@ -615,7 +616,9 @@ void Compositor::SetVisible(bool visible) {
|
@@ -609,7 +610,9 @@ void Compositor::SetVisible(bool visible) {
|
||||||
// updated then. We need to call this even if the visibility hasn't changed,
|
// updated then. We need to call this even if the visibility hasn't changed,
|
||||||
// for the same reason.
|
// for the same reason.
|
||||||
if (display_private_)
|
if (display_private_)
|
||||||
@@ -36,7 +36,7 @@ index a0e6ea08b4918c057d69f15acad717f71d49747d..39e54cff7e13bddda0f37a4b87cbae2a
|
|||||||
|
|
||||||
if (changed) {
|
if (changed) {
|
||||||
observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
|
observer_list_.Notify(&CompositorObserver::OnCompositorVisibilityChanged,
|
||||||
@@ -1075,6 +1078,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
@@ -1073,6 +1076,15 @@ void Compositor::MaybeUpdateObserveBeginFrame() {
|
||||||
host_begin_frame_observer_->GetBoundRemote());
|
host_begin_frame_observer_->GetBoundRemote());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -53,10 +53,10 @@ index a0e6ea08b4918c057d69f15acad717f71d49747d..39e54cff7e13bddda0f37a4b87cbae2a
|
|||||||
void Compositor::SetSeamlessRefreshRates(
|
void Compositor::SetSeamlessRefreshRates(
|
||||||
const std::vector<float>& seamless_refresh_rates) {
|
const std::vector<float>& seamless_refresh_rates) {
|
||||||
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
diff --git a/ui/compositor/compositor.h b/ui/compositor/compositor.h
|
||||||
index 2544d15677ac20c83118d5552c94eed103ac1eaa..6a556d339b89f4ff6fc94f4f659219ea5b5a6a63 100644
|
index 7f428fe96da978aa951354eb41f9ebec46cc6e9c..7e5a008d7b158c1af9a47f549426818bc22212f5 100644
|
||||||
--- a/ui/compositor/compositor.h
|
--- a/ui/compositor/compositor.h
|
||||||
+++ b/ui/compositor/compositor.h
|
+++ b/ui/compositor/compositor.h
|
||||||
@@ -519,6 +519,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
@@ -514,6 +514,10 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||||
|
|
||||||
const cc::LayerTreeSettings& GetLayerTreeSettings() const;
|
const cc::LayerTreeSettings& GetLayerTreeSettings() const;
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@ index 2544d15677ac20c83118d5552c94eed103ac1eaa..6a556d339b89f4ff6fc94f4f659219ea
|
|||||||
size_t saved_events_metrics_count_for_testing() const {
|
size_t saved_events_metrics_count_for_testing() const {
|
||||||
return host_->saved_events_metrics_count_for_testing();
|
return host_->saved_events_metrics_count_for_testing();
|
||||||
}
|
}
|
||||||
@@ -729,6 +733,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
@@ -724,6 +728,12 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
|
||||||
// See go/report-ux-metrics-at-painting for details.
|
// See go/report-ux-metrics-at-painting for details.
|
||||||
bool animation_started_ = false;
|
bool animation_started_ = false;
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ to support content settings UI. The support pulls in chrome content settings
|
|||||||
and UI code which are not valid in the scope of Electron.
|
and UI code which are not valid in the scope of Electron.
|
||||||
|
|
||||||
diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
diff --git a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||||
index 28b9c9789b4f477c1007e2c55efa90d01f8c21a7..57506f2fa6d31abdc4c50abd0dbf1749c2b4087e 100644
|
index de8cfaabed0e4ed3db9b55729f7ea22014f63dd2..45df203c236ed0f36f079ad0dcbe98e9fc177b08 100644
|
||||||
--- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
--- a/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||||
+++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
+++ b/chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc
|
||||||
@@ -6,6 +6,7 @@
|
@@ -6,6 +6,7 @@
|
||||||
@@ -18,9 +18,9 @@ index 28b9c9789b4f477c1007e2c55efa90d01f8c21a7..57506f2fa6d31abdc4c50abd0dbf1749
|
|||||||
#include "base/numerics/safe_conversions.h"
|
#include "base/numerics/safe_conversions.h"
|
||||||
+#include "build/branding_buildflags.h"
|
+#include "build/branding_buildflags.h"
|
||||||
#include "chrome/browser/picture_in_picture/picture_in_picture_bounds_cache.h"
|
#include "chrome/browser/picture_in_picture/picture_in_picture_bounds_cache.h"
|
||||||
#include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h"
|
|
||||||
#include "chrome/browser/ui/browser_navigator_params.h"
|
#include "chrome/browser/ui/browser_navigator_params.h"
|
||||||
@@ -32,8 +33,10 @@
|
#include "content/public/browser/document_picture_in_picture_window_controller.h"
|
||||||
|
@@ -31,8 +32,10 @@
|
||||||
#include "base/task/sequenced_task_runner.h"
|
#include "base/task/sequenced_task_runner.h"
|
||||||
// TODO(crbug.com/421608904): include auto_picture_in_picture_tab_helper for
|
// TODO(crbug.com/421608904): include auto_picture_in_picture_tab_helper for
|
||||||
// Android when supporting document PiP.
|
// Android when supporting document PiP.
|
||||||
@@ -28,9 +28,9 @@ index 28b9c9789b4f477c1007e2c55efa90d01f8c21a7..57506f2fa6d31abdc4c50abd0dbf1749
|
|||||||
#include "chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.h"
|
#include "chrome/browser/picture_in_picture/auto_picture_in_picture_tab_helper.h"
|
||||||
#include "chrome/browser/picture_in_picture/auto_pip_setting_overlay_view.h"
|
#include "chrome/browser/picture_in_picture/auto_pip_setting_overlay_view.h"
|
||||||
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||||
|
#include "chrome/browser/picture_in_picture/picture_in_picture_occlusion_tracker.h"
|
||||||
#include "chrome/browser/picture_in_picture/picture_in_picture_window.h"
|
#include "chrome/browser/picture_in_picture/picture_in_picture_window.h"
|
||||||
#include "media/base/media_switches.h"
|
#include "media/base/media_switches.h"
|
||||||
#include "net/base/url_util.h"
|
|
||||||
@@ -68,6 +71,7 @@ constexpr double kMaxWindowSizeRatio = 0.8;
|
@@ -68,6 +71,7 @@ constexpr double kMaxWindowSizeRatio = 0.8;
|
||||||
// `kMaxWindowSizeRatio`.
|
// `kMaxWindowSizeRatio`.
|
||||||
constexpr double kMaxSiteRequestedWindowSizeRatio = 0.25;
|
constexpr double kMaxSiteRequestedWindowSizeRatio = 0.25;
|
||||||
|
|||||||
@@ -9,10 +9,10 @@ focus node change via TextInputManager.
|
|||||||
chromium-bug: https://crbug.com/1369605
|
chromium-bug: https://crbug.com/1369605
|
||||||
|
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
index 34fca79b7c87b2fd098271fb5a4f83c015eeb2bc..12363555481b504ea69f822319aadadee5b03a2f 100644
|
index bbcf0a84cbb912279b6c698af0371cfee313c96c..bdc7541ccb7cd1ffe0b1a53360e32dc98c22e6fd 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||||
@@ -3245,6 +3245,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
|
@@ -3246,6 +3246,12 @@ void RenderWidgetHostViewAura::OnTextSelectionChanged(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,10 +26,10 @@ index 34fca79b7c87b2fd098271fb5a4f83c015eeb2bc..12363555481b504ea69f822319aadade
|
|||||||
RenderWidgetHostViewAura* popup_child_host_view) {
|
RenderWidgetHostViewAura* popup_child_host_view) {
|
||||||
popup_child_host_view_ = popup_child_host_view;
|
popup_child_host_view_ = popup_child_host_view;
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
|
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h
|
||||||
index 7328d8cc05de07a66685ce4ca41a57385b7acc6b..6c757ec57d2bffa638b49c9c1d9c0825ccc0d909 100644
|
index 051faabada8b61788090d47482d4c1c20eaedef7..e9d496173fed9969a5e40d59bbbd4b20128ff1b3 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
|
--- a/content/browser/renderer_host/render_widget_host_view_aura.h
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
|
+++ b/content/browser/renderer_host/render_widget_host_view_aura.h
|
||||||
@@ -652,6 +652,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
@@ -657,6 +657,8 @@ class CONTENT_EXPORT RenderWidgetHostViewAura
|
||||||
RenderWidgetHostViewBase* updated_view) override;
|
RenderWidgetHostViewBase* updated_view) override;
|
||||||
void OnTextSelectionChanged(TextInputManager* text_input_mangager,
|
void OnTextSelectionChanged(TextInputManager* text_input_mangager,
|
||||||
RenderWidgetHostViewBase* updated_view) override;
|
RenderWidgetHostViewBase* updated_view) override;
|
||||||
@@ -87,10 +87,10 @@ index 75df43e3cd2721a92c90c18154d53d5c203e2465..ce42c75c8face36d21f53f44c0201ac4
|
|||||||
// 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 5bca1c0fbaa4dc3c6294fa206463ca3190a0367d..366399484c0ff72362fd246dc36182e611954283 100644
|
index 47bbe40f74ded6be7d5ae4e1c96331bef3070291..a180b19360dd35f38a2927d01a3fd3ecd0c7dd4e 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
|
||||||
@@ -10119,7 +10119,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
@@ -10134,7 +10134,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||||
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
"WebContentsImpl::OnFocusedElementChangedInFrame",
|
||||||
"render_frame_host", frame);
|
"render_frame_host", frame);
|
||||||
RenderWidgetHostViewBase* root_view =
|
RenderWidgetHostViewBase* root_view =
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ 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 e07b2d171bbc33e271c5cef7e49e3451a8cdff84..0e2b978b3f35e5805d380da398bba58fcd256310 100644
|
index d7de0324994cf69009eb5be92110351e98ba47fb..12df047f66b9e3184b7421aa5fbe4e91e340e395 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
|
||||||
@@ -2153,9 +2153,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
@@ -2154,9 +2154,8 @@ RenderWidgetHostImpl::GetWidgetInputHandler() {
|
||||||
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
|
void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
|
||||||
// The resize message (which may not happen immediately) will carry with it
|
// The resize message (which may not happen immediately) will carry with it
|
||||||
// the screen info as well as the new size (if the screen has changed scale
|
// the screen info as well as the new size (if the screen has changed scale
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ index cba373664bec3a32abad6fe0396bd67b53b7e67f..a54f1b3351efd2d8f324436f7f35cd43
|
|||||||
|
|
||||||
#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 e96fca375fc3eb2504dd6f82e5be2c025d23089e..62615df61435da20f7c93adf71a98c91ae151d5d 100644
|
index ac4623d35dc9d0765fef5aedfc635df14f95ced3..2db446cddef9dc0505e9c9a7a75cba5d43018959 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
|
||||||
@@ -3185,6 +3185,7 @@ void LocalFrame::RequestExecuteScript(
|
@@ -3185,6 +3185,7 @@ void LocalFrame::RequestExecuteScript(
|
||||||
@@ -80,10 +80,10 @@ index e96fca375fc3eb2504dd6f82e5be2c025d23089e..62615df61435da20f7c93adf71a98c91
|
|||||||
|
|
||||||
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 71eb863235ef37ef3a9671a825ef25c1b444bae4..e8870377d3c822a341fb9bec98c7cd67c184f20d 100644
|
index 6ea33fee79cf65d4badcd28c088d23ad985cdaec..b0784aea80b095d371e7477139ec79ae89b41ec3 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
|
||||||
@@ -826,6 +826,7 @@ class CORE_EXPORT LocalFrame final
|
@@ -828,6 +828,7 @@ class CORE_EXPORT LocalFrame final
|
||||||
mojom::blink::EvaluationTiming,
|
mojom::blink::EvaluationTiming,
|
||||||
mojom::blink::LoadEventBlockingOption,
|
mojom::blink::LoadEventBlockingOption,
|
||||||
WebScriptExecutionCallback,
|
WebScriptExecutionCallback,
|
||||||
@@ -215,10 +215,10 @@ index 389ba18d5c709156f0c8da2e578825ba59ce6190..1dcfee3a5f43a4be6a57511b194aa685
|
|||||||
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
|
mojom::blink::WantResultOption::kWantResult, wait_for_promise);
|
||||||
}
|
}
|
||||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
index 6f5745a56ad0a64649c726355808095e96567915..0cc0203f0bf1016c29ca508a7fc23f21f5c85234 100644
|
index 57d2bc0f0247b116859bc16bab54ae5e18c4bb23..2dfb326accfbc2e3540a160c2c1f7f2a21807783 100644
|
||||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||||
@@ -1123,14 +1123,15 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
@@ -1125,14 +1125,15 @@ void WebLocalFrameImpl::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,
|
||||||
|
|||||||
@@ -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 d69a82b80bf621b1546f376cd7bc6588327f70a9..d3fc15ddcd7bdaf46016a3d7ad46da19b0fd6644 100644
|
index e880eb61f6cbbb6b3cb9e0262981457e77360e5b..e69e25b301deb94216397badadc333aaf10af3b5 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
|
||||||
@@ -964,9 +964,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
@@ -976,9 +976,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||||
|
|
||||||
switch (source.type) {
|
switch (source.type) {
|
||||||
case DesktopMediaID::TYPE_SCREEN: {
|
case DesktopMediaID::TYPE_SCREEN: {
|
||||||
@@ -38,7 +38,7 @@ index d69a82b80bf621b1546f376cd7bc6588327f70a9..d3fc15ddcd7bdaf46016a3d7ad46da19
|
|||||||
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);
|
||||||
@@ -979,8 +986,15 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
@@ -995,8 +1002,15 @@ 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 8b25708f074cbf0e0aa9c750bf54af58aadf4358..93ae522c5cb5dd3e03097d8631562d25dc0063ef 100644
|
index b930c5e23c9d10b9be4126cf2eeb057ab04c519f..945f17e13f47462acc3895a3340cd1080d3043e9 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
|
||||||
@@ -4792,6 +4792,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
@@ -4797,6 +4797,9 @@ RenderFrameHostManager::GetSiteInstanceForNavigationRequest(
|
||||||
request->ResetStateForSiteInstanceChange();
|
request->ResetStateForSiteInstanceChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ We don't use gin to create the V8 platform, because we need to inject Node
|
|||||||
things.
|
things.
|
||||||
|
|
||||||
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
||||||
index 8a9be905bcbe9ccc8afaae2795605f87b81465d9..ab574fd81bc08e109123f07f095d26e19504baa0 100644
|
index 456409c9e84c7a061d474470c8e42c5ddb5eb799..87187d05175a9da4fd7af03ba8a139a2d9554551 100644
|
||||||
--- a/gin/isolate_holder.cc
|
--- a/gin/isolate_holder.cc
|
||||||
+++ b/gin/isolate_holder.cc
|
+++ b/gin/isolate_holder.cc
|
||||||
@@ -162,11 +162,13 @@ void IsolateHolder::Initialize(ScriptMode mode,
|
@@ -162,11 +162,13 @@ void IsolateHolder::Initialize(ScriptMode mode,
|
||||||
|
|||||||
@@ -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 dd44a6f6850fe36d9a159e98cd1ffb23df10876d..9850329b7dfdabb00463a570932ff50911556011 100644
|
index 0b26bb83f4ac8b9e394dee53dee6117adf2e3f28..734939a9e901583fb359a3e02e8a4531a322013a 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
|
||||||
@@ -1585,6 +1585,11 @@
|
@@ -1593,6 +1593,11 @@
|
||||||
"messages": [10120],
|
"messages": [10120],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ for us to register the isolate in between Isolate::Allocate and
|
|||||||
Isolate::Initialize.
|
Isolate::Initialize.
|
||||||
|
|
||||||
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
diff --git a/gin/isolate_holder.cc b/gin/isolate_holder.cc
|
||||||
index ab574fd81bc08e109123f07f095d26e19504baa0..656267caef2d515f8c3f77535b308108a0b30be1 100644
|
index 87187d05175a9da4fd7af03ba8a139a2d9554551..05c899258143a958471f361b87324f7500d594c9 100644
|
||||||
--- a/gin/isolate_holder.cc
|
--- a/gin/isolate_holder.cc
|
||||||
+++ b/gin/isolate_holder.cc
|
+++ b/gin/isolate_holder.cc
|
||||||
@@ -81,7 +81,8 @@ IsolateHolder::IsolateHolder(
|
@@ -81,7 +81,8 @@ IsolateHolder::IsolateHolder(
|
||||||
|
|||||||
@@ -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 f96e2575849490fa8b2060b00c092ce90d540324..3babc3bbf4b7af1833254e8b92d7cd669877e168 100644
|
index eb710b05758b8a5db171e84ecb7a2c072076940a..b74719e075c550146cf6879a33c0e08a0177aeae 100644
|
||||||
--- a/base/BUILD.gn
|
--- a/base/BUILD.gn
|
||||||
+++ b/base/BUILD.gn
|
+++ b/base/BUILD.gn
|
||||||
@@ -1060,6 +1060,7 @@ component("base") {
|
@@ -1064,6 +1064,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",
|
||||||
@@ -195,10 +195,10 @@ index e12c1d078147d956a1d9b1bc498c1b1d6fe7b974..233362259dc4e728ed37435e65041764
|
|||||||
|
|
||||||
} // namespace base
|
} // namespace base
|
||||||
diff --git a/components/os_crypt/sync/BUILD.gn b/components/os_crypt/sync/BUILD.gn
|
diff --git a/components/os_crypt/sync/BUILD.gn b/components/os_crypt/sync/BUILD.gn
|
||||||
index 45d8e77cdfe6539563d16dd93fd48f8241f4bfca..e9fffc2e3f0520a56ff5753a4a1abfc11c795b83 100644
|
index 4021f6fb72cd997f502fd0f8cadf4452fd473c41..43d25c4826c00af26fad9b4ed3c3bf0fee091fd4 100644
|
||||||
--- a/components/os_crypt/sync/BUILD.gn
|
--- a/components/os_crypt/sync/BUILD.gn
|
||||||
+++ b/components/os_crypt/sync/BUILD.gn
|
+++ b/components/os_crypt/sync/BUILD.gn
|
||||||
@@ -76,6 +76,8 @@ component("sync") {
|
@@ -65,6 +65,8 @@ component("sync") {
|
||||||
"os_crypt_mac.mm",
|
"os_crypt_mac.mm",
|
||||||
]
|
]
|
||||||
deps += [ "//crypto:mock_apple_keychain" ]
|
deps += [ "//crypto:mock_apple_keychain" ]
|
||||||
@@ -548,7 +548,7 @@ index 010c713090e5038dc90db131c8f621422d30c03b..20c35e887a0496ee609c077e3b0494bd
|
|||||||
|
|
||||||
void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event,
|
void ForwardKeyboardEvent(const input::NativeWebKeyboardEvent& key_event,
|
||||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
index e2b316223ee5cbd99cb5f9f69c5454600cb8f74f..3d5cf1f31281e8412e6cdb441e6aa7954ad2d601 100644
|
index e51fd827f7afc01a5189737f86a2414627a6546e..bb50f03ba5622c2bfb96bc75d145f471a920c3bf 100644
|
||||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
@@ -34,6 +34,7 @@
|
@@ -34,6 +34,7 @@
|
||||||
@@ -582,10 +582,10 @@ index e2b316223ee5cbd99cb5f9f69c5454600cb8f74f..3d5cf1f31281e8412e6cdb441e6aa795
|
|||||||
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 fbcca47f273a226fbed885f7dc56662778ecff8c..37b070c55bdda55136e1ed76771e10eb883a3a0e 100644
|
index 9e8831ceb624e757e5174d0c7a6e2659c132245c..b468ad7f19389157c73e2f7305e57160db8f96fa 100644
|
||||||
--- a/content/browser/BUILD.gn
|
--- a/content/browser/BUILD.gn
|
||||||
+++ b/content/browser/BUILD.gn
|
+++ b/content/browser/BUILD.gn
|
||||||
@@ -347,6 +347,7 @@ source_set("browser") {
|
@@ -346,6 +346,7 @@ source_set("browser") {
|
||||||
"//ui/webui/resources",
|
"//ui/webui/resources",
|
||||||
"//v8",
|
"//v8",
|
||||||
"//v8:v8_version",
|
"//v8:v8_version",
|
||||||
@@ -594,7 +594,7 @@ index fbcca47f273a226fbed885f7dc56662778ecff8c..37b070c55bdda55136e1ed76771e10eb
|
|||||||
|
|
||||||
public_deps = [
|
public_deps = [
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
|
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||||
index 319e58e5c3cad4ec47fca2c7cb0d59d4c5fd460c..d17bdb51081cee80f6f43199057de557063ecf1a 100644
|
index 29a5a99fa2c8e90812bd7ff40b153ead807bdbef..c8683c70f8cabfa89c95c28dc5fe59f42e9970c6 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
|
--- a/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
|
+++ b/content/browser/renderer_host/render_widget_host_view_mac.h
|
||||||
@@ -24,6 +24,7 @@
|
@@ -24,6 +24,7 @@
|
||||||
@@ -605,7 +605,7 @@ index 319e58e5c3cad4ec47fca2c7cb0d59d4c5fd460c..d17bdb51081cee80f6f43199057de557
|
|||||||
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
#include "mojo/public/cpp/bindings/associated_receiver.h"
|
||||||
#include "mojo/public/cpp/bindings/associated_remote.h"
|
#include "mojo/public/cpp/bindings/associated_remote.h"
|
||||||
#include "third_party/blink/public/mojom/webshare/webshare.mojom.h"
|
#include "third_party/blink/public/mojom/webshare/webshare.mojom.h"
|
||||||
@@ -54,7 +55,9 @@ class CursorManager;
|
@@ -58,7 +59,9 @@ struct CopyOutputBitmapWithMetadata;
|
||||||
|
|
||||||
@protocol RenderWidgetHostViewMacDelegate;
|
@protocol RenderWidgetHostViewMacDelegate;
|
||||||
|
|
||||||
@@ -615,7 +615,7 @@ index 319e58e5c3cad4ec47fca2c7cb0d59d4c5fd460c..d17bdb51081cee80f6f43199057de557
|
|||||||
@class RenderWidgetHostViewCocoa;
|
@class RenderWidgetHostViewCocoa;
|
||||||
|
|
||||||
namespace content {
|
namespace content {
|
||||||
@@ -675,9 +678,11 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
|
@@ -680,9 +683,11 @@ class CONTENT_EXPORT RenderWidgetHostViewMac
|
||||||
// EnsureSurfaceSynchronizedForWebTest().
|
// EnsureSurfaceSynchronizedForWebTest().
|
||||||
uint32_t latest_capture_sequence_number_ = 0u;
|
uint32_t latest_capture_sequence_number_ = 0u;
|
||||||
|
|
||||||
@@ -628,7 +628,7 @@ index 319e58e5c3cad4ec47fca2c7cb0d59d4c5fd460c..d17bdb51081cee80f6f43199057de557
|
|||||||
// Used to force the NSApplication's focused accessibility element to be the
|
// Used to force the NSApplication's focused accessibility element to be the
|
||||||
// content::BrowserAccessibilityCocoa accessibility tree when the NSView for
|
// content::BrowserAccessibilityCocoa accessibility tree when the NSView for
|
||||||
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
index 439cb7e93e802c689e16a24853f3ce75216ec74f..1fde0953bdc8bf3cd777206d7d340188ebf946fb 100644
|
index 1c091d1bfaea0fe00e99584d153a1b36bf574b9e..9524be857c44a6523cf101d3cd24e69b30291c50 100644
|
||||||
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
|
||||||
@@ -52,6 +52,7 @@
|
@@ -52,6 +52,7 @@
|
||||||
@@ -650,7 +650,7 @@ index 439cb7e93e802c689e16a24853f3ce75216ec74f..1fde0953bdc8bf3cd777206d7d340188
|
|||||||
|
|
||||||
// Reset `ns_view_` before resetting `remote_ns_view_` to avoid dangling
|
// Reset `ns_view_` before resetting `remote_ns_view_` to avoid dangling
|
||||||
// pointers. `ns_view_` gets reinitialized later in this method.
|
// pointers. `ns_view_` gets reinitialized later in this method.
|
||||||
@@ -1652,10 +1655,12 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
@@ -1653,10 +1656,12 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||||
|
|
||||||
gfx::NativeViewAccessible
|
gfx::NativeViewAccessible
|
||||||
RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() {
|
RenderWidgetHostViewMac::AccessibilityGetNativeViewAccessibleForWindow() {
|
||||||
@@ -663,7 +663,7 @@ index 439cb7e93e802c689e16a24853f3ce75216ec74f..1fde0953bdc8bf3cd777206d7d340188
|
|||||||
return gfx::NativeViewAccessible([GetInProcessNSView() window]);
|
return gfx::NativeViewAccessible([GetInProcessNSView() window]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1707,9 +1712,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
@@ -1708,9 +1713,11 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||||
}
|
}
|
||||||
|
|
||||||
void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) {
|
void RenderWidgetHostViewMac::SetAccessibilityWindow(NSWindow* window) {
|
||||||
@@ -675,7 +675,7 @@ index 439cb7e93e802c689e16a24853f3ce75216ec74f..1fde0953bdc8bf3cd777206d7d340188
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame(
|
bool RenderWidgetHostViewMac::SyncIsWidgetForMainFrame(
|
||||||
@@ -2212,20 +2219,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
@@ -2213,20 +2220,26 @@ void CombineTextNodesAndMakeCallback(SpeechCallback callback,
|
||||||
void RenderWidgetHostViewMac::GetRenderWidgetAccessibilityToken(
|
void RenderWidgetHostViewMac::GetRenderWidgetAccessibilityToken(
|
||||||
GetRenderWidgetAccessibilityTokenCallback callback) {
|
GetRenderWidgetAccessibilityTokenCallback callback) {
|
||||||
base::ProcessId pid = getpid();
|
base::ProcessId pid = getpid();
|
||||||
@@ -797,7 +797,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 c9e14f94e0f713b09db8ec3e29702f7b948f1e3b..f52984c0ad9611933a75b7e359bc2d35ff0cd575 100644
|
index 5f1636775e238ef9e1722d6f54d358d0f7f21cbe..8ebf47f05e7395a8db8325e74f17bc89bef2f019 100644
|
||||||
--- a/content/test/BUILD.gn
|
--- a/content/test/BUILD.gn
|
||||||
+++ b/content/test/BUILD.gn
|
+++ b/content/test/BUILD.gn
|
||||||
@@ -703,6 +703,7 @@ static_library("test_support") {
|
@@ -703,6 +703,7 @@ static_library("test_support") {
|
||||||
@@ -938,7 +938,7 @@ index d288ffce5c1265adbdefc571f840851026e7479e..e9a6e8c31401750d270fcc55ef1116b2
|
|||||||
|
|
||||||
namespace ui {
|
namespace ui {
|
||||||
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
diff --git a/media/audio/BUILD.gn b/media/audio/BUILD.gn
|
||||||
index cbda18b7646aacd6f15284faaefeafd452bb5ce9..9e60819fd389aed880b314f7152190c7cacf4429 100644
|
index 9388ffac4f70746b04e533b51faf4f2d55ab3358..98f45dc973159b5823d8a0433dfd4bc634874b1e 100644
|
||||||
--- a/media/audio/BUILD.gn
|
--- a/media/audio/BUILD.gn
|
||||||
+++ b/media/audio/BUILD.gn
|
+++ b/media/audio/BUILD.gn
|
||||||
@@ -203,6 +203,7 @@ source_set("audio") {
|
@@ -203,6 +203,7 @@ source_set("audio") {
|
||||||
@@ -950,7 +950,7 @@ index cbda18b7646aacd6f15284faaefeafd452bb5ce9..9e60819fd389aed880b314f7152190c7
|
|||||||
|
|
||||||
if (is_ios) {
|
if (is_ios) {
|
||||||
diff --git a/media/audio/apple/audio_low_latency_input.cc b/media/audio/apple/audio_low_latency_input.cc
|
diff --git a/media/audio/apple/audio_low_latency_input.cc b/media/audio/apple/audio_low_latency_input.cc
|
||||||
index 5eda5e58b30b84795ec3827aad7ce97171400097..60bf6c34e8d824ea6d4e02b2951568604db68f43 100644
|
index 6cde211f88439af0925296b0c8c9500aecadc034..08e7053117478ea898264040eea119dcc21ae8e2 100644
|
||||||
--- a/media/audio/apple/audio_low_latency_input.cc
|
--- a/media/audio/apple/audio_low_latency_input.cc
|
||||||
+++ b/media/audio/apple/audio_low_latency_input.cc
|
+++ b/media/audio/apple/audio_low_latency_input.cc
|
||||||
@@ -29,6 +29,7 @@
|
@@ -29,6 +29,7 @@
|
||||||
@@ -1396,10 +1396,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 267e8ddfe2905f169a7cf9a819a4baa82b47770e..3a9fe67e684df903c256b396ce024c0c6f7c92a7 100644
|
index 299d9850d09c0ae6380c16c4fdd5c7d355f99032..61b3f8f2cefc6b8e108ab22f7a4b6b33ed6922d4 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
|
||||||
@@ -427,6 +427,7 @@ component("core") {
|
@@ -428,6 +428,7 @@ component("core") {
|
||||||
"//ui/gfx/geometry",
|
"//ui/gfx/geometry",
|
||||||
"//ui/gfx/geometry:geometry_skia",
|
"//ui/gfx/geometry:geometry_skia",
|
||||||
"//ui/strings",
|
"//ui/strings",
|
||||||
@@ -1759,10 +1759,10 @@ index 93e90c4eba9bc9b93d68e834eb6baabeb2d0ecf0..1b90f41d05f847a94adf2f4da827b1d0
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
|
diff --git a/ui/display/BUILD.gn b/ui/display/BUILD.gn
|
||||||
index ca9b2b6f9a4e070d2fd40a6fec672d612ff757e0..87eee402eb38270690b798b67a368e113008d8cc 100644
|
index 41572ec01d71f56eb8815cf9845e2c4ccefb9964..90c72f19b557d985581c7250187616ee85821964 100644
|
||||||
--- a/ui/display/BUILD.gn
|
--- a/ui/display/BUILD.gn
|
||||||
+++ b/ui/display/BUILD.gn
|
+++ b/ui/display/BUILD.gn
|
||||||
@@ -131,6 +131,12 @@ component("display") {
|
@@ -132,6 +132,12 @@ component("display") {
|
||||||
"//ui/gfx/geometry",
|
"//ui/gfx/geometry",
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -1776,18 +1776,18 @@ index ca9b2b6f9a4e070d2fd40a6fec672d612ff757e0..87eee402eb38270690b798b67a368e11
|
|||||||
deps += [ "//build:ios_buildflags" ]
|
deps += [ "//build:ios_buildflags" ]
|
||||||
}
|
}
|
||||||
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
diff --git a/ui/display/mac/screen_mac.mm b/ui/display/mac/screen_mac.mm
|
||||||
index 4be0d3508981ca6e7f06134b9c44e8eff39799fc..688c60025bd5ce14f9b790760e537bf7b5651268 100644
|
index 7f08f6e5870b021e578fe29f42fd6476ab53a8df..88e884c1510ad617b86678ed31a7bbaa71518742 100644
|
||||||
--- a/ui/display/mac/screen_mac.mm
|
--- a/ui/display/mac/screen_mac.mm
|
||||||
+++ b/ui/display/mac/screen_mac.mm
|
+++ b/ui/display/mac/screen_mac.mm
|
||||||
@@ -33,6 +33,7 @@
|
@@ -34,6 +34,7 @@
|
||||||
#include "base/trace_event/trace_event.h"
|
|
||||||
#include "build/build_config.h"
|
#include "build/build_config.h"
|
||||||
#include "components/device_event_log/device_event_log.h"
|
#include "components/device_event_log/device_event_log.h"
|
||||||
|
#include "components/viz/common/resources/shared_image_format.h"
|
||||||
+#include "electron/mas.h"
|
+#include "electron/mas.h"
|
||||||
#include "ui/display/display.h"
|
#include "ui/display/display.h"
|
||||||
#include "ui/display/display_change_notifier.h"
|
#include "ui/display/display_change_notifier.h"
|
||||||
#include "ui/display/mac/screen_mac_headless.h"
|
#include "ui/display/mac/screen_mac_headless.h"
|
||||||
@@ -182,7 +183,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
@@ -184,7 +185,17 @@ DisplayMac BuildDisplayForScreen(NSScreen* screen) {
|
||||||
display.set_color_depth(Display::kDefaultBitsPerPixel);
|
display.set_color_depth(Display::kDefaultBitsPerPixel);
|
||||||
display.set_depth_per_component(Display::kDefaultBitsPerComponent);
|
display.set_depth_per_component(Display::kDefaultBitsPerComponent);
|
||||||
}
|
}
|
||||||
@@ -1806,7 +1806,7 @@ index 4be0d3508981ca6e7f06134b9c44e8eff39799fc..688c60025bd5ce14f9b790760e537bf7
|
|||||||
// Query the display's refresh rate.
|
// Query the display's refresh rate.
|
||||||
double refresh_rate = 1.0 / screen.minimumRefreshInterval;
|
double refresh_rate = 1.0 / screen.minimumRefreshInterval;
|
||||||
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
|
||||||
index a00134fb815bd413dca8ae9581f488a3d3f42910..26c83b597a3e6846c1c1c11eefe6f9d7a8ac2619 100644
|
index 0bcdadec85f2a12a226b1bcac3db387e1593757c..ea89c8c2ee61f55d5a5db4ec0ad360d180bde024 100644
|
||||||
--- a/ui/gfx/BUILD.gn
|
--- a/ui/gfx/BUILD.gn
|
||||||
+++ b/ui/gfx/BUILD.gn
|
+++ b/ui/gfx/BUILD.gn
|
||||||
@@ -335,6 +335,12 @@ component("gfx") {
|
@@ -335,6 +335,12 @@ component("gfx") {
|
||||||
@@ -1918,7 +1918,7 @@ index e855d05f466059f20a31022a1a2810eeadeb4fff..e523151fb670af28cf2c54548c500982
|
|||||||
// Used to force the NSApplication's focused accessibility element to be the
|
// Used to force the NSApplication's focused accessibility element to be the
|
||||||
// views::Views accessibility tree when the NSView for this is focused.
|
// views::Views accessibility tree when the NSView for this is focused.
|
||||||
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
index 240bf8ce57ffce734263ecc62bda1ad70b1b60ce..7459d4c241e914248261c62b63652fd7139dd54e 100644
|
index ac4257215c61f3cb388e14f4439e23ac29f1307d..e1a1cdb2ec192d2ee5a555ecccf041f757336f79 100644
|
||||||
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
|
||||||
@@ -21,6 +21,7 @@
|
@@ -21,6 +21,7 @@
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ 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 a02161899767745c6ddfeafecdeec0181105e8a6..68ad4334b47b075ea6ed80f2f29e496089695f8d 100644
|
index c99cb040889eb820e1f32df1af6ac92698945991..f1a7f4ab3d77415c22417bac0bb7dd9a5fa91342 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
|
||||||
@@ -166,6 +166,11 @@
|
@@ -166,6 +166,11 @@
|
||||||
|
|||||||
@@ -31,10 +31,10 @@ index e94fccc1b564c349eb2d2c9acd0574c3589a2eaf..a75a55b6c54f5aacc915a27d2aa99395
|
|||||||
const GURL& origin,
|
const GURL& origin,
|
||||||
const GURL& document_url,
|
const GURL& document_url,
|
||||||
diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc
|
diff --git a/content/browser/notifications/blink_notification_service_impl.cc b/content/browser/notifications/blink_notification_service_impl.cc
|
||||||
index e06d4785c3bdc6567447ec6cb6f9bb6cf940c9cc..ce786b2271c997cd66213db9fc444757d00a6d9b 100644
|
index 2fd342198d04c5d7fa7e80c0893a905a22ff4601..b907b5588541337576e96bbee7c2c29c1b7355a5 100644
|
||||||
--- a/content/browser/notifications/blink_notification_service_impl.cc
|
--- a/content/browser/notifications/blink_notification_service_impl.cc
|
||||||
+++ b/content/browser/notifications/blink_notification_service_impl.cc
|
+++ b/content/browser/notifications/blink_notification_service_impl.cc
|
||||||
@@ -85,12 +85,14 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
|
@@ -87,12 +87,14 @@ BlinkNotificationServiceImpl::BlinkNotificationServiceImpl(
|
||||||
BrowserContext* browser_context,
|
BrowserContext* browser_context,
|
||||||
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
|
scoped_refptr<ServiceWorkerContextWrapper> service_worker_context,
|
||||||
RenderProcessHost* render_process_host,
|
RenderProcessHost* render_process_host,
|
||||||
@@ -49,7 +49,7 @@ index e06d4785c3bdc6567447ec6cb6f9bb6cf940c9cc..ce786b2271c997cd66213db9fc444757
|
|||||||
browser_context_(browser_context),
|
browser_context_(browser_context),
|
||||||
service_worker_context_(std::move(service_worker_context)),
|
service_worker_context_(std::move(service_worker_context)),
|
||||||
render_process_host_id_(render_process_host->GetDeprecatedID()),
|
render_process_host_id_(render_process_host->GetDeprecatedID()),
|
||||||
@@ -190,7 +192,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
|
@@ -198,7 +200,7 @@ void BlinkNotificationServiceImpl::DisplayNonPersistentNotification(
|
||||||
creator_type_);
|
creator_type_);
|
||||||
|
|
||||||
browser_context_->GetPlatformNotificationService()->DisplayNotification(
|
browser_context_->GetPlatformNotificationService()->DisplayNotification(
|
||||||
@@ -133,7 +133,7 @@ index 5be62a3fb27e37f3c1db6b811172f6dfebe18f61..34349f9832fe4b9a3d48db613a789afb
|
|||||||
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 1bc649d5382bbfd9565dcca8a25dfa06d6bc9735..b01a2051cee154cc002e4c0274e8955b4eccfe38 100644
|
index a06f8fcefd34ea766ed4cfd842916d3d579948ba..42f8ca40427cc0f95e9e4e0df5708a80d022c522 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
|
||||||
@@ -2305,7 +2305,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
@@ -2305,7 +2305,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||||
|
|||||||
@@ -10,11 +10,11 @@ The keyed mutex introduce extra performance cost and spikes. However, at offscre
|
|||||||
For resolving complex conflict please pin @reitowo
|
For resolving complex conflict please pin @reitowo
|
||||||
For more reason please see: https://crrev.com/c/5465148
|
For more reason please see: https://crrev.com/c/5465148
|
||||||
|
|
||||||
diff --git a/gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_dxgi.cc b/gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_dxgi.cc
|
diff --git a/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc b/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc
|
||||||
index e0b94914e0cf7dc83503fa4a4b7fa75442e5b404..b8ffc6ce4973a3d2ef194e4289ad8bba122f315a 100644
|
index a3b6969a20f08bc4b6f9baac645da3dcb6d1bbfb..683c36ba3e6190b03ee777ba8e5f0ed445c1047c 100644
|
||||||
--- a/gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_dxgi.cc
|
--- a/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc
|
||||||
+++ b/gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_dxgi.cc
|
+++ b/gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc
|
||||||
@@ -170,7 +170,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateNativeGmbHandle(
|
@@ -383,7 +383,8 @@ gfx::GpuMemoryBufferHandle D3DImageBackingFactory::CreateGpuMemoryBufferHandle(
|
||||||
// so make sure that the usage is one that we support.
|
// so make sure that the usage is one that we support.
|
||||||
DCHECK(usage == gfx::BufferUsage::GPU_READ ||
|
DCHECK(usage == gfx::BufferUsage::GPU_READ ||
|
||||||
usage == gfx::BufferUsage::SCANOUT ||
|
usage == gfx::BufferUsage::SCANOUT ||
|
||||||
@@ -24,7 +24,7 @@ index e0b94914e0cf7dc83503fa4a4b7fa75442e5b404..b8ffc6ce4973a3d2ef194e4289ad8bba
|
|||||||
<< "Incorrect usage, usage=" << gfx::BufferUsageToString(usage);
|
<< "Incorrect usage, usage=" << gfx::BufferUsageToString(usage);
|
||||||
|
|
||||||
D3D11_TEXTURE2D_DESC desc = {
|
D3D11_TEXTURE2D_DESC desc = {
|
||||||
@@ -184,7 +185,9 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateNativeGmbHandle(
|
@@ -397,7 +398,9 @@ gfx::GpuMemoryBufferHandle D3DImageBackingFactory::CreateGpuMemoryBufferHandle(
|
||||||
D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET,
|
D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET,
|
||||||
0,
|
0,
|
||||||
D3D11_RESOURCE_MISC_SHARED_NTHANDLE |
|
D3D11_RESOURCE_MISC_SHARED_NTHANDLE |
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ index 9a4195a3e53353342c75d6c4372ed4c27ef13fd3..bc1bfa1ac381ec94121a264d9dcbae9e
|
|||||||
// 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 1156ea5df2a390604b822b82cf42940029fea1f7..e07b2d171bbc33e271c5cef7e49e3451a8cdff84 100644
|
index 755fa9cf571873072d67d97226e7d847c618afcf..d7de0324994cf69009eb5be92110351e98ba47fb 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
|
||||||
@@ -2072,6 +2072,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
|
@@ -2073,6 +2073,9 @@ void RenderWidgetHostImpl::SetCursor(const ui::Cursor& cursor) {
|
||||||
if (view_) {
|
if (view_) {
|
||||||
view_->UpdateCursor(cursor);
|
view_->UpdateCursor(cursor);
|
||||||
}
|
}
|
||||||
@@ -44,10 +44,10 @@ index 1156ea5df2a390604b822b82cf42940029fea1f7..e07b2d171bbc33e271c5cef7e49e3451
|
|||||||
|
|
||||||
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 655b289b783a8c35fb85fed715501b25a23acc85..e7a985973e1fd6ff51649d4e3fe802cc306c8f39 100644
|
index 32d16bae9a25d06f410f51d3cc25c27ea83c6821..b568a66369e246322698630e495826f0c1109221 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
|
||||||
@@ -6134,6 +6134,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
@@ -6149,6 +6149,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||||
return text_input_manager_.get();
|
return text_input_manager_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,10 +60,10 @@ index 655b289b783a8c35fb85fed715501b25a23acc85..e7a985973e1fd6ff51649d4e3fe802cc
|
|||||||
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 342a5f984838eba5aef7a535c3758bb96c0f89a3..034797826196560ab6b71f885d52c8e1c94c1a67 100644
|
index 0a739681261937520e86457eaf04ea0d41092ca9..364e3ad00c81fd003d3404b4c4fa3393c3ab443c 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
|
||||||
@@ -1179,6 +1179,7 @@ class CONTENT_EXPORT WebContentsImpl
|
@@ -1177,6 +1177,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 342a5f984838eba5aef7a535c3758bb96c0f89a3..034797826196560ab6b71f885d52c8e1
|
|||||||
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 62e5f908e2df02e5189bfb2e35e5311cd24f3948..167f0e2a69bd2d5bf3807edad7abe78873edaa1b 100644
|
index 4faff4e44a441cd9e95ee926d6e62a9249424433..bf06dcb8b69001f914541423824a144ac331f190 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
|
||||||
@@ -34,6 +34,7 @@
|
@@ -34,6 +34,7 @@
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ it in Electron and prevent drift from Chrome's blocklist. We should look for a w
|
|||||||
to upstream this change to Chrome.
|
to upstream this change to Chrome.
|
||||||
|
|
||||||
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf65ed4c4dc 100644
|
index 37aa6f6b51c8f83c6b3165ac230a691cecbfd303..f07dee4023f026eb57288f5e71bfa6014b558c00 100644
|
||||||
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
|
||||||
@@ -84,11 +84,13 @@
|
@@ -84,11 +84,13 @@
|
||||||
@@ -25,7 +25,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
#include "components/tabs/public/tab_interface.h"
|
#include "components/tabs/public/tab_interface.h"
|
||||||
#if BUILDFLAG(ENABLE_PLATFORM_APPS)
|
#if BUILDFLAG(ENABLE_PLATFORM_APPS)
|
||||||
#include "extensions/browser/extension_registry.h" // nogncheck
|
#include "extensions/browser/extension_registry.h" // nogncheck
|
||||||
@@ -265,190 +267,10 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
@@ -288,190 +290,10 @@ bool MaybeIsLocalUNCPath(const base::FilePath& path) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
|
|
||||||
// Checks if `path` should be blocked by the `rules`.
|
// Checks if `path` should be blocked by the `rules`.
|
||||||
// The BlockType of the nearest ancestor of a path to check is what
|
// The BlockType of the nearest ancestor of a path to check is what
|
||||||
@@ -1363,16 +1185,6 @@ struct ChromeFileSystemAccessPermissionContext::OriginState {
|
@@ -1404,16 +1226,6 @@ struct ChromeFileSystemAccessPermissionContext::OriginState {
|
||||||
std::unique_ptr<base::RetainingOneShotTimer> cleanup_timer;
|
std::unique_ptr<base::RetainingOneShotTimer> cleanup_timer;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
ChromeFileSystemAccessPermissionContext::
|
ChromeFileSystemAccessPermissionContext::
|
||||||
ChromeFileSystemAccessPermissionContext(content::BrowserContext* context,
|
ChromeFileSystemAccessPermissionContext(content::BrowserContext* context,
|
||||||
const base::Clock* clock)
|
const base::Clock* clock)
|
||||||
@@ -1391,7 +1203,7 @@ ChromeFileSystemAccessPermissionContext::
|
@@ -1432,7 +1244,7 @@ ChromeFileSystemAccessPermissionContext::
|
||||||
#if BUILDFLAG(IS_ANDROID)
|
#if BUILDFLAG(IS_ANDROID)
|
||||||
one_time_permissions_tracker_.Observe(
|
one_time_permissions_tracker_.Observe(
|
||||||
OneTimePermissionsTrackerFactory::GetForBrowserContext(context));
|
OneTimePermissionsTrackerFactory::GetForBrowserContext(context));
|
||||||
@@ -246,7 +246,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
auto* provider = web_app::WebAppProvider::GetForWebApps(
|
auto* provider = web_app::WebAppProvider::GetForWebApps(
|
||||||
Profile::FromBrowserContext(profile_));
|
Profile::FromBrowserContext(profile_));
|
||||||
if (provider) {
|
if (provider) {
|
||||||
@@ -2776,7 +2588,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
|
@@ -2817,7 +2629,7 @@ void ChromeFileSystemAccessPermissionContext::OnShutdown() {
|
||||||
one_time_permissions_tracker_.Reset();
|
one_time_permissions_tracker_.Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -255,7 +255,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled(
|
void ChromeFileSystemAccessPermissionContext::OnWebAppInstalled(
|
||||||
const webapps::AppId& app_id) {
|
const webapps::AppId& app_id) {
|
||||||
if (!base::FeatureList::IsEnabled(
|
if (!base::FeatureList::IsEnabled(
|
||||||
@@ -3111,11 +2923,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
@@ -3152,11 +2964,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||||
HandleType handle_type,
|
HandleType handle_type,
|
||||||
UserAction user_action,
|
UserAction user_action,
|
||||||
GrantType grant_type) {
|
GrantType grant_type) {
|
||||||
@@ -268,7 +268,7 @@ index 0c6a0751119ac303f85327f0ccb0e32b957b837a..150147638f7c6f1e87e9a7379af9ecf6
|
|||||||
if (!base::FeatureList::IsEnabled(
|
if (!base::FeatureList::IsEnabled(
|
||||||
features::kFileSystemAccessPersistentPermissions)) {
|
features::kFileSystemAccessPersistentPermissions)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -3166,6 +2974,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
@@ -3207,6 +3015,7 @@ bool ChromeFileSystemAccessPermissionContext::
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
#endif // BUILDFLAG(IS_ANDROID)
|
#endif // BUILDFLAG(IS_ANDROID)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Subject: refactor: expose HostImportModuleDynamically and
|
|||||||
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
|
This is so that Electron can blend Blink's and Node's implementations of these isolate handlers.
|
||||||
|
|
||||||
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
diff --git a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||||
index 31500795700bc257b1a05515a8d557b32b0a370d..54ec914fbff24421437a89c2e05e052b1385c633 100644
|
index 8499bf5bced44db827663b57a9af29d7dc731e76..a5e68f2554ee01d9a9e39900d350c64b1ceb7860 100644
|
||||||
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
--- a/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||||
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
+++ b/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
|
||||||
@@ -645,8 +645,9 @@ bool WasmCustomDescriptorsEnabledCallback(v8::Local<v8::Context> context) {
|
@@ -645,8 +645,9 @@ bool WasmCustomDescriptorsEnabledCallback(v8::Local<v8::Context> context) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ index 7078014e6db7c43d66b1448b2b36500f206ec4a0..9decf37eaf32eb837141bc9ee96b6881
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
diff --git a/content/browser/permissions/permission_controller_impl.cc b/content/browser/permissions/permission_controller_impl.cc
|
||||||
index 0a72093709ae8f56cc7b8d1649efe23050423054..0d7ad32add07e4c8f61d8df08de9e1c176bba6d6 100644
|
index a43a28e60d87a446adc187121abbbeeecb50bac7..ba886970854682ccbc145a5ec524a8d0cf58f03a 100644
|
||||||
--- a/content/browser/permissions/permission_controller_impl.cc
|
--- a/content/browser/permissions/permission_controller_impl.cc
|
||||||
+++ b/content/browser/permissions/permission_controller_impl.cc
|
+++ b/content/browser/permissions/permission_controller_impl.cc
|
||||||
@@ -94,7 +94,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
|
@@ -94,7 +94,15 @@ PermissionToSchedulingFeature(PermissionType permission_name) {
|
||||||
|
|||||||
@@ -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 a257bc1480369f24b05db19bd2bfce064b96407d..fefe40186f436f3117543f8c6d0c7c67f358bd2a 100644
|
index 3489db5f1acfbd4d6fa6d3650e3e73498c728791..356ed97619d2ef911270275dbd518d76997ce1f1 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
|
||||||
@@ -10257,25 +10257,13 @@ void WebContentsImpl::RendererUnresponsive(
|
@@ -10272,25 +10272,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);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ respond to the first mouse click in their window, which is desirable for some
|
|||||||
kinds of utility windows. Similarly for `disableAutoHideCursor`.
|
kinds of utility windows. Similarly for `disableAutoHideCursor`.
|
||||||
|
|
||||||
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
diff --git a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
index c2aeece6d8804b532808c614340577640f904e2b..e2b316223ee5cbd99cb5f9f69c5454600cb8f74f 100644
|
index 63ecc872cd8ef58ebc3decb2aa0f88885bc76ca5..e51fd827f7afc01a5189737f86a2414627a6546e 100644
|
||||||
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
--- a/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
+++ b/content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm
|
||||||
@@ -167,6 +167,15 @@ void ExtractUnderlines(NSAttributedString* string,
|
@@ -167,6 +167,15 @@ void ExtractUnderlines(NSAttributedString* string,
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ This partially (leaves the removal of the feature flag) reverts
|
|||||||
ef865130abd5539e7bce12308659b19980368f12.
|
ef865130abd5539e7bce12308659b19980368f12.
|
||||||
|
|
||||||
diff --git a/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h b/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
diff --git a/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h b/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
||||||
index 428902f90950b2e9434c8a624a313268ebb80cd4..afcc3bc481be6a16119f7e2af647276cb0dafa1e 100644
|
index 13e928e3790735fdad68fbca0a8a8e9d0836fdee..2719f8853e840d6f890d01220345644db163fd07 100644
|
||||||
--- a/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
--- a/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
||||||
+++ b/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
+++ b/content/app_shim_remote_cocoa/web_contents_occlusion_checker_mac.h
|
||||||
@@ -12,6 +12,8 @@
|
@@ -11,6 +11,8 @@
|
||||||
|
#include "base/metrics/field_trial_params.h"
|
||||||
#import "content/app_shim_remote_cocoa/web_contents_view_cocoa.h"
|
#import "content/app_shim_remote_cocoa/web_contents_view_cocoa.h"
|
||||||
#include "content/common/web_contents_ns_view_bridge.mojom.h"
|
|
||||||
|
|
||||||
+extern CONTENT_EXPORT const base::FeatureParam<bool>
|
+extern CONTENT_EXPORT const base::FeatureParam<bool>
|
||||||
+ kEnhancedWindowOcclusionDetection;
|
+ kEnhancedWindowOcclusionDetection;
|
||||||
@@ -233,10 +233,10 @@ index d8167e854a3264b19a07544039fd01aba45e27a1..2e5a4ae715529e3b7b5c8fbb7195c7ce
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/content/common/features.cc b/content/common/features.cc
|
diff --git a/content/common/features.cc b/content/common/features.cc
|
||||||
index 788a0da0f67b5580192b9bf374839cade061aae4..2a14433d9d53d98c3cd51a4f7106fb8534efce51 100644
|
index 079f57e17386914cb571d6d77e66bb71a453adca..ed328eafcf60390495296d7a2f4cef17de5fd225 100644
|
||||||
--- a/content/common/features.cc
|
--- a/content/common/features.cc
|
||||||
+++ b/content/common/features.cc
|
+++ b/content/common/features.cc
|
||||||
@@ -292,6 +292,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT);
|
@@ -298,6 +298,14 @@ BASE_FEATURE(kInterestGroupUpdateIfOlderThan, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT);
|
BASE_FEATURE(kIOSurfaceCapturer, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -252,10 +252,10 @@ index 788a0da0f67b5580192b9bf374839cade061aae4..2a14433d9d53d98c3cd51a4f7106fb85
|
|||||||
BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT);
|
BASE_FEATURE(kKeepChildProcessAfterIPCReset, base::FEATURE_DISABLED_BY_DEFAULT);
|
||||||
|
|
||||||
diff --git a/content/common/features.h b/content/common/features.h
|
diff --git a/content/common/features.h b/content/common/features.h
|
||||||
index f6b18e1c45945126b530187342d2d00c68812338..38649d29fe945c11907e9ead88cd9ec2ca0b1f5a 100644
|
index 24b248f94510619b5a570498578f33910245dcf9..8baefcc9ff7d80cb5ba1e3a7174cb3dac9e2b16f 100644
|
||||||
--- a/content/common/features.h
|
--- a/content/common/features.h
|
||||||
+++ b/content/common/features.h
|
+++ b/content/common/features.h
|
||||||
@@ -106,6 +106,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
@@ -107,6 +107,9 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE(kInterestGroupUpdateIfOlderThan);
|
||||||
#if BUILDFLAG(IS_MAC)
|
#if BUILDFLAG(IS_MAC)
|
||||||
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
|
CONTENT_EXPORT BASE_DECLARE_FEATURE(kIOSurfaceCapturer);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ index bc1bfa1ac381ec94121a264d9dcbae9e02ab5a81..c6fc03ae158b3ce87fd684d765a3f1b0
|
|||||||
// event before sending it to the renderer. See enum for details on return
|
// event before sending it to the renderer. See enum for details on return
|
||||||
// value.
|
// value.
|
||||||
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 0e2b978b3f35e5805d380da398bba58fcd256310..39dfc8593da452bc40caca94cbb38eca57364d92 100644
|
index 12df047f66b9e3184b7421aa5fbe4e91e340e395..702cc747c768355b3827410dbb0d84a0f8b2e44c 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
|
||||||
@@ -1588,6 +1588,10 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
|
@@ -1589,6 +1589,10 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
|
||||||
CHECK_GE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeFirst);
|
CHECK_GE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeFirst);
|
||||||
CHECK_LE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeLast);
|
CHECK_LE(mouse_event.GetType(), WebInputEvent::Type::kMouseTypeLast);
|
||||||
|
|
||||||
@@ -54,10 +54,10 @@ index 0e2b978b3f35e5805d380da398bba58fcd256310..39dfc8593da452bc40caca94cbb38eca
|
|||||||
if (mouse_event_callback.Run(mouse_event)) {
|
if (mouse_event_callback.Run(mouse_event)) {
|
||||||
return;
|
return;
|
||||||
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 fefe40186f436f3117543f8c6d0c7c67f358bd2a..2bff527424f3aa98f032743e8ea5a33b439555ad 100644
|
index 356ed97619d2ef911270275dbd518d76997ce1f1..a99dbcc5e9890392010fac4afa285302b33acef7 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
|
||||||
@@ -4451,6 +4451,12 @@ void WebContentsImpl::RenderWidgetWasResized(
|
@@ -4466,6 +4466,12 @@ void WebContentsImpl::RenderWidgetWasResized(
|
||||||
width_changed);
|
width_changed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,10 +71,10 @@ index fefe40186f436f3117543f8c6d0c7c67f358bd2a..2bff527424f3aa98f032743e8ea5a33b
|
|||||||
const gfx::PointF& client_pt) {
|
const gfx::PointF& client_pt) {
|
||||||
if (delegate_) {
|
if (delegate_) {
|
||||||
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 034797826196560ab6b71f885d52c8e1c94c1a67..55db63b3f99e465d2c77bb25dca5d50005df5ce7 100644
|
index 364e3ad00c81fd003d3404b4c4fa3393c3ab443c..843cc094920e46943c35bda4e82b876d30c462c4 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
|
||||||
@@ -1110,6 +1110,7 @@ class CONTENT_EXPORT WebContentsImpl
|
@@ -1108,6 +1108,7 @@ class CONTENT_EXPORT WebContentsImpl
|
||||||
|
|
||||||
double GetPendingZoomLevel(RenderWidgetHostImpl* rwh) override;
|
double GetPendingZoomLevel(RenderWidgetHostImpl* rwh) override;
|
||||||
|
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ on Windows. We should refactor our code so that this patch isn't
|
|||||||
necessary.
|
necessary.
|
||||||
|
|
||||||
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
|
||||||
index bce1e6ff07587e7f75d1925291872fe21ba5404c..c6e851033ca7da1ad3d9b108491ce5b38cfc71a4 100644
|
index ae2e7540435daef0779f6d442c743f15fc9ae88a..d6a4fbe710b46c62bb6343d91bfaa702a21d78b3 100644
|
||||||
--- a/testing/variations/fieldtrial_testing_config.json
|
--- a/testing/variations/fieldtrial_testing_config.json
|
||||||
+++ b/testing/variations/fieldtrial_testing_config.json
|
+++ b/testing/variations/fieldtrial_testing_config.json
|
||||||
@@ -25163,6 +25163,21 @@
|
@@ -25338,6 +25338,21 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -36,10 +36,10 @@ index bce1e6ff07587e7f75d1925291872fe21ba5404c..c6e851033ca7da1ad3d9b108491ce5b3
|
|||||||
{
|
{
|
||||||
"platforms": [
|
"platforms": [
|
||||||
diff --git a/ui/views/views_features.cc b/ui/views/views_features.cc
|
diff --git a/ui/views/views_features.cc b/ui/views/views_features.cc
|
||||||
index 88ca7f0b1fc025ee41653004dc10ed48cbd59d32..b8ec7177ced38773b96f7d44277bba383d0ff8ca 100644
|
index eddb6b33f0df6f494ae9dfa63851c924e2d2350c..d74308e69e794637410597c7dd9a06b2d5fff425 100644
|
||||||
--- a/ui/views/views_features.cc
|
--- a/ui/views/views_features.cc
|
||||||
+++ b/ui/views/views_features.cc
|
+++ b/ui/views/views_features.cc
|
||||||
@@ -27,6 +27,14 @@ BASE_FEATURE(kEnablePlatformHighContrastInkDrop,
|
@@ -22,6 +22,14 @@ BASE_FEATURE(kAnnounceTextAdditionalAttributes,
|
||||||
// crbug.com/370856871.
|
// crbug.com/370856871.
|
||||||
BASE_FEATURE(kEnableTouchDragCursorSync, base::FEATURE_ENABLED_BY_DEFAULT);
|
BASE_FEATURE(kEnableTouchDragCursorSync, base::FEATURE_ENABLED_BY_DEFAULT);
|
||||||
|
|
||||||
@@ -55,12 +55,12 @@ index 88ca7f0b1fc025ee41653004dc10ed48cbd59d32..b8ec7177ced38773b96f7d44277bba38
|
|||||||
// to kKeyboardAccessibleTooltip in //ui/base/ui_base_features.cc.
|
// to kKeyboardAccessibleTooltip in //ui/base/ui_base_features.cc.
|
||||||
BASE_FEATURE(kKeyboardAccessibleTooltipInViews,
|
BASE_FEATURE(kKeyboardAccessibleTooltipInViews,
|
||||||
diff --git a/ui/views/views_features.h b/ui/views/views_features.h
|
diff --git a/ui/views/views_features.h b/ui/views/views_features.h
|
||||||
index 58063f2452dc484a97c79b382067d9b34875e344..d586436498263c595a17454f54644d2deb05f308 100644
|
index c1d8107ec3e32d31811572aa1d7a7c7a242da7d9..463abf871c7e169dc1ca9f523d74fc14d58541cc 100644
|
||||||
--- a/ui/views/views_features.h
|
--- a/ui/views/views_features.h
|
||||||
+++ b/ui/views/views_features.h
|
+++ b/ui/views/views_features.h
|
||||||
@@ -15,6 +15,7 @@ namespace views::features {
|
@@ -14,6 +14,7 @@ namespace views::features {
|
||||||
|
// Please keep alphabetized.
|
||||||
VIEWS_EXPORT BASE_DECLARE_FEATURE(kAnnounceTextAdditionalAttributes);
|
VIEWS_EXPORT BASE_DECLARE_FEATURE(kAnnounceTextAdditionalAttributes);
|
||||||
VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnablePlatformHighContrastInkDrop);
|
|
||||||
VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTouchDragCursorSync);
|
VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTouchDragCursorSync);
|
||||||
+VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTransparentHwndEnlargement);
|
+VIEWS_EXPORT BASE_DECLARE_FEATURE(kEnableTransparentHwndEnlargement);
|
||||||
VIEWS_EXPORT BASE_DECLARE_FEATURE(kKeyboardAccessibleTooltipInViews);
|
VIEWS_EXPORT BASE_DECLARE_FEATURE(kKeyboardAccessibleTooltipInViews);
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
|
|||||||
Patch to make scrollBounce option work.
|
Patch to make scrollBounce option work.
|
||||||
|
|
||||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||||
index ccfd37cc73dff797166eb0e675d430d7abade835..2c2ceb5535ff5bfceab6e7a5af61e96b5f92e011 100644
|
index 5898582f6aaea2ffc87349f5e0049995ae524108..ee5c04977fdd92371ee1d96e26cdae0914482582 100644
|
||||||
--- a/content/renderer/render_thread_impl.cc
|
--- a/content/renderer/render_thread_impl.cc
|
||||||
+++ b/content/renderer/render_thread_impl.cc
|
+++ b/content/renderer/render_thread_impl.cc
|
||||||
@@ -1217,7 +1217,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
@@ -1208,7 +1208,7 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
bool RenderThreadImpl::IsElasticOverscrollEnabled() {
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ 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 b01a2051cee154cc002e4c0274e8955b4eccfe38..21bd24c3bf02f047a42daaddd155e83e2dc86963 100644
|
index 42f8ca40427cc0f95e9e4e0df5708a80d022c522..b7b348a6db7fb4e78fd10adc97031fbb34c52dac 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
|
||||||
@@ -1896,6 +1896,10 @@ bool RenderProcessHostImpl::Init() {
|
@@ -1896,6 +1896,10 @@ bool RenderProcessHostImpl::Init() {
|
||||||
|
|||||||
@@ -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 dfcb0be8195aab4df36c319c0996ec8a1a4f555e..2eed5dbdda53e0d7ad8aa8cab08258cb2d3a1433 100644
|
index 2adea6e88f5e09f3416e665039e83c367dca58af..509009403163872684eb55684f22c0435c892960 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
|
||||||
@@ -4182,6 +4182,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
@@ -4197,6 +4197,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 dfcb0be8195aab4df36c319c0996ec8a1a4f555e..2eed5dbdda53e0d7ad8aa8cab08258cb
|
|||||||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||||
|
|
||||||
@@ -4192,6 +4199,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
@@ -4207,6 +4214,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_);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 15e2f327060adeb32e977a8a371604819fe01108..f8649ef3b599b64dcbee26984f1136c137255f28 100644
|
index ebe44040a554674058ee5307b7df32f224f09c17..2488db00782f22dd9e0c835258d6022e6ea6e644 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
|
||||||
@@ -8971,6 +8971,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
@@ -8960,6 +8960,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -37,10 +37,10 @@ index 15e2f327060adeb32e977a8a371604819fe01108..f8649ef3b599b64dcbee26984f1136c1
|
|||||||
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 2eed5dbdda53e0d7ad8aa8cab08258cb2d3a1433..5bca1c0fbaa4dc3c6294fa206463ca3190a0367d 100644
|
index 509009403163872684eb55684f22c0435c892960..47bbe40f74ded6be7d5ae4e1c96331bef3070291 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
|
||||||
@@ -4468,21 +4468,25 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
@@ -4483,21 +4483,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");
|
||||||
@@ -80,7 +80,7 @@ index 2eed5dbdda53e0d7ad8aa8cab08258cb2d3a1433..5bca1c0fbaa4dc3c6294fa206463ca31
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
bool WebContentsImpl::HandleMouseEvent(const blink::WebMouseEvent& event) {
|
||||||
@@ -4641,7 +4645,7 @@ void WebContentsImpl::EnterFullscreenMode(
|
@@ -4656,7 +4660,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());
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ to handle this without patching, but this is fairly clean for now and no longer
|
|||||||
patching legacy devtools code.
|
patching legacy devtools code.
|
||||||
|
|
||||||
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
diff --git a/front_end/entrypoints/main/MainImpl.ts b/front_end/entrypoints/main/MainImpl.ts
|
||||||
index 59588e13341d954327c57af7dcf554d3a739ddc3..878cec17c3f79a00a2cffe12364f943c11f88676 100644
|
index fcf39a1fbc6219ac7d84211753dd9d0d12b236ab..c52bb1c444108e8f9c374ce4e22f56ebead8195e 100644
|
||||||
--- a/front_end/entrypoints/main/MainImpl.ts
|
--- a/front_end/entrypoints/main/MainImpl.ts
|
||||||
+++ b/front_end/entrypoints/main/MainImpl.ts
|
+++ b/front_end/entrypoints/main/MainImpl.ts
|
||||||
@@ -752,6 +752,8 @@ export class MainImpl {
|
@@ -744,6 +744,8 @@ export class MainImpl {
|
||||||
globalThis.Main = globalThis.Main || {};
|
globalThis.Main = globalThis.Main || {};
|
||||||
// @ts-expect-error Exported for Tests.js
|
// @ts-expect-error Exported for Tests.js
|
||||||
globalThis.Main.Main = MainImpl;
|
globalThis.Main.Main = MainImpl;
|
||||||
|
|||||||
@@ -7,3 +7,4 @@ fix_support_new_variant_of_namedpropertyhandlerconfiguration_and.patch
|
|||||||
fix_correct_usages_of_v8_returnvalue_void_set_nonempty_for_new.patch
|
fix_correct_usages_of_v8_returnvalue_void_set_nonempty_for_new.patch
|
||||||
chore_remove_deprecated_functioncallbackinfo_holder.patch
|
chore_remove_deprecated_functioncallbackinfo_holder.patch
|
||||||
fix_replace_deprecated_get_setprototype.patch
|
fix_replace_deprecated_get_setprototype.patch
|
||||||
|
fix_replace_usage_of_removed_writeutf8_with_writeutf8v2.patch
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Sanders <dsanders11@ucsbalum.com>
|
||||||
|
Date: Tue, 14 Oct 2025 19:55:10 -0700
|
||||||
|
Subject: fix: replace usage of removed WriteUtf8 with WriteUtf8V2
|
||||||
|
|
||||||
|
Refs https://chromium-review.googlesource.com/c/v8/v8/+/6495189
|
||||||
|
|
||||||
|
diff --git a/nan.h b/nan.h
|
||||||
|
index f4865a77e60d5105ed2426037984ddcbfa58bbca..d0b3e919f275bd4451eef9ad6aa1a78629ce862c 100644
|
||||||
|
--- a/nan.h
|
||||||
|
+++ b/nan.h
|
||||||
|
@@ -418,12 +418,18 @@ template<typename P> class WeakCallbackInfo;
|
||||||
|
|
||||||
|
namespace imp {
|
||||||
|
static const size_t kMaxLength = 0x3fffffff;
|
||||||
|
- // v8::String::REPLACE_INVALID_UTF8 was introduced
|
||||||
|
- // in node.js v0.10.29 and v0.8.27.
|
||||||
|
-#if NODE_MAJOR_VERSION > 0 || \
|
||||||
|
+#if V8_MAJOR_VERSION > 13 || \
|
||||||
|
+ V8_MAJOR_VERSION == 13 && V8_MINOR_VERSION > 3 || \
|
||||||
|
+ V8_MAJOR_VERSION == 13 && V8_MINOR_VERSION == 3 && V8_BUILD_NUMBER >= 16
|
||||||
|
+ // v8::String::WriteFlags::kReplaceInvalidUtf8 was introduced in
|
||||||
|
+ // v8 13.3.16
|
||||||
|
+ static const unsigned kReplaceInvalidUtf8 = v8::String::WriteFlags::kReplaceInvalidUtf8;
|
||||||
|
+#elif NODE_MAJOR_VERSION > 0 || \
|
||||||
|
NODE_MINOR_VERSION > 10 || \
|
||||||
|
NODE_MINOR_VERSION == 10 && NODE_PATCH_VERSION >= 29 || \
|
||||||
|
NODE_MINOR_VERSION == 8 && NODE_PATCH_VERSION >= 27
|
||||||
|
+ // v8::String::REPLACE_INVALID_UTF8 was introduced
|
||||||
|
+ // in node.js v0.10.29 and v0.8.27.
|
||||||
|
static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;
|
||||||
|
#else
|
||||||
|
static const unsigned kReplaceInvalidUtf8 = 0;
|
||||||
|
@@ -1157,11 +1163,11 @@ class Utf8String {
|
||||||
|
str_ = static_cast<char*>(malloc(len));
|
||||||
|
assert(str_ != 0);
|
||||||
|
}
|
||||||
|
- const int flags =
|
||||||
|
- v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8;
|
||||||
|
#if NODE_MAJOR_VERSION >= 11
|
||||||
|
- length_ = string->WriteUtf8(v8::Isolate::GetCurrent(), str_,
|
||||||
|
- static_cast<int>(len), 0, flags);
|
||||||
|
+ length_ = string->WriteUtf8V2(v8::Isolate::GetCurrent(),
|
||||||
|
+ str_,
|
||||||
|
+ len,
|
||||||
|
+ imp::kReplaceInvalidUtf8);
|
||||||
|
#else
|
||||||
|
// See https://github.com/nodejs/nan/issues/832.
|
||||||
|
// Disable the warning as there is no way around it.
|
||||||
|
@@ -1173,6 +1179,8 @@ class Utf8String {
|
||||||
|
#pragma GCC diagnostic push
|
||||||
|
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||||
|
#endif
|
||||||
|
+ const int flags =
|
||||||
|
+ v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8;
|
||||||
|
length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#pragma GCC diagnostic pop
|
||||||
|
@@ -1499,9 +1507,10 @@ class Utf8String {
|
||||||
|
str_ = static_cast<char*>(malloc(len));
|
||||||
|
assert(str_ != 0);
|
||||||
|
}
|
||||||
|
- const int flags =
|
||||||
|
- v8::String::NO_NULL_TERMINATION | imp::kReplaceInvalidUtf8;
|
||||||
|
- length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
|
||||||
|
+ length_ = string->WriteUtf8V2(v8::Isolate::GetCurrent(),
|
||||||
|
+ str_,
|
||||||
|
+ len,
|
||||||
|
+ imp::kReplaceInvalidUtf8);
|
||||||
|
str_[length_] = '\0';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -53,3 +53,12 @@ api_remove_deprecated_getisolate.patch
|
|||||||
src_switch_from_get_setprototype_to_get_setprototypev2.patch
|
src_switch_from_get_setprototype_to_get_setprototypev2.patch
|
||||||
fix_replace_deprecated_setprototype.patch
|
fix_replace_deprecated_setprototype.patch
|
||||||
fix_redefined_macos_sdk_header_symbols.patch
|
fix_redefined_macos_sdk_header_symbols.patch
|
||||||
|
src_simplify_string_bytes_with_views.patch
|
||||||
|
src_improve_utf8_string_generation_performance.patch
|
||||||
|
src_use_non-deprecated_utf8lengthv2_method.patch
|
||||||
|
src_use_non-deprecated_writeutf8v2_method.patch
|
||||||
|
src_refactor_writeucs2_and_remove_flags_argument.patch
|
||||||
|
src_use_string_writev2_in_twobytevalue.patch
|
||||||
|
node-api_use_writev2_in_napi_get_value_string_utf16.patch
|
||||||
|
node-api_use_writeonebytev2_in_napi_get_value_string_latin1.patch
|
||||||
|
src_migrate_writeonebyte_to_writeonebytev2.patch
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengzhong Wu <cwu631@bloomberg.net>
|
||||||
|
Date: Fri, 16 May 2025 17:10:54 +0100
|
||||||
|
Subject: node-api: use WriteOneByteV2 in napi_get_value_string_latin1
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58325
|
||||||
|
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Reviewed-By: Michael Dawson <midawson@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc
|
||||||
|
index cc2312bd2fd1ed194f927bbf33951ca0548d1a31..e4fd88f406be4d9117aa490ca2aa328c5ff0aab9 100644
|
||||||
|
--- a/src/js_native_api_v8.cc
|
||||||
|
+++ b/src/js_native_api_v8.cc
|
||||||
|
@@ -2441,21 +2441,21 @@ napi_status NAPI_CDECL napi_get_value_string_latin1(
|
||||||
|
|
||||||
|
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
|
||||||
|
RETURN_STATUS_IF_FALSE(env, val->IsString(), napi_string_expected);
|
||||||
|
+ v8::Local<v8::String> str = val.As<v8::String>();
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
CHECK_ARG(env, result);
|
||||||
|
- *result = val.As<v8::String>()->Length();
|
||||||
|
+ *result = str->Length();
|
||||||
|
} else if (bufsize != 0) {
|
||||||
|
- int copied =
|
||||||
|
- val.As<v8::String>()->WriteOneByte(env->isolate,
|
||||||
|
- reinterpret_cast<uint8_t*>(buf),
|
||||||
|
- 0,
|
||||||
|
- bufsize - 1,
|
||||||
|
- v8::String::NO_NULL_TERMINATION);
|
||||||
|
-
|
||||||
|
- buf[copied] = '\0';
|
||||||
|
+ uint32_t length = static_cast<uint32_t>(
|
||||||
|
+ std::min(bufsize - 1, static_cast<size_t>(str->Length())));
|
||||||
|
+ str->WriteOneByteV2(env->isolate,
|
||||||
|
+ 0,
|
||||||
|
+ length,
|
||||||
|
+ reinterpret_cast<uint8_t*>(buf),
|
||||||
|
+ v8::String::WriteFlags::kNullTerminate);
|
||||||
|
if (result != nullptr) {
|
||||||
|
- *result = copied;
|
||||||
|
+ *result = length;
|
||||||
|
}
|
||||||
|
} else if (result != nullptr) {
|
||||||
|
*result = 0;
|
||||||
|
@@ -2479,12 +2479,12 @@ napi_status NAPI_CDECL napi_get_value_string_utf8(
|
||||||
|
|
||||||
|
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
|
||||||
|
RETURN_STATUS_IF_FALSE(env, val->IsString(), napi_string_expected);
|
||||||
|
+ v8::Local<v8::String> str = val.As<v8::String>();
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
CHECK_ARG(env, result);
|
||||||
|
- *result = val.As<v8::String>()->Utf8LengthV2(env->isolate);
|
||||||
|
+ *result = str->Utf8LengthV2(env->isolate);
|
||||||
|
} else if (bufsize != 0) {
|
||||||
|
- auto str = val.As<v8::String>();
|
||||||
|
size_t copied =
|
||||||
|
str->WriteUtf8V2(env->isolate,
|
||||||
|
buf,
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= <tniessen@tnie.de>
|
||||||
|
Date: Fri, 16 May 2025 17:10:45 +0100
|
||||||
|
Subject: node-api: use WriteV2 in napi_get_value_string_utf16
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Since `String::Write()` is deprecated, use `String::Write2()` instead.
|
||||||
|
That requires us to compute the correct number of characters ahead of
|
||||||
|
time but removes the need for dealing with the return value.
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58165
|
||||||
|
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
|
||||||
|
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||||
|
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
|
||||||
|
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
|
||||||
|
Reviewed-By: Michael Dawson <midawson@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc
|
||||||
|
index 8f97ca4d9cbb840efd36c77fed12d746a2793670..cc2312bd2fd1ed194f927bbf33951ca0548d1a31 100644
|
||||||
|
--- a/src/js_native_api_v8.cc
|
||||||
|
+++ b/src/js_native_api_v8.cc
|
||||||
|
@@ -2520,21 +2520,23 @@ napi_status NAPI_CDECL napi_get_value_string_utf16(napi_env env,
|
||||||
|
|
||||||
|
v8::Local<v8::Value> val = v8impl::V8LocalValueFromJsValue(value);
|
||||||
|
RETURN_STATUS_IF_FALSE(env, val->IsString(), napi_string_expected);
|
||||||
|
+ v8::Local<v8::String> str = val.As<v8::String>();
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
CHECK_ARG(env, result);
|
||||||
|
// V8 assumes UTF-16 length is the same as the number of characters.
|
||||||
|
- *result = val.As<v8::String>()->Length();
|
||||||
|
+ *result = str->Length();
|
||||||
|
} else if (bufsize != 0) {
|
||||||
|
- int copied = val.As<v8::String>()->Write(env->isolate,
|
||||||
|
- reinterpret_cast<uint16_t*>(buf),
|
||||||
|
- 0,
|
||||||
|
- bufsize - 1,
|
||||||
|
- v8::String::NO_NULL_TERMINATION);
|
||||||
|
+ uint32_t length = static_cast<uint32_t>(
|
||||||
|
+ std::min(bufsize - 1, static_cast<size_t>(str->Length())));
|
||||||
|
+ str->WriteV2(env->isolate,
|
||||||
|
+ 0,
|
||||||
|
+ length,
|
||||||
|
+ reinterpret_cast<uint16_t*>(buf),
|
||||||
|
+ v8::String::WriteFlags::kNullTerminate);
|
||||||
|
|
||||||
|
- buf[copied] = '\0';
|
||||||
|
if (result != nullptr) {
|
||||||
|
- *result = copied;
|
||||||
|
+ *result = length;
|
||||||
|
}
|
||||||
|
} else if (result != nullptr) {
|
||||||
|
*result = 0;
|
||||||
@@ -0,0 +1,166 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Date: Mon, 16 Sep 2024 20:19:46 -0400
|
||||||
|
Subject: src: improve utf8 string generation performance
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/54873
|
||||||
|
Reviewed-By: Daniel Lemire <daniel@lemire.me>
|
||||||
|
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
|
||||||
|
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||||
|
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
|
||||||
|
|
||||||
|
diff --git a/src/string_bytes.cc b/src/string_bytes.cc
|
||||||
|
index f0fbf496dcfdec2c522508c61ae24fb20b1eb081..4324ed52d7cd6af5202512858a62346c3ab6c302 100644
|
||||||
|
--- a/src/string_bytes.cc
|
||||||
|
+++ b/src/string_bytes.cc
|
||||||
|
@@ -386,21 +386,21 @@ Maybe<size_t> StringBytes::StorageSize(Isolate* isolate,
|
||||||
|
Local<Value> val,
|
||||||
|
enum encoding encoding) {
|
||||||
|
HandleScope scope(isolate);
|
||||||
|
- size_t data_size = 0;
|
||||||
|
- bool is_buffer = Buffer::HasInstance(val);
|
||||||
|
|
||||||
|
- if (is_buffer && (encoding == BUFFER || encoding == LATIN1)) {
|
||||||
|
+ if (Buffer::HasInstance(val) && (encoding == BUFFER || encoding == LATIN1)) {
|
||||||
|
return Just(Buffer::Length(val));
|
||||||
|
}
|
||||||
|
|
||||||
|
Local<String> str;
|
||||||
|
if (!val->ToString(isolate->GetCurrentContext()).ToLocal(&str))
|
||||||
|
return Nothing<size_t>();
|
||||||
|
+ String::ValueView view(isolate, str);
|
||||||
|
+ size_t data_size = 0;
|
||||||
|
|
||||||
|
switch (encoding) {
|
||||||
|
case ASCII:
|
||||||
|
case LATIN1:
|
||||||
|
- data_size = str->Length();
|
||||||
|
+ data_size = view.length();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BUFFER:
|
||||||
|
@@ -408,25 +408,25 @@ Maybe<size_t> StringBytes::StorageSize(Isolate* isolate,
|
||||||
|
// A single UCS2 codepoint never takes up more than 3 utf8 bytes.
|
||||||
|
// It is an exercise for the caller to decide when a string is
|
||||||
|
// long enough to justify calling Size() instead of StorageSize()
|
||||||
|
- data_size = 3 * str->Length();
|
||||||
|
+ data_size = 3 * view.length();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UCS2:
|
||||||
|
- data_size = str->Length() * sizeof(uint16_t);
|
||||||
|
+ data_size = view.length() * sizeof(uint16_t);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BASE64URL:
|
||||||
|
- data_size = simdutf::base64_length_from_binary(str->Length(),
|
||||||
|
+ data_size = simdutf::base64_length_from_binary(view.length(),
|
||||||
|
simdutf::base64_url);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BASE64:
|
||||||
|
- data_size = simdutf::base64_length_from_binary(str->Length());
|
||||||
|
+ data_size = simdutf::base64_length_from_binary(view.length());
|
||||||
|
break;
|
||||||
|
|
||||||
|
case HEX:
|
||||||
|
- CHECK(str->Length() % 2 == 0 && "invalid hex string length");
|
||||||
|
- data_size = str->Length() / 2;
|
||||||
|
+ CHECK(view.length() % 2 == 0 && "invalid hex string length");
|
||||||
|
+ data_size = view.length() / 2;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
@@ -447,32 +447,36 @@ Maybe<size_t> StringBytes::Size(Isolate* isolate,
|
||||||
|
Local<String> str;
|
||||||
|
if (!val->ToString(isolate->GetCurrentContext()).ToLocal(&str))
|
||||||
|
return Nothing<size_t>();
|
||||||
|
+ String::ValueView view(isolate, str);
|
||||||
|
|
||||||
|
switch (encoding) {
|
||||||
|
case ASCII:
|
||||||
|
case LATIN1:
|
||||||
|
- return Just<size_t>(str->Length());
|
||||||
|
+ return Just<size_t>(view.length());
|
||||||
|
|
||||||
|
case BUFFER:
|
||||||
|
case UTF8:
|
||||||
|
- return Just<size_t>(str->Utf8Length(isolate));
|
||||||
|
+ if (view.is_one_byte()) {
|
||||||
|
+ return Just<size_t>(simdutf::utf8_length_from_latin1(
|
||||||
|
+ reinterpret_cast<const char*>(view.data8()), view.length()));
|
||||||
|
+ }
|
||||||
|
+ return Just<size_t>(simdutf::utf8_length_from_utf16(
|
||||||
|
+ reinterpret_cast<const char16_t*>(view.data16()), view.length()));
|
||||||
|
|
||||||
|
case UCS2:
|
||||||
|
- return Just(str->Length() * sizeof(uint16_t));
|
||||||
|
+ return Just(view.length() * sizeof(uint16_t));
|
||||||
|
|
||||||
|
case BASE64URL: {
|
||||||
|
- String::Value value(isolate, str);
|
||||||
|
- return Just(simdutf::base64_length_from_binary(value.length(),
|
||||||
|
+ return Just(simdutf::base64_length_from_binary(view.length(),
|
||||||
|
simdutf::base64_url));
|
||||||
|
}
|
||||||
|
|
||||||
|
case BASE64: {
|
||||||
|
- String::Value value(isolate, str);
|
||||||
|
- return Just(simdutf::base64_length_from_binary(value.length()));
|
||||||
|
+ return Just(simdutf::base64_length_from_binary(view.length()));
|
||||||
|
}
|
||||||
|
|
||||||
|
case HEX:
|
||||||
|
- return Just<size_t>(str->Length() / 2);
|
||||||
|
+ return Just<size_t>(view.length() / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
UNREACHABLE();
|
||||||
|
diff --git a/src/util.cc b/src/util.cc
|
||||||
|
index 1b38f22b930b77d80aa53f9b12299d3cc469a46d..03c4794314c1c228f95536d2d20a440061cf3a80 100644
|
||||||
|
--- a/src/util.cc
|
||||||
|
+++ b/src/util.cc
|
||||||
|
@@ -48,6 +48,8 @@
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include <simdutf.h>
|
||||||
|
+
|
||||||
|
#include <atomic>
|
||||||
|
#include <cstdio>
|
||||||
|
#include <cstring>
|
||||||
|
@@ -100,11 +102,31 @@ static void MakeUtf8String(Isolate* isolate,
|
||||||
|
MaybeStackBuffer<T>* target) {
|
||||||
|
Local<String> string;
|
||||||
|
if (!value->ToString(isolate->GetCurrentContext()).ToLocal(&string)) return;
|
||||||
|
+ String::ValueView value_view(isolate, string);
|
||||||
|
+
|
||||||
|
+ auto value_length = value_view.length();
|
||||||
|
+
|
||||||
|
+ if (value_view.is_one_byte()) {
|
||||||
|
+ auto const_char = reinterpret_cast<const char*>(value_view.data8());
|
||||||
|
+ auto expected_length =
|
||||||
|
+ target->capacity() < (static_cast<size_t>(value_length) * 2 + 1)
|
||||||
|
+ ? simdutf::utf8_length_from_latin1(const_char, value_length)
|
||||||
|
+ : value_length * 2;
|
||||||
|
+
|
||||||
|
+ // Add +1 for null termination.
|
||||||
|
+ target->AllocateSufficientStorage(expected_length + 1);
|
||||||
|
+ const auto actual_length = simdutf::convert_latin1_to_utf8(
|
||||||
|
+ const_char, value_length, target->out());
|
||||||
|
+ target->SetLengthAndZeroTerminate(actual_length);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- size_t storage;
|
||||||
|
- if (!StringBytes::StorageSize(isolate, string, UTF8).To(&storage)) return;
|
||||||
|
- storage += 1;
|
||||||
|
+ // Add +1 for null termination.
|
||||||
|
+ size_t storage = (3 * value_length) + 1;
|
||||||
|
target->AllocateSufficientStorage(storage);
|
||||||
|
+
|
||||||
|
+ // TODO(@anonrig): Use simdutf to speed up non-one-byte strings once it's
|
||||||
|
+ // implemented
|
||||||
|
const int flags =
|
||||||
|
String::NO_NULL_TERMINATION | String::REPLACE_INVALID_UTF8;
|
||||||
|
const int length =
|
||||||
276
patches/node/src_migrate_writeonebyte_to_writeonebytev2.patch
Normal file
276
patches/node/src_migrate_writeonebyte_to_writeonebytev2.patch
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chengzhong Wu <cwu631@bloomberg.net>
|
||||||
|
Date: Fri, 29 Aug 2025 23:41:00 +0100
|
||||||
|
Subject: src: migrate WriteOneByte to WriteOneByteV2
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/59634
|
||||||
|
Fixes: https://github.com/nodejs/node/issues/59555
|
||||||
|
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
|
||||||
|
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
|
||||||
|
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Reviewed-By: Darshan Sen <raisinten@gmail.com>
|
||||||
|
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
|
||||||
|
|
||||||
|
diff --git a/src/node_buffer.cc b/src/node_buffer.cc
|
||||||
|
index ae73e6743879f32f08b4f6f8c546c587de71d2f3..be93e60f851c6c144fdd19f810e0a44cf3845bce 100644
|
||||||
|
--- a/src/node_buffer.cc
|
||||||
|
+++ b/src/node_buffer.cc
|
||||||
|
@@ -1033,8 +1033,11 @@ void IndexOfString(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
if (needle_data == nullptr) {
|
||||||
|
return args.GetReturnValue().Set(-1);
|
||||||
|
}
|
||||||
|
- needle->WriteOneByte(
|
||||||
|
- isolate, needle_data, 0, needle_length, String::NO_NULL_TERMINATION);
|
||||||
|
+ StringBytes::Write(isolate,
|
||||||
|
+ reinterpret_cast<char*>(needle_data),
|
||||||
|
+ needle_length,
|
||||||
|
+ needle,
|
||||||
|
+ enc);
|
||||||
|
|
||||||
|
result = nbytes::SearchString(reinterpret_cast<const uint8_t*>(haystack),
|
||||||
|
haystack_length,
|
||||||
|
@@ -1288,11 +1291,7 @@ static void Btoa(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
simdutf::binary_to_base64(ext->data(), ext->length(), buffer.out());
|
||||||
|
} else if (input->IsOneByte()) {
|
||||||
|
MaybeStackBuffer<uint8_t> stack_buf(input->Length());
|
||||||
|
- input->WriteOneByte(env->isolate(),
|
||||||
|
- stack_buf.out(),
|
||||||
|
- 0,
|
||||||
|
- input->Length(),
|
||||||
|
- String::NO_NULL_TERMINATION);
|
||||||
|
+ input->WriteOneByteV2(env->isolate(), 0, input->Length(), stack_buf.out());
|
||||||
|
|
||||||
|
size_t expected_length =
|
||||||
|
simdutf::base64_length_from_binary(input->Length());
|
||||||
|
@@ -1348,11 +1347,8 @@ static void Atob(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
ext->data(), ext->length(), buffer.out(), simdutf::base64_default);
|
||||||
|
} else if (input->IsOneByte()) {
|
||||||
|
MaybeStackBuffer<uint8_t> stack_buf(input->Length());
|
||||||
|
- input->WriteOneByte(args.GetIsolate(),
|
||||||
|
- stack_buf.out(),
|
||||||
|
- 0,
|
||||||
|
- input->Length(),
|
||||||
|
- String::NO_NULL_TERMINATION);
|
||||||
|
+ input->WriteOneByteV2(
|
||||||
|
+ args.GetIsolate(), 0, input->Length(), stack_buf.out());
|
||||||
|
const char* data = reinterpret_cast<const char*>(*stack_buf);
|
||||||
|
size_t expected_length =
|
||||||
|
simdutf::maximal_binary_length_from_base64(data, input->Length());
|
||||||
|
diff --git a/src/node_http2.cc b/src/node_http2.cc
|
||||||
|
index 8237c9b7d325dd925ae8798d7795fcd94eeb13d0..27a0db87e1f7f75336ecaa044e7cd66a9a5e87a4 100644
|
||||||
|
--- a/src/node_http2.cc
|
||||||
|
+++ b/src/node_http2.cc
|
||||||
|
@@ -485,13 +485,10 @@ Origins::Origins(
|
||||||
|
|
||||||
|
CHECK_LE(origin_contents + origin_string_len,
|
||||||
|
static_cast<char*>(bs_->Data()) + bs_->ByteLength());
|
||||||
|
- CHECK_EQ(origin_string->WriteOneByte(
|
||||||
|
- env->isolate(),
|
||||||
|
- reinterpret_cast<uint8_t*>(origin_contents),
|
||||||
|
- 0,
|
||||||
|
- origin_string_len,
|
||||||
|
- String::NO_NULL_TERMINATION),
|
||||||
|
- origin_string_len);
|
||||||
|
+ origin_string->WriteOneByteV2(env->isolate(),
|
||||||
|
+ 0,
|
||||||
|
+ origin_string_len,
|
||||||
|
+ reinterpret_cast<uint8_t*>(origin_contents));
|
||||||
|
|
||||||
|
size_t n = 0;
|
||||||
|
char* p;
|
||||||
|
@@ -3183,8 +3180,8 @@ void Http2Session::AltSvc(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
if (origin_str.IsEmpty() || value_str.IsEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
- size_t origin_len = origin_str->Length();
|
||||||
|
- size_t value_len = value_str->Length();
|
||||||
|
+ int origin_len = origin_str->Length();
|
||||||
|
+ int value_len = value_str->Length();
|
||||||
|
|
||||||
|
CHECK_LE(origin_len + value_len, 16382); // Max permitted for ALTSVC
|
||||||
|
// Verify that origin len != 0 if stream id == 0, or
|
||||||
|
@@ -3193,8 +3190,13 @@ void Http2Session::AltSvc(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
|
||||||
|
MaybeStackBuffer<uint8_t> origin(origin_len);
|
||||||
|
MaybeStackBuffer<uint8_t> value(value_len);
|
||||||
|
- origin_str->WriteOneByte(env->isolate(), *origin);
|
||||||
|
- value_str->WriteOneByte(env->isolate(), *value);
|
||||||
|
+ origin_str->WriteOneByteV2(env->isolate(),
|
||||||
|
+ 0,
|
||||||
|
+ origin_len,
|
||||||
|
+ *origin,
|
||||||
|
+ String::WriteFlags::kNullTerminate);
|
||||||
|
+ value_str->WriteOneByteV2(
|
||||||
|
+ env->isolate(), 0, value_len, *value, String::WriteFlags::kNullTerminate);
|
||||||
|
|
||||||
|
session->AltSvc(id, *origin, origin_len, *value, value_len);
|
||||||
|
}
|
||||||
|
diff --git a/src/node_http_common-inl.h b/src/node_http_common-inl.h
|
||||||
|
index dba1a5e051b3e03c435ba3885b3fe2d04ea8ca9e..46984dba907fffb836d62b9c6e6b325a0ba504dd 100644
|
||||||
|
--- a/src/node_http_common-inl.h
|
||||||
|
+++ b/src/node_http_common-inl.h
|
||||||
|
@@ -2,9 +2,11 @@
|
||||||
|
#define SRC_NODE_HTTP_COMMON_INL_H_
|
||||||
|
|
||||||
|
#include "node_http_common.h"
|
||||||
|
+
|
||||||
|
+#include "env-inl.h"
|
||||||
|
#include "node.h"
|
||||||
|
#include "node_mem-inl.h"
|
||||||
|
-#include "env-inl.h"
|
||||||
|
+#include "string_bytes.h"
|
||||||
|
#include "v8.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
|
@@ -37,13 +39,12 @@ NgHeaders<T>::NgHeaders(Environment* env, v8::Local<v8::Array> headers) {
|
||||||
|
nv_t* const nva = reinterpret_cast<nv_t*>(start);
|
||||||
|
|
||||||
|
CHECK_LE(header_contents + header_string_len, *buf_ + buf_.length());
|
||||||
|
- CHECK_EQ(header_string.As<v8::String>()->WriteOneByte(
|
||||||
|
- env->isolate(),
|
||||||
|
- reinterpret_cast<uint8_t*>(header_contents),
|
||||||
|
- 0,
|
||||||
|
- header_string_len,
|
||||||
|
- v8::String::NO_NULL_TERMINATION),
|
||||||
|
- header_string_len);
|
||||||
|
+ CHECK_EQ(StringBytes::Write(env->isolate(),
|
||||||
|
+ header_contents,
|
||||||
|
+ header_string_len,
|
||||||
|
+ header_string.As<v8::String>(),
|
||||||
|
+ LATIN1),
|
||||||
|
+ static_cast<size_t>(header_string_len));
|
||||||
|
|
||||||
|
size_t n = 0;
|
||||||
|
char* p;
|
||||||
|
diff --git a/src/string_bytes.cc b/src/string_bytes.cc
|
||||||
|
index b02e9c5d14c2438d30b16f977c4e8a76bb23479d..71381f8fdc341cf2bac34028eb10df30fd9306b9 100644
|
||||||
|
--- a/src/string_bytes.cc
|
||||||
|
+++ b/src/string_bytes.cc
|
||||||
|
@@ -249,11 +249,13 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
nbytes = std::min(buflen, static_cast<size_t>(input_view.length()));
|
||||||
|
memcpy(buf, input_view.data8(), nbytes);
|
||||||
|
} else {
|
||||||
|
- uint8_t* const dst = reinterpret_cast<uint8_t*>(buf);
|
||||||
|
- const int flags = String::HINT_MANY_WRITES_EXPECTED |
|
||||||
|
- String::NO_NULL_TERMINATION |
|
||||||
|
- String::REPLACE_INVALID_UTF8;
|
||||||
|
- nbytes = str->WriteOneByte(isolate, dst, 0, buflen, flags);
|
||||||
|
+ nbytes = std::min(buflen, static_cast<size_t>(input_view.length()));
|
||||||
|
+ // Do not use v8::String::WriteOneByteV2 as it asserts the string to be
|
||||||
|
+ // a one byte string. For compatibility, convert the uint16_t to uint8_t
|
||||||
|
+ // even though this may loose accuracy.
|
||||||
|
+ for (size_t i = 0; i < nbytes; i++) {
|
||||||
|
+ buf[i] = static_cast<uint8_t>(input_view.data16()[i]);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
diff --git a/test/cctest/test_string_bytes.cc b/test/cctest/test_string_bytes.cc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000000000000000000000000000000000..bc308918680bb153dbbda8b18dcb24d129f14833
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/test/cctest/test_string_bytes.cc
|
||||||
|
@@ -0,0 +1,100 @@
|
||||||
|
+#include "gtest/gtest.h"
|
||||||
|
+#include "node.h"
|
||||||
|
+#include "node_test_fixture.h"
|
||||||
|
+#include "string_bytes.h"
|
||||||
|
+#include "util-inl.h"
|
||||||
|
+
|
||||||
|
+using node::MaybeStackBuffer;
|
||||||
|
+using node::StringBytes;
|
||||||
|
+using v8::HandleScope;
|
||||||
|
+using v8::Local;
|
||||||
|
+using v8::Maybe;
|
||||||
|
+using v8::String;
|
||||||
|
+
|
||||||
|
+class StringBytesTest : public EnvironmentTestFixture {};
|
||||||
|
+
|
||||||
|
+// Data "Hello, ÆÊÎÖÿ"
|
||||||
|
+static const char latin1_data[] = "Hello, \xC6\xCA\xCE\xD6\xFF";
|
||||||
|
+static const char utf8_data[] = "Hello, ÆÊÎÖÿ";
|
||||||
|
+
|
||||||
|
+TEST_F(StringBytesTest, WriteLatin1WithOneByteString) {
|
||||||
|
+ const HandleScope handle_scope(isolate_);
|
||||||
|
+ const Argv argv;
|
||||||
|
+ Env env_{handle_scope, argv};
|
||||||
|
+
|
||||||
|
+ Local<String> one_byte_str =
|
||||||
|
+ String::NewFromOneByte(isolate_,
|
||||||
|
+ reinterpret_cast<const uint8_t*>(latin1_data))
|
||||||
|
+ .ToLocalChecked();
|
||||||
|
+
|
||||||
|
+ Maybe<size_t> size_maybe =
|
||||||
|
+ StringBytes::StorageSize(isolate_, one_byte_str, node::LATIN1);
|
||||||
|
+
|
||||||
|
+ ASSERT_TRUE(size_maybe.IsJust());
|
||||||
|
+ size_t size = size_maybe.FromJust();
|
||||||
|
+ ASSERT_EQ(size, 12u);
|
||||||
|
+
|
||||||
|
+ MaybeStackBuffer<char> buf;
|
||||||
|
+ size_t written = StringBytes::Write(
|
||||||
|
+ isolate_, buf.out(), buf.capacity(), one_byte_str, node::LATIN1);
|
||||||
|
+ ASSERT_EQ(written, 12u);
|
||||||
|
+
|
||||||
|
+ // Null-terminate the buffer and compare the contents.
|
||||||
|
+ buf.SetLength(13);
|
||||||
|
+ buf[12] = '\0';
|
||||||
|
+ ASSERT_STREQ(latin1_data, buf.out());
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+TEST_F(StringBytesTest, WriteLatin1WithUtf8String) {
|
||||||
|
+ const HandleScope handle_scope(isolate_);
|
||||||
|
+ const Argv argv;
|
||||||
|
+ Env env_{handle_scope, argv};
|
||||||
|
+
|
||||||
|
+ Local<String> utf8_str =
|
||||||
|
+ String::NewFromUtf8(isolate_, utf8_data).ToLocalChecked();
|
||||||
|
+
|
||||||
|
+ Maybe<size_t> size_maybe =
|
||||||
|
+ StringBytes::StorageSize(isolate_, utf8_str, node::LATIN1);
|
||||||
|
+
|
||||||
|
+ ASSERT_TRUE(size_maybe.IsJust());
|
||||||
|
+ size_t size = size_maybe.FromJust();
|
||||||
|
+ ASSERT_EQ(size, 12u);
|
||||||
|
+
|
||||||
|
+ MaybeStackBuffer<char> buf;
|
||||||
|
+ size_t written = StringBytes::Write(
|
||||||
|
+ isolate_, buf.out(), buf.capacity(), utf8_str, node::LATIN1);
|
||||||
|
+ ASSERT_EQ(written, 12u);
|
||||||
|
+
|
||||||
|
+ // Null-terminate the buffer and compare the contents.
|
||||||
|
+ buf.SetLength(13);
|
||||||
|
+ buf[12] = '\0';
|
||||||
|
+ ASSERT_STREQ(latin1_data, buf.out());
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+// Verify that StringBytes::Write converts two-byte characters to one-byte
|
||||||
|
+// characters, even if there is no valid one-byte representation.
|
||||||
|
+TEST_F(StringBytesTest, WriteLatin1WithInvalidChar) {
|
||||||
|
+ const HandleScope handle_scope(isolate_);
|
||||||
|
+ const Argv argv;
|
||||||
|
+ Env env_{handle_scope, argv};
|
||||||
|
+
|
||||||
|
+ Local<String> utf8_str =
|
||||||
|
+ String::NewFromUtf8(isolate_, "Hello, 世界").ToLocalChecked();
|
||||||
|
+
|
||||||
|
+ Maybe<size_t> size_maybe =
|
||||||
|
+ StringBytes::StorageSize(isolate_, utf8_str, node::LATIN1);
|
||||||
|
+
|
||||||
|
+ ASSERT_TRUE(size_maybe.IsJust());
|
||||||
|
+ size_t size = size_maybe.FromJust();
|
||||||
|
+ ASSERT_EQ(size, 9u);
|
||||||
|
+
|
||||||
|
+ MaybeStackBuffer<char> buf;
|
||||||
|
+ size_t written = StringBytes::Write(
|
||||||
|
+ isolate_, buf.out(), buf.capacity(), utf8_str, node::LATIN1);
|
||||||
|
+ ASSERT_EQ(written, 9u);
|
||||||
|
+
|
||||||
|
+ // Null-terminate the buffer and compare the contents.
|
||||||
|
+ buf.SetLength(10);
|
||||||
|
+ buf[9] = '\0';
|
||||||
|
+ ASSERT_STREQ("Hello, \x16\x4C", buf.out());
|
||||||
|
+}
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= <tniessen@tnie.de>
|
||||||
|
Date: Thu, 8 May 2025 13:55:26 +0100
|
||||||
|
Subject: src: refactor WriteUCS2 and remove flags argument
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This change refactors `StringBytes::WriteUCS2()` in multiple ways.
|
||||||
|
|
||||||
|
The `flags` argument being passed to `WriteUCS2()` is not useful: the
|
||||||
|
only really relevant flag is `NO_NULL_TERMINATION` since V8 ignores
|
||||||
|
`REPLACE_INVALID_UTF8`, `HINT_MANY_WRITES_EXPECTED`, and
|
||||||
|
`PRESERVE_ONE_BYTE_NULL` for UTF-16 strings. However, `WriteUCS2()`
|
||||||
|
might not null-terminate the result correctly regardless of whether
|
||||||
|
`NO_NULL_TERMINATION` is set because it makes multiple calls to
|
||||||
|
`String::Write()` internally. For these reasons, this patch removes the
|
||||||
|
`flags` argument entirely and always assumes `NO_NULL_TERMINATION`.
|
||||||
|
|
||||||
|
Next, this patch replaces the calls to the deprecated function
|
||||||
|
`String::Write()` with calls to the new function `String::WriteV2()`,
|
||||||
|
which always succeeds and always writes a predictable number of
|
||||||
|
characters, removing the need to deal with a return value here.
|
||||||
|
|
||||||
|
Lastly, this patch simplifies the implementation of `WriteUCS2()` and
|
||||||
|
computes the exact number of characters `nchars` from the beginning,
|
||||||
|
removing the need to later check again if the number of characters is
|
||||||
|
zero.
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58163
|
||||||
|
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
|
||||||
|
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||||
|
|
||||||
|
diff --git a/src/string_bytes.cc b/src/string_bytes.cc
|
||||||
|
index 0eb9b1967f1f185a140239924809468394297d58..b02e9c5d14c2438d30b16f977c4e8a76bb23479d 100644
|
||||||
|
--- a/src/string_bytes.cc
|
||||||
|
+++ b/src/string_bytes.cc
|
||||||
|
@@ -198,40 +198,34 @@ MaybeLocal<Value> ExternTwoByteString::NewSimpleFromCopy(Isolate* isolate,
|
||||||
|
|
||||||
|
} // anonymous namespace
|
||||||
|
|
||||||
|
-size_t StringBytes::WriteUCS2(
|
||||||
|
- Isolate* isolate, char* buf, size_t buflen, Local<String> str, int flags) {
|
||||||
|
+size_t StringBytes::WriteUCS2(Isolate* isolate,
|
||||||
|
+ char* buf,
|
||||||
|
+ size_t buflen,
|
||||||
|
+ Local<String> str) {
|
||||||
|
uint16_t* const dst = reinterpret_cast<uint16_t*>(buf);
|
||||||
|
|
||||||
|
- size_t max_chars = buflen / sizeof(*dst);
|
||||||
|
- if (max_chars == 0) {
|
||||||
|
+ const size_t max_chars = buflen / sizeof(*dst);
|
||||||
|
+ const size_t nchars = std::min(max_chars, static_cast<size_t>(str->Length()));
|
||||||
|
+ if (nchars == 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t* const aligned_dst = nbytes::AlignUp(dst, sizeof(*dst));
|
||||||
|
- size_t nchars;
|
||||||
|
+ CHECK_EQ(reinterpret_cast<uintptr_t>(aligned_dst) % sizeof(*dst), 0);
|
||||||
|
if (aligned_dst == dst) {
|
||||||
|
- nchars = str->Write(isolate, dst, 0, max_chars, flags);
|
||||||
|
- return nchars * sizeof(*dst);
|
||||||
|
- }
|
||||||
|
+ str->WriteV2(isolate, 0, nchars, dst);
|
||||||
|
+ } else {
|
||||||
|
+ // Write all but the last char.
|
||||||
|
+ str->WriteV2(isolate, 0, nchars - 1, aligned_dst);
|
||||||
|
|
||||||
|
- CHECK_EQ(reinterpret_cast<uintptr_t>(aligned_dst) % sizeof(*dst), 0);
|
||||||
|
+ // Shift everything to unaligned-left.
|
||||||
|
+ memmove(dst, aligned_dst, (nchars - 1) * sizeof(*dst));
|
||||||
|
|
||||||
|
- // Write all but the last char
|
||||||
|
- max_chars = std::min(max_chars, static_cast<size_t>(str->Length()));
|
||||||
|
- if (max_chars == 0) {
|
||||||
|
- return 0;
|
||||||
|
+ // One more char to be written.
|
||||||
|
+ uint16_t last;
|
||||||
|
+ str->WriteV2(isolate, nchars - 1, 1, &last);
|
||||||
|
+ memcpy(dst + nchars - 1, &last, sizeof(last));
|
||||||
|
}
|
||||||
|
- nchars = str->Write(isolate, aligned_dst, 0, max_chars - 1, flags);
|
||||||
|
- CHECK_EQ(nchars, max_chars - 1);
|
||||||
|
-
|
||||||
|
- // Shift everything to unaligned-left
|
||||||
|
- memmove(dst, aligned_dst, nchars * sizeof(*dst));
|
||||||
|
-
|
||||||
|
- // One more char to be written
|
||||||
|
- uint16_t last;
|
||||||
|
- CHECK_EQ(str->Write(isolate, &last, nchars, 1, flags), 1);
|
||||||
|
- memcpy(buf + nchars * sizeof(*dst), &last, sizeof(last));
|
||||||
|
- nchars++;
|
||||||
|
|
||||||
|
return nchars * sizeof(*dst);
|
||||||
|
}
|
||||||
|
@@ -248,10 +242,6 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
Local<String> str = val.As<String>();
|
||||||
|
String::ValueView input_view(isolate, str);
|
||||||
|
|
||||||
|
- int flags = String::HINT_MANY_WRITES_EXPECTED |
|
||||||
|
- String::NO_NULL_TERMINATION |
|
||||||
|
- String::REPLACE_INVALID_UTF8;
|
||||||
|
-
|
||||||
|
switch (encoding) {
|
||||||
|
case ASCII:
|
||||||
|
case LATIN1:
|
||||||
|
@@ -260,6 +250,9 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
memcpy(buf, input_view.data8(), nbytes);
|
||||||
|
} else {
|
||||||
|
uint8_t* const dst = reinterpret_cast<uint8_t*>(buf);
|
||||||
|
+ const int flags = String::HINT_MANY_WRITES_EXPECTED |
|
||||||
|
+ String::NO_NULL_TERMINATION |
|
||||||
|
+ String::REPLACE_INVALID_UTF8;
|
||||||
|
nbytes = str->WriteOneByte(isolate, dst, 0, buflen, flags);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
@@ -271,7 +264,7 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UCS2: {
|
||||||
|
- nbytes = WriteUCS2(isolate, buf, buflen, str, flags);
|
||||||
|
+ nbytes = WriteUCS2(isolate, buf, buflen, str);
|
||||||
|
|
||||||
|
// Node's "ucs2" encoding wants LE character data stored in
|
||||||
|
// the Buffer, so we need to reorder on BE platforms. See
|
||||||
|
diff --git a/src/string_bytes.h b/src/string_bytes.h
|
||||||
|
index 53bc003fbda43663d6b8619672b23803fc88deb6..2a916b1c6a03b53c15e96e050dfa5711caaa07e2 100644
|
||||||
|
--- a/src/string_bytes.h
|
||||||
|
+++ b/src/string_bytes.h
|
||||||
|
@@ -102,8 +102,7 @@ class StringBytes {
|
||||||
|
static size_t WriteUCS2(v8::Isolate* isolate,
|
||||||
|
char* buf,
|
||||||
|
size_t buflen,
|
||||||
|
- v8::Local<v8::String> str,
|
||||||
|
- int flags);
|
||||||
|
+ v8::Local<v8::String> str);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace node
|
||||||
150
patches/node/src_simplify_string_bytes_with_views.patch
Normal file
150
patches/node/src_simplify_string_bytes_with_views.patch
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Daniel Lemire <daniel@lemire.me>
|
||||||
|
Date: Thu, 12 Sep 2024 12:07:08 -0400
|
||||||
|
Subject: src: simplify string_bytes with views
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/54876
|
||||||
|
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||||
|
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
|
||||||
|
|
||||||
|
diff --git a/src/string_bytes.cc b/src/string_bytes.cc
|
||||||
|
index addb7e21ba6a3bbabf3ff5f32240a5e428d176ee..f0fbf496dcfdec2c522508c61ae24fb20b1eb081 100644
|
||||||
|
--- a/src/string_bytes.cc
|
||||||
|
+++ b/src/string_bytes.cc
|
||||||
|
@@ -246,6 +246,7 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
|
||||||
|
CHECK(val->IsString() == true);
|
||||||
|
Local<String> str = val.As<String>();
|
||||||
|
+ String::ValueView input_view(isolate, str);
|
||||||
|
|
||||||
|
int flags = String::HINT_MANY_WRITES_EXPECTED |
|
||||||
|
String::NO_NULL_TERMINATION |
|
||||||
|
@@ -254,10 +255,9 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
switch (encoding) {
|
||||||
|
case ASCII:
|
||||||
|
case LATIN1:
|
||||||
|
- if (str->IsExternalOneByte()) {
|
||||||
|
- auto ext = str->GetExternalOneByteStringResource();
|
||||||
|
- nbytes = std::min(buflen, ext->length());
|
||||||
|
- memcpy(buf, ext->data(), nbytes);
|
||||||
|
+ if (input_view.is_one_byte()) {
|
||||||
|
+ nbytes = std::min(buflen, static_cast<size_t>(input_view.length()));
|
||||||
|
+ memcpy(buf, input_view.data8(), nbytes);
|
||||||
|
} else {
|
||||||
|
uint8_t* const dst = reinterpret_cast<uint8_t*>(buf);
|
||||||
|
nbytes = str->WriteOneByte(isolate, dst, 0, buflen, flags);
|
||||||
|
@@ -282,31 +282,11 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
}
|
||||||
|
|
||||||
|
case BASE64URL:
|
||||||
|
- if (str->IsExternalOneByte()) { // 8-bit case
|
||||||
|
- auto ext = str->GetExternalOneByteStringResource();
|
||||||
|
+ if (input_view.is_one_byte()) { // 8-bit case
|
||||||
|
size_t written_len = buflen;
|
||||||
|
auto result = simdutf::base64_to_binary_safe(
|
||||||
|
- ext->data(), ext->length(), buf, written_len, simdutf::base64_url);
|
||||||
|
- if (result.error == simdutf::error_code::SUCCESS) {
|
||||||
|
- nbytes = written_len;
|
||||||
|
- } else {
|
||||||
|
- // The input does not follow the WHATWG forgiving-base64 specification
|
||||||
|
- // adapted for base64url
|
||||||
|
- // https://infra.spec.whatwg.org/#forgiving-base64-decode
|
||||||
|
- nbytes =
|
||||||
|
- nbytes::Base64Decode(buf, buflen, ext->data(), ext->length());
|
||||||
|
- }
|
||||||
|
- } else if (str->IsOneByte()) {
|
||||||
|
- MaybeStackBuffer<uint8_t> stack_buf(str->Length());
|
||||||
|
- str->WriteOneByte(isolate,
|
||||||
|
- stack_buf.out(),
|
||||||
|
- 0,
|
||||||
|
- str->Length(),
|
||||||
|
- String::NO_NULL_TERMINATION);
|
||||||
|
- size_t written_len = buflen;
|
||||||
|
- auto result = simdutf::base64_to_binary_safe(
|
||||||
|
- reinterpret_cast<const char*>(*stack_buf),
|
||||||
|
- stack_buf.length(),
|
||||||
|
+ reinterpret_cast<const char*>(input_view.data8()),
|
||||||
|
+ input_view.length(),
|
||||||
|
buf,
|
||||||
|
written_len,
|
||||||
|
simdutf::base64_url);
|
||||||
|
@@ -316,8 +296,11 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
// The input does not follow the WHATWG forgiving-base64 specification
|
||||||
|
// (adapted for base64url with + and / replaced by - and _).
|
||||||
|
// https://infra.spec.whatwg.org/#forgiving-base64-decode
|
||||||
|
- nbytes =
|
||||||
|
- nbytes::Base64Decode(buf, buflen, *stack_buf, stack_buf.length());
|
||||||
|
+ nbytes = nbytes::Base64Decode(
|
||||||
|
+ buf,
|
||||||
|
+ buflen,
|
||||||
|
+ reinterpret_cast<const char*>(input_view.data8()),
|
||||||
|
+ input_view.length());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
String::Value value(isolate, str);
|
||||||
|
@@ -340,40 +323,23 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
break;
|
||||||
|
|
||||||
|
case BASE64: {
|
||||||
|
- if (str->IsExternalOneByte()) { // 8-bit case
|
||||||
|
- auto ext = str->GetExternalOneByteStringResource();
|
||||||
|
+ if (input_view.is_one_byte()) { // 8-bit case
|
||||||
|
size_t written_len = buflen;
|
||||||
|
auto result = simdutf::base64_to_binary_safe(
|
||||||
|
- ext->data(), ext->length(), buf, written_len);
|
||||||
|
- if (result.error == simdutf::error_code::SUCCESS) {
|
||||||
|
- nbytes = written_len;
|
||||||
|
- } else {
|
||||||
|
- // The input does not follow the WHATWG forgiving-base64 specification
|
||||||
|
- // https://infra.spec.whatwg.org/#forgiving-base64-decode
|
||||||
|
- nbytes =
|
||||||
|
- nbytes::Base64Decode(buf, buflen, ext->data(), ext->length());
|
||||||
|
- }
|
||||||
|
- } else if (str->IsOneByte()) {
|
||||||
|
- MaybeStackBuffer<uint8_t> stack_buf(str->Length());
|
||||||
|
- str->WriteOneByte(isolate,
|
||||||
|
- stack_buf.out(),
|
||||||
|
- 0,
|
||||||
|
- str->Length(),
|
||||||
|
- String::NO_NULL_TERMINATION);
|
||||||
|
- size_t written_len = buflen;
|
||||||
|
- auto result = simdutf::base64_to_binary_safe(
|
||||||
|
- reinterpret_cast<const char*>(*stack_buf),
|
||||||
|
- stack_buf.length(),
|
||||||
|
+ reinterpret_cast<const char*>(input_view.data8()),
|
||||||
|
+ input_view.length(),
|
||||||
|
buf,
|
||||||
|
written_len);
|
||||||
|
if (result.error == simdutf::error_code::SUCCESS) {
|
||||||
|
nbytes = written_len;
|
||||||
|
} else {
|
||||||
|
// The input does not follow the WHATWG forgiving-base64 specification
|
||||||
|
- // (adapted for base64url with + and / replaced by - and _).
|
||||||
|
// https://infra.spec.whatwg.org/#forgiving-base64-decode
|
||||||
|
- nbytes =
|
||||||
|
- nbytes::Base64Decode(buf, buflen, *stack_buf, stack_buf.length());
|
||||||
|
+ nbytes = nbytes::Base64Decode(
|
||||||
|
+ buf,
|
||||||
|
+ buflen,
|
||||||
|
+ reinterpret_cast<const char*>(input_view.data8()),
|
||||||
|
+ input_view.length());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
String::Value value(isolate, str);
|
||||||
|
@@ -394,9 +360,12 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case HEX:
|
||||||
|
- if (str->IsExternalOneByte()) {
|
||||||
|
- auto ext = str->GetExternalOneByteStringResource();
|
||||||
|
- nbytes = nbytes::HexDecode(buf, buflen, ext->data(), ext->length());
|
||||||
|
+ if (input_view.is_one_byte()) {
|
||||||
|
+ nbytes =
|
||||||
|
+ nbytes::HexDecode(buf,
|
||||||
|
+ buflen,
|
||||||
|
+ reinterpret_cast<const char*>(input_view.data8()),
|
||||||
|
+ input_view.length());
|
||||||
|
} else {
|
||||||
|
String::Value value(isolate, str);
|
||||||
|
nbytes = nbytes::HexDecode(buf, buflen, *value, value.length());
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Date: Thu, 17 Apr 2025 10:57:40 -0400
|
||||||
|
Subject: src: use non-deprecated Utf8LengthV2() method
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58070
|
||||||
|
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
||||||
|
Reviewed-By: Darshan Sen <raisinten@gmail.com>
|
||||||
|
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
||||||
|
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
|
||||||
|
|
||||||
|
diff --git a/benchmark/napi/function_args/binding.cc b/benchmark/napi/function_args/binding.cc
|
||||||
|
index 078fe0ee3ea767616e7b938fe4a2fb8d6a2b8d6e..e7c3cb40586ce9f99a57f3d26944e03738bdbabd 100644
|
||||||
|
--- a/benchmark/napi/function_args/binding.cc
|
||||||
|
+++ b/benchmark/napi/function_args/binding.cc
|
||||||
|
@@ -21,7 +21,7 @@ void CallWithString(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
assert(args.Length() == 1 && args[0]->IsString());
|
||||||
|
if (args.Length() == 1 && args[0]->IsString()) {
|
||||||
|
Local<String> str = args[0].As<String>();
|
||||||
|
- const int32_t length = str->Utf8Length(args.GetIsolate()) + 1;
|
||||||
|
+ const size_t length = str->Utf8LengthV2(args.GetIsolate()) + 1;
|
||||||
|
char* buf = new char[length];
|
||||||
|
str->WriteUtf8(args.GetIsolate(), buf, length);
|
||||||
|
delete[] buf;
|
||||||
|
diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
|
||||||
|
index 7eea2eaefcad5780663a6b87985925ae5d70a5f9..b9a7710ef3cc516ff89aee0da0a8f142507605e3 100644
|
||||||
|
--- a/src/crypto/crypto_util.cc
|
||||||
|
+++ b/src/crypto/crypto_util.cc
|
||||||
|
@@ -445,7 +445,7 @@ ByteSource ByteSource::FromStringOrBuffer(Environment* env,
|
||||||
|
ByteSource ByteSource::FromString(Environment* env, Local<String> str,
|
||||||
|
bool ntc) {
|
||||||
|
CHECK(str->IsString());
|
||||||
|
- size_t size = str->Utf8Length(env->isolate());
|
||||||
|
+ size_t size = str->Utf8LengthV2(env->isolate());
|
||||||
|
size_t alloc_size = ntc ? size + 1 : size;
|
||||||
|
ByteSource::Builder out(alloc_size);
|
||||||
|
int opts = String::NO_OPTIONS;
|
||||||
|
diff --git a/src/encoding_binding.cc b/src/encoding_binding.cc
|
||||||
|
index 5ace688bb7ffc86eedf5aff11ab0ab487ad9440e..2d45bbe60f413121b3fd0f01802aeb4368f0c301 100644
|
||||||
|
--- a/src/encoding_binding.cc
|
||||||
|
+++ b/src/encoding_binding.cc
|
||||||
|
@@ -119,7 +119,7 @@ void BindingData::EncodeUtf8String(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
CHECK(args[0]->IsString());
|
||||||
|
|
||||||
|
Local<String> str = args[0].As<String>();
|
||||||
|
- size_t length = str->Utf8Length(isolate);
|
||||||
|
+ size_t length = str->Utf8LengthV2(isolate);
|
||||||
|
|
||||||
|
Local<ArrayBuffer> ab;
|
||||||
|
{
|
||||||
|
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc
|
||||||
|
index 6e1680a74e21240ab99be86dcf23e60a05174888..a84fdae795dc1cb367a2e446264575c550ce07ee 100644
|
||||||
|
--- a/src/js_native_api_v8.cc
|
||||||
|
+++ b/src/js_native_api_v8.cc
|
||||||
|
@@ -2482,7 +2482,7 @@ napi_status NAPI_CDECL napi_get_value_string_utf8(
|
||||||
|
|
||||||
|
if (!buf) {
|
||||||
|
CHECK_ARG(env, result);
|
||||||
|
- *result = val.As<v8::String>()->Utf8Length(env->isolate);
|
||||||
|
+ *result = val.As<v8::String>()->Utf8LengthV2(env->isolate);
|
||||||
|
} else if (bufsize != 0) {
|
||||||
|
int copied = val.As<v8::String>()->WriteUtf8(
|
||||||
|
env->isolate,
|
||||||
|
diff --git a/src/node_buffer.cc b/src/node_buffer.cc
|
||||||
|
index 15129e4455fdc8792f21511a04d534ba3a4ebb5f..ae73e6743879f32f08b4f6f8c546c587de71d2f3 100644
|
||||||
|
--- a/src/node_buffer.cc
|
||||||
|
+++ b/src/node_buffer.cc
|
||||||
|
@@ -662,7 +662,7 @@ void Fill(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
// Can't use StringBytes::Write() in all cases. For example if attempting
|
||||||
|
// to write a two byte character into a one byte Buffer.
|
||||||
|
if (enc == UTF8) {
|
||||||
|
- str_length = str_obj->Utf8Length(env->isolate());
|
||||||
|
+ str_length = str_obj->Utf8LengthV2(env->isolate());
|
||||||
|
node::Utf8Value str(env->isolate(), args[1]);
|
||||||
|
memcpy(ts_obj_data + start, *str, std::min(str_length, fill_length));
|
||||||
|
|
||||||
|
@@ -750,8 +750,8 @@ void SlowByteLengthUtf8(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
CHECK(args[0]->IsString());
|
||||||
|
|
||||||
|
// Fast case: avoid StringBytes on UTF8 string. Jump to v8.
|
||||||
|
- args.GetReturnValue().Set(
|
||||||
|
- args[0].As<String>()->Utf8Length(args.GetIsolate()));
|
||||||
|
+ size_t result = args[0].As<String>()->Utf8LengthV2(args.GetIsolate());
|
||||||
|
+ args.GetReturnValue().Set(static_cast<uint64_t>(result));
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t FastByteLengthUtf8(Local<Value> receiver,
|
||||||
138
patches/node/src_use_non-deprecated_writeutf8v2_method.patch
Normal file
138
patches/node/src_use_non-deprecated_writeutf8v2_method.patch
Normal file
@@ -0,0 +1,138 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Date: Thu, 17 Apr 2025 11:36:25 -0400
|
||||||
|
Subject: src: use non-deprecated WriteUtf8V2() method
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58070
|
||||||
|
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
|
||||||
|
Reviewed-By: Darshan Sen <raisinten@gmail.com>
|
||||||
|
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
||||||
|
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
|
||||||
|
|
||||||
|
diff --git a/src/crypto/crypto_util.cc b/src/crypto/crypto_util.cc
|
||||||
|
index b9a7710ef3cc516ff89aee0da0a8f142507605e3..73bfa6ac5e6e2b837b1bbc4a6d5f337fc0b79913 100644
|
||||||
|
--- a/src/crypto/crypto_util.cc
|
||||||
|
+++ b/src/crypto/crypto_util.cc
|
||||||
|
@@ -29,6 +29,7 @@ namespace node {
|
||||||
|
using ncrypto::BignumPointer;
|
||||||
|
using ncrypto::BIOPointer;
|
||||||
|
using ncrypto::CryptoErrorList;
|
||||||
|
+using ncrypto::DataPointer;
|
||||||
|
#ifndef OPENSSL_NO_ENGINE
|
||||||
|
using ncrypto::EnginePointer;
|
||||||
|
#endif // !OPENSSL_NO_ENGINE
|
||||||
|
@@ -447,11 +448,12 @@ ByteSource ByteSource::FromString(Environment* env, Local<String> str,
|
||||||
|
CHECK(str->IsString());
|
||||||
|
size_t size = str->Utf8LengthV2(env->isolate());
|
||||||
|
size_t alloc_size = ntc ? size + 1 : size;
|
||||||
|
- ByteSource::Builder out(alloc_size);
|
||||||
|
- int opts = String::NO_OPTIONS;
|
||||||
|
- if (!ntc) opts |= String::NO_NULL_TERMINATION;
|
||||||
|
- str->WriteUtf8(env->isolate(), out.data<char>(), alloc_size, nullptr, opts);
|
||||||
|
- return std::move(out).release();
|
||||||
|
+ auto out = DataPointer::Alloc(alloc_size);
|
||||||
|
+ int flags = String::WriteFlags::kNone;
|
||||||
|
+ if (ntc) flags |= String::WriteFlags::kNullTerminate;
|
||||||
|
+ str->WriteUtf8V2(
|
||||||
|
+ env->isolate(), static_cast<char*>(out.get()), alloc_size, flags);
|
||||||
|
+ return ByteSource::Allocated(out.release());
|
||||||
|
}
|
||||||
|
|
||||||
|
ByteSource ByteSource::FromBuffer(Local<Value> buffer, bool ntc) {
|
||||||
|
diff --git a/src/encoding_binding.cc b/src/encoding_binding.cc
|
||||||
|
index 2d45bbe60f413121b3fd0f01802aeb4368f0c301..2af83e27f77f9afe2f725338b04061efbf0960a1 100644
|
||||||
|
--- a/src/encoding_binding.cc
|
||||||
|
+++ b/src/encoding_binding.cc
|
||||||
|
@@ -98,13 +98,12 @@ void BindingData::EncodeInto(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
char* write_result = static_cast<char*>(buf->Data()) + dest->ByteOffset();
|
||||||
|
size_t dest_length = dest->ByteLength();
|
||||||
|
|
||||||
|
- int nchars;
|
||||||
|
- int written = source->WriteUtf8(
|
||||||
|
- isolate,
|
||||||
|
- write_result,
|
||||||
|
- dest_length,
|
||||||
|
- &nchars,
|
||||||
|
- String::NO_NULL_TERMINATION | String::REPLACE_INVALID_UTF8);
|
||||||
|
+ size_t nchars;
|
||||||
|
+ size_t written = source->WriteUtf8V2(isolate,
|
||||||
|
+ write_result,
|
||||||
|
+ dest_length,
|
||||||
|
+ String::WriteFlags::kReplaceInvalidUtf8,
|
||||||
|
+ &nchars);
|
||||||
|
|
||||||
|
binding_data->encode_into_results_buffer_[0] = nchars;
|
||||||
|
binding_data->encode_into_results_buffer_[1] = written;
|
||||||
|
@@ -129,11 +128,11 @@ void BindingData::EncodeUtf8String(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
|
||||||
|
CHECK(bs);
|
||||||
|
|
||||||
|
- str->WriteUtf8(isolate,
|
||||||
|
- static_cast<char*>(bs->Data()),
|
||||||
|
- -1, // We are certain that `data` is sufficiently large
|
||||||
|
- nullptr,
|
||||||
|
- String::NO_NULL_TERMINATION | String::REPLACE_INVALID_UTF8);
|
||||||
|
+ // We are certain that `data` is sufficiently large
|
||||||
|
+ str->WriteUtf8V2(isolate,
|
||||||
|
+ static_cast<char*>(bs->Data()),
|
||||||
|
+ bs->MaxByteLength(),
|
||||||
|
+ String::WriteFlags::kReplaceInvalidUtf8);
|
||||||
|
|
||||||
|
ab = ArrayBuffer::New(isolate, std::move(bs));
|
||||||
|
}
|
||||||
|
diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc
|
||||||
|
index a84fdae795dc1cb367a2e446264575c550ce07ee..8f97ca4d9cbb840efd36c77fed12d746a2793670 100644
|
||||||
|
--- a/src/js_native_api_v8.cc
|
||||||
|
+++ b/src/js_native_api_v8.cc
|
||||||
|
@@ -2484,12 +2484,12 @@ napi_status NAPI_CDECL napi_get_value_string_utf8(
|
||||||
|
CHECK_ARG(env, result);
|
||||||
|
*result = val.As<v8::String>()->Utf8LengthV2(env->isolate);
|
||||||
|
} else if (bufsize != 0) {
|
||||||
|
- int copied = val.As<v8::String>()->WriteUtf8(
|
||||||
|
- env->isolate,
|
||||||
|
- buf,
|
||||||
|
- bufsize - 1,
|
||||||
|
- nullptr,
|
||||||
|
- v8::String::REPLACE_INVALID_UTF8 | v8::String::NO_NULL_TERMINATION);
|
||||||
|
+ auto str = val.As<v8::String>();
|
||||||
|
+ size_t copied =
|
||||||
|
+ str->WriteUtf8V2(env->isolate,
|
||||||
|
+ buf,
|
||||||
|
+ bufsize - 1,
|
||||||
|
+ v8::String::WriteFlags::kReplaceInvalidUtf8);
|
||||||
|
|
||||||
|
buf[copied] = '\0';
|
||||||
|
if (result != nullptr) {
|
||||||
|
diff --git a/src/string_bytes.cc b/src/string_bytes.cc
|
||||||
|
index 4324ed52d7cd6af5202512858a62346c3ab6c302..0eb9b1967f1f185a140239924809468394297d58 100644
|
||||||
|
--- a/src/string_bytes.cc
|
||||||
|
+++ b/src/string_bytes.cc
|
||||||
|
@@ -266,7 +266,8 @@ size_t StringBytes::Write(Isolate* isolate,
|
||||||
|
|
||||||
|
case BUFFER:
|
||||||
|
case UTF8:
|
||||||
|
- nbytes = str->WriteUtf8(isolate, buf, buflen, nullptr, flags);
|
||||||
|
+ nbytes = str->WriteUtf8V2(
|
||||||
|
+ isolate, buf, buflen, String::WriteFlags::kReplaceInvalidUtf8);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case UCS2: {
|
||||||
|
diff --git a/src/util.cc b/src/util.cc
|
||||||
|
index 03c4794314c1c228f95536d2d20a440061cf3a80..e616e11107555f0613cb631e3b4320fc281441fa 100644
|
||||||
|
--- a/src/util.cc
|
||||||
|
+++ b/src/util.cc
|
||||||
|
@@ -125,12 +125,8 @@ static void MakeUtf8String(Isolate* isolate,
|
||||||
|
size_t storage = (3 * value_length) + 1;
|
||||||
|
target->AllocateSufficientStorage(storage);
|
||||||
|
|
||||||
|
- // TODO(@anonrig): Use simdutf to speed up non-one-byte strings once it's
|
||||||
|
- // implemented
|
||||||
|
- const int flags =
|
||||||
|
- String::NO_NULL_TERMINATION | String::REPLACE_INVALID_UTF8;
|
||||||
|
- const int length =
|
||||||
|
- string->WriteUtf8(isolate, target->out(), storage, nullptr, flags);
|
||||||
|
+ size_t length = string->WriteUtf8V2(
|
||||||
|
+ isolate, target->out(), storage, String::WriteFlags::kReplaceInvalidUtf8);
|
||||||
|
target->SetLengthAndZeroTerminate(length);
|
||||||
|
}
|
||||||
|
|
||||||
39
patches/node/src_use_string_writev2_in_twobytevalue.patch
Normal file
39
patches/node/src_use_string_writev2_in_twobytevalue.patch
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= <tniessen@tnie.de>
|
||||||
|
Date: Fri, 9 May 2025 04:15:47 +0100
|
||||||
|
Subject: src: use String::WriteV2() in TwoByteValue
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Since `String::Write()` is deprecated, use `String::WriteV2()` instead.
|
||||||
|
|
||||||
|
PR-URL: https://github.com/nodejs/node/pull/58164
|
||||||
|
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
|
||||||
|
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
|
||||||
|
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
|
||||||
|
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
|
||||||
|
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
|
||||||
|
Reviewed-By: James M Snell <jasnell@gmail.com>
|
||||||
|
|
||||||
|
diff --git a/src/util.cc b/src/util.cc
|
||||||
|
index e616e11107555f0613cb631e3b4320fc281441fa..c5c2b89dc3fc008114b2492d1e16928428f097b4 100644
|
||||||
|
--- a/src/util.cc
|
||||||
|
+++ b/src/util.cc
|
||||||
|
@@ -146,12 +146,10 @@ TwoByteValue::TwoByteValue(Isolate* isolate, Local<Value> value) {
|
||||||
|
Local<String> string;
|
||||||
|
if (!value->ToString(isolate->GetCurrentContext()).ToLocal(&string)) return;
|
||||||
|
|
||||||
|
- // Allocate enough space to include the null terminator
|
||||||
|
- const size_t storage = string->Length() + 1;
|
||||||
|
- AllocateSufficientStorage(storage);
|
||||||
|
-
|
||||||
|
- const int flags = String::NO_NULL_TERMINATION;
|
||||||
|
- const int length = string->Write(isolate, out(), 0, storage, flags);
|
||||||
|
+ // Allocate enough space to include the null terminator.
|
||||||
|
+ const size_t length = string->Length();
|
||||||
|
+ AllocateSufficientStorage(length + 1);
|
||||||
|
+ string->WriteV2(isolate, 0, length, out());
|
||||||
|
SetLengthAndZeroTerminate(length);
|
||||||
|
}
|
||||||
|
|
||||||
@@ -36,10 +36,10 @@ for desktop capturer. This change re-enables that fallback, which was
|
|||||||
previously default behavior.
|
previously default behavior.
|
||||||
|
|
||||||
diff --git a/modules/desktop_capture/desktop_capturer.cc b/modules/desktop_capture/desktop_capturer.cc
|
diff --git a/modules/desktop_capture/desktop_capturer.cc b/modules/desktop_capture/desktop_capturer.cc
|
||||||
index ae9aba26ee56e8a0d48f81994f964b278c9019d3..758f1b44e01adb6807bc7c5f673d06fffbac5865 100644
|
index bf63f73178688e49286bb6686d5a42ce040c663e..f5f62a2b7865d8415ec08242312df006bcb2edf5 100644
|
||||||
--- a/modules/desktop_capture/desktop_capturer.cc
|
--- a/modules/desktop_capture/desktop_capturer.cc
|
||||||
+++ b/modules/desktop_capture/desktop_capturer.cc
|
+++ b/modules/desktop_capture/desktop_capturer.cc
|
||||||
@@ -123,7 +123,7 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateGenericCapturer(
|
@@ -138,7 +138,7 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateGenericCapturer(
|
||||||
std::unique_ptr<DesktopCapturer> capturer;
|
std::unique_ptr<DesktopCapturer> capturer;
|
||||||
|
|
||||||
#if defined(WEBRTC_USE_PIPEWIRE)
|
#if defined(WEBRTC_USE_PIPEWIRE)
|
||||||
@@ -61,10 +61,10 @@ index 361b465dad2a53f4dac774fa2d6d6d9e3fc5fc31..ef05a35bc4f2c2352b12c0af0b09193b
|
|||||||
capturer_failed_ = true;
|
capturer_failed_ = true;
|
||||||
}
|
}
|
||||||
diff --git a/modules/desktop_capture/screen_capturer_linux.cc b/modules/desktop_capture/screen_capturer_linux.cc
|
diff --git a/modules/desktop_capture/screen_capturer_linux.cc b/modules/desktop_capture/screen_capturer_linux.cc
|
||||||
index 94726750c5762e22b517445b23254513eb207aae..85946a6c7eef56a66c0ee2ec06bdc5f2ba49c53c 100644
|
index f25e08fb594c563b1f8ca0fd1c4383ed39df5149..8ce6a9d82d808c1618b857ac83af85ac38a43a2a 100644
|
||||||
--- a/modules/desktop_capture/screen_capturer_linux.cc
|
--- a/modules/desktop_capture/screen_capturer_linux.cc
|
||||||
+++ b/modules/desktop_capture/screen_capturer_linux.cc
|
+++ b/modules/desktop_capture/screen_capturer_linux.cc
|
||||||
@@ -35,11 +35,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
@@ -39,11 +39,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawScreenCapturer(
|
||||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||||
|
|
||||||
#if defined(WEBRTC_USE_X11)
|
#if defined(WEBRTC_USE_X11)
|
||||||
@@ -80,10 +80,10 @@ index 94726750c5762e22b517445b23254513eb207aae..85946a6c7eef56a66c0ee2ec06bdc5f2
|
|||||||
|
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
diff --git a/modules/desktop_capture/window_capturer_linux.cc b/modules/desktop_capture/window_capturer_linux.cc
|
diff --git a/modules/desktop_capture/window_capturer_linux.cc b/modules/desktop_capture/window_capturer_linux.cc
|
||||||
index f621a63e72131fd8426361a078a55d1e07c0e436..91394503da5e7f6d090e2eaede02316cf51ad7b2 100644
|
index 87ea3d57212c5f62194f206787756b7f3fb63e90..3f565ab13a033dc29d55f819da7de464b6e19885 100644
|
||||||
--- a/modules/desktop_capture/window_capturer_linux.cc
|
--- a/modules/desktop_capture/window_capturer_linux.cc
|
||||||
+++ b/modules/desktop_capture/window_capturer_linux.cc
|
+++ b/modules/desktop_capture/window_capturer_linux.cc
|
||||||
@@ -35,11 +35,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
@@ -39,11 +39,10 @@ std::unique_ptr<DesktopCapturer> DesktopCapturer::CreateRawWindowCapturer(
|
||||||
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
#endif // defined(WEBRTC_USE_PIPEWIRE)
|
||||||
|
|
||||||
#if defined(WEBRTC_USE_X11)
|
#if defined(WEBRTC_USE_X11)
|
||||||
|
|||||||
@@ -551,17 +551,17 @@ base::IDMap<WebContents*>& GetAllWebContents() {
|
|||||||
|
|
||||||
void OnCapturePageDone(gin_helper::Promise<gfx::Image> promise,
|
void OnCapturePageDone(gin_helper::Promise<gfx::Image> promise,
|
||||||
base::ScopedClosureRunner capture_handle,
|
base::ScopedClosureRunner capture_handle,
|
||||||
const SkBitmap& bitmap) {
|
const viz::CopyOutputBitmapWithMetadata& result) {
|
||||||
auto ui_task_runner = content::GetUIThreadTaskRunner({});
|
auto ui_task_runner = content::GetUIThreadTaskRunner({});
|
||||||
if (!ui_task_runner->RunsTasksInCurrentSequence()) {
|
if (!ui_task_runner->RunsTasksInCurrentSequence()) {
|
||||||
ui_task_runner->PostTask(
|
ui_task_runner->PostTask(
|
||||||
FROM_HERE, base::BindOnce(&OnCapturePageDone, std::move(promise),
|
FROM_HERE, base::BindOnce(&OnCapturePageDone, std::move(promise),
|
||||||
std::move(capture_handle), bitmap));
|
std::move(capture_handle), result));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hack to enable transparency in captured image
|
// Hack to enable transparency in captured image
|
||||||
promise.Resolve(gfx::Image::CreateFrom1xBitmap(bitmap));
|
promise.Resolve(gfx::Image::CreateFrom1xBitmap(result.bitmap));
|
||||||
capture_handle.RunAndReset();
|
capture_handle.RunAndReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ bool Browser::RemoveAsDefaultProtocolClient(const std::string& protocol,
|
|||||||
std::u16string Browser::GetApplicationNameForProtocol(const GURL& url) {
|
std::u16string Browser::GetApplicationNameForProtocol(const GURL& url) {
|
||||||
const std::vector<std::string> argv = {
|
const std::vector<std::string> argv = {
|
||||||
"xdg-mime", "query", "default",
|
"xdg-mime", "query", "default",
|
||||||
base::StrCat({"x-scheme-handler/", url.scheme_piece()})};
|
base::StrCat({"x-scheme-handler/", url.scheme()})};
|
||||||
|
|
||||||
return base::ASCIIToUTF16(GetXdgAppOutput(argv).value_or(std::string()));
|
return base::ASCIIToUTF16(GetXdgAppOutput(argv).value_or(std::string()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ bool IsValidCustomProtocol(const std::wstring& scheme) {
|
|||||||
// (https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/ne-shlwapi-assocstr)
|
// (https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/ne-shlwapi-assocstr)
|
||||||
// and returns the application name, icon and path that handles the protocol.
|
// and returns the application name, icon and path that handles the protocol.
|
||||||
std::wstring GetAppInfoHelperForProtocol(ASSOCSTR assoc_str, const GURL& url) {
|
std::wstring GetAppInfoHelperForProtocol(ASSOCSTR assoc_str, const GURL& url) {
|
||||||
const std::wstring url_scheme = base::ASCIIToWide(url.scheme_piece());
|
const std::wstring url_scheme = base::ASCIIToWide(url.scheme());
|
||||||
if (!IsValidCustomProtocol(url_scheme))
|
if (!IsValidCustomProtocol(url_scheme))
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ ElectronWebUIControllerFactory::~ElectronWebUIControllerFactory() = default;
|
|||||||
content::WebUI::TypeID ElectronWebUIControllerFactory::GetWebUIType(
|
content::WebUI::TypeID ElectronWebUIControllerFactory::GetWebUIType(
|
||||||
content::BrowserContext* browser_context,
|
content::BrowserContext* browser_context,
|
||||||
const GURL& url) {
|
const GURL& url) {
|
||||||
if (const std::string_view host = url.host_piece();
|
if (const std::string_view host = url.host();
|
||||||
host == chrome::kChromeUIDevToolsHost ||
|
host == chrome::kChromeUIDevToolsHost ||
|
||||||
host == chrome::kChromeUIAccessibilityHost) {
|
host == chrome::kChromeUIAccessibilityHost) {
|
||||||
return this;
|
return this;
|
||||||
@@ -44,7 +44,7 @@ std::unique_ptr<content::WebUIController>
|
|||||||
ElectronWebUIControllerFactory::CreateWebUIControllerForURL(
|
ElectronWebUIControllerFactory::CreateWebUIControllerForURL(
|
||||||
content::WebUI* web_ui,
|
content::WebUI* web_ui,
|
||||||
const GURL& url) {
|
const GURL& url) {
|
||||||
const std::string_view host = url.host_piece();
|
const std::string_view host = url.host();
|
||||||
|
|
||||||
if (host == chrome::kChromeUIDevToolsHost) {
|
if (host == chrome::kChromeUIDevToolsHost) {
|
||||||
auto* browser_context = web_ui->GetWebContents()->GetBrowserContext();
|
auto* browser_context = web_ui->GetWebContents()->GetBrowserContext();
|
||||||
|
|||||||
@@ -510,7 +510,7 @@ bool IsKillURL(const GURL& url) {
|
|||||||
content::kChromeUIMemoryExhaustHost,
|
content::kChromeUIMemoryExhaustHost,
|
||||||
});
|
});
|
||||||
|
|
||||||
return kKillHosts.contains(url.host_piece());
|
return kKillHosts.contains(url.host());
|
||||||
}
|
}
|
||||||
|
|
||||||
GURL ResolvePossiblyRelativeURL(const std::string& url_string,
|
GURL ResolvePossiblyRelativeURL(const std::string& url_string,
|
||||||
|
|||||||
@@ -797,7 +797,7 @@ void ProxyingURLLoaderFactory::CreateLoaderAndStart(
|
|||||||
bool bypass_custom_protocol_handlers =
|
bool bypass_custom_protocol_handlers =
|
||||||
options & kBypassCustomProtocolHandlers;
|
options & kBypassCustomProtocolHandlers;
|
||||||
if (!bypass_custom_protocol_handlers) {
|
if (!bypass_custom_protocol_handlers) {
|
||||||
auto it = intercepted_handlers_->find(request.url.scheme_piece());
|
auto it = intercepted_handlers_->find(request.url.scheme());
|
||||||
if (it != intercepted_handlers_->end()) {
|
if (it != intercepted_handlers_->end()) {
|
||||||
mojo::PendingRemote<network::mojom::URLLoaderFactory> loader_remote;
|
mojo::PendingRemote<network::mojom::URLLoaderFactory> loader_remote;
|
||||||
this->Clone(loader_remote.InitWithNewPipeAndPassReceiver());
|
this->Clone(loader_remote.InitWithNewPipeAndPassReceiver());
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "components/viz/common/resources/resource_sizes.h"
|
#include "components/viz/common/resources/shared_image_format_utils.h"
|
||||||
#include "mojo/public/cpp/system/platform_handle.h"
|
#include "mojo/public/cpp/system/platform_handle.h"
|
||||||
#include "skia/ext/platform_canvas.h"
|
#include "skia/ext/platform_canvas.h"
|
||||||
#include "third_party/skia/include/core/SkColor.h"
|
#include "third_party/skia/include/core/SkColor.h"
|
||||||
@@ -39,11 +39,10 @@ void LayeredWindowUpdater::OnAllocatedSharedMemory(
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// Make sure |pixel_size| is sane.
|
// Make sure |pixel_size| is sane.
|
||||||
size_t expected_bytes;
|
if (!SharedMemorySizeForSharedImageFormat(viz::SinglePlaneFormat::kRGBA_8888,
|
||||||
bool size_result = viz::ResourceSizes::MaybeSizeInBytes(
|
pixel_size)) {
|
||||||
pixel_size, viz::SinglePlaneFormat::kRGBA_8888, &expected_bytes);
|
|
||||||
if (!size_result)
|
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
canvas_ = skia::CreatePlatformCanvasWithSharedSection(
|
canvas_ = skia::CreatePlatformCanvasWithSharedSection(
|
||||||
|
|||||||
@@ -489,7 +489,8 @@ uint32_t OffScreenRenderWidgetHostView::GetCaptureSequenceNumber() const {
|
|||||||
void OffScreenRenderWidgetHostView::CopyFromSurface(
|
void OffScreenRenderWidgetHostView::CopyFromSurface(
|
||||||
const gfx::Rect& src_rect,
|
const gfx::Rect& src_rect,
|
||||||
const gfx::Size& output_size,
|
const gfx::Size& output_size,
|
||||||
base::OnceCallback<void(const SkBitmap&)> callback) {
|
base::OnceCallback<void(const viz::CopyOutputBitmapWithMetadata&)>
|
||||||
|
callback) {
|
||||||
delegated_frame_host()->CopyFromCompositingSurface(src_rect, output_size,
|
delegated_frame_host()->CopyFromCompositingSurface(src_rect, output_size,
|
||||||
std::move(callback));
|
std::move(callback));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,7 +147,8 @@ class OffScreenRenderWidgetHostView
|
|||||||
void CopyFromSurface(
|
void CopyFromSurface(
|
||||||
const gfx::Rect& src_rect,
|
const gfx::Rect& src_rect,
|
||||||
const gfx::Size& output_size,
|
const gfx::Size& output_size,
|
||||||
base::OnceCallback<void(const SkBitmap&)> callback) override;
|
base::OnceCallback<void(const viz::CopyOutputBitmapWithMetadata&)>
|
||||||
|
callback) override;
|
||||||
display::ScreenInfo GetScreenInfo() const override;
|
display::ScreenInfo GetScreenInfo() const override;
|
||||||
void TransformPointToRootSurface(gfx::PointF* point) override {}
|
void TransformPointToRootSurface(gfx::PointF* point) override {}
|
||||||
gfx::Rect GetBoundsInRootWindow() override;
|
gfx::Rect GetBoundsInRootWindow() override;
|
||||||
|
|||||||
@@ -681,7 +681,7 @@ void InspectableWebContents::LoadNetworkResource(DispatchCallback callback,
|
|||||||
std::make_unique<network::WrapperPendingSharedURLLoaderFactory>(
|
std::make_unique<network::WrapperPendingSharedURLLoaderFactory>(
|
||||||
std::move(pending_remote)));
|
std::move(pending_remote)));
|
||||||
} else if (const auto* const protocol_handler =
|
} else if (const auto* const protocol_handler =
|
||||||
protocol_registry->FindRegistered(gurl.scheme_piece())) {
|
protocol_registry->FindRegistered(gurl.scheme())) {
|
||||||
url_loader_factory = network::SharedURLLoaderFactory::Create(
|
url_loader_factory = network::SharedURLLoaderFactory::Create(
|
||||||
std::make_unique<network::WrapperPendingSharedURLLoaderFactory>(
|
std::make_unique<network::WrapperPendingSharedURLLoaderFactory>(
|
||||||
ElectronURLLoaderFactory::Create(protocol_handler->first,
|
ElectronURLLoaderFactory::Create(protocol_handler->first,
|
||||||
|
|||||||
@@ -492,7 +492,7 @@ SimpleURLLoaderWrapper::GetURLLoaderFactoryForURL(const GURL& url) {
|
|||||||
// correctly intercept file:// scheme URLs.
|
// correctly intercept file:// scheme URLs.
|
||||||
if (const bool bypass = request_options_ & kBypassCustomProtocolHandlers;
|
if (const bool bypass = request_options_ & kBypassCustomProtocolHandlers;
|
||||||
!bypass) {
|
!bypass) {
|
||||||
const std::string_view scheme = url.scheme_piece();
|
const std::string_view scheme = url.scheme();
|
||||||
const auto* const protocol_registry =
|
const auto* const protocol_registry =
|
||||||
ProtocolRegistry::FromBrowserContext(browser_context_);
|
ProtocolRegistry::FromBrowserContext(browser_context_);
|
||||||
|
|
||||||
|
|||||||
@@ -811,7 +811,7 @@ class WebFrameRenderer final
|
|||||||
void ClearCache(v8::Isolate* isolate) {
|
void ClearCache(v8::Isolate* isolate) {
|
||||||
blink::WebCache::Clear();
|
blink::WebCache::Clear();
|
||||||
base::MemoryPressureListener::NotifyMemoryPressure(
|
base::MemoryPressureListener::NotifyMemoryPressure(
|
||||||
base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL);
|
base::MEMORY_PRESSURE_LEVEL_CRITICAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
v8::Local<v8::Value> FindFrameByToken(v8::Isolate* isolate,
|
v8::Local<v8::Value> FindFrameByToken(v8::Isolate* isolate,
|
||||||
|
|||||||
Reference in New Issue
Block a user