From 9e8dba7e0316e9222fef7a9a76ad24c277098ca5 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Wed, 15 Jun 2022 17:01:46 +0300 Subject: [PATCH] Update to Chromium version 103.0.5060.42 --- CHROMIUM_BUILD_COMPATIBILITY.txt | 2 +- libcef/renderer/render_urlrequest_impl.cc | 24 ++++++++++------- .../browser_security_policy_1081397.patch | 6 ++--- patch/patches/chrome_browser_browser.patch | 4 +-- patch/patches/chrome_runtime.patch | 26 +++++++++---------- patch/patches/content_2015.patch | 2 +- patch/patches/embedder_product_override.patch | 10 +++---- patch/patches/net_cookie_flags.patch | 16 ++++++------ patch/patches/web_contents_1257_1565.patch | 8 +++--- 9 files changed, 51 insertions(+), 47 deletions(-) diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index cb18c8238..b2b6462e2 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,6 +7,6 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/103.0.5060.24', + 'chromium_checkout': 'refs/tags/103.0.5060.42', 'depot_tools_checkout': '964f8124b6' } diff --git a/libcef/renderer/render_urlrequest_impl.cc b/libcef/renderer/render_urlrequest_impl.cc index 35253d56b..668d19252 100644 --- a/libcef/renderer/render_urlrequest_impl.cc +++ b/libcef/renderer/render_urlrequest_impl.cc @@ -47,11 +47,13 @@ class CefWebURLLoaderClient : public blink::WebURLLoaderClient { uint64_t total_bytes_to_be_sent) override; void DidReceiveResponse(const WebURLResponse& response) override; void DidReceiveData(const char* data, int dataLength) override; - void DidFinishLoading(base::TimeTicks finish_time, - int64_t total_encoded_data_length, - int64_t total_encoded_body_length, - int64_t total_decoded_body_length, - bool should_report_corb_blocking) override; + void DidFinishLoading( + base::TimeTicks finish_time, + int64_t total_encoded_data_length, + int64_t total_encoded_body_length, + int64_t total_decoded_body_length, + bool should_report_corb_blocking, + absl::optional pervasive_payload_requested) override; void DidFail(const WebURLError&, base::TimeTicks finish_time, int64_t total_encoded_data_length, @@ -370,11 +372,13 @@ void CefWebURLLoaderClient::DidReceiveData(const char* data, int dataLength) { context_->OnDownloadData(data, dataLength); } -void CefWebURLLoaderClient::DidFinishLoading(base::TimeTicks finish_time, - int64_t total_encoded_data_length, - int64_t total_encoded_body_length, - int64_t total_decoded_body_length, - bool should_report_corb_blocking) { +void CefWebURLLoaderClient::DidFinishLoading( + base::TimeTicks finish_time, + int64_t total_encoded_data_length, + int64_t total_encoded_body_length, + int64_t total_decoded_body_length, + bool should_report_corb_blocking, + absl::optional pervasive_payload_requested) { context_->OnComplete(); } diff --git a/patch/patches/browser_security_policy_1081397.patch b/patch/patches/browser_security_policy_1081397.patch index 45660b79d..bbcec5baf 100644 --- a/patch/patches/browser_security_policy_1081397.patch +++ b/patch/patches/browser_security_policy_1081397.patch @@ -20,10 +20,10 @@ index bbc7c3ece4123..fe2b35d70f1f3 100644 // TODO(wjmaclean): We should update the ProcessLock comparison API diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc -index 646e9a53afbe6..9091c896aeffe 100644 +index 2081607afe3c1..e6a24203f1702 100644 --- content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc -@@ -6209,6 +6209,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost( +@@ -6253,6 +6253,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost( network::mojom::WebSandboxFlags sandbox_flags) { // Calculate an approximation of the origin. The sandbox/csp are ignored. url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this); @@ -36,7 +36,7 @@ index 646e9a53afbe6..9091c896aeffe 100644 // Apply sandbox flags. // See https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag -@@ -6242,6 +6248,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() { +@@ -6286,6 +6292,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() { if (IsSameDocument() || IsPageActivation()) return GetRenderFrameHost()->GetLastCommittedOrigin(); diff --git a/patch/patches/chrome_browser_browser.patch b/patch/patches/chrome_browser_browser.patch index 4918d0bbe..f7e0b61df 100644 --- a/patch/patches/chrome_browser_browser.patch +++ b/patch/patches/chrome_browser_browser.patch @@ -13,7 +13,7 @@ index 9e534ff1683f1..de406f5879be0 100644 return false; } diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn -index a0e2bd01e240c..87f02e9d606d0 100644 +index 19d419331ef0e..cc4186b8fad91 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn @@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni") @@ -43,7 +43,7 @@ index a0e2bd01e240c..87f02e9d606d0 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -5411,6 +5417,7 @@ static_library("ui") { +@@ -5414,6 +5420,7 @@ static_library("ui") { if (enable_basic_printing) { deps += [ "//components/printing/browser", diff --git a/patch/patches/chrome_runtime.patch b/patch/patches/chrome_runtime.patch index bd41a3212..1f750b3a2 100644 --- a/patch/patches/chrome_runtime.patch +++ b/patch/patches/chrome_runtime.patch @@ -78,7 +78,7 @@ index 51d73c9eaf521..2bede66d3bbb2 100644 #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc -index aa1d901eab06e..d3a9b826150f4 100644 +index f8610a34cd252..1194483b12561 100644 --- chrome/browser/chrome_browser_main.cc +++ chrome/browser/chrome_browser_main.cc @@ -52,6 +52,7 @@ @@ -89,7 +89,7 @@ index aa1d901eab06e..d3a9b826150f4 100644 #include "chrome/browser/about_flags.h" #include "chrome/browser/active_use_util.h" #include "chrome/browser/after_startup_task_utils.h" -@@ -1588,12 +1589,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1595,12 +1596,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { browser_process_->local_state()); } @@ -104,7 +104,7 @@ index aa1d901eab06e..d3a9b826150f4 100644 #if BUILDFLAG(IS_ANDROID) page_info::SetPageInfoClient(new ChromePageInfoClient()); -@@ -1741,12 +1744,15 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1748,12 +1751,15 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // This step is costly and is already measured in // Startup.StartupBrowserCreator_Start. // See the comment above for an explanation of |process_command_line|. @@ -121,7 +121,7 @@ index aa1d901eab06e..d3a9b826150f4 100644 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -@@ -1774,8 +1780,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1781,8 +1787,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // Create the RunLoop for MainMessageLoopRun() to use and transfer // ownership of the browser's lifetime to the BrowserProcess. @@ -172,7 +172,7 @@ index 0cb701b8772f5..ba6c84a530b64 100644 +#endif } diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc -index 4b3f602b9ee5a..2da7f9c2e029e 100644 +index 20f93edf5e294..ee4defc8aa8c9 100644 --- chrome/browser/chrome_content_browser_client.cc +++ chrome/browser/chrome_content_browser_client.cc @@ -29,6 +29,7 @@ @@ -204,7 +204,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 // static void ChromeContentBrowserClient::RegisterLocalStatePrefs( PrefRegistrySimple* registry) { -@@ -3789,9 +3797,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( +@@ -3791,9 +3799,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( &search::HandleNewTabURLReverseRewrite); #endif // BUILDFLAG(IS_ANDROID) @@ -216,7 +216,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 } base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { -@@ -5433,7 +5443,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( +@@ -5435,7 +5445,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( network_service); } @@ -225,7 +225,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -5451,6 +5461,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( +@@ -5453,6 +5463,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = GetApplicationLocale(); } @@ -234,7 +234,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 } std::vector -@@ -6322,10 +6334,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( +@@ -6332,10 +6344,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( const auto now = base::TimeTicks::Now(); const auto timeout = GetKeepaliveTimerTimeout(context); keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); @@ -247,7 +247,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 FROM_HERE, keepalive_deadline_ - now, base::BindOnce( &ChromeContentBrowserClient::OnKeepaliveTimerFired, -@@ -6344,7 +6356,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { +@@ -6354,7 +6366,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { --num_keepalive_requests_; if (num_keepalive_requests_ == 0) { DVLOG(1) << "Stopping the keepalive timer"; @@ -257,7 +257,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 // This deletes the keep alive handle attached to the timer function and // unblock the shutdown sequence. } -@@ -6452,7 +6465,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( +@@ -6462,7 +6475,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( const auto now = base::TimeTicks::Now(); const auto then = keepalive_deadline_; if (now < then) { @@ -267,7 +267,7 @@ index 4b3f602b9ee5a..2da7f9c2e029e 100644 base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, weak_factory_.GetWeakPtr(), diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h -index d9b8140ee7d94..b6c403c23f5d1 100644 +index 42e7995cb0bf3..a8cb70d420960 100644 --- chrome/browser/chrome_content_browser_client.h +++ chrome/browser/chrome_content_browser_client.h @@ -117,6 +117,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { @@ -288,7 +288,7 @@ index d9b8140ee7d94..b6c403c23f5d1 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -922,7 +924,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -910,7 +912,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { #if !BUILDFLAG(IS_ANDROID) uint64_t num_keepalive_requests_ = 0; diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 5cb5e58e8..3d5aa8097 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -12,7 +12,7 @@ index b75e19e7946b0..a92a7da426081 100644 GetContentClient()->browser()->GetUserAgent()); version.SetString("V8-Version", V8_VERSION_STRING); diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc -index a1da50db3adf3..30ceb9ff65325 100644 +index 1231f95cbef8e..92a715ebea1ec 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc @@ -682,6 +682,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest( diff --git a/patch/patches/embedder_product_override.patch b/patch/patches/embedder_product_override.patch index 043d78344..d72a12d59 100644 --- a/patch/patches/embedder_product_override.patch +++ b/patch/patches/embedder_product_override.patch @@ -1,5 +1,5 @@ diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc -index 6e905c33c688c..2716d2943f1a9 100644 +index b8764e510563a..1bca276c9f52d 100644 --- components/embedder_support/user_agent_utils.cc +++ components/embedder_support/user_agent_utils.cc @@ -15,6 +15,7 @@ @@ -10,10 +10,10 @@ index 6e905c33c688c..2716d2943f1a9 100644 #include "components/embedder_support/pref_names.h" #include "components/embedder_support/switches.h" #include "components/policy/core/common/policy_pref_names.h" -@@ -330,6 +331,12 @@ std::string GetMajorVersionForUserAgentString( - +@@ -344,6 +345,12 @@ std::string GetMajorVersionForUserAgentString( std::string GetProductAndVersion( - ForceMajorVersionToMinorPosition force_major_to_minor) { + ForceMajorVersionToMinorPosition force_major_to_minor, + UserAgentReductionEnterprisePolicyState user_agent_reduction) { + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (command_line->HasSwitch(switches::kUserAgentProductAndVersion)) { + return command_line->GetSwitchValueASCII( @@ -22,4 +22,4 @@ index 6e905c33c688c..2716d2943f1a9 100644 + if (ShouldForceMajorVersionToMinorPosition(force_major_to_minor)) { // Force major version to 99 and major version to minor version position. - if (base::FeatureList::IsEnabled( + if (ShouldReduceUserAgentMinorVersion(user_agent_reduction)) { diff --git a/patch/patches/net_cookie_flags.patch b/patch/patches/net_cookie_flags.patch index c098f4a6f..8e8e0efa4 100644 --- a/patch/patches/net_cookie_flags.patch +++ b/patch/patches/net_cookie_flags.patch @@ -1,19 +1,19 @@ diff --git net/base/load_flags_list.h net/base/load_flags_list.h -index 96d1a51ec1078..e8120a818b1f2 100644 +index 6466deac2671e..a1748d666e3a3 100644 --- net/base/load_flags_list.h +++ net/base/load_flags_list.h -@@ -101,3 +101,6 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 15) - // is considered privileged, and therefore this flag must only be set from a - // trusted process. - LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16) +@@ -110,3 +110,6 @@ LOAD_FLAG(CAN_USE_RESTRICTED_PREFETCH, 1 << 16) + // + // Cannot be used together with BYPASS_CACHE, ONLY_FROM_CACHE, or DISABLE_CACHE. + LOAD_FLAG(USE_SINGLE_KEYED_CACHE, 1 << 17) + +// This load will not send any cookies. For CEF usage. -+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17) ++LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 18) diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc -index 2db8e1bc9e5bb..680db4669dfe7 100644 +index 619573fefdf9d..a35cac7867d06 100644 --- net/url_request/url_request_http_job.cc +++ net/url_request/url_request_http_job.cc -@@ -1771,7 +1771,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { +@@ -1781,7 +1781,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { // Read cookies whenever allow_credentials() is true, even if the PrivacyMode // is being overridden by NetworkDelegate and will eventually block them, as // blocked cookies still need to be logged in that case. diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index 694287e05..ac5b428d7 100644 --- a/patch/patches/web_contents_1257_1565.patch +++ b/patch/patches/web_contents_1257_1565.patch @@ -1,5 +1,5 @@ diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc -index 0ae21311005f5..15fb0d2803406 100644 +index 452062e8b570e..83fbdb1175ec2 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc @@ -3026,6 +3026,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -33,7 +33,7 @@ index 0ae21311005f5..15fb0d2803406 100644 } void WebContentsImpl::RenderWidgetDeleted( -@@ -3903,6 +3913,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3912,6 +3922,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( // objects. create_params.renderer_initiated_creation = !is_new_browsing_instance; @@ -49,7 +49,7 @@ index 0ae21311005f5..15fb0d2803406 100644 std::unique_ptr new_contents; if (!is_guest) { create_params.context = view_->GetNativeView(); -@@ -7764,6 +7783,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, +@@ -7773,6 +7792,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, // frames). SetFocusedFrameTree(node->frame_tree()); } @@ -88,7 +88,7 @@ index e82a5b71eb8a6..34a2f19d8ddca 100644 // the value that'll be returned by GetLastActiveTime(). If this is left // default initialized then the value is not passed on to the WebContents diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h -index 04aa4d993b331..59ed45848f201 100644 +index 348dcde05d71e..871f0e0e22eb6 100644 --- content/public/browser/web_contents_delegate.h +++ content/public/browser/web_contents_delegate.h @@ -57,9 +57,11 @@ class EyeDropperListener;