mirror of
https://github.com/electron/electron.git
synced 2026-10-28 11:44:46 +08:00
chore: bump chromium to 158.0.8111.0 (main) (#55110)
* chore: bump chromium in DEPS to 158.0.8111.0 * chore: update siso revision * chore: remove upstreamed patches Ref: https://chromium-review.googlesource.com/c/chromium/src/+/8454983 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/8567285 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * chore: update patches * 8268365: Reduce includes in ui/display/display.h Ref: https://chromium-review.googlesource.com/c/chromium/src/+/8268365 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * 8351530: extensions: Migrate extensions/ Event constructors to scoped_refptr ExtensionsBrowserClient::BroadcastEventToRenderers now takes a scoped_refptr<const EventArgs>, and the by-value extensions::Event constructors were removed. Mirror EventRouterForwarder: share the args across browser contexts when kShareEventArgsOnDispatch is enabled, otherwise clone them per context as before. Ref: https://chromium-review.googlesource.com/c/chromium/src/+/8351530 Ref: https://chromium-review.googlesource.com/c/chromium/src/+/8238373 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> * 8594202: Roll BoringSSL from 5b83e5d1abf0 to 437b75f34c38 (6 revisions) Refs https://chromium-review.googlesource.com/c/chromium/src/+/8594202 --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: electron-claude[bot] <279139701+electron-claude[bot]@users.noreply.github.com> Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: David Sanders <dsanders11@ucsbalum.com>
This commit is contained in:
62 files changed
+711
-437
No files matched your search
@@ -2,7 +2,7 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'158.0.8107.0',
|
||||
'158.0.8111.0',
|
||||
'node_version':
|
||||
'v24.22.0',
|
||||
'nan_version':
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
b521b230cb7c56c821235e498285cf8e548a73ee
|
||||
7ab4814901b3c7afc2dddf2ed1a6ff238a0d85c5
|
||||
@@ -82,10 +82,10 @@ index 584b1390a841cc1b1dcb69e16d8242a88e4bb9cb..637aeccb8de8d793eabc38e32bef6834
|
||||
|
||||
void EVP_MD_do_all(void (*callback)(const EVP_MD *md, const char *name,
|
||||
diff --git a/include/openssl/digest.h b/include/openssl/digest.h
|
||||
index 8a81bc1a4d0e4a28fae950f91b3e7dffc977756d..d8c097c20ddf056542c950aea6964be5c8f0953c 100644
|
||||
index 73270deea21a9b4547fdaf6febd21c72dd7fe0bf..ca080f3674c7fa3162a841918eb41b095950b24b 100644
|
||||
--- a/include/openssl/digest.h
|
||||
+++ b/include/openssl/digest.h
|
||||
@@ -48,6 +48,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_blake2b256(void);
|
||||
@@ -58,6 +58,9 @@ OPENSSL_EXPORT const EVP_MD *EVP_sha3_512(void);
|
||||
// MD5 and SHA-1, as used in TLS 1.1 and below.
|
||||
OPENSSL_EXPORT const EVP_MD *EVP_md5_sha1(void);
|
||||
|
||||
|
||||
@@ -133,10 +133,8 @@ webhid_webusb_key_document_services_on_the_requesting_frame_s_origin.patch
|
||||
build_restore_allow_runtime_configurable_key_storage_arg.patch
|
||||
fix_restore_snap-compatible_dbusmenu_object_path.patch
|
||||
fix_allow_any_exit_code_in_browsermainrunner_setoverrideresultcode.patch
|
||||
gin_copy_ascii_one-byte_strings_out_directly_in.patch
|
||||
fix_gate_webstoreprivate_on_a_delegated_availability_check.patch
|
||||
build_drop_the_unused_chrome_browser_win_dep_from_color_mixers.patch
|
||||
fix_plumb_the_requesting_frame_through_pointer_lock_requests.patch
|
||||
fix_avoid_misaligned_char16_t_reads_in_crdtp_string_deserialization.patch
|
||||
feat_let_the_host_of_a_remote_nswindow_set_more_of_its_behavior.patch
|
||||
add_entries_to_the_spki_blocklist.patch
|
||||
@@ -10,7 +10,7 @@ usage of BrowserList and Browser as we subclass related methods and use our
|
||||
WindowList.
|
||||
|
||||
diff --git a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9ef5c93378 100644
|
||||
index 913553af2f195c05da03efd92ebf2043f91d78b4..04a833b8eb798fb6e818ed93ea3e970b0f1980ab 100644
|
||||
--- a/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
+++ b/chrome/browser/ui/webui/accessibility/accessibility_ui.cc
|
||||
@@ -51,6 +51,7 @@
|
||||
@@ -30,7 +30,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
base::DictValue BuildTargetDescriptor(BrowserWindowInterface* browser) {
|
||||
base::DictValue target_data;
|
||||
target_data.Set(kSessionIdField, browser->GetSessionID().id());
|
||||
@@ -263,7 +264,7 @@ void HandleAccessibilityRequestCallback(
|
||||
@@ -264,7 +265,7 @@ void HandleAccessibilityRequestCallback(
|
||||
auto& browser_accessibility_state =
|
||||
*content::BrowserAccessibilityState::GetInstance();
|
||||
base::DictValue data;
|
||||
@@ -39,7 +39,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
ui::AXMode mode = browser_accessibility_state.GetAccessibilityMode();
|
||||
bool native = mode.has_mode(ui::AXMode::kNativeAPIs);
|
||||
bool web = mode.has_mode(ui::AXMode::kWebContents);
|
||||
@@ -324,7 +325,7 @@ void HandleAccessibilityRequestCallback(
|
||||
@@ -325,7 +326,7 @@ void HandleAccessibilityRequestCallback(
|
||||
data.Set(kIsScreenReaderActive, is_screen_reader_active);
|
||||
|
||||
std::string pref_api_type =
|
||||
@@ -48,7 +48,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
bool pref_api_type_supported = false;
|
||||
|
||||
std::vector<ui::AXApiType::Type> supported_api_types =
|
||||
@@ -392,13 +393,13 @@ void HandleAccessibilityRequestCallback(
|
||||
@@ -393,13 +394,13 @@ void HandleAccessibilityRequestCallback(
|
||||
data.Set(kPagesField, std::move(page_list));
|
||||
|
||||
base::ListValue browser_list;
|
||||
@@ -64,7 +64,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
data.Set(kBrowsersField, std::move(browser_list));
|
||||
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
@@ -908,7 +909,8 @@ void AccessibilityUIMessageHandler::HandleSetGlobalString(
|
||||
@@ -909,7 +910,8 @@ void AccessibilityUIMessageHandler::HandleSetGlobalString(
|
||||
const std::string value = CheckJSValue(data.FindString(kValueField));
|
||||
|
||||
if (string_name == kApiTypeField) {
|
||||
@@ -74,7 +74,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
pref->SetString(prefs::kShownAccessibilityApiType, value);
|
||||
}
|
||||
}
|
||||
@@ -962,7 +964,8 @@ void AccessibilityUIMessageHandler::HandleRequestWebContentsTree(
|
||||
@@ -963,7 +965,8 @@ void AccessibilityUIMessageHandler::HandleRequestWebContentsTree(
|
||||
AXPropertyFilter::ALLOW_EMPTY);
|
||||
AddPropertyFilters(property_filters, deny, AXPropertyFilter::DENY);
|
||||
|
||||
@@ -84,7 +84,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
ui::AXApiType::Type api_type =
|
||||
ui::AXApiType::From(pref->GetString(prefs::kShownAccessibilityApiType));
|
||||
std::string accessibility_contents =
|
||||
@@ -982,7 +985,7 @@ void AccessibilityUIMessageHandler::HandleRequestNativeUITree(
|
||||
@@ -983,7 +986,7 @@ void AccessibilityUIMessageHandler::HandleRequestNativeUITree(
|
||||
|
||||
AllowJavascript();
|
||||
|
||||
@@ -93,7 +93,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
std::vector<AXPropertyFilter> property_filters;
|
||||
AddPropertyFilters(property_filters, allow, AXPropertyFilter::ALLOW);
|
||||
AddPropertyFilters(property_filters, allow_empty,
|
||||
@@ -1009,7 +1012,7 @@ void AccessibilityUIMessageHandler::HandleRequestNativeUITree(
|
||||
@@ -1010,7 +1013,7 @@ void AccessibilityUIMessageHandler::HandleRequestNativeUITree(
|
||||
if (found) {
|
||||
return;
|
||||
}
|
||||
@@ -102,7 +102,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
// No browser with the specified |session_id| was found.
|
||||
base::DictValue result;
|
||||
result.Set(kSessionIdField, session_id);
|
||||
@@ -1052,11 +1055,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
@@ -1053,11 +1056,13 @@ void AccessibilityUIMessageHandler::StopRecording(
|
||||
}
|
||||
|
||||
ui::AXApiType::Type AccessibilityUIMessageHandler::GetRecordingApiType() {
|
||||
@@ -119,7 +119,7 @@ index 740346cacbd202b398f423f6ba8c7aaf564ca8ca..92a8a974be40c1b3e802a9103e736e9e
|
||||
// Check to see if it is in the supported types list.
|
||||
if (std::find(supported_types.begin(), supported_types.end(), api_type) ==
|
||||
supported_types.end()) {
|
||||
@@ -1126,10 +1131,13 @@ void AccessibilityUIMessageHandler::HandleRequestAccessibilityEvents(
|
||||
@@ -1127,10 +1132,13 @@ void AccessibilityUIMessageHandler::HandleRequestAccessibilityEvents(
|
||||
// static
|
||||
void AccessibilityUIMessageHandler::RegisterProfilePrefs(
|
||||
user_prefs::PrefRegistrySyncable* registry) {
|
||||
|
||||
@@ -116,7 +116,7 @@ index 8bd6b07c5c47f6625b24b1ee227d632bf5d97c5d..b87a4ff69d2b68194bcabe1a60668645
|
||||
// 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
|
||||
index 210e182a80343b67302a2ed347c1ab984cdc3b09..ecb2deab23578181025b0282f02960d4a71a3c1f 100644
|
||||
index ae5055c9cae7e4e6de10155cfea95319fc267525..ec828bb7553343e55b768b699d9dc5c13715953e 100644
|
||||
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -618,6 +618,7 @@ WebViewImpl::WebViewImpl(
|
||||
@@ -141,7 +141,7 @@ index 210e182a80343b67302a2ed347c1ab984cdc3b09..ecb2deab23578181025b0282f02960d4
|
||||
bool storing_in_bfcache = new_state->is_in_back_forward_cache &&
|
||||
!old_state->is_in_back_forward_cache;
|
||||
bool restoring_from_bfcache = !new_state->is_in_back_forward_cache &&
|
||||
@@ -4327,10 +4335,26 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
@@ -4316,10 +4324,26 @@ PageScheduler* WebViewImpl::Scheduler() const {
|
||||
return GetPage()->GetPageScheduler();
|
||||
}
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@ that the new window is created in its own BrowsingInstance (and process).
|
||||
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
|
||||
index cfd765693847c96257f261406c9bf3af07794dd2..b194c937a8fbc693809b3062bb0be7ce5e2f877b 100644
|
||||
index d180de540ce57bfbcff63ba0d930e85f1ff70782..b746e8ba223ede69576116d74c8ecaafe289c2da 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -10779,6 +10779,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -10797,6 +10797,7 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
last_committed_origin_, params->window_container_type,
|
||||
params->target_url, params->referrer.To<Referrer>(),
|
||||
params->frame_name, params->disposition, *params->features,
|
||||
@@ -23,7 +23,7 @@ index cfd765693847c96257f261406c9bf3af07794dd2..b194c937a8fbc693809b3062bb0be7ce
|
||||
effective_transient_activation_state, params->opener_suppressed,
|
||||
&no_javascript_access);
|
||||
|
||||
@@ -10789,6 +10790,11 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -10807,6 +10808,11 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@ index cfd765693847c96257f261406c9bf3af07794dd2..b194c937a8fbc693809b3062bb0be7ce
|
||||
// important to do this before we return from the |opener_suppressed| case
|
||||
// below.
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 367bb4509cd995a8c8ffa80840b4b60b8d1bda5c..1d3ef04c87c82c369c2a58b9e97153981352cfc9 100644
|
||||
index 0c5cf794e55e04204da10ed903b9e4ad35f06c13..5b05e8719c0a960c3535d24cc2c6ab5daaa12cd8 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5804,6 +5804,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5810,6 +5810,10 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
create_params.initially_hidden = renderer_started_hidden;
|
||||
create_params.initial_popup_url = params.target_url;
|
||||
|
||||
@@ -50,7 +50,7 @@ index 367bb4509cd995a8c8ffa80840b4b60b8d1bda5c..1d3ef04c87c82c369c2a58b9e9715398
|
||||
// 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
|
||||
// browsing instance, then the RenderViewHost, RenderWidgetHost,
|
||||
@@ -5858,6 +5862,13 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5864,6 +5868,13 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
// Sets the newly created WebContents WindowOpenDisposition.
|
||||
new_contents_impl->original_window_open_disposition_ = params.disposition;
|
||||
|
||||
@@ -64,7 +64,7 @@ index 367bb4509cd995a8c8ffa80840b4b60b8d1bda5c..1d3ef04c87c82c369c2a58b9e9715398
|
||||
// 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
|
||||
// SetSessionStorageNamespace, since this calls CreateRenderView, which uses
|
||||
@@ -5899,13 +5910,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5905,13 +5916,6 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
AddWebContentsDestructionObserver(new_contents_impl);
|
||||
}
|
||||
|
||||
@@ -94,10 +94,10 @@ index 572c5763b9995dde20a0a7a2ddaa077934939b1d..66c36cedacc93897e1bf51bee5181eee
|
||||
|
||||
// Operation result when the renderer asks the browser to create a new window.
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index 6a07f32cb64a90a09b44cf9f7c2479f257eba198..10f0f0878178abb0c14a52403cd43d370508179b 100644
|
||||
index 6e864ee3dc2e92013d82da23f6e43e85eb12c895..ebdd1317464261abc8e73994f3b6842663c234c2 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -836,6 +836,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -842,6 +842,8 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -107,10 +107,10 @@ index 6a07f32cb64a90a09b44cf9f7c2479f257eba198..10f0f0878178abb0c14a52403cd43d37
|
||||
bool opener_suppressed,
|
||||
bool* no_javascript_access) {
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 42a04c54b65ddcf0905c7d527de950303bcf8ab7..ce53f4dab5f793d58a560573680edb3992c11ba7 100644
|
||||
index 18f2cfffae354b35d64ea92273034baf1d68ef46..10ba4c08f77fbc45543641a8142b8fe22ecf0eb2 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -206,6 +206,7 @@ class TrustedURLLoaderHeaderClient;
|
||||
@@ -207,6 +207,7 @@ class TrustedURLLoaderHeaderClient;
|
||||
class URLResponseHead;
|
||||
} // namespace mojom
|
||||
struct ResourceRequest;
|
||||
@@ -118,7 +118,7 @@ index 42a04c54b65ddcf0905c7d527de950303bcf8ab7..ce53f4dab5f793d58a560573680edb39
|
||||
} // namespace network
|
||||
|
||||
namespace sandbox {
|
||||
@@ -1292,6 +1293,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1301,6 +1302,8 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const std::string& frame_name,
|
||||
WindowOpenDisposition disposition,
|
||||
const blink::mojom::WindowFeatures& features,
|
||||
@@ -242,10 +242,10 @@ index 1208199428a2de729650c82e988ab67abeb0e786..2e6643ede047a580a636dbf75e86c99f
|
||||
|
||||
} // 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
|
||||
index f2aeb1ac0c53e368263d9a8788b71e1058647714..a1d486463288bb999f9e47b388728cbcb172081a 100644
|
||||
index ab0a1027e8335e13126f9792e7a5664762b9a95c..1df951296c4f889da4705952eea9479b6af36959 100644
|
||||
--- a/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/local_dom_window.cc
|
||||
@@ -2519,6 +2519,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
@@ -2521,6 +2521,8 @@ DOMWindow* LocalDOMWindow::open(v8::Isolate* isolate,
|
||||
WebWindowFeatures window_features =
|
||||
GetWindowFeaturesFromString(features, entered_window);
|
||||
|
||||
|
||||
@@ -8,10 +8,10 @@ where callsites that deal with multiple contexts need to distinguish
|
||||
the current isolate.
|
||||
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index 8f3869ee27db32af97aefbca48cd495c4d5756e2..79d93f7ab27815bac0948d1064aecf9070b93a05 100644
|
||||
index 6d7d041f3ecd7a9a2fa16f2188462ee7f4282d19..db698a9a9adfd9bd2dfc8dd29932b3e4b7764f73 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -387,6 +387,7 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -393,6 +393,7 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// WillDestroyServiceWorkerContextOnWorkerThread() is called.
|
||||
virtual void WillEvaluateServiceWorkerOnWorkerThread(
|
||||
blink::WebServiceWorkerContextProxy* context_proxy,
|
||||
@@ -127,10 +127,10 @@ index 39c4c1951c4cb656d8db9e53fa279126fd1ed480..ce541c2c77460834fdf59570398c2cbf
|
||||
int64_t service_worker_version_id,
|
||||
const GURL& service_worker_scope,
|
||||
diff --git a/extensions/renderer/extension_frame_helper.cc b/extensions/renderer/extension_frame_helper.cc
|
||||
index 5273756a5fca9337b2bffa61e09b988fe7ba3f1b..1e26053159afd86852b10ee11ac76ac5e858fc54 100644
|
||||
index 7faa27b43289319441b0e7230f09a5491259e884..4dc088c5b38a3c3340caa6ff46988ae7282f8d65 100644
|
||||
--- a/extensions/renderer/extension_frame_helper.cc
|
||||
+++ b/extensions/renderer/extension_frame_helper.cc
|
||||
@@ -449,6 +449,7 @@ void ExtensionFrameHelper::DidCreateScriptContext(
|
||||
@@ -453,6 +453,7 @@ void ExtensionFrameHelper::DidCreateScriptContext(
|
||||
}
|
||||
|
||||
void ExtensionFrameHelper::WillReleaseScriptContext(
|
||||
@@ -259,10 +259,10 @@ index d3b0656ff4e99725062f36c0f12347d6779f0350..4c5085428c60f2a730fd8938a143de51
|
||||
|
||||
AssociatedInterfaceProvider* GetRemoteNavigationAssociatedInterfaces()
|
||||
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
index 4bc189549d5ab61afdf62fdd327c43b7e393c245..22b8e5873e4abbb2439d84e336fd9a210e1912f6 100644
|
||||
index 51de9e5289de7d1f3b78227dade68ce2d7253241..bd25b1757e3cf82e1f6dd1613e528f367f607d62 100644
|
||||
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
@@ -183,6 +183,7 @@ void ServiceWorkerGlobalScopeProxy::WillEvaluateScript() {
|
||||
@@ -184,6 +184,7 @@ void ServiceWorkerGlobalScopeProxy::WillEvaluateScript() {
|
||||
ScriptState::Scope scope(
|
||||
WorkerGlobalScope()->ScriptController()->GetScriptState());
|
||||
Client().WillEvaluateScript(
|
||||
|
||||
@@ -14,10 +14,10 @@ track down the source of this problem & figure out if we can fix it
|
||||
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
|
||||
index a4bf6612084c3f0303eda3b8bec70c93ef1f7e1d..8f85b875670866f1f1b1a717c985738cba20c792 100644
|
||||
index 1da4eb145458b5e6bb8c03326cf121fe66c6ab36..cbc09ec8e312b0f6d3cae8b7086d56256a07b0c4 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5779,7 +5779,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
@@ -5785,7 +5785,7 @@ FrameTree* WebContentsImpl::CreateNewWindow(
|
||||
: IsGuest();
|
||||
// While some guest types do not have a guest SiteInstance, the ones that
|
||||
// don't all override WebContents creation above.
|
||||
|
||||
@@ -43,7 +43,7 @@ index ba02974778b98b83456e79ba62a9d6b30680039c..fd2e7a592cdeca42393d2e3f9f2a0e6c
|
||||
// When the enterprise policy is not set, use finch/feature flag choice.
|
||||
return base::FeatureList::IsEnabled(chrome_pdf::features::kPdfXfaSupport);
|
||||
diff --git a/chrome/browser/pdf/pdf_extension_util.cc b/chrome/browser/pdf/pdf_extension_util.cc
|
||||
index 067d32765013e05e148ee8253ab9b2afdb979a22..da9add58b669b7ec9e0ce729c8703cda78d0c586 100644
|
||||
index 7040492f1384f8e9832b9fc21fca64cdba139347..be828d44370f60525afc8204152a66b0f467ddc6 100644
|
||||
--- a/chrome/browser/pdf/pdf_extension_util.cc
|
||||
+++ b/chrome/browser/pdf/pdf_extension_util.cc
|
||||
@@ -16,7 +16,6 @@
|
||||
@@ -54,7 +54,7 @@ index 067d32765013e05e148ee8253ab9b2afdb979a22..da9add58b669b7ec9e0ce729c8703cda
|
||||
#include "chrome/common/chrome_features.h"
|
||||
#include "chrome/common/extensions/api/pdf_viewer_private.h"
|
||||
#include "chrome/common/url_constants.h"
|
||||
@@ -286,10 +285,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
||||
@@ -287,10 +286,13 @@ bool IsPrintingEnabled(content::BrowserContext* context) {
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF_INK2)
|
||||
bool IsPdfAnnotationsEnabledByPolicy(content::BrowserContext* context) {
|
||||
@@ -68,7 +68,7 @@ index 067d32765013e05e148ee8253ab9b2afdb979a22..da9add58b669b7ec9e0ce729c8703cda
|
||||
}
|
||||
|
||||
bool IsPdfInk2AnnotationsEnabled(content::BrowserContext* context) {
|
||||
@@ -546,11 +548,13 @@ bool ShouldShowGlicSummarizeButton(content::WebContents* web_contents) {
|
||||
@@ -547,11 +549,13 @@ bool ShouldShowGlicSummarizeButton(content::WebContents* web_contents) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ index 7da4c199de1d2721a2e6ba9cb10ba0bc146917b7..b100f5feb95aabf63558aebc4d0054c9
|
||||
#if BUILDFLAG(IS_WIN)
|
||||
bool EscapeVirtualization(const base::FilePath& user_data_dir);
|
||||
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
|
||||
index 6e42d6a1bfe1cab905a4dc8927f6f169ef20da52..2d28b2d047c18d51b3ef0396673e72d3903dd0fe 100644
|
||||
index 7e60fda45f824974b3403a376d8aa9b35b0a1f84..27221b14dc9a6b8346207e5ebb9ff727503d86ac 100644
|
||||
--- a/chrome/browser/process_singleton_posix.cc
|
||||
+++ b/chrome/browser/process_singleton_posix.cc
|
||||
@@ -41,6 +41,7 @@
|
||||
@@ -116,7 +116,7 @@ index 6e42d6a1bfe1cab905a4dc8927f6f169ef20da52..2d28b2d047c18d51b3ef0396673e72d3
|
||||
+bool WriteToSocket(int fd,
|
||||
+ std::string_view message,
|
||||
+ const base::TimeDelta& timeout = base::TimeDelta()) {
|
||||
DCHECK(!message.empty());
|
||||
CHECK(!message.empty(), base::NotFatalUntil::M162);
|
||||
+ const base::TimeTicks deadline = base::TimeTicks::Now() + timeout;
|
||||
while (!message.empty()) {
|
||||
ssize_t rv = HANDLE_EINTR(write(fd, message.data(), message.size()));
|
||||
@@ -140,7 +140,7 @@ index 6e42d6a1bfe1cab905a4dc8927f6f169ef20da52..2d28b2d047c18d51b3ef0396673e72d3
|
||||
- fd_(fd),
|
||||
- bytes_read_(0) {
|
||||
+ : parent_(parent), ui_task_runner_(ui_task_runner), fd_(fd) {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
||||
CHECK_CURRENTLY_ON(BrowserThread::IO, base::NotFatalUntil::M162);
|
||||
// Wait for reads.
|
||||
fd_watch_controller_ = base::FileDescriptorWatcher::WatchReadable(
|
||||
@@ -597,11 +614,10 @@ class ProcessSingleton::LinuxWatcher
|
||||
@@ -175,8 +175,8 @@ index 6e42d6a1bfe1cab905a4dc8927f6f169ef20da52..2d28b2d047c18d51b3ef0396673e72d3
|
||||
+ const std::vector<std::string>& argv,
|
||||
+ const std::vector<uint8_t> additional_data,
|
||||
SocketReader* reader) {
|
||||
DCHECK(ui_task_runner_->BelongsToCurrentThread());
|
||||
DCHECK(reader);
|
||||
CHECK(ui_task_runner_->BelongsToCurrentThread(), base::NotFatalUntil::M162);
|
||||
CHECK(reader, base::NotFatalUntil::M162);
|
||||
|
||||
if (parent_ && parent_->notification_callback_.Run(
|
||||
- base::CommandLine(argv), base::FilePath(current_dir))) {
|
||||
@@ -189,7 +189,7 @@ index 6e42d6a1bfe1cab905a4dc8927f6f169ef20da52..2d28b2d047c18d51b3ef0396673e72d3
|
||||
@@ -716,23 +737,58 @@ void ProcessSingleton::LinuxWatcher::RemoveSocketReader(SocketReader* reader) {
|
||||
void ProcessSingleton::LinuxWatcher::SocketReader::
|
||||
OnSocketCanReadWithoutBlocking() {
|
||||
DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
||||
CHECK_CURRENTLY_ON(BrowserThread::IO, base::NotFatalUntil::M162);
|
||||
- bytes_read_ += ReadFromSocketWithTimeout(
|
||||
- fd_, base::span(buf_).subspan(bytes_read_), base::Seconds(0));
|
||||
|
||||
|
||||
+3
-3
@@ -104,7 +104,7 @@ index ad5ca8461144f77cd49a390dc81ce38cffb6ec24..b6b5a9872333cb74276aeff6f50abb55
|
||||
using InitializeCB = base::OnceCallback<void(bool)>;
|
||||
void Initialize(InitializeCB init_cb) override;
|
||||
diff --git a/third_party/blink/renderer/platform/media/resource_multi_buffer_data_provider.cc b/third_party/blink/renderer/platform/media/resource_multi_buffer_data_provider.cc
|
||||
index 5b7d5cdf6a084ca81dfb9e30c211fb54d2453828..766c676cc5a5bee53756b55280b6b4f9961758a2 100644
|
||||
index 4d05c82a41854f6876ee7b7cf8fd9f6e74fd6f66..10d9c8d6fb75227218de00992a549a107675e760 100644
|
||||
--- a/third_party/blink/renderer/platform/media/resource_multi_buffer_data_provider.cc
|
||||
+++ b/third_party/blink/renderer/platform/media/resource_multi_buffer_data_provider.cc
|
||||
@@ -8,6 +8,7 @@
|
||||
@@ -115,7 +115,7 @@ index 5b7d5cdf6a084ca81dfb9e30c211fb54d2453828..766c676cc5a5bee53756b55280b6b4f9
|
||||
|
||||
#include "base/feature_list.h"
|
||||
#include "base/location.h"
|
||||
@@ -33,6 +34,7 @@
|
||||
@@ -32,6 +33,7 @@
|
||||
#include "third_party/blink/public/platform/web_url_response.h"
|
||||
#include "third_party/blink/public/web/web_associated_url_loader.h"
|
||||
#include "third_party/blink/renderer/platform/media/cache_util.h"
|
||||
@@ -123,7 +123,7 @@ index 5b7d5cdf6a084ca81dfb9e30c211fb54d2453828..766c676cc5a5bee53756b55280b6b4f9
|
||||
#include "third_party/blink/renderer/platform/media/resource_fetch_context.h"
|
||||
#include "third_party/blink/renderer/platform/media/url_index.h"
|
||||
#include "third_party/blink/renderer/platform/weborigin/security_origin.h"
|
||||
@@ -352,6 +354,16 @@ void ResourceMultiBufferDataProvider::DidReceiveResponse(
|
||||
@@ -371,6 +373,16 @@ void ResourceMultiBufferDataProvider::DidReceiveResponse(
|
||||
do_fail = true;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -26,10 +26,10 @@ hook called before the new RenderFrame is created so it can be picked up
|
||||
by RenderFrameCreated() on the same call stack.
|
||||
|
||||
diff --git a/content/browser/renderer_host/render_frame_host_impl.cc b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
index 9447f4981055db6b125fc2d096b6db5efeb08abf..b03baeb1e104e5e4029e20eb8d89de3d0332825e 100644
|
||||
index 7d8d8917a1e62f211f105d7b92314a9d891a7432..4bdea03a2cad7d20553bf038701fcec8d955e709 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -10978,7 +10978,12 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
@@ -10996,7 +10996,12 @@ void RenderFrameHostImpl::CreateNewWindow(
|
||||
new_main_rfh->GetSiteInstance()->browsing_instance_token(),
|
||||
delegate_->GetColorProviderColorMaps(),
|
||||
/*widget_screen_rect=*/std::nullopt,
|
||||
@@ -71,10 +71,10 @@ index 66c36cedacc93897e1bf51bee5181eeed3e310ee..02e1b5b8b417016a53ec6554d046c333
|
||||
|
||||
// A per-navigation interface passed along with the BeginNavigation call, used
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index 10f0f0878178abb0c14a52403cd43d370508179b..4ee0b29a8600ebae2f43524b1cea04da9b499138 100644
|
||||
index ebdd1317464261abc8e73994f3b6842663c234c2..3c7e405ffc99a26b7eb47cda609de23337456714 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -845,6 +845,13 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
@@ -851,6 +851,13 @@ bool ContentBrowserClient::CanCreateWindow(
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ index 10f0f0878178abb0c14a52403cd43d370508179b..4ee0b29a8600ebae2f43524b1cea04da
|
||||
ContentBrowserClient::CreateSpeechRecognitionManagerDelegate() {
|
||||
return nullptr;
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 7ac22c3caa6f472259a2489bfb919800dc474178..5c948f33ae0c7506d8d7f0c2ac076ee561411f9f 100644
|
||||
index 185553eaf786bee55f24d0ed39b0d6fb525fc7fb..c8bbd4cfd257d78976360993fc616012ebc793a5 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -64,6 +64,7 @@
|
||||
@@ -100,7 +100,7 @@ index 7ac22c3caa6f472259a2489bfb919800dc474178..5c948f33ae0c7506d8d7f0c2ac076ee5
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "mojo/public/cpp/bindings/remote.h"
|
||||
#include "mojo/public/cpp/system/message_pipe.h"
|
||||
@@ -1304,6 +1305,17 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1313,6 +1314,17 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
bool opener_suppressed,
|
||||
bool* no_javascript_access);
|
||||
|
||||
@@ -119,7 +119,7 @@ index 7ac22c3caa6f472259a2489bfb919800dc474178..5c948f33ae0c7506d8d7f0c2ac076ee5
|
||||
// The delegate will be owned by the manager. It's valid to return nullptr.
|
||||
virtual SpeechRecognitionManagerDelegate*
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index 79d93f7ab27815bac0948d1064aecf9070b93a05..794a732014691c5369d6c8f8d91a26cb1969fed4 100644
|
||||
index db698a9a9adfd9bd2dfc8dd29932b3e4b7764f73..9088b206b2101b8e8b101d5a75809308f1b0c3d2 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
@@ -92,10 +92,10 @@ index 21448826e1f65bc1d24cc23f7df5f2eed303aa15..bfd6f233385e32c20fc80e673b7ae15b
|
||||
return ValueEquals(a.EmptyCells(), b.EmptyCells());
|
||||
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
|
||||
index 18dcb06ec2138e18492bbadcf59c08423c8f906f..ea81f5040124a397797f8ca2acb9d1eb5b940819 100644
|
||||
index af2402cf8aea806bd6fbd31cf26cfb5c0786a585..91adf48116f635c91c101c20861ee1b1e003e6af 100644
|
||||
--- a/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
+++ b/third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc
|
||||
@@ -12929,5 +12929,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
@@ -12945,5 +12945,36 @@ const CSSValue* InternalEmptyLineHeight::ParseSingleValue(
|
||||
CSSValueID::kNone>(stream);
|
||||
}
|
||||
|
||||
@@ -315,7 +315,7 @@ index 9d125de843259dae40e6b08eaf65ea3650435295..428219fb35d7a967dcaee91aa1c3628e
|
||||
|
||||
auto draw_as_single_path = [&]() {
|
||||
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
index f5b06cb3f7db0edf8f44501c24a5fc6fcd224d7f..0b0fe0dc23d1961c791cce9b0f9b64efb29cc92b 100644
|
||||
index b87523cefc78846cd5ca1411b5ca849f0ad5505d..5c709d263288be33b2ab3b6dc01861091e3ee102 100644
|
||||
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
|
||||
@@ -237,6 +237,10 @@
|
||||
|
||||
+11
-11
@@ -16,10 +16,10 @@ WebServiceWorkerContextProxy::ElectronPreloadData() getter backed by
|
||||
WorkerGlobalScope.
|
||||
|
||||
diff --git a/content/browser/service_worker/service_worker_version.cc b/content/browser/service_worker/service_worker_version.cc
|
||||
index f1305b444c578b9d3f67470ddac1258c8a3cd903..67efc8609de5ff6316ef4348a474f09c334b8e7b 100644
|
||||
index de70e90d1fb9aff03ab972c15aedd618358fc1d1..9b3d66e0e646d384f24d1b905c1e7b59e3ad1531 100644
|
||||
--- a/content/browser/service_worker/service_worker_version.cc
|
||||
+++ b/content/browser/service_worker/service_worker_version.cc
|
||||
@@ -2837,6 +2837,12 @@ void ServiceWorkerVersion::StartWorkerInternal() {
|
||||
@@ -2867,6 +2867,12 @@ void ServiceWorkerVersion::StartWorkerInternal() {
|
||||
params->ukm_source_id = ukm_source_id_;
|
||||
params->storage_key = key_;
|
||||
|
||||
@@ -33,10 +33,10 @@ index f1305b444c578b9d3f67470ddac1258c8a3cd903..67efc8609de5ff6316ef4348a474f09c
|
||||
if (policy_container_host_) {
|
||||
params->policy_container =
|
||||
diff --git a/content/public/browser/content_browser_client.cc b/content/public/browser/content_browser_client.cc
|
||||
index 4ee0b29a8600ebae2f43524b1cea04da9b499138..d282e2bb6b4886856a10ee9868e4d8b02ffd8fe2 100644
|
||||
index 3c7e405ffc99a26b7eb47cda609de23337456714..5fdad1a3c3c33694fc2c04a3ac0a6242bb6aa488 100644
|
||||
--- a/content/public/browser/content_browser_client.cc
|
||||
+++ b/content/public/browser/content_browser_client.cc
|
||||
@@ -852,6 +852,13 @@ ContentBrowserClient::GetExtraCreateNewWindowReplyData(
|
||||
@@ -858,6 +858,13 @@ ContentBrowserClient::GetExtraCreateNewWindowReplyData(
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ index 4ee0b29a8600ebae2f43524b1cea04da9b499138..d282e2bb6b4886856a10ee9868e4d8b0
|
||||
ContentBrowserClient::CreateSpeechRecognitionManagerDelegate() {
|
||||
return nullptr;
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index 5c948f33ae0c7506d8d7f0c2ac076ee561411f9f..a1ba062b3248e5e7d17abf0f7cd2364f904b946f 100644
|
||||
index c8bbd4cfd257d78976360993fc616012ebc793a5..e3ed1524ca3ee5109d4bc304f3a3e6defb1157ce 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -1316,6 +1316,17 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1325,6 +1325,17 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
RenderFrameHost* new_window_main_frame,
|
||||
const GURL& target_url);
|
||||
|
||||
@@ -193,7 +193,7 @@ index 334882e5f645a3df16942186836cedd7ca943a24..8ef208fc4f72de1be2c14336d941c51d
|
||||
const net::StorageAccessApiStatus parent_storage_access_api_status;
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.cc b/third_party/blink/renderer/core/workers/worker_global_scope.cc
|
||||
index a70870c22a963f86609261e72e397890c7c2d1f6..f3609df000fe54b400472586e37f7e58cd54456a 100644
|
||||
index c34c1f7f0ae060946720feafbc84229286fe5355..81ce0c743adf8777be5f7e74d854c96fd297699b 100644
|
||||
--- a/third_party/blink/renderer/core/workers/worker_global_scope.cc
|
||||
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.cc
|
||||
@@ -943,6 +943,9 @@ WorkerGlobalScope::WorkerGlobalScope(
|
||||
@@ -207,7 +207,7 @@ index a70870c22a963f86609261e72e397890c7c2d1f6..f3609df000fe54b400472586e37f7e58
|
||||
TRACE_EVENT_BEGIN(
|
||||
"blink.worker", "WorkerGlobalScope setup",
|
||||
diff --git a/third_party/blink/renderer/core/workers/worker_global_scope.h b/third_party/blink/renderer/core/workers/worker_global_scope.h
|
||||
index b7f3b19f12dc32908c04779e8645c6c4bd01acf6..ab04da0f4d22542f137c93f458c393f6edb4cae7 100644
|
||||
index ec5b41f1a3ac7680edda1b9bf28135d6b8e6cb89..4b4fc824059e0b2ed58f9311ca473a3b5dce4259 100644
|
||||
--- a/third_party/blink/renderer/core/workers/worker_global_scope.h
|
||||
+++ b/third_party/blink/renderer/core/workers/worker_global_scope.h
|
||||
@@ -32,6 +32,7 @@
|
||||
@@ -256,10 +256,10 @@ index 630b499aec0699ee4566298db8292ba7d83d19d3..6038911ac770cfd57594bb567bf2ba1e
|
||||
std::make_unique<ServiceWorkerGlobalScopeProxy>(
|
||||
*this, *worker_context_client_, initiator_thread_task_runner),
|
||||
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
index 22b8e5873e4abbb2439d84e336fd9a210e1912f6..c907d6ef91de853c88e10c65187640440271c2ac 100644
|
||||
index bd25b1757e3cf82e1f6dd1613e528f367f607d62..0bd9933b7dac12a666dd4066ab4dc5fe958703ed 100644
|
||||
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.cc
|
||||
@@ -328,6 +328,11 @@ bool ServiceWorkerGlobalScopeProxy::HasUsbEventHandlers() {
|
||||
@@ -329,6 +329,11 @@ bool ServiceWorkerGlobalScopeProxy::HasUsbEventHandlers() {
|
||||
return WorkerGlobalScope()->HasUsbEventHandlers();
|
||||
}
|
||||
|
||||
@@ -272,7 +272,7 @@ index 22b8e5873e4abbb2439d84e336fd9a210e1912f6..c907d6ef91de853c88e10c6518764044
|
||||
const WebString& name,
|
||||
mojo::ScopedInterfaceEndpointHandle handle) {
|
||||
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
|
||||
index 0abeafb3b651f7e3b01e297d5c14ee55bff4abcc..f60bb46ffccc750fa5685983b7c9ebbf97e7150e 100644
|
||||
index 4d2c7e69efc00c9bade2cbd3a9a7c59478b26131..75fd42b32621ca70f94ea224fe2404b9d792ca44 100644
|
||||
--- a/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
|
||||
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_global_scope_proxy.h
|
||||
@@ -114,6 +114,7 @@ class ServiceWorkerGlobalScopeProxy final : public WebServiceWorkerContextProxy,
|
||||
|
||||
@@ -520,7 +520,7 @@ index 4f9e8946fa02d859e92a6896beba82721914f868..78486eaa993ee7ffd5188b31503de7dd
|
||||
waiting_on_draw_ack_ = true;
|
||||
|
||||
diff --git a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
index 5b3399ac36c2991668b2b9b5a149da0ee321881f..8ef46d2deba6bd9176ae2e5a7692077a7ddb93fd 100644
|
||||
index 690de85b801847fc4ed1d43a636380302e232600..eb1f1ce7ae105fdce2944d4224dd95ecfe160b20 100644
|
||||
--- a/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
+++ b/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
|
||||
@@ -133,7 +133,8 @@ RootCompositorFrameSinkImpl::Create(
|
||||
|
||||
@@ -112,7 +112,7 @@ index 2551c74d161edc11e3d4e95c858c144a063ae80a..a3d1eb8d487a207a5a9c8cdc01ae01dd
|
||||
string mime_type;
|
||||
|
||||
diff --git a/services/network/url_loader.cc b/services/network/url_loader.cc
|
||||
index 898faffbb8de83dab0de68ca05002040d46bac2b..8671c41c1d6e1816b939544bf99131d0f2a75227 100644
|
||||
index 747330be85fa8cc714e3c3c495c9a447dc1e084a..825c67af25374d243704c35dc869cffcf7d4d8c9 100644
|
||||
--- a/services/network/url_loader.cc
|
||||
+++ b/services/network/url_loader.cc
|
||||
@@ -373,6 +373,9 @@ URLLoader::URLLoader(
|
||||
@@ -134,7 +134,7 @@ index 898faffbb8de83dab0de68ca05002040d46bac2b..8671c41c1d6e1816b939544bf99131d0
|
||||
url_request_->SetResponseHeadersCallback(base::BindRepeating(
|
||||
&URLLoader::SetRawResponseHeaders, base::Unretained(this)));
|
||||
}
|
||||
@@ -1185,6 +1188,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
@@ -1186,6 +1189,19 @@ void URLLoader::OnResponseStarted(net::URLRequest* url_request, int net_error) {
|
||||
}
|
||||
|
||||
response_ = BuildResponseHead();
|
||||
|
||||
+3
-3
@@ -26,7 +26,7 @@ it ever does.
|
||||
Co-Authored-By: Claude <noreply@anthropic.com>
|
||||
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h
|
||||
index de4c147140265a8a576aa5ef4d0276e1a3cf1de5..c5bb4f6871c161e457d25a229005285e5f70e660 100644
|
||||
index bd38cfa246d4b7fadc221bf70c2e362995093e4a..d4f542d1d81b093f6b9a27a5f787a9a49a1e88dc 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.h
|
||||
@@ -320,6 +320,10 @@ class REMOTE_COCOA_APP_SHIM_EXPORT NativeWidgetNSWindowBridge
|
||||
@@ -40,7 +40,7 @@ index de4c147140265a8a576aa5ef4d0276e1a3cf1de5..c5bb4f6871c161e457d25a229005285e
|
||||
void MakeFirstResponder() override;
|
||||
void SortSubviews(
|
||||
const std::vector<uint64_t>& associated_subview_ids) override;
|
||||
@@ -471,6 +475,10 @@ class REMOTE_COCOA_APP_SHIM_EXPORT NativeWidgetNSWindowBridge
|
||||
@@ -475,6 +479,10 @@ class REMOTE_COCOA_APP_SHIM_EXPORT NativeWidgetNSWindowBridge
|
||||
std::unique_ptr<CocoaWindowMoveLoop> window_move_loop_;
|
||||
ui::mojom::ModalType modal_type_ = ui::mojom::ModalType::kNone;
|
||||
bool is_translucent_window_ = false;
|
||||
@@ -52,7 +52,7 @@ index de4c147140265a8a576aa5ef4d0276e1a3cf1de5..c5bb4f6871c161e457d25a229005285e
|
||||
|
||||
raw_ptr<NativeWidgetNSWindowBridge> parent_ =
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
index df23bb8f408e9a712ceeb24558947a83ce62e634..3c364d2f4c2bd2bc72efa22183992510ab75785a 100644
|
||||
index 7cbf2596bf6b0dc70568f5a591745c38e3572ef9..a4ba2c3e29cf5107dc8537f19a026efc6d5aa99a 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
@@ -1628,6 +1628,7 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
|
||||
|
||||
@@ -16,10 +16,10 @@ Linux or Windows to un-fullscreen in some circumstances without this
|
||||
change.
|
||||
|
||||
diff --git a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0109d5c9d 100644
|
||||
index 7a94788c8f2b1d5f3875c8f43815086ab35a3c9f..cfa63dd62c24bf98c8e5d960676d72a4e39798c7 100644
|
||||
--- a/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
+++ b/chrome/browser/ui/exclusive_access/fullscreen_controller.cc
|
||||
@@ -48,7 +48,7 @@
|
||||
@@ -49,7 +49,7 @@
|
||||
#include "components/prefs/pref_service.h"
|
||||
#endif
|
||||
|
||||
@@ -28,7 +28,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
#include "chrome/browser/ui/blocked_content/popunder_preventer.h"
|
||||
#include "chrome/browser/ui/browser_command_controller.h"
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
@@ -74,12 +74,11 @@ bool IsAnotherScreen(const WebContents& web_contents,
|
||||
@@ -75,12 +75,11 @@ bool IsAnotherScreen(const WebContents& web_contents,
|
||||
// by the FullscreenAllowed enterprise policy). The pref is not registered on
|
||||
// Mac, where fullscreen is always allowed.
|
||||
bool IsFullscreenAllowedByPref(ExclusiveAccessContext* context) {
|
||||
@@ -43,7 +43,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
}
|
||||
|
||||
} // namespace
|
||||
@@ -216,7 +215,7 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
@@ -217,7 +216,7 @@ void FullscreenController::EnterFullscreenModeForTab(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
if (!popunder_preventer_) {
|
||||
popunder_preventer_ = std::make_unique<PopunderPreventer>(web_contents);
|
||||
} else {
|
||||
@@ -348,12 +347,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
@@ -356,12 +355,14 @@ void FullscreenController::ExitFullscreenModeForTab(WebContents* web_contents) {
|
||||
void FullscreenController::FullscreenTabOpeningPopup(
|
||||
content::WebContents* opener,
|
||||
content::WebContents* popup) {
|
||||
@@ -67,7 +67,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
}
|
||||
#endif // !BUILDFLAG(IS_ANDROID)
|
||||
|
||||
@@ -428,14 +429,14 @@ void FullscreenController::WindowFullscreenStateChanged() {
|
||||
@@ -436,14 +437,14 @@ void FullscreenController::WindowFullscreenStateChanged() {
|
||||
#endif // DCHECK_IS_ON()
|
||||
tab_fullscreen_target_display_id_ = display::kInvalidDisplayId;
|
||||
started_fullscreen_transition_ = false;
|
||||
@@ -84,7 +84,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (browser_command_controller_) {
|
||||
browser_command_controller_->FullscreenStateChanged();
|
||||
@@ -445,9 +446,11 @@ void FullscreenController::WindowFullscreenStateChanged() {
|
||||
@@ -453,9 +454,11 @@ void FullscreenController::WindowFullscreenStateChanged() {
|
||||
bookmark_bar_controller_->UpdateBookmarkBarState(
|
||||
BookmarkBarController::StateChangeReason::kToggleFullscreen);
|
||||
}
|
||||
@@ -96,7 +96,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
#if !BUILDFLAG(IS_ANDROID)
|
||||
if (browser_command_controller_) {
|
||||
browser_command_controller_->FullscreenStateChanged();
|
||||
@@ -457,6 +460,7 @@ void FullscreenController::FullscreenTopUIStateChanged() {
|
||||
@@ -465,6 +468,7 @@ void FullscreenController::FullscreenTopUIStateChanged() {
|
||||
bookmark_bar_controller_->UpdateBookmarkBarState(
|
||||
BookmarkBarController::StateChangeReason::kToolbarOptionChange);
|
||||
}
|
||||
@@ -104,7 +104,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
}
|
||||
|
||||
void FullscreenController::RunOrDeferUntilTransitionIsComplete(
|
||||
@@ -594,9 +598,12 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -604,9 +608,12 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
fullscreen_parameters_ = fullscreen_tab_params;
|
||||
started_fullscreen_transition_ = true;
|
||||
toggled_into_fullscreen_ = true;
|
||||
@@ -117,7 +117,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
if (option == FullscreenInternalOption::kTab) {
|
||||
origin = GetRequestingOrigin();
|
||||
tab_fullscreen_ = true;
|
||||
@@ -635,6 +642,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
@@ -645,6 +652,7 @@ void FullscreenController::EnterFullscreenModeInternal(
|
||||
origin = url::Origin::Create(extension_url_.value());
|
||||
}
|
||||
}
|
||||
@@ -125,7 +125,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
|
||||
fullscreen_start_time_ = base::TimeTicks::Now();
|
||||
if (option == FullscreenInternalOption::kBrowser) {
|
||||
@@ -656,6 +664,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -666,6 +674,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
// `fullscreen_start_time_` is null if a fullscreen tab moves to a new window.
|
||||
if (fullscreen_start_time_ && exclusive_access_tab()) {
|
||||
ukm::SourceId source_id =
|
||||
@@ -667,13 +676,14 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -677,13 +686,14 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
.Record(ukm::UkmRecorder::Get());
|
||||
fullscreen_start_time_.reset();
|
||||
}
|
||||
@@ -150,7 +150,7 @@ index 5be98c4ca317cc556bd47ca9b6fa2387d4d20804..178e0782b93724bf947a199b423ff3c0
|
||||
// state_prior_to_tab_fullscreen_ to match them else other logic using
|
||||
// state_prior_to_tab_fullscreen_ will be incorrect.
|
||||
// On Android the state of fullscreen is keep in the Java Fullscreen
|
||||
@@ -683,7 +693,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
@@ -693,7 +703,7 @@ void FullscreenController::ExitFullscreenModeInternal() {
|
||||
if (!weak_ptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ index e58bb7368359e6ba13c249b8677a91e509313ce3..036a2af6bb00a4c06682692c964c10bd
|
||||
return _headless_info.get();
|
||||
}
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
index 23f119b4adf8d604a5f283ecf58f23a08a1f88f7..df23bb8f408e9a712ceeb24558947a83ce62e634 100644
|
||||
index d2235a096f5ea7b5c3ecdc84af9b10a839615347..7cbf2596bf6b0dc70568f5a591745c38e3572ef9 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
@@ -613,7 +613,7 @@ NSUInteger CountBridgedWindows(NSArray* child_windows) {
|
||||
|
||||
-55
@@ -1,55 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Claude <noreply@anthropic.com>
|
||||
Date: Fri, 9 Oct 2026 17:17:09 +0000
|
||||
Subject: fix: avoid misaligned char16_t reads in crdtp string deserialization
|
||||
|
||||
The STRING16 wire representation is a raw slice of the CBOR message and
|
||||
may start at an odd byte offset. Reading it through a char16_t pointer
|
||||
is undefined behavior and aborts Electron's UBSan build, so copy the
|
||||
payload into an aligned buffer first.
|
||||
|
||||
Upstream CL: https://chromium-review.googlesource.com/c/chromium/src/+/8567285
|
||||
|
||||
diff --git a/third_party/inspector_protocol/crdtp/chromium/protocol_traits.cc b/third_party/inspector_protocol/crdtp/chromium/protocol_traits.cc
|
||||
index 1f06aa9fe50023edd759a29932d4e5c95235cefe..67c26a773244f8b7c443f9224a7e84e1b07051cc 100644
|
||||
--- a/third_party/inspector_protocol/crdtp/chromium/protocol_traits.cc
|
||||
+++ b/third_party/inspector_protocol/crdtp/chromium/protocol_traits.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
|
||||
#include "third_party/inspector_protocol/crdtp/chromium/protocol_traits.h"
|
||||
|
||||
+#include <cstring>
|
||||
+#include <string>
|
||||
#include <string_view>
|
||||
#include <utility>
|
||||
|
||||
@@ -98,10 +100,13 @@ bool ProtocolTypeTraits<std::string>::Deserialize(DeserializerState* state,
|
||||
}
|
||||
if (tokenizer->TokenTag() == cbor::CBORTokenTag::STRING16) {
|
||||
const auto str = tokenizer->GetString16WireRep();
|
||||
+ // The payload is a raw slice of the CBOR message and may not be aligned
|
||||
+ // for char16_t, so copy it into an aligned buffer before reading it.
|
||||
+ std::u16string utf16(str.size() / 2, u'\0');
|
||||
+ memcpy(utf16.data(), str.data(), utf16.size() * sizeof(char16_t));
|
||||
// In Chromium, we do not support big endian architectures, so no conversion
|
||||
// is needed to interpret UTF16LE.
|
||||
- base::UTF16ToUTF8(reinterpret_cast<const char16_t*>(str.data()),
|
||||
- str.size() / 2, value);
|
||||
+ base::UTF16ToUTF8(utf16.data(), utf16.size(), value);
|
||||
return true;
|
||||
}
|
||||
state->RegisterError(Error::BINDINGS_STRING_VALUE_EXPECTED);
|
||||
@@ -181,9 +186,11 @@ bool ProtocolTypeTraits<base::Value>::Deserialize(DeserializerState* state,
|
||||
}
|
||||
case cbor::CBORTokenTag::STRING16: {
|
||||
const auto str = tokenizer->GetString16WireRep();
|
||||
+ // The payload may not be aligned for char16_t; copy it before reading.
|
||||
+ std::u16string utf16(str.size() / 2, u'\0');
|
||||
+ memcpy(utf16.data(), str.data(), utf16.size() * sizeof(char16_t));
|
||||
// TODO(caseq): support big-endian architectures when needed.
|
||||
- *value = base::Value(std::u16string_view(
|
||||
- reinterpret_cast<const char16_t*>(str.data()), str.size() / 2));
|
||||
+ *value = base::Value(std::u16string_view(utf16));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ Check for broken links by confirming the file exists before setting its utime.
|
||||
This patch should be upstreamed & removed.
|
||||
|
||||
diff --git a/tools/clang/scripts/update.py b/tools/clang/scripts/update.py
|
||||
index 66f7de3bef1b81313e2b9e6334a5d720fd54ee58..e1c3a975d048fd73997902b718c0d44c60398f23 100755
|
||||
index 200845370e77178aa53b4176a0ea37d322d29881..0a9a72faa21f253399a0ec17a61565bc372667a8 100755
|
||||
--- a/tools/clang/scripts/update.py
|
||||
+++ b/tools/clang/scripts/update.py
|
||||
@@ -217,10 +217,9 @@ def DownloadAndUnpack(url, output_dir, path_prefixes=None, is_known_zip=False):
|
||||
|
||||
+4
-4
@@ -41,10 +41,10 @@ Upstream CL: https://chromium-review.googlesource.com/c/chromium/src/+/7795303
|
||||
Chromium bug: https://crbug.com/505299810
|
||||
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/window_agent_factory.cc b/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
index 86ce2d493dc833dd1601787fc042b8a4a612fc2e..b9bd1f459f240401d7a6b0bce03cf82b6b54e9fc 100644
|
||||
index 1343694eec0a22025201b43049f5e34d1644c725..0339245132ab66ff05228ced02b454346ae71149 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
+++ b/third_party/blink/renderer/core/execution_context/window_agent_factory.cc
|
||||
@@ -20,19 +20,27 @@ WindowAgentFactory::WindowAgentFactory(
|
||||
@@ -22,19 +22,27 @@ WindowAgentFactory::WindowAgentFactory(
|
||||
AgentGroupScheduler& agent_group_scheduler)
|
||||
: agent_group_scheduler_(agent_group_scheduler) {}
|
||||
|
||||
@@ -80,10 +80,10 @@ index 86ce2d493dc833dd1601787fc042b8a4a612fc2e..b9bd1f459f240401d7a6b0bce03cf82b
|
||||
file_url_agent_ = MakeGarbageCollected<WindowAgent>(
|
||||
*agent_group_scheduler_, agent_cluster_key);
|
||||
diff --git a/third_party/blink/renderer/core/execution_context/window_agent_factory.h b/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
index b5464975a3c365a29e342b0dd57a8a73a311924a..72ebd275330e61a8abebfe6d2c06f42544a83bec 100644
|
||||
index a13cd92bc70a5eb20cfc46469a6be481766d793c..b26653958baa3a35b6f9a6b4f5deee2e3c5f9816 100644
|
||||
--- a/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
+++ b/third_party/blink/renderer/core/execution_context/window_agent_factory.h
|
||||
@@ -40,12 +40,15 @@ class WindowAgentFactory final : public GarbageCollected<WindowAgentFactory> {
|
||||
@@ -42,12 +42,15 @@ class CORE_EXPORT WindowAgentFactory final
|
||||
// * --run-web-tests is set,
|
||||
// * or, the Blink instance is running for Android WebView.
|
||||
WindowAgent* GetAgentForAgentClusterKey(
|
||||
|
||||
@@ -30,10 +30,10 @@ The patch should be removed in favor of either:
|
||||
Upstream bug https://bugs.chromium.org/p/chromium/issues/detail?id=1081397.
|
||||
|
||||
diff --git a/content/browser/renderer_host/navigation_request.cc b/content/browser/renderer_host/navigation_request.cc
|
||||
index 0de01502500bc4bdd1a5abb4c2119b393673a935..483d9865ef13afe3105ba53c02de085f68c290b5 100644
|
||||
index 7ccd744cfb8aa6fff32a3cc6ab0792dc4c78f797..401ffec2f4ff22a182e7ac6cbfc4a3ad10399b86 100644
|
||||
--- a/content/browser/renderer_host/navigation_request.cc
|
||||
+++ b/content/browser/renderer_host/navigation_request.cc
|
||||
@@ -12939,6 +12939,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
@@ -13112,6 +13112,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactoryUnchecked() {
|
||||
target_rph_id);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ https://github.com/electron/electron/pull/48675#issuecomment-3452781711
|
||||
for more info.
|
||||
|
||||
diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
index 3f7543580ee1d82a28c6864ef0154aafcb6806f0..110fdb5e1654433ff31a6893ee7a8c830a702d60 100644
|
||||
index e08f260845778647563af254ace2dca304a3145a..1e7915eea274e3a0605fc492ce9f7249cbe61a44 100644
|
||||
--- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
+++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
@@ -138,8 +138,9 @@ int NextServiceId() {
|
||||
@@ -47,7 +47,7 @@ index 3f7543580ee1d82a28c6864ef0154aafcb6806f0..110fdb5e1654433ff31a6893ee7a8c83
|
||||
- base::TaskShutdownBehavior::BLOCK_SHUTDOWN})) {
|
||||
+ base::TaskShutdownBehavior::BLOCK_SHUTDOWN})),
|
||||
+ app_name_(app_name) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
if (bus_) {
|
||||
CheckStatusNotifierWatcherHasOwner();
|
||||
@@ -464,7 +467,8 @@ void StatusIconLinuxDbus::OnHostRegisteredResponse(
|
||||
|
||||
@@ -162,7 +162,7 @@ index b7abd2bb5d160bad8944aea46e7dfb64a46d11d8..4fcbfb36ad341d30ec3de5b080620c71
|
||||
|
||||
// The display of the opener window, cached during
|
||||
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
index e1154047af16efd14465539696de7b55e5ba50cc..4fbb0e6d1b3c8a99bdc81a97821c01149df27e4e 100644
|
||||
index a9436ec55914d264cc59637860785881ad2dd16a..b2953144a85fbd0014f5285b9b430206e6d7b890 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -116,8 +116,10 @@ constexpr gfx::Size kMinWindowSize(284, 160);
|
||||
|
||||
@@ -39,10 +39,10 @@ index ce096e59acbc8c86ab85fd2f7ce049ac7446ef6e..52eeb21e8b8cb1d61c07924df4c4e3ac
|
||||
// Detaches |this| from the input method object.
|
||||
// is_removed flag is true if this is called while the window is
|
||||
diff --git a/content/browser/renderer_host/text_input_manager.cc b/content/browser/renderer_host/text_input_manager.cc
|
||||
index 900abb470f7d6155d031af72ce7ed57b1ed35695..d911816757730088e0f964bf7061946e890e62b6 100644
|
||||
index fd9b763f716fa133552bf2b118a65c935f3f0dc0..b49e9f1e75555e5443933669127d6201b60e9162 100644
|
||||
--- a/content/browser/renderer_host/text_input_manager.cc
|
||||
+++ b/content/browser/renderer_host/text_input_manager.cc
|
||||
@@ -258,6 +258,7 @@ void TextInputManager::UpdateTextInputState(
|
||||
@@ -266,6 +266,7 @@ void TextInputManager::UpdateTextInputState(
|
||||
|
||||
if (text_input_state.type == ui::TEXT_INPUT_TYPE_NONE &&
|
||||
active_view_ != view) {
|
||||
@@ -50,7 +50,7 @@ index 900abb470f7d6155d031af72ce7ed57b1ed35695..d911816757730088e0f964bf7061946e
|
||||
// We reached here because an IPC is received to reset the TextInputState
|
||||
// for |view|. But |view| != |active_view_|, which suggests that at least
|
||||
// one other view has become active and we have received the corresponding
|
||||
@@ -635,6 +636,12 @@ void TextInputManager::NotifyObserversAboutInputStateUpdate(
|
||||
@@ -643,6 +644,12 @@ void TextInputManager::NotifyObserversAboutInputStateUpdate(
|
||||
observer.OnUpdateTextInputStateCalled(this, updated_view, did_update_state);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ index 900abb470f7d6155d031af72ce7ed57b1ed35695..d911816757730088e0f964bf7061946e
|
||||
|
||||
TextInputManager::ViewState::~ViewState() = default;
|
||||
diff --git a/content/browser/renderer_host/text_input_manager.h b/content/browser/renderer_host/text_input_manager.h
|
||||
index 352238bd76548b0fa808e3e1aa8806fa08bef1e9..6b9c2ee8d4717ebc6791331cd76edea29dd3f3e6 100644
|
||||
index c501f3e7f36340a9a8f82dd042dd797ab94c8e28..f37bec8cbac93e23702684c9c092d2b4c95996ae 100644
|
||||
--- a/content/browser/renderer_host/text_input_manager.h
|
||||
+++ b/content/browser/renderer_host/text_input_manager.h
|
||||
@@ -70,6 +70,10 @@ class CONTENT_EXPORT TextInputManager {
|
||||
@@ -78,7 +78,7 @@ index 352238bd76548b0fa808e3e1aa8806fa08bef1e9..6b9c2ee8d4717ebc6791331cd76edea2
|
||||
};
|
||||
|
||||
// Text selection bounds.
|
||||
@@ -335,6 +339,7 @@ class CONTENT_EXPORT TextInputManager {
|
||||
@@ -340,6 +344,7 @@ class CONTENT_EXPORT TextInputManager {
|
||||
|
||||
void NotifyObserversAboutInputStateUpdate(RenderWidgetHostViewBase* view,
|
||||
bool did_update_state);
|
||||
@@ -87,10 +87,10 @@ index 352238bd76548b0fa808e3e1aa8806fa08bef1e9..6b9c2ee8d4717ebc6791331cd76edea2
|
||||
// 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
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 254ce53cf8c9a47c9a7217903b8ab74a6e0ff645..a4bf6612084c3f0303eda3b8bec70c93ef1f7e1d 100644
|
||||
index a3d14003b179cf69158f35e5b996ae5e8bbf2091..1da4eb145458b5e6bb8c03326cf121fe66c6ab36 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -11254,7 +11254,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
@@ -11260,7 +11260,7 @@ void WebContentsImpl::OnFocusedElementChangedInFrame(
|
||||
return;
|
||||
}
|
||||
RenderWidgetHostViewBase* root_view =
|
||||
|
||||
@@ -185,10 +185,10 @@ index f3c132412ca87c3abda84cf91434a9f7d874cb35..c615390ea3d0bc57b39af463ead589a3
|
||||
bool unadjusted_movement,
|
||||
input::InputRouterImpl::RequestMouseLockCallback response) override;
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 7236662088aedd2b8c9afb18ba0d8b2fa9ae8a73..e4cf73c70f37bd53f4b5bd3efa9913c8949afbd5 100644
|
||||
index 5706c62e0f63aec49bfe1f4daadce9a534c0f4eb..1039fc37ebcff5ec44490b0d7c9070ef36776c3b 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -5499,6 +5499,7 @@ blink::mojom::ApplicationContext WebContentsImpl::GetApplicationContext()
|
||||
@@ -5505,6 +5505,7 @@ blink::mojom::ApplicationContext WebContentsImpl::GetApplicationContext()
|
||||
|
||||
void WebContentsImpl::RequestToLockPointer(
|
||||
RenderWidgetHostImpl* render_widget_host,
|
||||
@@ -196,7 +196,7 @@ index 7236662088aedd2b8c9afb18ba0d8b2fa9ae8a73..e4cf73c70f37bd53f4b5bd3efa9913c8
|
||||
bool user_gesture,
|
||||
bool last_unlocked_by_target) {
|
||||
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RequestPointerLock",
|
||||
@@ -5526,9 +5527,19 @@ void WebContentsImpl::RequestToLockPointer(
|
||||
@@ -5532,9 +5533,19 @@ void WebContentsImpl::RequestToLockPointer(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ index 7236662088aedd2b8c9afb18ba0d8b2fa9ae8a73..e4cf73c70f37bd53f4b5bd3efa9913c8
|
||||
observers_.NotifyObservers(&WebContentsObserver::PointerLockRequested);
|
||||
delegate->RequestPointerLock(this, user_gesture, last_unlocked_by_target);
|
||||
} else {
|
||||
@@ -10140,9 +10151,22 @@ bool WebContentsImpl::HasPointerLockWidgetInParentChain() {
|
||||
@@ -10146,9 +10157,22 @@ bool WebContentsImpl::HasPointerLockWidgetInParentChain() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ index 1ff83218d9bc4ec2990c59bd79cc06e5d5fd8e85..6e7770af81bdbf476e7fa0b1eeb6b369
|
||||
pending_remote<blink.mojom.PointerLockContext>? context);
|
||||
};
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
index 7c10f4fa47cb17eff3ea3c0b598826791e27776b..b1138379ebfe1228a2ba19ff04f46c45e1937dd3 100644
|
||||
index 5f31cd9105356372bbdc6dfd68e54d4a48af8d73..0c4954e42a83f0375c7cd19433ddb47052ca9c3f 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
|
||||
@@ -3671,6 +3671,7 @@ void WebFrameWidgetImpl::CancelComposition() {
|
||||
@@ -327,7 +327,7 @@ index 7c10f4fa47cb17eff3ea3c0b598826791e27776b..b1138379ebfe1228a2ba19ff04f46c45
|
||||
}
|
||||
}
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
index 2e6f81363befb535913ecd6ace21c2d7d4368fcc..1210772fb20e3d703c29cb9a1e7d19a7fa1cef88 100644
|
||||
index 9c9b3c56ba68274d2bd09b996903074d945cfc9e..6dc9cc72221debb472025be01b8aeefcd404f832 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
+++ b/third_party/blink/renderer/core/frame/web_frame_widget_impl.h
|
||||
@@ -333,6 +333,7 @@ class CORE_EXPORT WebFrameWidgetImpl
|
||||
@@ -359,7 +359,7 @@ index baf946888ba29b6fc5a5de3f221ced99803d23f9..5b1d36d11f173007dc0cc76823f2fcb1
|
||||
unadjusted_movement_requested,
|
||||
blink::BindOnce(&PointerLockController::LockRequestCallback,
|
||||
diff --git a/third_party/blink/renderer/platform/widget/frame_widget.h b/third_party/blink/renderer/platform/widget/frame_widget.h
|
||||
index b75564df1d249efa779835d9dfe23cc269f25d61..2f78acc6f4928d075b9d236d2e43ea13841197fb 100644
|
||||
index f326109b3159cdef935d412e3b16b2b391b72f62..a5d57242d1a47b86af5756b989133e528aeec470 100644
|
||||
--- a/third_party/blink/renderer/platform/widget/frame_widget.h
|
||||
+++ b/third_party/blink/renderer/platform/widget/frame_widget.h
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
@@ -16,7 +16,7 @@ This patch can be removed when upstream starts using AudioManager::SetGlobalAppN
|
||||
for all pa_context names (and when actually works with AudioServiceOutOfProcess).
|
||||
|
||||
diff --git a/media/audio/pulse/pulse_util.cc b/media/audio/pulse/pulse_util.cc
|
||||
index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc32bf89b99 100644
|
||||
index 852bafda23297d462c9e7f445193e5bbb6e5df9a..5fc9dbd1e87b017255df61d3ce40cdb7c9b3fd25 100644
|
||||
--- a/media/audio/pulse/pulse_util.cc
|
||||
+++ b/media/audio/pulse/pulse_util.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
@@ -27,7 +27,7 @@ index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc3
|
||||
#include <string.h>
|
||||
|
||||
#include <memory>
|
||||
@@ -43,6 +44,18 @@ constexpr char kBrowserDisplayName[] = "chromium-browser";
|
||||
@@ -41,6 +42,18 @@ constexpr char kBrowserDisplayName[] = "chromium-browser";
|
||||
#define PRODUCT_STRING "Chromium"
|
||||
#endif
|
||||
|
||||
@@ -44,9 +44,9 @@ index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc3
|
||||
+}
|
||||
+
|
||||
#if defined(DLOPEN_PULSEAUDIO)
|
||||
static const base::FilePath::CharType kPulseLib[] =
|
||||
constexpr base::FilePath::CharType kPulseLib[] =
|
||||
FILE_PATH_LITERAL("libpulse.so.0");
|
||||
@@ -250,7 +263,7 @@ bool InitPulse(pa_threaded_mainloop** mainloop, pa_context** context) {
|
||||
@@ -248,7 +261,7 @@ bool InitPulse(pa_threaded_mainloop** mainloop, pa_context** context) {
|
||||
|
||||
pa_mainloop_api* pa_mainloop_api = pa_threaded_mainloop_get_api(pa_mainloop);
|
||||
pa_context* pa_context =
|
||||
@@ -55,7 +55,7 @@ index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc3
|
||||
if (!pa_context) {
|
||||
pa_threaded_mainloop_free(pa_mainloop);
|
||||
return false;
|
||||
@@ -479,7 +492,7 @@ bool CreateInputStream(pa_threaded_mainloop* mainloop,
|
||||
@@ -477,7 +490,7 @@ bool CreateInputStream(pa_threaded_mainloop* mainloop,
|
||||
// tells PulseAudio what the stream icon should be.
|
||||
ScopedPropertyList property_list;
|
||||
pa_proplist_sets(property_list.get(), PA_PROP_APPLICATION_ICON_NAME,
|
||||
@@ -64,7 +64,7 @@ index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc3
|
||||
*stream = pa_stream_new_with_proplist(context, "RecordStream",
|
||||
&sample_specifications, map,
|
||||
property_list.get());
|
||||
@@ -540,7 +553,8 @@ bool CreateOutputStream(raw_ptr<pa_threaded_mainloop>* mainloop,
|
||||
@@ -538,7 +551,8 @@ bool CreateOutputStream(raw_ptr<pa_threaded_mainloop>* mainloop,
|
||||
|
||||
pa_mainloop_api* pa_mainloop_api = pa_threaded_mainloop_get_api(*mainloop);
|
||||
*context = pa_context_new(
|
||||
@@ -74,7 +74,7 @@ index fd1fea63ea424b7e90daf0e815e3c2631f0e6c6b..f535c3a1c829ce971b406ea4c828adc3
|
||||
RETURN_ON_FAILURE(*context, "Failed to create PulseAudio context.");
|
||||
|
||||
// A state callback must be set before calling pa_threaded_mainloop_lock() or
|
||||
@@ -589,7 +603,7 @@ bool CreateOutputStream(raw_ptr<pa_threaded_mainloop>* mainloop,
|
||||
@@ -587,7 +601,7 @@ bool CreateOutputStream(raw_ptr<pa_threaded_mainloop>* mainloop,
|
||||
// tell PulseAudio what the stream icon should be.
|
||||
ScopedPropertyList property_list;
|
||||
pa_proplist_sets(property_list.get(), PA_PROP_APPLICATION_ICON_NAME,
|
||||
|
||||
@@ -29,7 +29,7 @@ adoption time has passed.
|
||||
Upstream snapd bug: https://bugs.launchpad.net/snapd/+bug/2161950
|
||||
|
||||
diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
index e6b0edeadb45114ef2c662e6187dcf16aa32353c..8e26bfc2c62265ed7b9137eca7fc98949a76da2f 100644
|
||||
index 33504ef7e51b988554ad8447467cdf9b41b590a3..99c12ee9f18a768b5724374ebe0046a1e5b8db36 100644
|
||||
--- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
+++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
@@ -71,7 +71,7 @@ const char kInterfaceStatusNotifierWatcher[] = "org.kde.StatusNotifierWatcher";
|
||||
|
||||
@@ -29,10 +29,10 @@ index 4c032bed25466e13a829ccbc0cd6637c9dee45d6..f996a314dca741a90063618f3326bde8
|
||||
injector_->ExpectsResults(), injector_->ShouldWaitForPromise(),
|
||||
script_injector_id);
|
||||
diff --git a/third_party/blink/public/web/web_local_frame.h b/third_party/blink/public/web/web_local_frame.h
|
||||
index adf7a62f12592398a80bb50f0f26ceadca00e682..acd89e7dc5b7a4ca5f21a07c41c499d9a732d7af 100644
|
||||
index 0a474aadad15a6986e3f3799688e74ba39970bb6..be8cee2aaf2593445239137ba0030159ee9714b9 100644
|
||||
--- a/third_party/blink/public/web/web_local_frame.h
|
||||
+++ b/third_party/blink/public/web/web_local_frame.h
|
||||
@@ -478,6 +478,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
||||
@@ -481,6 +481,7 @@ class BLINK_EXPORT WebLocalFrame : public WebFrame {
|
||||
mojom::EvaluationTiming,
|
||||
mojom::LoadEventBlockingOption,
|
||||
WebScriptExecutionCallback,
|
||||
@@ -331,10 +331,10 @@ index a56b5ea7e25caa1418f2cc8ffb4f3aa27d807934..f6e642d9730b025d7ec3df17d03a36f2
|
||||
mojom::blink::WantResultOption::kWantResult, wait_for_promise,
|
||||
/*script_injector_id=*/WebString());
|
||||
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 093dc0a0e3bea7ce34bfaeb59995a4598c18211b..427aee5e1926d94f84df25723e7dc6bcaf1f51a9 100644
|
||||
index 2e2dae1ff4889f6ad4649f19da2094383ccc7e04..072ccc53fff8581d9699ed29541e3fc1ca1097b2 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.cc
|
||||
@@ -1215,6 +1215,7 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
@@ -1216,6 +1216,7 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
mojom::blink::EvaluationTiming evaluation_timing,
|
||||
mojom::blink::LoadEventBlockingOption blocking_option,
|
||||
WebScriptExecutionCallback callback,
|
||||
@@ -342,7 +342,7 @@ index 093dc0a0e3bea7ce34bfaeb59995a4598c18211b..427aee5e1926d94f84df25723e7dc6bc
|
||||
BackForwardCacheAware back_forward_cache_aware,
|
||||
mojom::blink::WantResultOption want_result_option,
|
||||
mojom::blink::PromiseResultOption promise_behavior,
|
||||
@@ -1222,8 +1223,8 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
@@ -1223,8 +1224,8 @@ void WebLocalFrameImpl::RequestExecuteScript(
|
||||
DCHECK(GetFrame());
|
||||
GetFrame()->RequestExecuteScript(
|
||||
world_id, sources, user_gesture, evaluation_timing, blocking_option,
|
||||
@@ -354,7 +354,7 @@ index 093dc0a0e3bea7ce34bfaeb59995a4598c18211b..427aee5e1926d94f84df25723e7dc6bc
|
||||
|
||||
bool WebLocalFrameImpl::IsInspectorConnected() {
|
||||
diff --git a/third_party/blink/renderer/core/frame/web_local_frame_impl.h b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
index 88dfddf28b8862fc2e7c04e72c51aaaaac0070e5..f1bdec430d9545c4ccfba2d387b2d84700df9df0 100644
|
||||
index 2fce1d996258a46a18b189b8b0911a0172cff157..fdcbfd2c6d6143e823ab5c483dd9085e02746be3 100644
|
||||
--- a/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
+++ b/third_party/blink/renderer/core/frame/web_local_frame_impl.h
|
||||
@@ -200,6 +200,7 @@ class CORE_EXPORT WebLocalFrameImpl final
|
||||
|
||||
@@ -17,7 +17,7 @@ as this patch already did in sandboxes.
|
||||
Upstream bug: https://issues.chromium.org/issues/554905106
|
||||
|
||||
diff --git a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
index 110fdb5e1654433ff31a6893ee7a8c830a702d60..e6b0edeadb45114ef2c662e6187dcf16aa32353c 100644
|
||||
index 1e7915eea274e3a0605fc492ce9f7249cbe61a44..33504ef7e51b988554ad8447467cdf9b41b590a3 100644
|
||||
--- a/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
+++ b/chrome/browser/ui/views/status_icons/status_icon_linux_dbus.cc
|
||||
@@ -29,7 +29,6 @@
|
||||
@@ -40,7 +40,7 @@ index 110fdb5e1654433ff31a6893ee7a8c830a702d60..e6b0edeadb45114ef2c662e6187dcf16
|
||||
@@ -242,10 +239,11 @@ scoped_refptr<dbus::Bus> CreateSessionBus() {
|
||||
|
||||
scoped_refptr<dbus::Bus> GetBusForNewStatusIcon() {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
- if (!g_shared_bus_in_use) {
|
||||
- g_shared_bus_in_use = true;
|
||||
- return dbus_thread_linux::GetSharedSessionBus();
|
||||
|
||||
@@ -15,10 +15,10 @@ capturer was window or screen-specific, as the IDs remain valid for
|
||||
generic capturer as well.
|
||||
|
||||
diff --git a/content/browser/media/capture/desktop_capture_device.cc b/content/browser/media/capture/desktop_capture_device.cc
|
||||
index d83d29e5526aecc51ac88e72793ca5508c5527e0..cd284c63cb1046ed92ba1afd5acb2182550a426b 100644
|
||||
index dbec4584f9fc18806909830119511e6154bdcbbf..f99c077cb53bc3fc3646715c41bd15a485b4f89c 100644
|
||||
--- a/content/browser/media/capture/desktop_capture_device.cc
|
||||
+++ b/content/browser/media/capture/desktop_capture_device.cc
|
||||
@@ -1416,9 +1416,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||
@@ -1407,9 +1407,16 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||
|
||||
switch (source.type) {
|
||||
case DesktopMediaID::TYPE_SCREEN: {
|
||||
@@ -38,7 +38,7 @@ index d83d29e5526aecc51ac88e72793ca5508c5527e0..cd284c63cb1046ed92ba1afd5acb2182
|
||||
if (screen_capturer && screen_capturer->SelectSource(source.id)) {
|
||||
capturer = std::make_unique<webrtc::DesktopAndCursorComposer>(
|
||||
std::move(screen_capturer), options);
|
||||
@@ -1435,8 +1442,15 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||
@@ -1426,8 +1433,15 @@ std::unique_ptr<media::VideoCaptureDevice> DesktopCaptureDevice::Create(
|
||||
}
|
||||
|
||||
case DesktopMediaID::TYPE_WINDOW: {
|
||||
|
||||
@@ -20,10 +20,10 @@ index af925b0adc1dc854b0f3b145ade807caa6b4a4f7..d07bcd3e09f287e2b5dca017d281b767
|
||||
}
|
||||
|
||||
diff --git a/content/public/browser/content_browser_client.h b/content/public/browser/content_browser_client.h
|
||||
index ce53f4dab5f793d58a560573680edb3992c11ba7..7ac22c3caa6f472259a2489bfb919800dc474178 100644
|
||||
index 10ba4c08f77fbc45543641a8142b8fe22ecf0eb2..185553eaf786bee55f24d0ed39b0d6fb525fc7fb 100644
|
||||
--- a/content/public/browser/content_browser_client.h
|
||||
+++ b/content/public/browser/content_browser_client.h
|
||||
@@ -354,6 +354,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -355,6 +355,11 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
|
||||
virtual ~ContentBrowserClient() = default;
|
||||
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Sam Attard <samuel.r.attard@gmail.com>
|
||||
Date: Thu, 24 Sep 2026 01:59:37 +0000
|
||||
Subject: gin: Copy ASCII one-byte strings out directly in
|
||||
Converter<std::string>
|
||||
|
||||
Converter<std::string>::FromV8 walks every string twice: Utf8LengthV2
|
||||
to size the buffer, then WriteUtf8V2 to fill it. A one-byte string
|
||||
whose bytes are all ASCII is already valid UTF-8. For one-byte strings,
|
||||
read the bytes through String::ValueView and assign them directly when
|
||||
they are ASCII. Two-byte strings and one-byte strings with Latin-1
|
||||
characters above 0x7F take the old path. Every string argument to a
|
||||
gin-bound function goes through this converter.
|
||||
|
||||
Measured with a gin_unittests micro-benchmark (not part of this CL)
|
||||
that calls a bound void(const std::string&) from a JS loop, Linux x64
|
||||
release build, ns per call:
|
||||
|
||||
11 char ASCII 72.4 -> 58.2
|
||||
64 char ASCII 93.8 -> 90.1
|
||||
1024 char ASCII 142.2 -> 120.9
|
||||
4 char Latin-1 69.1 -> 79.4 (extra ASCII scan, then old path)
|
||||
two-byte 74.9 -> 75.1
|
||||
|
||||
No behaviour change. Adds a ConverterTest.String unit test; there was
|
||||
no coverage for Converter<std::string>::FromV8 before.
|
||||
|
||||
Bug: None
|
||||
|
||||
Cherry-picked from
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/8454983.
|
||||
This patch can be removed when that CL lands and rolls into Electron.
|
||||
|
||||
diff --git a/gin/converter.cc b/gin/converter.cc
|
||||
index 04bfeb77157ea168de6a382852e7163e0f8d9949..4f5cfb4d9119b28fe32d1a67fc018dac54229dbd 100644
|
||||
--- a/gin/converter.cc
|
||||
+++ b/gin/converter.cc
|
||||
@@ -8,7 +8,10 @@
|
||||
|
||||
#include <string_view>
|
||||
|
||||
+#include "base/compiler_specific.h"
|
||||
+#include "base/containers/span.h"
|
||||
#include "base/strings/string_util.h"
|
||||
+#include "base/strings/string_view_util.h"
|
||||
#include "base/time/time.h"
|
||||
#include "v8/include/v8-array-buffer.h"
|
||||
#include "v8/include/v8-external.h"
|
||||
@@ -154,6 +157,22 @@ bool Converter<std::string>::FromV8(Isolate* isolate,
|
||||
if (!val->IsString())
|
||||
return false;
|
||||
Local<String> str = Local<String>::Cast(val);
|
||||
+ // A one-byte string that is all ASCII is already valid UTF-8, so copy it
|
||||
+ // out directly instead of measuring and then encoding it. IsOneByte() is
|
||||
+ // only a cheap filter that keeps two-byte strings from creating the view.
|
||||
+ if (str->IsOneByte()) {
|
||||
+ String::ValueView view(isolate, str);
|
||||
+ if (view.is_one_byte()) {
|
||||
+ // SAFETY: ValueView only exposes a pointer and a length. It guarantees
|
||||
+ // that data8() addresses length() bytes while the view is alive.
|
||||
+ std::string_view bytes = base::as_string_view(
|
||||
+ UNSAFE_BUFFERS(base::span(view.data8(), view.length())));
|
||||
+ if (base::IsStringASCII(bytes)) {
|
||||
+ out->assign(bytes);
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
size_t length = str->Utf8LengthV2(isolate);
|
||||
out->resize(length);
|
||||
str->WriteUtf8V2(isolate, out->data(), length);
|
||||
diff --git a/gin/converter_unittest.cc b/gin/converter_unittest.cc
|
||||
index 17eef92120dafe336171d85a9782ac16b6d5c2d2..35b2c76ff5271b0d24c84670c96e660dd24d4305 100644
|
||||
--- a/gin/converter_unittest.cc
|
||||
+++ b/gin/converter_unittest.cc
|
||||
@@ -10,6 +10,7 @@
|
||||
|
||||
#include <array>
|
||||
#include <string>
|
||||
+#include <string_view>
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
@@ -92,6 +93,54 @@ TEST_F(ConverterTest, Bool) {
|
||||
}
|
||||
}
|
||||
|
||||
+TEST_F(ConverterTest, String) {
|
||||
+ v8::Isolate* isolate = instance_->isolate();
|
||||
+
|
||||
+ HandleScope handle_scope(isolate);
|
||||
+
|
||||
+ auto one_byte = [isolate](std::string_view latin1) {
|
||||
+ return String::NewFromOneByte(
|
||||
+ isolate, reinterpret_cast<const uint8_t*>(latin1.data()),
|
||||
+ v8::NewStringType::kNormal, static_cast<int>(latin1.size()))
|
||||
+ .ToLocalChecked();
|
||||
+ };
|
||||
+
|
||||
+ std::string result;
|
||||
+ EXPECT_FALSE(
|
||||
+ Converter<std::string>::FromV8(isolate, v8::False(isolate), &result));
|
||||
+
|
||||
+ // One-byte ASCII strings, including a cons string that has to be flattened
|
||||
+ // (the halves are long enough that Concat does not just copy them).
|
||||
+ ASSERT_TRUE(
|
||||
+ Converter<std::string>::FromV8(isolate, String::Empty(isolate), &result));
|
||||
+ EXPECT_EQ(result, "");
|
||||
+ ASSERT_TRUE(
|
||||
+ Converter<std::string>::FromV8(isolate, one_byte("hello"), &result));
|
||||
+ EXPECT_EQ(result, "hello");
|
||||
+ ASSERT_TRUE(Converter<std::string>::FromV8(
|
||||
+ isolate,
|
||||
+ String::Concat(isolate, one_byte("the first half, "),
|
||||
+ one_byte("the second half")),
|
||||
+ &result));
|
||||
+ EXPECT_EQ(result, "the first half, the second half");
|
||||
+
|
||||
+ // One-byte strings outside ASCII are Latin-1 and must be re-encoded.
|
||||
+ ASSERT_TRUE(
|
||||
+ Converter<std::string>::FromV8(isolate, one_byte("caf\xe9"), &result));
|
||||
+ EXPECT_EQ(result, "caf\xc3\xa9");
|
||||
+ ASSERT_TRUE(Converter<std::string>::FromV8(
|
||||
+ isolate,
|
||||
+ String::Concat(isolate, one_byte("caf\xe9 au lait, "),
|
||||
+ one_byte("\xe0 la cr\xe8me")),
|
||||
+ &result));
|
||||
+ EXPECT_EQ(result, "caf\xc3\xa9 au lait, \xc3\xa0 la cr\xc3\xa8me");
|
||||
+
|
||||
+ // Two-byte string.
|
||||
+ ASSERT_TRUE(Converter<std::string>::FromV8(
|
||||
+ isolate, StringToV8(isolate, "\xe2\x98\x83 snowman"), &result));
|
||||
+ EXPECT_EQ(result, "\xe2\x98\x83 snowman");
|
||||
+}
|
||||
+
|
||||
TEST_F(ConverterTest, String16) {
|
||||
v8::Isolate* isolate = instance_->isolate();
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: gritsettings_resource_ids.patch
|
||||
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
|
||||
index c9ba7001965d1ebaa36e79f263aaaf5663afc546..ab89e350865f5be8b6b78de69cf739da567acc37 100644
|
||||
index bd5e1ce22f52283045089eac5d5eece80294492f..0ca7ba10c2e858eff8621db9d9b38ef7082bff57 100644
|
||||
--- a/tools/gritsettings/resource_ids.spec
|
||||
+++ b/tools/gritsettings/resource_ids.spec
|
||||
@@ -1796,6 +1796,11 @@
|
||||
@@ -1800,6 +1800,11 @@
|
||||
"includes": [12000],
|
||||
},
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ system font by checking if it's kCTFontPriorityAttribute is set to
|
||||
system priority.
|
||||
|
||||
diff --git a/base/BUILD.gn b/base/BUILD.gn
|
||||
index 9feaf5f8e639b33b871fdafe9e5d3e4c6b240761..05fa7e84103811395fe02d63738fdfe348e62470 100644
|
||||
index 559dc98860e425e973852e4e9cf441359875e57e..3e00942a6d41466c755001e0f3216f20484a0836 100644
|
||||
--- a/base/BUILD.gn
|
||||
+++ b/base/BUILD.gn
|
||||
@@ -1154,6 +1154,7 @@ component("base") {
|
||||
@@ -129,10 +129,10 @@ index 416e541436d201aabca26cdbf7e8477103bd014c..8c5f92b03d67e5f0587b0e9420969061
|
||||
}
|
||||
|
||||
diff --git a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
index a93b1d54a43b2cdee79bb1ff64d14e70c30a8160..5df1705ad1d2827f51fc32c61bae19e56ce7cfd1 100644
|
||||
index 7780529ef26ed86f74ca452745eda8801f3181c6..c4042f2eb818db39f2cb51ffa6e9c16e238a8427 100644
|
||||
--- a/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
+++ b/base/allocator/partition_allocator/src/partition_alloc/BUILD.gn
|
||||
@@ -1051,6 +1051,7 @@ if (is_clang_or_gcc) {
|
||||
@@ -1047,6 +1047,7 @@ if (is_clang_or_gcc) {
|
||||
":allocator_base",
|
||||
":allocator_core",
|
||||
":buildflags",
|
||||
@@ -843,7 +843,7 @@ index c5c652c6c67da33e9a2127cbbc35ec5fc535df6c..e58bb7368359e6ba13c249b8677a91e5
|
||||
|
||||
- (NSWindow*)rootWindow {
|
||||
diff --git a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
index 711339903cd8272470e72bb83495116c7ceec1bf..23f119b4adf8d604a5f283ecf58f23a08a1f88f7 100644
|
||||
index 5abdca1cb441d306b5dbea7d7bf7e1400ce3a14d..d2235a096f5ea7b5c3ecdc84af9b10a839615347 100644
|
||||
--- a/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
+++ b/components/remote_cocoa/app_shim/native_widget_ns_window_bridge.mm
|
||||
@@ -42,6 +42,7 @@
|
||||
@@ -1005,7 +1005,7 @@ index c74a6130862162d4fdb07cf3d4a60604d0ae0482..92eaacfb3256ded77bd119e6ca306404
|
||||
return kAttributes;
|
||||
}
|
||||
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
|
||||
index 88198203b8e696c07ca9971d5716d3d5197eb45c..29189cc7d5b0724a07998079d1cfc977b85c39f5 100644
|
||||
index 56de9c52be3c20327b7a14cca46b4d24fa9d80f2..d1e0d849eec52d97fcd10e99c40491b0c92faf79 100644
|
||||
--- a/content/browser/BUILD.gn
|
||||
+++ b/content/browser/BUILD.gn
|
||||
@@ -385,6 +385,7 @@ source_set("browser") {
|
||||
@@ -1126,10 +1126,10 @@ index 10d8a0e16d6bd7e603eddabfd3f053f44d43d7a1..23b8154e7695d2fb4efbd777de6e84f2
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
|
||||
index 2e1af512e770c9bee1b3d3c430f5537e0193f069..aeca39edb1bfd856c5a5722155097dfb13eb4f65 100644
|
||||
index e41489d4c98fbf96f9bfadfb78c5b0b0f5a5d841..1a6298d187d6245370d7c29c419617a8c401c5d0 100644
|
||||
--- a/content/common/BUILD.gn
|
||||
+++ b/content/common/BUILD.gn
|
||||
@@ -280,6 +280,7 @@ source_set("common") {
|
||||
@@ -279,6 +279,7 @@ source_set("common") {
|
||||
"//ui/shell_dialogs",
|
||||
"//url",
|
||||
"//url/ipc:url_ipc",
|
||||
@@ -1220,7 +1220,7 @@ index a1068589ad844518038ee7bc15a3de9bc5cba525..1ff781c49f086ec8015c7d3c44567dbe
|
||||
|
||||
} // namespace content
|
||||
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
|
||||
index 2a59068e1900d98fd3ef2bf4a0f5540536c54111..3decb5ded7ce388965f8637a718435941c240dd9 100644
|
||||
index 749d414b5ac90f23ea4ae285bd7b9251308ea9cc..1b514295dfa0ce6cc50c1c03bb1dc19076f58c3d 100644
|
||||
--- a/content/test/BUILD.gn
|
||||
+++ b/content/test/BUILD.gn
|
||||
@@ -653,6 +653,7 @@ static_library("test_support") {
|
||||
@@ -1248,7 +1248,7 @@ index 2a59068e1900d98fd3ef2bf4a0f5540536c54111..3decb5ded7ce388965f8637a71843594
|
||||
]
|
||||
|
||||
if (!(is_chromeos && target_cpu == "arm64" && current_cpu == "arm")) {
|
||||
@@ -3453,6 +3457,7 @@ test("content_unittests") {
|
||||
@@ -3455,6 +3459,7 @@ test("content_unittests") {
|
||||
"//ui/shell_dialogs",
|
||||
"//ui/webui:test_support",
|
||||
"//url",
|
||||
@@ -2163,10 +2163,10 @@ index 9423a2891552e8df3ea5b05c720ab11795c4b92d..610c479ef03759d3082b42d7a402cbea
|
||||
// Accessible object
|
||||
if (AXElementWrapper::IsValidElement(value)) {
|
||||
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn
|
||||
index dd9811827c1d7a4a0afe006ba6c0bbc17f58d3a6..3399f82675e57a1f9feb8f33ba1666dde84731cb 100644
|
||||
index c92c5700536048d3fafc030ff259526c6e7dba55..ecfa2b7713024a0f9d1dc3b2a394b4ccd8ebdf10 100644
|
||||
--- a/ui/base/BUILD.gn
|
||||
+++ b/ui/base/BUILD.gn
|
||||
@@ -367,6 +367,13 @@ component("base") {
|
||||
@@ -365,6 +365,13 @@ component("base") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2180,7 +2180,7 @@ index dd9811827c1d7a4a0afe006ba6c0bbc17f58d3a6..3399f82675e57a1f9feb8f33ba1666dd
|
||||
if (is_ios) {
|
||||
sources += [
|
||||
"device_form_factor_ios.mm",
|
||||
@@ -523,6 +530,12 @@ component("base") {
|
||||
@@ -521,6 +528,12 @@ component("base") {
|
||||
"//url",
|
||||
]
|
||||
|
||||
@@ -2382,7 +2382,7 @@ index 65ae8170664d15c7884261812400d0ed638a681d..86c937f1e6d03b88803a2ca80abff19c
|
||||
// enough.
|
||||
return PlatformFontMac::SystemFontType::kGeneral;
|
||||
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
|
||||
index cb35a2682b68f90a0e6d9916a845c8e1b4b52e23..686c60c0a57be23aa323b96fa5d423278eeeaa1a 100644
|
||||
index c0d1b5edde7890a13fcdf1e8a18d7733041593fa..d88b9590e4ea4170aa680e56dca5916f9e7363b8 100644
|
||||
--- a/ui/views/BUILD.gn
|
||||
+++ b/ui/views/BUILD.gn
|
||||
@@ -791,6 +791,8 @@ component("views") {
|
||||
|
||||
@@ -133,7 +133,7 @@ index 9bf238e64af483294ae3c3f18a4e9aed49a8658d..b9b2a4c8c387b8e8b4eb1f02fc0f891c
|
||||
const GURL& document_url,
|
||||
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
|
||||
index cf64747dbc2a2800d42a8993d8f0b856c7ba1822..712445d23f1375d9089d3f33366e418ca880b2c1 100644
|
||||
index 131df98facffae8a55a98704a729006c405f6274..87c93425984b86d8122b29a5b6255be38e213207 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2557,7 +2557,7 @@ void RenderProcessHostImpl::CreateNotificationService(
|
||||
|
||||
@@ -46,7 +46,7 @@ index ffaf5f5f5f68ab6811c115ef66c8eb8f7f370027..6a43f6b515aacac600e3928a33bda6ed
|
||||
ui::ImageModel::FromVectorIcon(*icon, kColorPipWindowForeground,
|
||||
kCloseButtonIconSize));
|
||||
diff --git a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
index 0afdeb691c3eebf4f9acf92214e4d9ed25ae6314..e1154047af16efd14465539696de7b55e5ba50cc 100644
|
||||
index 7c2536e4d975ce459843c84d97156e057722b5da..a9436ec55914d264cc59637860785881ad2dd16a 100644
|
||||
--- a/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
+++ b/chrome/browser/ui/views/overlay/video_overlay_window_views.cc
|
||||
@@ -18,14 +18,18 @@
|
||||
|
||||
@@ -72,7 +72,7 @@ to modify the upstream chrome/browser/printing/print_view_manager.{cc,h}, which
|
||||
Electron does not compile.
|
||||
|
||||
diff --git a/chrome/browser/printing/print_job.cc b/chrome/browser/printing/print_job.cc
|
||||
index bb7a4f4ff71cdbd98461feeac00cea5949d260c8..fff4e09b5891adacd6d61bdd31c1badf576cc6f5 100644
|
||||
index 24c92f4035410f68c48aa97bb49c0fe759194901..6704bf804c4d4d96ba7e2df06d8690c034209058 100644
|
||||
--- a/chrome/browser/printing/print_job.cc
|
||||
+++ b/chrome/browser/printing/print_job.cc
|
||||
@@ -97,6 +97,7 @@ bool PrintWithReducedRasterization(PrefService* prefs) {
|
||||
@@ -129,7 +129,7 @@ index bb7a4f4ff71cdbd98461feeac00cea5949d260c8..fff4e09b5891adacd6d61bdd31c1badf
|
||||
: PdfRenderSettings::Mode::POSTSCRIPT_LEVEL3;
|
||||
}
|
||||
diff --git a/chrome/browser/printing/print_view_manager_base.cc b/chrome/browser/printing/print_view_manager_base.cc
|
||||
index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f61731a199 100644
|
||||
index 87a3d41490cb14a788c3252712d327de27f7149c..092a1409603c1227a4b3032f5e8e11d00e014ce5 100644
|
||||
--- a/chrome/browser/printing/print_view_manager_base.cc
|
||||
+++ b/chrome/browser/printing/print_view_manager_base.cc
|
||||
@@ -72,6 +72,20 @@ namespace printing {
|
||||
@@ -154,7 +154,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
scoped_refptr<PrintQueriesQueue> queue,
|
||||
bool want_pdf_settings,
|
||||
@@ -80,9 +94,9 @@ void OnDidGetDefaultPrintSettings(
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
|
||||
if (printer_query->last_status() != mojom::ResultCode::kSuccess) {
|
||||
- if (!want_pdf_settings) {
|
||||
@@ -184,7 +184,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
- mojom::PrintManagerHost::ScriptedPrintCallback callback) {
|
||||
+ mojom::PrintManagerHost::ScriptedPrintCallback callback,
|
||||
+ base::OnceCallback<void()> cancel_job) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
|
||||
if (printer_query->last_status() != mojom::ResultCode::kSuccess ||
|
||||
!printer_query->settings().dpi()) {
|
||||
@@ -199,7 +199,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
@@ -140,9 +154,11 @@ PrintViewManagerBase::PrintViewManagerBase(content::WebContents* web_contents)
|
||||
: PrintManager(web_contents),
|
||||
queue_(g_browser_process->print_job_manager()->queue()) {
|
||||
DCHECK(queue_);
|
||||
CHECK(queue_, base::NotFatalUntil::M162);
|
||||
+#if 0
|
||||
Profile* profile =
|
||||
Profile::FromBrowserContext(web_contents->GetBrowserContext());
|
||||
@@ -262,14 +262,14 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
}
|
||||
@@ -340,7 +365,7 @@ void PrintViewManagerBase::StartLocalPrintJob(
|
||||
PrinterHandler::PrintCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
|
||||
-#if BUILDFLAG(ENTERPRISE_CONTENT_ANALYSIS)
|
||||
+#if 0
|
||||
// Populating `content_analysis_before_printing_document_` if needed should be
|
||||
// done first in this function's workflow, this way other code can check if
|
||||
// content analysis is going to happen and delay starting `print_job_` to
|
||||
@@ -569,7 +594,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
@@ -570,7 +595,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
|
||||
#if BUILDFLAG(ENABLE_OOP_PRINTING)
|
||||
if (ShouldPrintJobOop() &&
|
||||
@@ -278,7 +278,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
!analyzing_content_ &&
|
||||
#endif
|
||||
!query_with_ui_client_id().has_value()) {
|
||||
@@ -597,7 +622,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
@@ -598,7 +623,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
|
||||
// Sometimes it is desired to get the PDF settings as opposed to the settings
|
||||
// of the default system print driver.
|
||||
@@ -287,16 +287,16 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
bool want_pdf_settings = analyzing_content_;
|
||||
#else
|
||||
bool want_pdf_settings = false;
|
||||
@@ -615,7 +640,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
@@ -616,7 +641,7 @@ void PrintViewManagerBase::GetDefaultPrintSettings(
|
||||
void PrintViewManagerBase::IsPrintingEnabled(
|
||||
IsPrintingEnabledCallback callback) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
- std::move(callback).Run(GetPrintingEnabledBooleanPref());
|
||||
+ std::move(callback).Run(true);
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
|
||||
@@ -636,7 +661,7 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
|
||||
@@ -637,7 +662,7 @@ void PrintViewManagerBase::ScriptedPrint(mojom::ScriptedPrintParamsPtr params,
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -305,7 +305,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
std::optional<enterprise_connectors::ContentAnalysisDelegate::Data>
|
||||
scanning_data = enterprise_data_protection::GetPrintAnalysisData(
|
||||
web_contents(), enterprise_data_protection::PrintScanningContext::
|
||||
@@ -667,11 +692,9 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
|
||||
@@ -668,11 +693,9 @@ void PrintViewManagerBase::PrintingFailed(int32_t cookie,
|
||||
// destroyed. In such cases the error notification to the user will
|
||||
// have already been displayed, and a second message should not be
|
||||
// shown.
|
||||
@@ -319,7 +319,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
ReleasePrinterQuery();
|
||||
}
|
||||
|
||||
@@ -683,15 +706,33 @@ void PrintViewManagerBase::RemoveTestObserver(TestObserver& observer) {
|
||||
@@ -684,15 +707,33 @@ void PrintViewManagerBase::RemoveTestObserver(TestObserver& observer) {
|
||||
test_observers_.RemoveObserver(&observer);
|
||||
}
|
||||
|
||||
@@ -353,10 +353,10 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::RenderFrameDeleted(
|
||||
@@ -733,13 +774,14 @@ void PrintViewManagerBase::SystemDialogCancelled() {
|
||||
@@ -734,13 +775,14 @@ void PrintViewManagerBase::SystemDialogCancelled() {
|
||||
// System dialog was cancelled. Clean up the print job and notify the
|
||||
// BackgroundPrintingManager.
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
+ printing_status_ = PrintStatus::kCanceled;
|
||||
ReleasePrinterQuery();
|
||||
TerminatePrintJob(true);
|
||||
@@ -369,7 +369,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::OnDocDone(int job_id, PrintedDocument* document) {
|
||||
@@ -753,17 +795,26 @@ void PrintViewManagerBase::OnJobDone() {
|
||||
@@ -754,17 +796,26 @@ void PrintViewManagerBase::OnJobDone() {
|
||||
// Printing is done, we don't need it anymore.
|
||||
// print_job_->is_job_pending() may still be true, depending on the order
|
||||
// of object registration.
|
||||
@@ -397,7 +397,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
}
|
||||
|
||||
TerminatePrintJob(true);
|
||||
@@ -775,7 +826,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() {
|
||||
@@ -776,7 +827,7 @@ bool PrintViewManagerBase::RenderAllMissingPagesNow() {
|
||||
|
||||
// Is the document already complete?
|
||||
if (print_job_->document() && print_job_->document()->IsComplete()) {
|
||||
@@ -406,7 +406,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -828,7 +879,10 @@ bool PrintViewManagerBase::SetupNewPrintJob(
|
||||
@@ -829,7 +880,10 @@ bool PrintViewManagerBase::SetupNewPrintJob(
|
||||
|
||||
// Disconnect the current `print_job_`.
|
||||
auto weak_this = weak_ptr_factory_.GetWeakPtr();
|
||||
@@ -418,7 +418,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
if (!weak_this)
|
||||
return false;
|
||||
|
||||
@@ -848,7 +902,7 @@ bool PrintViewManagerBase::SetupNewPrintJob(
|
||||
@@ -849,7 +903,7 @@ bool PrintViewManagerBase::SetupNewPrintJob(
|
||||
#endif
|
||||
print_job_->AddObserver(*this);
|
||||
|
||||
@@ -427,7 +427,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -906,7 +960,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
@@ -908,7 +962,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
// Ensure that any residual registration of printing client is released.
|
||||
// This might be necessary in some abnormal cases, such as the associated
|
||||
// render process having terminated.
|
||||
@@ -436,7 +436,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
if (!analyzing_content_) {
|
||||
UnregisterSystemPrintClient();
|
||||
}
|
||||
@@ -916,6 +970,11 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
@@ -918,6 +972,11 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -448,16 +448,16 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
if (!print_job_) {
|
||||
return;
|
||||
}
|
||||
@@ -924,7 +983,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
@@ -926,7 +985,7 @@ void PrintViewManagerBase::ReleasePrintJob() {
|
||||
// printing_rfh_ should only ever point to a RenderFrameHost with a live
|
||||
// RenderFrame.
|
||||
DCHECK(rfh->IsRenderFrameLive());
|
||||
CHECK(rfh->IsRenderFrameLive(), base::NotFatalUntil::M162);
|
||||
- GetPrintRenderFrame(rfh)->PrintingDone(printing_succeeded_);
|
||||
+ GetPrintRenderFrame(rfh)->PrintingDone(printing_status_ == PrintStatus::kSucceeded);
|
||||
}
|
||||
|
||||
print_job_->RemoveObserver(*this);
|
||||
@@ -966,7 +1025,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
|
||||
@@ -968,7 +1027,7 @@ bool PrintViewManagerBase::RunInnerMessageLoop() {
|
||||
}
|
||||
|
||||
bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) {
|
||||
@@ -466,7 +466,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
return true;
|
||||
|
||||
if (!cookie) {
|
||||
@@ -989,7 +1048,7 @@ bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) {
|
||||
@@ -991,7 +1050,7 @@ bool PrintViewManagerBase::OpportunisticallyCreatePrintJob(int cookie) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -475,7 +475,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
// Don't start printing if enterprise checks are being performed to check if
|
||||
// printing is allowed, or if content analysis is going to take place right
|
||||
// before starting `print_job_`.
|
||||
@@ -1124,6 +1183,8 @@ void PrintViewManagerBase::CompleteScriptedPrint(
|
||||
@@ -1126,6 +1185,8 @@ void PrintViewManagerBase::CompleteScriptedPrint(
|
||||
auto callback_wrapper = base::BindOnce(
|
||||
&PrintViewManagerBase::ScriptedPrintReply, weak_ptr_factory_.GetWeakPtr(),
|
||||
std::move(callback), render_process_host->GetDeprecatedID());
|
||||
@@ -484,7 +484,7 @@ index b673362fe80dd0752e5cde56ffeba32dc0b32879..874816ba11e3d0e9557fd2145f3c73f6
|
||||
std::unique_ptr<PrinterQuery> printer_query =
|
||||
queue()->PopPrinterQuery(params->cookie);
|
||||
if (!printer_query)
|
||||
@@ -1142,10 +1203,10 @@ void PrintViewManagerBase::CompleteScriptedPrint(
|
||||
@@ -1144,10 +1205,10 @@ void PrintViewManagerBase::CompleteScriptedPrint(
|
||||
params->expected_pages_count, has_selection, params->margin_type,
|
||||
params->is_scripted, !render_process_host->IsPdf(),
|
||||
base::BindOnce(&OnDidScriptedPrint, queue_, std::move(printer_query),
|
||||
@@ -579,7 +579,7 @@ index f124be0421de8b3eb33b7075eff33bf22cd612f5..41904410d79f8d760f0199534c0dc5b3
|
||||
// Indication that the job is getting canceled.
|
||||
bool canceling_job_ = false;
|
||||
diff --git a/chrome/browser/printing/printer_query.cc b/chrome/browser/printing/printer_query.cc
|
||||
index 2fd63548223b9c2006a5c684e8cb471cca19a007..fbc5fc75fe6c09bcb81521c7885efe616e2666fb 100644
|
||||
index 93f2184e471a1856a04825e5cd4400e76ed6506f..a3d521ba3e5d60d4078636ddbd04a41f6ab701f7 100644
|
||||
--- a/chrome/browser/printing/printer_query.cc
|
||||
+++ b/chrome/browser/printing/printer_query.cc
|
||||
@@ -360,17 +360,19 @@ void PrinterQuery::UpdatePrintSettings(base::DictValue new_settings,
|
||||
@@ -607,13 +607,13 @@ index 2fd63548223b9c2006a5c684e8cb471cca19a007..fbc5fc75fe6c09bcb81521c7885efe61
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS)
|
||||
diff --git a/chrome/browser/printing/printer_query_oop.cc b/chrome/browser/printing/printer_query_oop.cc
|
||||
index 21ea23304b7b4652c93a9dd2de1b4bbca83a32c8..49efb2d2b621063ed94d6d17fa563f341495f965 100644
|
||||
index 0b9322fdc0e474cd37a89c5821eead137e4f9fe5..3cbf35101f39a8fe9f228ccd08602679a44c79ce 100644
|
||||
--- a/chrome/browser/printing/printer_query_oop.cc
|
||||
+++ b/chrome/browser/printing/printer_query_oop.cc
|
||||
@@ -127,7 +127,7 @@ void PrinterQueryOop::OnDidAskUserForSettings(
|
||||
std::unique_ptr<PrintSettings> new_settings,
|
||||
mojom::ResultCode result) {
|
||||
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M162);
|
||||
- if (result == mojom::ResultCode::kSuccess) {
|
||||
+ if (result == mojom::ResultCode::kSuccess && query_with_ui_client_id_) {
|
||||
// Want the same PrintBackend service as the query so that we use the same
|
||||
|
||||
@@ -51,7 +51,7 @@ index 6f081c26ca4cffe76104eae5a4130a81a93a539d..7da4c199de1d2721a2e6ba9cb10ba0bc
|
||||
bool is_virtualized_; // Stuck inside Microsoft Softricity VM environment.
|
||||
|
||||
diff --git a/chrome/browser/process_singleton_posix.cc b/chrome/browser/process_singleton_posix.cc
|
||||
index 9a83a1d2d2f9bf68ac8b832744b34fbe00ca724e..6e42d6a1bfe1cab905a4dc8927f6f169ef20da52 100644
|
||||
index 827a8a94b0a185638678d63e3e8f9f5e380cca28..7e60fda45f824974b3403a376d8aa9b35b0a1f84 100644
|
||||
--- a/chrome/browser/process_singleton_posix.cc
|
||||
+++ b/chrome/browser/process_singleton_posix.cc
|
||||
@@ -55,6 +55,7 @@
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: proxy_config_monitor.patch
|
||||
Allow monitoring proxy config changes for a pref service.
|
||||
|
||||
diff --git a/chrome/browser/net/proxy_config_monitor.cc b/chrome/browser/net/proxy_config_monitor.cc
|
||||
index da8654bbe5893f60bdc2748aee93b8be431731c7..6ddcd72265561f05d8e067137951f112a5543647 100644
|
||||
index 387102abd88a010459ef3a5ba4880c5621a96fa3..1786553840067147b2fd7727afbae059e80ee148 100644
|
||||
--- a/chrome/browser/net/proxy_config_monitor.cc
|
||||
+++ b/chrome/browser/net/proxy_config_monitor.cc
|
||||
@@ -12,8 +12,10 @@
|
||||
@@ -43,7 +43,7 @@ index da8654bbe5893f60bdc2748aee93b8be431731c7..6ddcd72265561f05d8e067137951f112
|
||||
|
||||
ProxyConfigMonitor::ProxyConfigMonitor(PrefService* local_state) {
|
||||
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
|
||||
@@ -173,8 +177,10 @@ void ProxyConfigMonitor::OnLazyProxyConfigPoll() {
|
||||
@@ -179,8 +183,10 @@ void ProxyConfigMonitor::OnLazyProxyConfigPoll() {
|
||||
void ProxyConfigMonitor::OnPACScriptError(int32_t line_number,
|
||||
const std::string& details) {
|
||||
CHECK_CURRENTLY_ON(content::BrowserThread::UI, base::NotFatalUntil::M161);
|
||||
@@ -54,7 +54,7 @@ index da8654bbe5893f60bdc2748aee93b8be431731c7..6ddcd72265561f05d8e067137951f112
|
||||
}
|
||||
|
||||
void ProxyConfigMonitor::OnRequestMaybeFailedDueToProxySettings(
|
||||
@@ -190,7 +196,9 @@ void ProxyConfigMonitor::OnRequestMaybeFailedDueToProxySettings(
|
||||
@@ -196,7 +202,9 @@ void ProxyConfigMonitor::OnRequestMaybeFailedDueToProxySettings(
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ index da8654bbe5893f60bdc2748aee93b8be431731c7..6ddcd72265561f05d8e067137951f112
|
||||
}
|
||||
#endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
diff --git a/chrome/browser/net/proxy_config_monitor.h b/chrome/browser/net/proxy_config_monitor.h
|
||||
index 6ab897e484ccf3a30a65622f854b08967f33a98f..38366a6fb515e707f03eb67c52b6a9be580e6c50 100644
|
||||
index 16c8ddcad9915df5ab8b5d31334b4eec19f5005f..cd4d949b3a39df65d93b412dfe66b766d413fbbb 100644
|
||||
--- a/chrome/browser/net/proxy_config_monitor.h
|
||||
+++ b/chrome/browser/net/proxy_config_monitor.h
|
||||
@@ -41,11 +41,12 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer,
|
||||
@@ -82,7 +82,7 @@ index 6ab897e484ccf3a30a65622f854b08967f33a98f..38366a6fb515e707f03eb67c52b6a9be
|
||||
// Creates a ProxyConfigMonitor that gets proxy settings from the
|
||||
// |local_state|, for use with NetworkContexts not
|
||||
// associated with a profile. Must be destroyed before |local_state|.
|
||||
@@ -99,7 +100,7 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer,
|
||||
@@ -101,7 +102,7 @@ class ProxyConfigMonitor : public net::ProxyConfigService::Observer,
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS_CORE)
|
||||
mojo::ReceiverSet<network::mojom::ProxyErrorClient> error_receiver_set_;
|
||||
|
||||
@@ -44,10 +44,10 @@ index b50470a2827de457feaa73f2b57de290d8f35390..4738e7e2866d12cd0e65b4bc599c8fb2
|
||||
|
||||
void RenderWidgetHostImpl::ShowContextMenuAtPoint(
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 1d3ef04c87c82c369c2a58b9e97153981352cfc9..d58fa6fe85091df4534efa3333be9eaa12a919c5 100644
|
||||
index 5b05e8719c0a960c3535d24cc2c6ab5daaa12cd8..37d8b429f06604d701acca3d9cd6a039cb94934b 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -6738,6 +6738,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
@@ -6744,6 +6744,11 @@ TextInputManager* WebContentsImpl::GetTextInputManager() {
|
||||
return text_input_manager_.get();
|
||||
}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 8f85b875670866f1f1b1a717c985738cba20c792..7236662088aedd2b8c9afb18ba0d8b2fa9ae8a73 100644
|
||||
index cbc09ec8e312b0f6d3cae8b7086d56256a07b0c4..5706c62e0f63aec49bfe1f4daadce9a534c0f4eb 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -11399,25 +11399,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||
@@ -11405,25 +11405,13 @@ void WebContentsImpl::RendererUnresponsive(
|
||||
base::RepeatingClosure hang_monitor_restarter) {
|
||||
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RendererUnresponsive",
|
||||
"render_widget_host", render_widget_host);
|
||||
|
||||
@@ -52,10 +52,10 @@ Some alternatives to this patch:
|
||||
None of these options seems like a substantial maintainability win over this patch to me (@nornagon).
|
||||
|
||||
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn
|
||||
index f1d133b6cda978b105c6110b279fdd75a1b2f061..a55b4e6bf9e3e1a1bd5889d0c29ef34da655be53 100644
|
||||
index c7159fc107d34071f31fc0ab908f106900105f87..29a867b47c60e72bf85638538bb7ef4482b59cf6 100644
|
||||
--- a/chrome/BUILD.gn
|
||||
+++ b/chrome/BUILD.gn
|
||||
@@ -1740,7 +1740,7 @@ group("extra_resources") {
|
||||
@@ -1741,7 +1741,7 @@ group("extra_resources") {
|
||||
]
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ index f1d133b6cda978b105c6110b279fdd75a1b2f061..a55b4e6bf9e3e1a1bd5889d0c29ef34d
|
||||
chrome_paks("packed_resources") {
|
||||
if (is_mac) {
|
||||
output_dir = "$root_gen_dir/repack"
|
||||
@@ -1764,6 +1764,12 @@ repack("browser_tests_pak") {
|
||||
@@ -1765,6 +1765,12 @@ repack("browser_tests_pak") {
|
||||
deps = [ "//chrome/test/data/webui:resources" ]
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -22,10 +22,10 @@ https://chromium-review.googlesource.com/c/chromium/src/+/8286976; this
|
||||
patch can be dropped once that or an equivalent lands.
|
||||
|
||||
diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc
|
||||
index ffa12cf1a160c185c0a513a326f042f3532944b9..128494ab450d64e1a21f50324f4395727dc09745 100644
|
||||
index 352efa6d82c962d6727e39f3968b9ebb72967c8a..0c9ed6193d30c8e176234c3290245b711836b8af 100644
|
||||
--- a/gpu/ipc/service/gpu_init.cc
|
||||
+++ b/gpu/ipc/service/gpu_init.cc
|
||||
@@ -743,17 +743,7 @@ bool GpuInitLegacy::InitializeAndStartSandbox(
|
||||
@@ -741,17 +741,7 @@ bool GpuInitLegacy::InitializeAndStartSandbox(
|
||||
|
||||
base::FilePath module_path;
|
||||
if (base::PathService::Get(base::DIR_MODULE, &module_path)) {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: scroll_bounce_flag.patch
|
||||
Patch to make scrollBounce option work.
|
||||
|
||||
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
||||
index a5cf4998876676fc58d4a4842932e82ee2eb9abf..bec74fb9fb02e639d4a888707835b17561bd63a0 100644
|
||||
index 46d33ba8f9f30c52755d228ae7e8fdb49ceb16bb..910ba59641ca736ea62af208af0685e918f47654 100644
|
||||
--- a/content/renderer/render_thread_impl.cc
|
||||
+++ b/content/renderer/render_thread_impl.cc
|
||||
@@ -1206,11 +1206,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
@@ -1207,11 +1207,11 @@ bool RenderThreadImpl::IsLcdTextEnabled() {
|
||||
}
|
||||
|
||||
bool RenderThreadImpl::IsElasticOverscrollEnabledOnRoot() {
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@ short-circuit all the permissions checks in MSDC for now to allow us to
|
||||
unduplicate this code.
|
||||
|
||||
diff --git a/components/webrtc/media_stream_devices_controller.cc b/components/webrtc/media_stream_devices_controller.cc
|
||||
index cc52998162acd58c928ce47ea08fb92dd8c7ea18..178d3885a282d7fa26b83a7652182968fcb92265 100644
|
||||
index 04c693b7b329936f851fa2a68d60281027dade52..fdb29fec28227c7c78a4c70026cf87f32d1e0055 100644
|
||||
--- a/components/webrtc/media_stream_devices_controller.cc
|
||||
+++ b/components/webrtc/media_stream_devices_controller.cc
|
||||
@@ -58,7 +58,8 @@ bool PermissionIsRequested(blink::PermissionType permission,
|
||||
@@ -77,7 +77,7 @@ index cc52998162acd58c928ce47ea08fb92dd8c7ea18..178d3885a282d7fa26b83a7652182968
|
||||
}
|
||||
|
||||
MediaStreamDevicesController::~MediaStreamDevicesController() {
|
||||
@@ -478,6 +491,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
|
||||
@@ -476,6 +489,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ index cc52998162acd58c928ce47ea08fb92dd8c7ea18..178d3885a282d7fa26b83a7652182968
|
||||
// TODO(raymes): This function wouldn't be needed if
|
||||
// PermissionManager::RequestPermissions returned a denial reason.
|
||||
content::PermissionResult result =
|
||||
@@ -491,6 +505,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
|
||||
@@ -489,6 +503,7 @@ bool MediaStreamDevicesController::PermissionIsBlockedForReason(
|
||||
DCHECK_EQ(blink::mojom::PermissionStatus::DENIED, result.status);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ However, the patch would need to be reviewed by the security team, as it
|
||||
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
|
||||
index 712445d23f1375d9089d3f33366e418ca880b2c1..d7c1182300c69e11d7e2adc9365cd9e1be9f6514 100644
|
||||
index 87c93425984b86d8122b29a5b6255be38e213207..aca2627015bec55846b892886b3fe955cb614325 100644
|
||||
--- a/content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2135,6 +2135,10 @@ bool RenderProcessHostImpl::Init() {
|
||||
|
||||
@@ -9,10 +9,10 @@ is needed for OSR.
|
||||
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
|
||||
index d58fa6fe85091df4534efa3333be9eaa12a919c5..58e8c14498e170b955df31eec65db0d74db7ac2e 100644
|
||||
index 37d8b429f06604d701acca3d9cd6a039cb94934b..26d175270c1e58d7a3dfc19610ff6f457dc66d79 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4522,6 +4522,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -4528,6 +4528,13 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
params.main_frame_name, GetOpener(), primary_main_frame_policy,
|
||||
base::UnguessableToken::Create());
|
||||
|
||||
@@ -26,7 +26,7 @@ index d58fa6fe85091df4534efa3333be9eaa12a919c5..58e8c14498e170b955df31eec65db0d7
|
||||
std::unique_ptr<WebContentsViewDelegate> delegate =
|
||||
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
|
||||
|
||||
@@ -4532,6 +4539,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
@@ -4538,6 +4545,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
|
||||
view_ = CreateWebContentsView(this, std::move(delegate),
|
||||
&render_view_host_delegate_view_);
|
||||
}
|
||||
|
||||
+2
-2
@@ -19,10 +19,10 @@ This is specific to Electron's permission model and is not intended for
|
||||
upstream.
|
||||
|
||||
diff --git a/content/browser/hid/hid_service.cc b/content/browser/hid/hid_service.cc
|
||||
index 16187596f2beccd9dae03c234624d4a72ed2a263..9cb5f00dbce774e9e15781e516643dfe65d43eb4 100644
|
||||
index b7bedaffd8505e2824f8c4e51bbcf0be3816635b..869f0dda9bdca38b69c8d5faed9aead5bdb6aed9 100644
|
||||
--- a/content/browser/hid/hid_service.cc
|
||||
+++ b/content/browser/hid/hid_service.cc
|
||||
@@ -123,7 +123,7 @@ HidService::HidService(
|
||||
@@ -135,7 +135,7 @@ HidService::HidService(
|
||||
HidService::HidService(RenderFrameHostImpl* render_frame_host)
|
||||
: HidService(render_frame_host,
|
||||
/*service_worker_version=*/nullptr,
|
||||
|
||||
@@ -24,10 +24,10 @@ Upstreamed at https://chromium-review.googlesource.com/c/chromium/src/+/8364427;
|
||||
remove this patch when it rolls in.
|
||||
|
||||
diff --git a/chrome/browser/hid/chrome_hid_delegate.cc b/chrome/browser/hid/chrome_hid_delegate.cc
|
||||
index db8a46cb3d1c032075a21d8843984ef6a790ba41..5e2f30c719135e97da77b6e15597e5e0ae892e24 100644
|
||||
index 0d8f8fc22375244ed03340b5eb374852c38eb002..26221534274ac537508f852a25bcc38f9fb786f0 100644
|
||||
--- a/chrome/browser/hid/chrome_hid_delegate.cc
|
||||
+++ b/chrome/browser/hid/chrome_hid_delegate.cc
|
||||
@@ -298,6 +298,7 @@ std::unique_ptr<content::HidChooser> ChromeHidDelegate::RunChooser(
|
||||
@@ -303,6 +303,7 @@ std::unique_ptr<content::HidChooser> ChromeHidDelegate::RunChooser(
|
||||
|
||||
bool ChromeHidDelegate::CanRequestDevicePermission(
|
||||
content::BrowserContext* browser_context,
|
||||
@@ -35,7 +35,7 @@ index db8a46cb3d1c032075a21d8843984ef6a790ba41..5e2f30c719135e97da77b6e15597e5e0
|
||||
const url::Origin& origin) {
|
||||
return browser_context &&
|
||||
GetChooserContext(browser_context)->CanRequestObjectPermission(origin);
|
||||
@@ -459,7 +460,7 @@ void ChromeHidDelegate::OnWebViewHidPermissionRequestCompleted(
|
||||
@@ -469,7 +470,7 @@ void ChromeHidDelegate::OnWebViewHidPermissionRequestCompleted(
|
||||
|
||||
auto* browser_context = render_frame_host->GetBrowserContext();
|
||||
auto origin = render_frame_host->GetMainFrame()->GetLastCommittedOrigin();
|
||||
@@ -57,10 +57,10 @@ index c9b86125d3e757e2cdf671433d2556c7797cedc1..f9fddc7b0e5303ec24c8203b2894e549
|
||||
bool HasDevicePermission(content::BrowserContext* browser_context,
|
||||
content::RenderFrameHost* render_frame_host,
|
||||
diff --git a/chrome/browser/hid/chrome_hid_delegate_unittest.cc b/chrome/browser/hid/chrome_hid_delegate_unittest.cc
|
||||
index 927be0991b83b4ca1d0ec2a3d130673987af3f40..b15ca48280c15fe3b9f5159f6fcc422e7373dc9d 100644
|
||||
index 3b50f2a6bf7f4eeab95c5f9a05954ae5d7f3bf82..71316a26ea8fedfe9e32c74c62c2fecf0da414cc 100644
|
||||
--- a/chrome/browser/hid/chrome_hid_delegate_unittest.cc
|
||||
+++ b/chrome/browser/hid/chrome_hid_delegate_unittest.cc
|
||||
@@ -1297,7 +1297,7 @@ TEST(ChromeHidDelegateBrowserContextTest, BrowserContextIsNull) {
|
||||
@@ -1330,7 +1330,7 @@ TEST(ChromeHidDelegateBrowserContextTest, BrowserContextIsNull) {
|
||||
ChromeHidDelegate chrome_hid_delegate;
|
||||
url::Origin origin = url::Origin::Create(GURL(kDefaultTestUrl));
|
||||
EXPECT_FALSE(chrome_hid_delegate.CanRequestDevicePermission(
|
||||
@@ -107,10 +107,10 @@ index 9463c12f2ab56c4bf04f80d0dd4ae7c4bad36891..f13ddc2c177b1d2ee90fd298fe169553
|
||||
/*browser_context=*/nullptr, /*frame=*/nullptr, origin,
|
||||
device::mojom::UsbDeviceInfo()));
|
||||
diff --git a/content/browser/hid/hid_service.cc b/content/browser/hid/hid_service.cc
|
||||
index c464752c0e007d35628bda489414cb554d5edde8..16187596f2beccd9dae03c234624d4a72ed2a263 100644
|
||||
index 54e6b22689716b55b89512c80e49226b8b6e4235..b7bedaffd8505e2824f8c4e51bbcf0be3816635b 100644
|
||||
--- a/content/browser/hid/hid_service.cc
|
||||
+++ b/content/browser/hid/hid_service.cc
|
||||
@@ -441,8 +441,8 @@ void HidService::RequestDevice(
|
||||
@@ -461,8 +461,8 @@ void HidService::RequestDevice(
|
||||
std::vector<blink::mojom::HidDeviceFilterPtr> exclusion_filters,
|
||||
RequestDeviceCallback callback) {
|
||||
HidDelegate* delegate = GetContentClient()->browser()->GetHidDelegate();
|
||||
|
||||
@@ -15,10 +15,10 @@ Note that we also need to manually update embedder's
|
||||
`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
|
||||
index b194c937a8fbc693809b3062bb0be7ce5e2f877b..9447f4981055db6b125fc2d096b6db5efeb08abf 100644
|
||||
index b746e8ba223ede69576116d74c8ecaafe289c2da..7d8d8917a1e62f211f105d7b92314a9d891a7432 100644
|
||||
--- a/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
+++ b/content/browser/renderer_host/render_frame_host_impl.cc
|
||||
@@ -9706,6 +9706,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
@@ -9727,6 +9727,17 @@ void RenderFrameHostImpl::EnterFullscreen(
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ index b194c937a8fbc693809b3062bb0be7ce5e2f877b..9447f4981055db6b125fc2d096b6db5e
|
||||
if (had_fullscreen_token && !GetView()->HasFocus()) {
|
||||
GetView()->Focus();
|
||||
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
|
||||
index 58e8c14498e170b955df31eec65db0d74db7ac2e..254ce53cf8c9a47c9a7217903b8ab74a6e0ff645 100644
|
||||
index 26d175270c1e58d7a3dfc19610ff6f457dc66d79..a3d14003b179cf69158f35e5b996ae5e8bbf2091 100644
|
||||
--- a/content/browser/web_contents/web_contents_impl.cc
|
||||
+++ b/content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -4815,21 +4815,28 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
@@ -4821,21 +4821,28 @@ KeyboardEventProcessingResult WebContentsImpl::PreHandleKeyboardEvent(
|
||||
const input::NativeWebKeyboardEvent& event) {
|
||||
OPTIONAL_TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("content.verbose"),
|
||||
"WebContentsImpl::PreHandleKeyboardEvent");
|
||||
|
||||
@@ -10,10 +10,10 @@ An attempt to upstream this was made, but rejected:
|
||||
https://chromium-review.googlesource.com/c/chromium/src/+/1954347
|
||||
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index 538c294c8c930184c5407f3bc00c35198d86e7c6..944e7ee8aaec19afbe2dbda93a25cdd82e19dfdc 100644
|
||||
index 6f5ac6b22e249eb9dd6fc16c39e263a8e6d3d626..fb843b3d995da5d3e13baa00413add2e0bf7ddeb 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -419,6 +419,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -425,6 +425,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
virtual void DidInitializeWorkerContextOnWorkerThread(
|
||||
v8::Local<v8::Context> context) {}
|
||||
|
||||
@@ -26,10 +26,10 @@ index 538c294c8c930184c5407f3bc00c35198d86e7c6..944e7ee8aaec19afbe2dbda93a25cdd8
|
||||
// An empty URL is returned if the URL is not overriden.
|
||||
virtual GURL OverrideFlashEmbedWithHTML(const GURL& url);
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||
index 063cec06ba0dc94a28c4f6698f6f165359011c23..0985affc64c23e55045702dabcb6cb968ff5fcff 100644
|
||||
index a5041175f17b8198d7377507d109d2b9b933f5d9..6d733e1a4161690bac542291e02eb8c22d7801b6 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -948,6 +948,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
@@ -955,6 +955,12 @@ void RendererBlinkPlatformImpl::WillStopWorkerThread() {
|
||||
WorkerThreadRegistry::Instance()->WillStopCurrentWorkerThread();
|
||||
}
|
||||
|
||||
@@ -43,10 +43,10 @@ index 063cec06ba0dc94a28c4f6698f6f165359011c23..0985affc64c23e55045702dabcb6cb96
|
||||
const v8::Local<v8::Context>& worker) {
|
||||
GetContentClient()->renderer()->DidInitializeWorkerContextOnWorkerThread(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index 0fe9e989c048a057e8c1e5becf11db35b584ec44..c559e65f47fb140074881be0a7a2cd002a293837 100644
|
||||
index 5ba2e35549c20122759dda5a2c421e449fc4bed1..726633b1649dd70acfbbc3b399dfbc87380abf53 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -217,6 +217,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -219,6 +219,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
void DidStartWorkerThread() override;
|
||||
void WillStopWorkerThread() override;
|
||||
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
|
||||
@@ -55,7 +55,7 @@ index 0fe9e989c048a057e8c1e5becf11db35b584ec44..c559e65f47fb140074881be0a7a2cd00
|
||||
const blink::WebSecurityOrigin& origin) override;
|
||||
bool OriginCanAccessServiceWorkers(const GURL& url) override;
|
||||
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
|
||||
index 25844b6fbed36ecf8ab30c03f8319b4188da53f1..7d83228b422266255c80be30e5b92feff6d6029f 100644
|
||||
index d48e2976f3352ff3307421ee3c0be846430b8e6b..a3fa186d757c93c0e942bbee68f846785e7d53ef 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -704,6 +704,7 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
|
||||
@@ -19,10 +19,10 @@ that clearly establishes the worker script is ready for evaluation with the scop
|
||||
initialized.
|
||||
|
||||
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
|
||||
index 944e7ee8aaec19afbe2dbda93a25cdd82e19dfdc..8f3869ee27db32af97aefbca48cd495c4d5756e2 100644
|
||||
index fb843b3d995da5d3e13baa00413add2e0bf7ddeb..6d7d041f3ecd7a9a2fa16f2188462ee7f4282d19 100644
|
||||
--- a/content/public/renderer/content_renderer_client.h
|
||||
+++ b/content/public/renderer/content_renderer_client.h
|
||||
@@ -419,6 +419,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -425,6 +425,11 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
virtual void DidInitializeWorkerContextOnWorkerThread(
|
||||
v8::Local<v8::Context> context) {}
|
||||
|
||||
@@ -35,10 +35,10 @@ index 944e7ee8aaec19afbe2dbda93a25cdd82e19dfdc..8f3869ee27db32af97aefbca48cd495c
|
||||
// from the worker thread.
|
||||
virtual void WillDestroyWorkerContextOnWorkerThread(
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.cc b/content/renderer/renderer_blink_platform_impl.cc
|
||||
index 0985affc64c23e55045702dabcb6cb968ff5fcff..d727a494290e9abe36410505f1f30de6aabbf205 100644
|
||||
index 6d733e1a4161690bac542291e02eb8c22d7801b6..c1cf8336f5c706cf9377f4689ed9e1b85a7c0564 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -960,6 +960,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
@@ -967,6 +967,12 @@ void RendererBlinkPlatformImpl::WorkerContextCreated(
|
||||
worker);
|
||||
}
|
||||
|
||||
@@ -52,10 +52,10 @@ index 0985affc64c23e55045702dabcb6cb968ff5fcff..d727a494290e9abe36410505f1f30de6
|
||||
RendererBlinkPlatformImpl::GetProtocolHandlerSecurityLevel(
|
||||
const blink::WebSecurityOrigin& origin) {
|
||||
diff --git a/content/renderer/renderer_blink_platform_impl.h b/content/renderer/renderer_blink_platform_impl.h
|
||||
index c559e65f47fb140074881be0a7a2cd002a293837..f894f730da37ba6480273e9f7a518c47e9528f06 100644
|
||||
index 726633b1649dd70acfbbc3b399dfbc87380abf53..ac13d540f433ffa1ffc6dc0f6a1dd11e58f23b1a 100644
|
||||
--- a/content/renderer/renderer_blink_platform_impl.h
|
||||
+++ b/content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -217,6 +217,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
@@ -219,6 +219,8 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
void DidStartWorkerThread() override;
|
||||
void WillStopWorkerThread() override;
|
||||
void WorkerContextCreated(const v8::Local<v8::Context>& worker) override;
|
||||
@@ -65,7 +65,7 @@ index c559e65f47fb140074881be0a7a2cd002a293837..f894f730da37ba6480273e9f7a518c47
|
||||
blink::ProtocolHandlerSecurityLevel GetProtocolHandlerSecurityLevel(
|
||||
const blink::WebSecurityOrigin& origin) override;
|
||||
diff --git a/third_party/blink/public/platform/platform.h b/third_party/blink/public/platform/platform.h
|
||||
index 7d83228b422266255c80be30e5b92feff6d6029f..330a64e577a57ef5014b8a5cf1214fcd8fe1fa64 100644
|
||||
index a3fa186d757c93c0e942bbee68f846785e7d53ef..1fab034adb682a653a33b837da8b593d572b6bba 100644
|
||||
--- a/third_party/blink/public/platform/platform.h
|
||||
+++ b/third_party/blink/public/platform/platform.h
|
||||
@@ -704,6 +704,8 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
|
||||
@@ -51,4 +51,5 @@ deps_add_missing_standard_library_includes_to_simdjson.patch
|
||||
test_drop_removed_wasm_rab_integration_flag.patch
|
||||
test_skip_rmsync_permission_error_test_when_running_as_root.patch
|
||||
test_skip_openssl_config_test_under_boringssl.patch
|
||||
test_expect_unable_to_get_issuer_cert_locally_under_boringssl.patch
|
||||
tls_reject_chains_containing_blocked_public_keys.patch
|
||||
@@ -0,0 +1,456 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: David Sanders <dsanders11@ucsbalum.com>
|
||||
Date: Mon, 19 Oct 2026 23:25:05 -0700
|
||||
Subject: test: expect UNABLE_TO_GET_ISSUER_CERT_LOCALLY under BoringSSL
|
||||
|
||||
BoringSSL rewrote its certificate chain verification and no longer
|
||||
reports X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE after the verify
|
||||
callback suppressed X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY, which
|
||||
is what Node.js's callback always does:
|
||||
https://boringssl-review.googlesource.com/c/boringssl/+/103849
|
||||
|
||||
A leaf certificate whose issuer is not in the trust store therefore now
|
||||
fails with UNABLE_TO_GET_ISSUER_CERT_LOCALLY under BoringSSL, while
|
||||
OpenSSL still reports UNABLE_TO_VERIFY_LEAF_SIGNATURE. Export the
|
||||
expected code from test/common/crypto as sslVerificationFailureError and
|
||||
use it in the affected tests.
|
||||
|
||||
Will attempt to upstream this change to Node.js.
|
||||
|
||||
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
||||
|
||||
diff --git a/test/client-proxy/test-https-proxy-request-handshake-failure.mjs b/test/client-proxy/test-https-proxy-request-handshake-failure.mjs
|
||||
index 251d136afaa6c1ce857842caccd69199160e5e48..82ce172ccd4f4f9b170f44ef05d1a4d4bfd9a6cc 100644
|
||||
--- a/test/client-proxy/test-https-proxy-request-handshake-failure.mjs
|
||||
+++ b/test/client-proxy/test-https-proxy-request-handshake-failure.mjs
|
||||
@@ -13,6 +13,7 @@ if (!common.hasCrypto)
|
||||
// https must be dynamically imported so that builds without crypto support
|
||||
// can skip it.
|
||||
const { default: https } = await import('node:https');
|
||||
+const { sslVerificationFailureError } = await import('../common/crypto.js');
|
||||
|
||||
const server = https.createServer({
|
||||
cert: fixtures.readKey('agent8-cert.pem'),
|
||||
@@ -36,8 +37,8 @@ const { code, signal, stderr, stdout } = await runProxiedRequest({
|
||||
HTTPS_PROXY: `http://localhost:${proxy.address().port}`,
|
||||
});
|
||||
|
||||
-// The proxy client should get a UNABLE_TO_VERIFY_LEAF_SIGNATURE during TLS handshake.
|
||||
-assert.match(stderr, /UNABLE_TO_VERIFY_LEAF_SIGNATURE/);
|
||||
+// The proxy client should get a certificate verification error during TLS handshake.
|
||||
+assert.match(stderr, new RegExp(sslVerificationFailureError));
|
||||
assert.strictEqual(stdout, '');
|
||||
assert.strictEqual(code, 0);
|
||||
assert.strictEqual(signal, null);
|
||||
diff --git a/test/common/crypto.js b/test/common/crypto.js
|
||||
index 49678e0de43ac0b2568a75d9ef112472c0c16240..8f05c39345d66919d4c1629295add89c60fa49ab 100644
|
||||
--- a/test/common/crypto.js
|
||||
+++ b/test/common/crypto.js
|
||||
@@ -125,6 +125,11 @@ const hasOpenSSL = (major = 0, minor = 0, patch = 0) => {
|
||||
|
||||
const isBoringSSL = process.features.openssl_is_boringssl;
|
||||
|
||||
+// The error code reported when a certificate's issuer isn't in the trust
|
||||
+// store. BoringSSL no longer reports UNABLE_TO_VERIFY_LEAF_SIGNATURE.
|
||||
+const sslVerificationFailureError = isBoringSSL ?
|
||||
+ 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY' : 'UNABLE_TO_VERIFY_LEAF_SIGNATURE';
|
||||
+
|
||||
const hasFIPS = (major = 0, minor = 0, patch = 0) => {
|
||||
return crypto.getFips() === 1 && hasOpenSSL(major, minor, patch);
|
||||
};
|
||||
@@ -147,6 +152,7 @@ module.exports = {
|
||||
hasOpenSSL,
|
||||
hasFIPS,
|
||||
isBoringSSL,
|
||||
+ sslVerificationFailureError,
|
||||
get hasOpenSSL3() {
|
||||
return hasOpenSSL(3);
|
||||
},
|
||||
diff --git a/test/parallel/test-http2-session-reuse-different-authority.js b/test/parallel/test-http2-session-reuse-different-authority.js
|
||||
index d76f17a728f3366db7b1e45d49f4173f18fdea4e..03a2ce61a11354323629075a88d4299854f5265a 100644
|
||||
--- a/test/parallel/test-http2-session-reuse-different-authority.js
|
||||
+++ b/test/parallel/test-http2-session-reuse-different-authority.js
|
||||
@@ -8,6 +8,7 @@ const fixtures = require('../common/fixtures');
|
||||
const h2 = require('http2');
|
||||
const tls = require('tls');
|
||||
const { once } = require('events');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
function load(name) {
|
||||
return fixtures.readKey(name);
|
||||
@@ -125,7 +126,7 @@ server.on('stream', (stream) => {
|
||||
session: first.session,
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -136,7 +137,7 @@ server.on('stream', (stream) => {
|
||||
maxVersion: 'TLSv1.2',
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
} finally {
|
||||
diff --git a/test/parallel/test-https-agent-create-connection.js b/test/parallel/test-https-agent-create-connection.js
|
||||
index 56e967476c8b3a36820f833bd3f12666b0408634..de465c7515bedb120f3fd6b8e4630340ec55a243 100644
|
||||
--- a/test/parallel/test-https-agent-create-connection.js
|
||||
+++ b/test/parallel/test-https-agent-create-connection.js
|
||||
@@ -7,6 +7,7 @@ if (!common.hasCrypto)
|
||||
|
||||
const assert = require('assert');
|
||||
const https = require('https');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
const agent = new https.Agent();
|
||||
|
||||
@@ -17,7 +18,7 @@ const options = {
|
||||
|
||||
const expectedHeader = /^HTTP\/1\.1 200 OK/;
|
||||
const expectedBody = /hello world\n/;
|
||||
-const expectCertError = /^UNABLE_TO_VERIFY_LEAF_SIGNATURE$/;
|
||||
+const expectCertError = new RegExp(`^${sslVerificationFailureError}$`);
|
||||
|
||||
function checkRequest(socket, server) {
|
||||
let result = '';
|
||||
diff --git a/test/parallel/test-https-session-reuse-different-servername.js b/test/parallel/test-https-session-reuse-different-servername.js
|
||||
index 138acd693501d21d0a0e7f145e3b441f2df2cf5d..3117136b3ef7131fb45378e59f36239f26da101c 100644
|
||||
--- a/test/parallel/test-https-session-reuse-different-servername.js
|
||||
+++ b/test/parallel/test-https-session-reuse-different-servername.js
|
||||
@@ -8,6 +8,7 @@ const fixtures = require('../common/fixtures');
|
||||
const https = require('https');
|
||||
const tls = require('tls');
|
||||
const { once } = require('events');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
function load(name) {
|
||||
return fixtures.readKey(name);
|
||||
@@ -104,7 +105,7 @@ const server = https.createServer({
|
||||
ca: [load('ca1-cert.pem')],
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -116,7 +117,7 @@ const server = https.createServer({
|
||||
ca: [load('ca1-cert.pem')],
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
} finally {
|
||||
diff --git a/test/parallel/test-https-simple.js b/test/parallel/test-https-simple.js
|
||||
index b0562a1cd98174a22169d2b93eeb964812418e88..c898301252cc475940581edd9e2e3e1dbc9c17f6 100644
|
||||
--- a/test/parallel/test-https-simple.js
|
||||
+++ b/test/parallel/test-https-simple.js
|
||||
@@ -28,6 +28,7 @@ if (!common.hasCrypto)
|
||||
|
||||
const assert = require('assert');
|
||||
const https = require('https');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
// Assert that the IP-as-servername deprecation warning does not occur.
|
||||
process.on('warning', common.mustNotCall());
|
||||
@@ -93,7 +94,7 @@ server.listen(0, common.mustCall(() => {
|
||||
const checkCertReq = https.request(options, common.mustNotCall()).end();
|
||||
|
||||
checkCertReq.on('error', common.mustCall((e) => {
|
||||
- assert.strictEqual(e.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(e.code, sslVerificationFailureError);
|
||||
done();
|
||||
}));
|
||||
}));
|
||||
diff --git a/test/parallel/test-https-strict.js b/test/parallel/test-https-strict.js
|
||||
index a72168289d54bb1c59e3058a7a1f0c54a1f1427c..32d2956be4c0693eee3f60ed4b201efa50cc8588 100644
|
||||
--- a/test/parallel/test-https-strict.js
|
||||
+++ b/test/parallel/test-https-strict.js
|
||||
@@ -37,6 +37,7 @@ common.expectWarning(
|
||||
|
||||
const assert = require('assert');
|
||||
const https = require('https');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
function read(fname) {
|
||||
return fixtures.readKey(fname);
|
||||
@@ -167,7 +168,7 @@ function allListening() {
|
||||
const port3 = server3.address().port;
|
||||
|
||||
// server1: host 'agent1', signed by ca1
|
||||
- makeReq('/inv1', port1, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ makeReq('/inv1', port1, sslVerificationFailureError);
|
||||
makeReq('/inv1-ca1', port1, 'ERR_TLS_CERT_ALTNAME_INVALID',
|
||||
null, ca1);
|
||||
makeReq('/inv1-ca1ca2', port1, 'ERR_TLS_CERT_ALTNAME_INVALID',
|
||||
@@ -175,7 +176,7 @@ function allListening() {
|
||||
makeReq('/val1-ca1', port1, null, 'agent1', ca1);
|
||||
makeReq('/val1-ca1ca2', port1, null, 'agent1', [ca1, ca2]);
|
||||
makeReq('/inv1-ca2', port1,
|
||||
- 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', 'agent1', ca2);
|
||||
+ sslVerificationFailureError, 'agent1', ca2);
|
||||
|
||||
// server2: self-signed, host = 'agent2'
|
||||
// doesn't matter that thename matches, all of these will error.
|
||||
@@ -186,14 +187,14 @@ function allListening() {
|
||||
'agent2', [ca1, ca2]);
|
||||
|
||||
// server3: host 'agent3', signed by ca2
|
||||
- makeReq('/inv3', port3, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ makeReq('/inv3', port3, sslVerificationFailureError);
|
||||
makeReq('/inv3-ca2', port3, 'ERR_TLS_CERT_ALTNAME_INVALID', null, ca2);
|
||||
makeReq('/inv3-ca1ca2', port3, 'ERR_TLS_CERT_ALTNAME_INVALID',
|
||||
null, [ca1, ca2]);
|
||||
makeReq('/val3-ca2', port3, null, 'agent3', ca2);
|
||||
makeReq('/val3-ca1ca2', port3, null, 'agent3', [ca1, ca2]);
|
||||
makeReq('/inv3-ca1', port3,
|
||||
- 'UNABLE_TO_VERIFY_LEAF_SIGNATURE', 'agent1', ca1);
|
||||
+ sslVerificationFailureError, 'agent1', ca1);
|
||||
|
||||
}
|
||||
|
||||
diff --git a/test/parallel/test-tls-addca.js b/test/parallel/test-tls-addca.js
|
||||
index a99d53f55d3fe43b993536f88278d418222bd5ab..a186ebbe30913d44cf1d117cf64fa4cd2825bea3 100644
|
||||
--- a/test/parallel/test-tls-addca.js
|
||||
+++ b/test/parallel/test-tls-addca.js
|
||||
@@ -9,6 +9,7 @@ const fixtures = require('../common/fixtures');
|
||||
const {
|
||||
assert, connect, keys, tls
|
||||
} = require(fixtures.path('tls-connect'));
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
const contextWithoutCert = tls.createSecureContext({});
|
||||
const contextWithCert = tls.createSecureContext({});
|
||||
@@ -34,7 +35,7 @@ connect({
|
||||
server: serverOptions,
|
||||
}, common.mustCall((err, pair, cleanup) => {
|
||||
assert(err);
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
cleanup();
|
||||
|
||||
// This time it should connect because contextWithCert includes the needed CA
|
||||
diff --git a/test/parallel/test-tls-client-auth.js b/test/parallel/test-tls-client-auth.js
|
||||
index da06156e2e070e1039fcc21732eded103b32d3ca..67f24bd9401d629e859aca907069a5d0afe11ff3 100644
|
||||
--- a/test/parallel/test-tls-client-auth.js
|
||||
+++ b/test/parallel/test-tls-client-auth.js
|
||||
@@ -6,7 +6,9 @@ const fixtures = require('../common/fixtures');
|
||||
if (!common.hasCrypto) {
|
||||
common.skip('missing crypto');
|
||||
}
|
||||
-const { hasOpenSSL, isBoringSSL } = require('../common/crypto');
|
||||
+const {
|
||||
+ hasOpenSSL, isBoringSSL, sslVerificationFailureError
|
||||
+} = require('../common/crypto');
|
||||
|
||||
const {
|
||||
assert, connect, keys, tls
|
||||
@@ -185,7 +187,7 @@ connect({
|
||||
cert: server.single,
|
||||
},
|
||||
}, common.mustCall((err, pair, cleanup) => {
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
return cleanup();
|
||||
}));
|
||||
|
||||
diff --git a/test/parallel/test-tls-client-cert-resumption.js b/test/parallel/test-tls-client-cert-resumption.js
|
||||
index 790809678d664fc06e73a0b6a3bb98f3e915b15f..b2ab1d495e3b6dc2dc32941dcd411e624711c095 100644
|
||||
--- a/test/parallel/test-tls-client-cert-resumption.js
|
||||
+++ b/test/parallel/test-tls-client-cert-resumption.js
|
||||
@@ -23,6 +23,7 @@ const crypto = require('crypto');
|
||||
const tls = require('tls');
|
||||
const fixtures = require('../common/fixtures');
|
||||
const { once } = require('events');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
const ca = fixtures.readKey('ca1-cert.pem');
|
||||
const serverCert = {
|
||||
@@ -47,7 +48,7 @@ const CLIENTS = {
|
||||
cert: fixtures.readKey('agent3-cert.pem'),
|
||||
},
|
||||
authorized: false,
|
||||
- authorizationError: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ authorizationError: sslVerificationFailureError,
|
||||
peerCN: 'agent3',
|
||||
},
|
||||
missing: { // No client certificate
|
||||
diff --git a/test/parallel/test-tls-friendly-error-message.js b/test/parallel/test-tls-friendly-error-message.js
|
||||
index 84471da487b2e9eb7ec15b4564596c701ad025e7..b3b13d78a9b18b0b56459ae372e1664cb7fa31d7 100644
|
||||
--- a/test/parallel/test-tls-friendly-error-message.js
|
||||
+++ b/test/parallel/test-tls-friendly-error-message.js
|
||||
@@ -27,6 +27,7 @@ if (!common.hasCrypto)
|
||||
const fixtures = require('../common/fixtures');
|
||||
const assert = require('assert');
|
||||
const tls = require('tls');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
const key = fixtures.readKey('agent1-key.pem');
|
||||
const cert = fixtures.readKey('agent1-cert.pem');
|
||||
@@ -39,6 +40,6 @@ tls.createServer({ key, cert }).on('connection', common.mustCall(function() {
|
||||
})).listen(0, common.mustCall(function() {
|
||||
const options = { port: this.address().port, rejectUnauthorized: true };
|
||||
tls.connect(options).on('error', common.mustCall(function(err) {
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
}));
|
||||
}));
|
||||
diff --git a/test/parallel/test-tls-session-reuse-different-servername.js b/test/parallel/test-tls-session-reuse-different-servername.js
|
||||
index c3ae4be15785f25c5d2fc81cb7843c943f0b78fd..14690a608857c57db781b2e6ea2b4f551bded99f 100644
|
||||
--- a/test/parallel/test-tls-session-reuse-different-servername.js
|
||||
+++ b/test/parallel/test-tls-session-reuse-different-servername.js
|
||||
@@ -7,6 +7,7 @@ const assert = require('assert');
|
||||
const fixtures = require('../common/fixtures');
|
||||
const tls = require('tls');
|
||||
const { once } = require('events');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
function load(name) {
|
||||
return fixtures.readKey(name);
|
||||
@@ -90,7 +91,7 @@ async function testVersion(minVersion, maxVersion) {
|
||||
return socket;
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
|
||||
@@ -107,7 +108,7 @@ async function testVersion(minVersion, maxVersion) {
|
||||
return socket;
|
||||
}),
|
||||
{
|
||||
- code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
|
||||
+ code: sslVerificationFailureError,
|
||||
},
|
||||
);
|
||||
} finally {
|
||||
diff --git a/test/parallel/test-tls-set-default-ca-certificates-append-fetch.mjs b/test/parallel/test-tls-set-default-ca-certificates-append-fetch.mjs
|
||||
index ca8436b22b0a70221de26412be7b043a87c7117d..1990e42d24d3812ec93e5555388a298622610e0c 100644
|
||||
--- a/test/parallel/test-tls-set-default-ca-certificates-append-fetch.mjs
|
||||
+++ b/test/parallel/test-tls-set-default-ca-certificates-append-fetch.mjs
|
||||
@@ -14,6 +14,7 @@ if (!common.hasCrypto) common.skip('missing crypto');
|
||||
const { includesCert } = await import('../common/tls.js');
|
||||
const { default: https } = await import('node:https');
|
||||
const { default: tls } = await import('node:tls');
|
||||
+const { sslVerificationFailureError } = await import('../common/crypto.js');
|
||||
|
||||
const bundledCerts = tls.getCACertificates('bundled');
|
||||
const fixtureCert = fixtures.readKey('fake-startcom-root-cert.pem');
|
||||
@@ -37,7 +38,7 @@ const url = `https://localhost:${server.address().port}/hello-world`;
|
||||
await assert.rejects(
|
||||
fetch(url),
|
||||
(err) => {
|
||||
- assert.strictEqual(err.cause.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.cause.code, sslVerificationFailureError);
|
||||
return true;
|
||||
},
|
||||
);
|
||||
diff --git a/test/parallel/test-tls-set-default-ca-certificates-append-https-request.js b/test/parallel/test-tls-set-default-ca-certificates-append-https-request.js
|
||||
index d7a3baded420de712e9cfea42a94bef522135d7e..2b21f24415df60aaedba50d0880cb63adee0699e 100644
|
||||
--- a/test/parallel/test-tls-set-default-ca-certificates-append-https-request.js
|
||||
+++ b/test/parallel/test-tls-set-default-ca-certificates-append-https-request.js
|
||||
@@ -11,6 +11,7 @@ const https = require('https');
|
||||
const tls = require('tls');
|
||||
const fixtures = require('../common/fixtures');
|
||||
const { includesCert } = require('../common/tls');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
const bundledCerts = tls.getCACertificates('bundled');
|
||||
const fixtureCert = fixtures.readKey('fake-startcom-root-cert.pem');
|
||||
@@ -43,7 +44,7 @@ server.listen(0, common.mustCall(() => {
|
||||
req1.on('error', common.mustCall((err) => {
|
||||
console.log(err);
|
||||
// Should fail with certificate verification error
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
|
||||
// Now add the fake-startcom-root-cert to bundled certs - connection should succeed
|
||||
tls.setDefaultCACertificates([...bundledCerts, fixtureCert]);
|
||||
diff --git a/test/parallel/test-tls-set-default-ca-certificates-reset-fetch.mjs b/test/parallel/test-tls-set-default-ca-certificates-reset-fetch.mjs
|
||||
index 479b415d4c518c741edf1e66f9feb6dc9aa74ab0..d0c1abd0b6f0d34c044f0fabe026c43c5433b3a0 100644
|
||||
--- a/test/parallel/test-tls-set-default-ca-certificates-reset-fetch.mjs
|
||||
+++ b/test/parallel/test-tls-set-default-ca-certificates-reset-fetch.mjs
|
||||
@@ -13,6 +13,7 @@ if (!common.hasCrypto) common.skip('missing crypto');
|
||||
|
||||
const { default: https } = await import('node:https');
|
||||
const { default: tls } = await import('node:tls');
|
||||
+const { sslVerificationFailureError } = await import('../common/crypto.js');
|
||||
|
||||
// Test HTTPS connection fails with bundled CA, succeeds after adding custom CA.
|
||||
const server = https.createServer({
|
||||
@@ -39,7 +40,7 @@ tls.setDefaultCACertificates([]);
|
||||
await assert.rejects(
|
||||
fetch(`https://127.0.0.1:${server.address().port}/empty-ca-test`),
|
||||
(err) => {
|
||||
- assert.strictEqual(err.cause.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.cause.code, sslVerificationFailureError);
|
||||
return true;
|
||||
},
|
||||
);
|
||||
diff --git a/test/parallel/test-tls-set-default-ca-certificates-reset-https-request.js b/test/parallel/test-tls-set-default-ca-certificates-reset-https-request.js
|
||||
index 7389cacf6d66826310fee2868394cc1b8efc34ae..5aa399301c2d2305e2f70a5983d6de9962b8f506 100644
|
||||
--- a/test/parallel/test-tls-set-default-ca-certificates-reset-https-request.js
|
||||
+++ b/test/parallel/test-tls-set-default-ca-certificates-reset-https-request.js
|
||||
@@ -9,6 +9,7 @@ const assert = require('assert');
|
||||
const https = require('https');
|
||||
const tls = require('tls');
|
||||
const fixtures = require('../common/fixtures');
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
// Test HTTPS connection succeeds with proper CA, fails after removing it
|
||||
const server = https.createServer({
|
||||
@@ -49,7 +50,7 @@ server.listen(0, common.mustCall(() => {
|
||||
|
||||
req2.on('error', common.mustCall((err) => {
|
||||
// Should fail with certificate verification error.
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
server.close();
|
||||
}));
|
||||
|
||||
diff --git a/test/parallel/test-tls-socket-default-options.js b/test/parallel/test-tls-socket-default-options.js
|
||||
index 8dfd912285dce57f2a0ebebf27d1e41d6729514b..b0d243dce10c49cb7d6f4e2486d24b023032b8d3 100644
|
||||
--- a/test/parallel/test-tls-socket-default-options.js
|
||||
+++ b/test/parallel/test-tls-socket-default-options.js
|
||||
@@ -8,13 +8,14 @@ const assert = require('assert');
|
||||
const {
|
||||
connect, keys, tls
|
||||
} = require(fixtures.path('tls-connect'));
|
||||
+const { sslVerificationFailureError } = require('../common/crypto');
|
||||
|
||||
test(undefined, (err) => {
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
});
|
||||
|
||||
test({}, (err) => {
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
});
|
||||
|
||||
test(
|
||||
@@ -31,7 +32,7 @@ test(
|
||||
{ secureContext: tls.createSecureContext(), ca: keys.agent1.ca },
|
||||
(err) => {
|
||||
assert.strictEqual(err.code,
|
||||
- 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ sslVerificationFailureError);
|
||||
});
|
||||
|
||||
function test(client, callback) {
|
||||
@@ -42,7 +43,7 @@ function test(client, callback) {
|
||||
cert: keys.agent1.cert,
|
||||
},
|
||||
}, common.mustCall(function(err, pair, cleanup) {
|
||||
- assert.strictEqual(err.code, 'UNABLE_TO_VERIFY_LEAF_SIGNATURE');
|
||||
+ assert.strictEqual(err.code, sslVerificationFailureError);
|
||||
let recv = '';
|
||||
pair.server.server.once('secureConnection', common.mustCall((conn) => {
|
||||
conn.on('data', (data) => recv += data);
|
||||
@@ -15,10 +15,10 @@ Rather than disabling builtins PGO entirely, warn and skip mismatched
|
||||
builtins so all other builtins still benefit from PGO.
|
||||
|
||||
diff --git a/BUILD.gn b/BUILD.gn
|
||||
index a7ab6006a1bc1328d527c9be24ac4d2ac42c1326..1a7526399049c2138afa847258a90d517a98aa5c 100644
|
||||
index 99c7da376d60691bfd4e7ddc2a90095f455f2a74..7f3296421821b186534573e5b05703c6bebe440a 100644
|
||||
--- a/BUILD.gn
|
||||
+++ b/BUILD.gn
|
||||
@@ -3198,9 +3198,11 @@ template("run_mksnapshot") {
|
||||
@@ -3335,9 +3335,11 @@ template("run_mksnapshot") {
|
||||
"--turbo-profiling-input",
|
||||
rebase_path(v8_builtins_profiling_log_file, root_build_dir),
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ IterateJSObjectBodyImpl() visits.
|
||||
This should be upstreamed.
|
||||
|
||||
diff --git a/src/snapshot/serializer.cc b/src/snapshot/serializer.cc
|
||||
index 3f93360cd861e5f8a5d98caffda317bd493a0d09..d8a6c45eb98e3e6bc9cd83309fa0e076364911e8 100644
|
||||
index 848d68f7fe06fef91a72fd45a23c0e6351293f0e..bf458a65b190b3424d3775f50e362dd9b258597d 100644
|
||||
--- a/src/snapshot/serializer.cc
|
||||
+++ b/src/snapshot/serializer.cc
|
||||
@@ -20,6 +20,7 @@
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "src/objects/instance-type-checker.h"
|
||||
#include "src/objects/instance-type.h"
|
||||
#include "src/objects/js-array-buffer-inl.h"
|
||||
@@ -28,7 +28,7 @@ index 3f93360cd861e5f8a5d98caffda317bd493a0d09..d8a6c45eb98e3e6bc9cd83309fa0e076
|
||||
#include "src/objects/map.h"
|
||||
#include "src/objects/objects-body-descriptors-inl.h"
|
||||
#include "src/objects/slots-inl.h"
|
||||
@@ -1214,8 +1215,8 @@ void Serializer::ObjectSerializer::VisitCppHeapPointer(
|
||||
@@ -1169,8 +1170,8 @@ void Serializer::ObjectSerializer::VisitCppHeapPointer(
|
||||
// We serialize the slot as initialized-but-unused slot. The actual API
|
||||
// wrapper serialization is implemented in
|
||||
// `ContextSerializer::SerializeApiWrapperFields()`.
|
||||
|
||||
@@ -7,7 +7,9 @@
|
||||
#include <algorithm>
|
||||
#include <utility>
|
||||
|
||||
#include "base/feature_list.h"
|
||||
#include "base/functional/bind.h"
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "chrome/browser/extensions/chrome_url_request_util.h"
|
||||
#include "components/version_info/version_info.h"
|
||||
#include "content/public/browser/browser_context.h"
|
||||
@@ -24,6 +26,8 @@
|
||||
#include "extensions/browser/safe_browsing_delegate.h"
|
||||
#include "extensions/browser/updater/null_extension_cache.h"
|
||||
#include "extensions/browser/url_request_util.h"
|
||||
#include "extensions/common/event_args.h"
|
||||
#include "extensions/common/extension_features.h"
|
||||
#include "extensions/common/features/feature_channel.h"
|
||||
#include "extensions/common/manifest_constants.h"
|
||||
#include "extensions/common/manifest_handlers/chrome_url_overrides_handler.h"
|
||||
@@ -320,7 +324,7 @@ ElectronExtensionsBrowserClient::GetComponentExtensionResourceManager() {
|
||||
void ElectronExtensionsBrowserClient::BroadcastEventToRenderers(
|
||||
extensions::events::HistogramValue histogram_value,
|
||||
const std::string& event_name,
|
||||
base::ListValue args,
|
||||
scoped_refptr<const extensions::EventArgs> args,
|
||||
bool dispatch_to_off_the_record_profiles) {
|
||||
if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
||||
content::GetUIThreadTaskRunner({})->PostTask(
|
||||
@@ -335,7 +339,12 @@ void ElectronExtensionsBrowserClient::BroadcastEventToRenderers(
|
||||
for (auto* browser_context : ElectronBrowserContext::BrowserContexts()) {
|
||||
extensions::EventRouter::Get(browser_context)
|
||||
->BroadcastEvent(std::make_unique<extensions::Event>(
|
||||
histogram_value, event_name, args.Clone()));
|
||||
histogram_value, event_name,
|
||||
base::FeatureList::IsEnabled(
|
||||
extensions_features::kShareEventArgsOnDispatch)
|
||||
? args
|
||||
: base::MakeRefCounted<extensions::EventArgs>(
|
||||
args->data.Clone())));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,10 +9,12 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include "base/memory/scoped_refptr.h"
|
||||
#include "content/public/browser/frame_tree_node_id.h"
|
||||
#include "extensions/browser/extensions_browser_client.h"
|
||||
#include "extensions/browser/kiosk/kiosk_delegate.h"
|
||||
#include "extensions/browser/safe_browsing_delegate.h"
|
||||
#include "extensions/common/event_args.h"
|
||||
#include "services/network/public/cpp/resource_request.h"
|
||||
#include "services/network/public/mojom/fetch_api.mojom.h"
|
||||
|
||||
@@ -139,7 +141,7 @@ class ElectronExtensionsBrowserClient
|
||||
void BroadcastEventToRenderers(
|
||||
extensions::events::HistogramValue histogram_value,
|
||||
const std::string& event_name,
|
||||
base::ListValue args,
|
||||
scoped_refptr<const extensions::EventArgs> args,
|
||||
bool dispatch_to_off_the_record_profiles) override;
|
||||
extensions::ExtensionCache* GetExtensionCache() override;
|
||||
bool IsBackgroundUpdateAllowed() override;
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "shell/common/gin_helper/object_builder.h"
|
||||
#include "ui/display/display.h"
|
||||
#include "ui/gfx/color_space.h"
|
||||
#include "ui/gfx/display_color_spaces.h"
|
||||
#include "ui/gfx/geometry/insets.h"
|
||||
#include "ui/gfx/geometry/point.h"
|
||||
#include "ui/gfx/geometry/point_f.h"
|
||||
|
||||
Reference in new issue
Block a user