diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 4b7a9f3b7..20776c091 100644 --- a/CHROMIUM_BUILD_COMPATIBILITY.txt +++ b/CHROMIUM_BUILD_COMPATIBILITY.txt @@ -7,5 +7,5 @@ # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding { - 'chromium_checkout': 'refs/tags/70.0.3507.0', + 'chromium_checkout': 'refs/tags/70.0.3516.0', } diff --git a/include/base/cef_ref_counted.h b/include/base/cef_ref_counted.h index e2579fa5e..f6b988c7c 100644 --- a/include/base/cef_ref_counted.h +++ b/include/base/cef_ref_counted.h @@ -59,6 +59,7 @@ namespace cef_subtle { class RefCountedBase { public: bool HasOneRef() const { return ref_count_ == 1; } + bool HasAtLeastOneRef() const { return ref_count_ >= 1; } protected: RefCountedBase() @@ -109,6 +110,7 @@ class RefCountedBase { class RefCountedThreadSafeBase { public: bool HasOneRef() const; + bool HasAtLeastOneRef() const; protected: RefCountedThreadSafeBase(); diff --git a/include/capi/cef_base_capi.h b/include/capi/cef_base_capi.h index 9af617d93..dbd0b9f33 100644 --- a/include/capi/cef_base_capi.h +++ b/include/capi/cef_base_capi.h @@ -69,6 +69,11 @@ typedef struct _cef_base_ref_counted_t { // Returns true (1) if the current reference count is 1. /// int(CEF_CALLBACK* has_one_ref)(struct _cef_base_ref_counted_t* self); + + /// + // Returns true (1) if the current reference count is at least 1. + /// + int(CEF_CALLBACK* has_at_least_one_ref)(struct _cef_base_ref_counted_t* self); } cef_base_ref_counted_t; /// diff --git a/include/cef_base.h b/include/cef_base.h index 816108e2a..3d0726cd1 100644 --- a/include/cef_base.h +++ b/include/cef_base.h @@ -68,6 +68,11 @@ class CefBaseRefCounted { /// virtual bool HasOneRef() const = 0; + /// + // Returns true if the reference count is at least 1. + /// + virtual bool HasAtLeastOneRef() const = 0; + protected: virtual ~CefBaseRefCounted() {} }; @@ -102,6 +107,13 @@ class CefRefCount { /// bool HasOneRef() const { return base::AtomicRefCountIsOne(&ref_count_); } + /// + // Returns true if the reference count is at least 1. + /// + bool HasAtLeastOneRef() const { + return !base::AtomicRefCountIsZero(&ref_count_); + } + private: mutable base::AtomicRefCount ref_count_; DISALLOW_COPY_AND_ASSIGN(CefRefCount); @@ -122,6 +134,9 @@ class CefRefCount { return false; \ } \ bool HasOneRef() const OVERRIDE { return ref_count_.HasOneRef(); } \ + bool HasAtLeastOneRef() const OVERRIDE { \ + return ref_count_.HasAtLeastOneRef(); \ + } \ \ private: \ CefRefCount ref_count_; diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index 2bad458c4..9850e7c9b 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -2606,7 +2606,7 @@ void CefBrowserHostImpl::RequestMediaAccessPermission( bool webcam_requested = (request.video_type == content::MEDIA_DEVICE_VIDEO_CAPTURE); bool screen_requested = - (request.video_type == content::MEDIA_DESKTOP_VIDEO_CAPTURE); + (request.video_type == content::MEDIA_GUM_DESKTOP_VIDEO_CAPTURE); if (microphone_requested || webcam_requested || screen_requested) { // Pick the desired device or fall back to the first available of the // given type. @@ -2628,8 +2628,9 @@ void CefBrowserHostImpl::RequestMediaAccessPermission( media_id = content::DesktopMediaID::Parse(request.requested_video_device_id); } - devices.push_back(content::MediaStreamDevice( - content::MEDIA_DESKTOP_VIDEO_CAPTURE, media_id.ToString(), "Screen")); + devices.push_back( + content::MediaStreamDevice(content::MEDIA_GUM_DESKTOP_VIDEO_CAPTURE, + media_id.ToString(), "Screen")); } } diff --git a/libcef/browser/browser_main.cc b/libcef/browser/browser_main.cc index 655170c60..fbe5cdae2 100644 --- a/libcef/browser/browser_main.cc +++ b/libcef/browser/browser_main.cc @@ -26,7 +26,7 @@ #include "base/bind.h" #include "base/message_loop/message_loop.h" #include "base/strings/string_number_conversions.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "chrome/browser/chrome_browser_main_extra_parts.h" #include "chrome/browser/plugins/plugin_finder.h" #include "content/public/browser/gpu_data_manager.h" diff --git a/libcef/browser/browser_urlrequest_impl.cc b/libcef/browser/browser_urlrequest_impl.cc index 7ce9536d1..2ad7c3be2 100644 --- a/libcef/browser/browser_urlrequest_impl.cc +++ b/libcef/browser/browser_urlrequest_impl.cc @@ -62,26 +62,26 @@ class CefURLFetcherResponseWriter : public net::URLFetcherResponseWriter { : url_request_(url_request), task_runner_(task_runner) {} // net::URLFetcherResponseWriter methods. - int Initialize(const net::CompletionCallback& callback) override { + int Initialize(net::CompletionOnceCallback callback) override { return net::OK; } int Write(net::IOBuffer* buffer, int num_bytes, - const net::CompletionCallback& callback) override { + net::CompletionOnceCallback callback) override { if (url_request_.get()) { task_runner_->PostTask( FROM_HERE, base::Bind(&CefURLFetcherResponseWriter::WriteOnClientThread, url_request_, scoped_refptr(buffer), - num_bytes, callback, + num_bytes, base::Passed(std::move(callback)), CefTaskRunnerImpl::GetCurrentTaskRunner())); return net::ERR_IO_PENDING; } return num_bytes; } - int Finish(int net_error, const net::CompletionCallback& callback) override { + int Finish(int net_error, net::CompletionOnceCallback callback) override { if (url_request_.get()) url_request_ = NULL; return net::OK; @@ -92,7 +92,7 @@ class CefURLFetcherResponseWriter : public net::URLFetcherResponseWriter { CefRefPtr url_request, scoped_refptr buffer, int num_bytes, - const net::CompletionCallback& callback, + net::CompletionOnceCallback callback, scoped_refptr source_message_loop_proxy) { CefRefPtr client = url_request->GetClient(); if (client.get()) @@ -101,12 +101,12 @@ class CefURLFetcherResponseWriter : public net::URLFetcherResponseWriter { source_message_loop_proxy->PostTask( FROM_HERE, base::Bind(&CefURLFetcherResponseWriter::ContinueOnSourceThread, - num_bytes, callback)); + num_bytes, base::Passed(std::move(callback)))); } static void ContinueOnSourceThread(int num_bytes, - const net::CompletionCallback& callback) { - callback.Run(num_bytes); + net::CompletionOnceCallback callback) { + std::move(callback).Run(num_bytes); } CefRefPtr url_request_; diff --git a/libcef/browser/chrome_browser_process_stub.cc b/libcef/browser/chrome_browser_process_stub.cc index d6b9781c4..694326df4 100644 --- a/libcef/browser/chrome_browser_process_stub.cc +++ b/libcef/browser/chrome_browser_process_stub.cc @@ -111,7 +111,7 @@ ChromeBrowserProcessStub::system_network_context_manager() { return NULL; } -content::NetworkConnectionTracker* +network::NetworkConnectionTracker* ChromeBrowserProcessStub::network_connection_tracker() { NOTREACHED(); return NULL; diff --git a/libcef/browser/chrome_browser_process_stub.h b/libcef/browser/chrome_browser_process_stub.h index e171e7de1..93d3dddc4 100644 --- a/libcef/browser/chrome_browser_process_stub.h +++ b/libcef/browser/chrome_browser_process_stub.h @@ -49,7 +49,7 @@ class ChromeBrowserProcessStub : public BrowserProcess, rappor::RapporServiceImpl* rappor_service() override; IOThread* io_thread() override; SystemNetworkContextManager* system_network_context_manager() override; - content::NetworkConnectionTracker* network_connection_tracker() override; + network::NetworkConnectionTracker* network_connection_tracker() override; network::NetworkQualityTracker* network_quality_tracker() override; WatchDogThread* watchdog_thread() override; ProfileManager* profile_manager() override; diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index 2c895b2b8..f9f4ed6f1 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -1074,15 +1074,16 @@ bool CefContentBrowserClient::WillCreateURLLoaderFactory( content::BrowserContext* browser_context, content::RenderFrameHost* frame, bool is_navigation, - network::mojom::URLLoaderFactoryRequest* factory_request) { + network::mojom::URLLoaderFactoryRequest* factory_request, + scoped_refptr* redirect_checker) { if (!extensions::ExtensionsEnabled()) return false; auto* web_request_api = extensions::BrowserContextKeyedAPIFactory::Get( browser_context); - return web_request_api->MaybeProxyURLLoaderFactory(frame, is_navigation, - factory_request); + return web_request_api->MaybeProxyURLLoaderFactory( + frame, is_navigation, factory_request, redirect_checker); } bool CefContentBrowserClient::HandleExternalProtocol( diff --git a/libcef/browser/content_browser_client.h b/libcef/browser/content_browser_client.h index 306bd4d20..4e12bc4ba 100644 --- a/libcef/browser/content_browser_client.h +++ b/libcef/browser/content_browser_client.h @@ -141,7 +141,8 @@ class CefContentBrowserClient : public content::ContentBrowserClient { content::BrowserContext* browser_context, content::RenderFrameHost* frame, bool is_navigation, - network::mojom::URLLoaderFactoryRequest* factory_request) override; + network::mojom::URLLoaderFactoryRequest* factory_request, + scoped_refptr* redirect_checker) override; bool HandleExternalProtocol( const GURL& url, diff --git a/libcef/browser/devtools_frontend.cc b/libcef/browser/devtools_frontend.cc index 8f41f4cf6..23a043993 100644 --- a/libcef/browser/devtools_frontend.cc +++ b/libcef/browser/devtools_frontend.cc @@ -34,6 +34,7 @@ #include "content/public/common/content_client.h" #include "content/public/common/url_constants.h" #include "ipc/ipc_channel.h" +#include "net/base/completion_once_callback.h" #include "net/base/io_buffer.h" #include "net/base/net_errors.h" #include "net/http/http_response_headers.h" @@ -52,11 +53,11 @@ class ResponseWriter : public net::URLFetcherResponseWriter { ~ResponseWriter() override; // URLFetcherResponseWriter overrides: - int Initialize(const net::CompletionCallback& callback) override; + int Initialize(net::CompletionOnceCallback callback) override; int Write(net::IOBuffer* buffer, int num_bytes, - const net::CompletionCallback& callback) override; - int Finish(int net_error, const net::CompletionCallback& callback) override; + net::CompletionOnceCallback callback) override; + int Finish(int net_error, net::CompletionOnceCallback callback) override; private: base::WeakPtr shell_devtools_; @@ -72,13 +73,13 @@ ResponseWriter::ResponseWriter( ResponseWriter::~ResponseWriter() {} -int ResponseWriter::Initialize(const net::CompletionCallback& callback) { +int ResponseWriter::Initialize(net::CompletionOnceCallback callback) { return net::OK; } int ResponseWriter::Write(net::IOBuffer* buffer, int num_bytes, - const net::CompletionCallback& callback) { + net::CompletionOnceCallback callback) { std::string chunk = std::string(buffer->data(), num_bytes); if (!base::IsStringUTF8(chunk)) return num_bytes; @@ -95,7 +96,7 @@ int ResponseWriter::Write(net::IOBuffer* buffer, } int ResponseWriter::Finish(int net_error, - const net::CompletionCallback& callback) { + net::CompletionOnceCallback callback) { return net::OK; } diff --git a/libcef/browser/extensions/extension_function_details.cc b/libcef/browser/extensions/extension_function_details.cc index 13b2e15eb..7f5ef9b59 100644 --- a/libcef/browser/extensions/extension_function_details.cc +++ b/libcef/browser/extensions/extension_function_details.cc @@ -11,7 +11,7 @@ #include "libcef/browser/thread_util.h" #include "base/strings/utf_string_conversions.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "chrome/browser/extensions/api/tabs/tabs_constants.h" #include "chrome/browser/extensions/extension_tab_util.h" #include "chrome/browser/profiles/profile.h" diff --git a/libcef/browser/net/network_delegate.cc b/libcef/browser/net/network_delegate.cc index 911f42612..db91455c5 100644 --- a/libcef/browser/net/network_delegate.cc +++ b/libcef/browser/net/network_delegate.cc @@ -20,7 +20,7 @@ #include "base/command_line.h" #include "base/metrics/field_trial.h" #include "base/strings/string_util.h" -#include "chrome/browser/net/safe_search_util.h" +#include "chrome/common/net/safe_search_util.h" #include "components/prefs/pref_member.h" #include "components/prefs/pref_service.h" #include "content/public/common/content_switches.h" @@ -143,7 +143,7 @@ class CefBeforeResourceLoadCallbackImpl : public CefRequestCallback { // Only execute the callback if the request has not been canceled. if (request->status().status() != net::URLRequestStatus::CANCELED) { if (force_google_safesearch && allow && new_url->is_empty()) - safe_search_util::ForceGoogleSafeSearch(request, new_url); + safe_search_util::ForceGoogleSafeSearch(request->url(), new_url); std::move(callback).Run(allow ? net::OK : net::ERR_ABORTED); } @@ -333,7 +333,7 @@ int CefNetworkDelegate::OnBeforeURLRequest(net::URLRequest* request, } if (force_google_safesearch && new_url->is_empty()) - safe_search_util::ForceGoogleSafeSearch(request, new_url); + safe_search_util::ForceGoogleSafeSearch(request->url(), new_url); // Continue the request immediately. return net::OK; diff --git a/libcef/browser/net/scheme_handler.cc b/libcef/browser/net/scheme_handler.cc index 57b34c9a7..b21a50a4e 100644 --- a/libcef/browser/net/scheme_handler.cc +++ b/libcef/browser/net/scheme_handler.cc @@ -11,7 +11,7 @@ #include "libcef/common/net/scheme_registration.h" #include "base/memory/ptr_util.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "content/public/browser/browser_thread.h" #include "content/public/common/url_constants.h" #include "net/net_buildflags.h" diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index 40bb085d6..c1e565d59 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -759,12 +759,6 @@ CefRenderWidgetHostViewOSR::CreateBrowserAccessibilityManager( return NULL; } -#if defined(TOOLKIT_VIEWS) || defined(USE_AURA) -void CefRenderWidgetHostViewOSR::ShowDisambiguationPopup( - const gfx::Rect& rect_pixels, - const SkBitmap& zoomed_bitmap) {} -#endif - void CefRenderWidgetHostViewOSR::ImeSetComposition( const CefString& text, const std::vector& underlines, diff --git a/libcef/browser/osr/render_widget_host_view_osr.h b/libcef/browser/osr/render_widget_host_view_osr.h index 64f7c5c38..39faf09e6 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.h +++ b/libcef/browser/osr/render_widget_host_view_osr.h @@ -165,10 +165,6 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase, content::BrowserAccessibilityDelegate* delegate, bool for_root_frame) override; -#if defined(TOOLKIT_VIEWS) || defined(USE_AURA) - void ShowDisambiguationPopup(const gfx::Rect& rect_pixels, - const SkBitmap& zoomed_bitmap) override; -#endif void ImeCompositionRangeChanged( const gfx::Range& range, const std::vector& character_bounds) override; diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index d7821fa82..644052cf3 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -13,7 +13,7 @@ #include "base/command_line.h" #include "base/files/file_path.h" #include "base/strings/string_number_conversions.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "base/values.h" #include "chrome/browser/accessibility/accessibility_ui.h" #include "chrome/browser/net/prediction_options.h" @@ -87,7 +87,7 @@ std::unique_ptr CreatePrefService(Profile* profile, const base::FilePath& pref_path = cache_path.AppendASCII(browser_prefs::kUserPrefsFileName); scoped_refptr json_pref_store = new JsonPrefStore( - pref_path, sequenced_task_runner, std::unique_ptr()); + pref_path, std::unique_ptr(), sequenced_task_runner); factory.set_user_prefs(json_pref_store.get()); } else { scoped_refptr cef_pref_store = new CefPrefStore(); diff --git a/libcef/browser/prefs/pref_store.cc b/libcef/browser/prefs/pref_store.cc index 040daf8fb..ed728d6c8 100644 --- a/libcef/browser/prefs/pref_store.cc +++ b/libcef/browser/prefs/pref_store.cc @@ -94,9 +94,12 @@ void CefPrefStore::ReadPrefsAsync(ReadErrorDelegate* error_delegate) { NotifyInitializationCompleted(); } -void CefPrefStore::CommitPendingWrite(base::OnceClosure done_callback) { +void CefPrefStore::CommitPendingWrite( + base::OnceClosure done_callback, + base::OnceClosure synchronous_done_callback) { committed_ = true; - PersistentPrefStore::CommitPendingWrite(std::move(done_callback)); + PersistentPrefStore::CommitPendingWrite(std::move(done_callback), + std::move(synchronous_done_callback)); } void CefPrefStore::SchedulePendingLossyWrites() {} diff --git a/libcef/browser/prefs/pref_store.h b/libcef/browser/prefs/pref_store.h index d12a0a312..15d91dd73 100644 --- a/libcef/browser/prefs/pref_store.h +++ b/libcef/browser/prefs/pref_store.h @@ -45,7 +45,9 @@ class CefPrefStore : public PersistentPrefStore { PrefReadError GetReadError() const override; PersistentPrefStore::PrefReadError ReadPrefs() override; void ReadPrefsAsync(ReadErrorDelegate* error_delegate) override; - virtual void CommitPendingWrite(base::OnceClosure done_callback) override; + virtual void CommitPendingWrite( + base::OnceClosure done_callback, + base::OnceClosure synchronous_done_callback) override; void SchedulePendingLossyWrites() override; void ClearMutableValues() override; void OnStoreDeletionFromDisk() override; diff --git a/libcef/browser/printing/print_view_manager_base.cc b/libcef/browser/printing/print_view_manager_base.cc index d8efc1f0b..f7bd40a05 100644 --- a/libcef/browser/printing/print_view_manager_base.cc +++ b/libcef/browser/printing/print_view_manager_base.cc @@ -16,7 +16,7 @@ #include "base/run_loop.h" #include "base/single_thread_task_runner.h" #include "base/strings/utf_string_conversions.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "base/threading/thread_task_runner_handle.h" #include "base/timer/timer.h" #include "build/build_config.h" diff --git a/libcef/browser/thread_util.h b/libcef/browser/thread_util.h index 4780d1d1d..b45a3faf4 100644 --- a/libcef/browser/thread_util.h +++ b/libcef/browser/thread_util.h @@ -8,7 +8,7 @@ #include "base/location.h" #include "base/logging.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "base/threading/thread_restrictions.h" #include "content/public/browser/browser_thread.h" @@ -87,6 +87,9 @@ return false; \ } \ bool HasOneRef() const OVERRIDE { return ref_count_.HasOneRef(); } \ + bool HasAtLeastOneRef() const OVERRIDE { \ + return ref_count_.HasAtLeastOneRef(); \ + } \ \ private: \ CefRefCount ref_count_; diff --git a/libcef/common/request_impl.cc b/libcef/common/request_impl.cc index 3b276251e..9f263b324 100644 --- a/libcef/common/request_impl.cc +++ b/libcef/common/request_impl.cc @@ -18,7 +18,7 @@ #include "base/logging.h" #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" -#include "base/task_scheduler/post_task.h" +#include "base/task/post_task.h" #include "components/navigation_interception/navigation_params.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/resource_request_info.h" diff --git a/libcef_dll/base/cef_ref_counted.cc b/libcef_dll/base/cef_ref_counted.cc index a3e68d376..fdd22b18d 100644 --- a/libcef_dll/base/cef_ref_counted.cc +++ b/libcef_dll/base/cef_ref_counted.cc @@ -13,6 +13,11 @@ bool RefCountedThreadSafeBase::HasOneRef() const { &const_cast(this)->ref_count_); } +bool RefCountedThreadSafeBase::HasAtLeastOneRef() const { + return !AtomicRefCountIsZero( + &const_cast(this)->ref_count_); +} + RefCountedThreadSafeBase::RefCountedThreadSafeBase() : ref_count_(0) { #if DCHECK_IS_ON() in_dtor_ = false; diff --git a/libcef_dll/cpptoc/cpptoc_ref_counted.h b/libcef_dll/cpptoc/cpptoc_ref_counted.h index 9fdff5dd5..ef212f96b 100644 --- a/libcef_dll/cpptoc/cpptoc_ref_counted.h +++ b/libcef_dll/cpptoc/cpptoc_ref_counted.h @@ -89,6 +89,7 @@ class CefCppToCRefCounted : public CefBaseRefCounted { return false; } bool HasOneRef() const { return UnderlyingHasOneRef(); } + bool HasAtLeastOneRef() const { return UnderlyingHasAtLeastOneRef(); } #if DCHECK_IS_ON() // Simple tracking of allocated objects. @@ -107,6 +108,7 @@ class CefCppToCRefCounted : public CefBaseRefCounted { base->add_ref = struct_add_ref; base->release = struct_release; base->has_one_ref = struct_has_one_ref; + base->has_at_least_one_ref = struct_has_at_least_one_ref; #if DCHECK_IS_ON() base::AtomicRefCountInc(&DebugObjCt); @@ -147,6 +149,9 @@ class CefCppToCRefCounted : public CefBaseRefCounted { bool UnderlyingHasOneRef() const { return wrapper_struct_.object_->HasOneRef(); } + bool UnderlyingHasAtLeastOneRef() const { + return wrapper_struct_.object_->HasAtLeastOneRef(); + } static void CEF_CALLBACK struct_add_ref(cef_base_ref_counted_t* base) { DCHECK(base); @@ -187,6 +192,20 @@ class CefCppToCRefCounted : public CefBaseRefCounted { return wrapperStruct->wrapper_->HasOneRef(); } + static int CEF_CALLBACK + struct_has_at_least_one_ref(cef_base_ref_counted_t* base) { + DCHECK(base); + if (!base) + return 0; + + WrapperStruct* wrapperStruct = + GetWrapperStruct(reinterpret_cast(base)); + // Verify that the wrapper offset was calculated correctly. + DCHECK_EQ(kWrapperType, wrapperStruct->type_); + + return wrapperStruct->wrapper_->HasAtLeastOneRef(); + } + WrapperStruct wrapper_struct_; CefRefCount ref_count_; diff --git a/libcef_dll/ctocpp/ctocpp_ref_counted.h b/libcef_dll/ctocpp/ctocpp_ref_counted.h index bfae6ef56..9e44725da 100644 --- a/libcef_dll/ctocpp/ctocpp_ref_counted.h +++ b/libcef_dll/ctocpp/ctocpp_ref_counted.h @@ -35,6 +35,7 @@ class CefCToCppRefCounted : public BaseName { } bool Release() const; bool HasOneRef() const { return UnderlyingHasOneRef(); } + bool HasAtLeastOneRef() const { return UnderlyingHasAtLeastOneRef(); } #if DCHECK_IS_ON() // Simple tracking of allocated objects. @@ -99,6 +100,15 @@ class CefCToCppRefCounted : public BaseName { return base->has_one_ref(base) ? true : false; } + NO_SANITIZE("cfi-icall") + bool UnderlyingHasAtLeastOneRef() const { + cef_base_ref_counted_t* base = + reinterpret_cast(GetStruct()); + if (!base->has_one_ref) + return false; + return base->has_at_least_one_ref(base) ? true : false; + } + CefRefCount ref_count_; static CefWrapperType kWrapperType; diff --git a/patch/patch.cfg b/patch/patch.cfg index d40fb1a50..e8b056e4c 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -41,11 +41,6 @@ patches = [ # https://bitbucket.org/chromiumembedded/cef/issues/1617 'name': 'component_build_1617', }, - { - # Support loading of password protected zip archives. - # https://bitbucket.org/chromiumembedded/cef/issues/496 - 'name': 'zlib', - }, { # Revert change on Windows that removes MessageLoop::os_modal_loop(). # https://codereview.chromium.org/1992243003 @@ -383,10 +378,8 @@ patches = [ 'name': 'linux_poll_2466', }, { - # Fix tools/clang/scripts/update.py failure with custom VS toolchain on - # Windows. This needs to be done in DEPS because it executes during the - # `gclient runhooks` step. - # https://bugs.chromium.org/p/chromium/issues/detail?id=863130 - 'name': 'DEPS', + # Fix VR target dependencies. + # https://bugs.chromium.org/p/chromium/issues/detail?id=873170 + 'name': 'vr_build_873170', } ] diff --git a/patch/patches/DEPS.patch b/patch/patches/DEPS.patch deleted file mode 100644 index 031c17ae6..000000000 --- a/patch/patches/DEPS.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git tools/clang/scripts/update.py tools/clang/scripts/update.py -index f69d2eb8915b..04d97b47dbe9 100755 ---- tools/clang/scripts/update.py -+++ tools/clang/scripts/update.py -@@ -392,7 +392,10 @@ def GetWinSDKDir(): - if bool(int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', '1'))): - dia_path = os.path.join(win_sdk_dir, '..', 'DIA SDK', 'bin', 'amd64') - else: -- vs_path = vs_toolchain.DetectVisualStudioPath() -+ if 'GYP_MSVS_OVERRIDE_PATH' not in os.environ: -+ vs_path = vs_toolchain.DetectVisualStudioPath() -+ else: -+ vs_path = os.environ['GYP_MSVS_OVERRIDE_PATH'] - dia_path = os.path.join(vs_path, 'DIA SDK', 'bin', 'amd64') - - dia_dll = os.path.join(dia_path, DIA_DLL[msvs_version]) diff --git a/patch/patches/browser_compositor_mac.patch b/patch/patches/browser_compositor_mac.patch index 9761417a7..b4059f7cd 100644 --- a/patch/patches/browser_compositor_mac.patch +++ b/patch/patches/browser_compositor_mac.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h -index 0d13a9a16d65..3eeca6a01e6f 100644 +index 254be13c1953..866b7315b430 100644 --- content/browser/renderer_host/browser_compositor_view_mac.h +++ content/browser/renderer_host/browser_compositor_view_mac.h -@@ -59,6 +59,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient, +@@ -58,6 +58,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient, // These will not return nullptr until Destroy is called. DelegatedFrameHost* GetDelegatedFrameHost(); @@ -12,10 +12,10 @@ index 0d13a9a16d65..3eeca6a01e6f 100644 // Ensure that the currect compositor frame be cleared (even if it is // potentially visible). diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm -index f9e9ad67c887..e0d0264299d7 100644 +index 9df94c2b0601..bb546312d22a 100644 --- content/browser/renderer_host/browser_compositor_view_mac.mm +++ content/browser/renderer_host/browser_compositor_view_mac.mm -@@ -244,6 +244,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() { +@@ -86,6 +86,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() { return delegated_frame_host_.get(); } diff --git a/patch/patches/chrome_browser.patch b/patch/patches/chrome_browser.patch index 2bb7d6773..cb78fd16b 100644 --- a/patch/patches/chrome_browser.patch +++ b/patch/patches/chrome_browser.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn -index 390f8303d2ab..bf60472655dc 100644 +index 569af2c9feed..4ac43a30cf8f 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn @@ -8,6 +8,7 @@ import("//build/config/features.gni") @@ -10,7 +10,7 @@ index 390f8303d2ab..bf60472655dc 100644 import("//chrome/common/features.gni") import("//components/feature_engagement/features.gni") import("//components/feed/features.gni") -@@ -1667,6 +1668,7 @@ jumbo_split_static_library("browser") { +@@ -1661,6 +1662,7 @@ jumbo_split_static_library("browser") { "//base:i18n", "//base/allocator:buildflags", "//cc", @@ -18,7 +18,7 @@ index 390f8303d2ab..bf60472655dc 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -1938,6 +1940,10 @@ jumbo_split_static_library("browser") { +@@ -1932,6 +1934,10 @@ jumbo_split_static_library("browser") { ] } diff --git a/patch/patches/chrome_browser_profiles.patch b/patch/patches/chrome_browser_profiles.patch index 66f1af9ce..550eef0f2 100644 --- a/patch/patches/chrome_browser_profiles.patch +++ b/patch/patches/chrome_browser_profiles.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/profiles/incognito_helpers.cc chrome/browser/profiles/incognito_helpers.cc -index ce4f72b98a05..39f7c3140c6e 100644 +index a319237928b8..82945e3d625d 100644 --- chrome/browser/profiles/incognito_helpers.cc +++ chrome/browser/profiles/incognito_helpers.cc -@@ -8,18 +8,41 @@ +@@ -8,20 +8,41 @@ namespace chrome { @@ -23,14 +23,15 @@ index ce4f72b98a05..39f7c3140c6e 100644 + return new_context; + } + - return static_cast(context)->GetOriginalProfile(); + return Profile::FromBrowserContext(context)->GetOriginalProfile(); } const content::BrowserContext* GetBrowserContextRedirectedInIncognito( const content::BrowserContext* context) { -- return static_cast(context)->GetOriginalProfile(); +- const Profile* profile = Profile::FromBrowserContext( + return GetBrowserContextRedirectedInIncognito( -+ const_cast(context)); + const_cast(context)); +- return profile->GetOriginalProfile(); } content::BrowserContext* GetBrowserContextOwnInstanceInIncognito( @@ -70,7 +71,7 @@ index e8e76ce5b954..1dd338dd0142 100644 content::BrowserContext* GetBrowserContextRedirectedInIncognito( content::BrowserContext* context); diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc -index 5d780144d11d..b73a88e083ec 100644 +index 675efecaaf74..a0e99efb0a26 100644 --- chrome/browser/profiles/profile_manager.cc +++ chrome/browser/profiles/profile_manager.cc @@ -382,7 +382,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) diff --git a/patch/patches/chrome_plugins.patch b/patch/patches/chrome_plugins.patch index e9fa6e8ed..7b4c0e6cf 100644 --- a/patch/patches/chrome_plugins.patch +++ b/patch/patches/chrome_plugins.patch @@ -157,10 +157,10 @@ index 484e07af5a98..0e62e20095c7 100644 // If we broke out of the loop, we have found an enabled plugin. bool enabled = i < matching_plugins.size(); diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc -index 6107cff08901..6f3d3233b613 100644 +index fbf143fd8f32..715b55312e5c 100644 --- chrome/renderer/chrome_content_renderer_client.cc +++ chrome/renderer/chrome_content_renderer_client.cc -@@ -761,6 +761,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -763,6 +763,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( if ((status == chrome::mojom::PluginStatus::kUnauthorized || status == chrome::mojom::PluginStatus::kBlocked) && @@ -168,7 +168,7 @@ index 6107cff08901..6f3d3233b613 100644 observer->IsPluginTemporarilyAllowed(identifier)) { status = chrome::mojom::PluginStatus::kAllowed; } -@@ -948,7 +949,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -950,7 +951,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( render_frame->GetRemoteAssociatedInterfaces()->GetInterface( &plugin_auth_host); plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier); @@ -178,7 +178,7 @@ index 6107cff08901..6f3d3233b613 100644 break; } case chrome::mojom::PluginStatus::kBlocked: { -@@ -957,7 +959,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -959,7 +961,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name)); placeholder->AllowLoading(); RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked")); @@ -188,7 +188,7 @@ index 6107cff08901..6f3d3233b613 100644 break; } case chrome::mojom::PluginStatus::kBlockedByPolicy: { -@@ -967,7 +970,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -969,7 +972,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( group_name)); RenderThread::Get()->RecordAction( UserMetricsAction("Plugin_BlockedByPolicy")); @@ -198,7 +198,7 @@ index 6107cff08901..6f3d3233b613 100644 break; } case chrome::mojom::PluginStatus::kBlockedNoLoading: { -@@ -975,7 +979,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -977,7 +981,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( IDR_BLOCKED_PLUGIN_HTML, l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING, group_name)); diff --git a/patch/patches/chrome_renderer.patch b/patch/patches/chrome_renderer.patch index 8fda13174..5777e4423 100644 --- a/patch/patches/chrome_renderer.patch +++ b/patch/patches/chrome_renderer.patch @@ -1,16 +1,16 @@ diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn -index 0a1e5754bb7a..f21aa63a4b86 100644 +index c8c0126c0aca..6f3297649abe 100644 --- chrome/renderer/BUILD.gn +++ chrome/renderer/BUILD.gn -@@ -3,6 +3,7 @@ - # found in the LICENSE file. +@@ -4,6 +4,7 @@ import("//build/config/features.gni") + import("//build/config/jumbo.gni") +import("//cef/libcef/features/features.gni") import("//chrome/common/features.gni") import("//components/nacl/features.gni") import("//components/offline_pages/buildflags/features.gni") -@@ -115,6 +116,7 @@ static_library("renderer") { +@@ -116,6 +117,7 @@ jumbo_static_library("renderer") { defines = [] deps = [ @@ -18,7 +18,7 @@ index 0a1e5754bb7a..f21aa63a4b86 100644 "//chrome:resources", "//chrome:strings", "//chrome/common", -@@ -178,6 +180,10 @@ static_library("renderer") { +@@ -179,6 +181,10 @@ jumbo_static_library("renderer") { configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/patch/patches/chrome_widevine.patch b/patch/patches/chrome_widevine.patch index 9a1833bd1..92b94eb84 100644 --- a/patch/patches/chrome_widevine.patch +++ b/patch/patches/chrome_widevine.patch @@ -1,8 +1,8 @@ diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc -index f8a16d124dec..40e3c9439ed8 100644 +index f98d01cf4cad..07ba6768ae72 100644 --- chrome/common/chrome_content_client.cc +++ chrome/common/chrome_content_client.cc -@@ -94,7 +94,8 @@ +@@ -96,7 +96,8 @@ #if BUILDFLAG(ENABLE_LIBRARY_CDMS) #include "media/cdm/cdm_paths.h" // nogncheck diff --git a/patch/patches/compositor_1368.patch b/patch/patches/compositor_1368.patch index bc6b51476..7e46c5839 100644 --- a/patch/patches/compositor_1368.patch +++ b/patch/patches/compositor_1368.patch @@ -1,8 +1,8 @@ diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc -index 511d805187b1..5fb01fee0378 100644 +index ef2d56f496b5..4cbe7cf6229c 100644 --- content/browser/compositor/gpu_process_transport_factory.cc +++ content/browser/compositor/gpu_process_transport_factory.cc -@@ -494,10 +494,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( +@@ -493,10 +493,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( // surfaces as they are not following the correct mode. DisableGpuCompositing(compositor.get()); } diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 45b2e18fd..d6867edcb 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc -index 82eee2a72cc4..6e02d9fcce1c 100644 +index 9f7c7dd00536..f524b27feedf 100644 --- chrome/browser/download/download_target_determiner.cc +++ chrome/browser/download/download_target_determiner.cc @@ -571,8 +571,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context, @@ -64,7 +64,7 @@ index 569e6112d86b..41599944688a 100644 } diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc -index f3b67e2746f4..9eb3e839cb55 100644 +index d4d56c7c6a96..1ec4de7d5fd3 100644 --- chrome/browser/ui/views/frame/browser_root_view.cc +++ chrome/browser/ui/views/frame/browser_root_view.cc @@ -66,7 +66,7 @@ void OnFindURLMimeType(const GURL& url, @@ -77,10 +77,10 @@ index f3b67e2746f4..9eb3e839cb55 100644 } diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc -index 201f23b9b422..4664c6b32c22 100644 +index 836668ca6469..35b2e8f09c49 100644 --- content/browser/frame_host/navigation_handle_impl.cc +++ content/browser/frame_host/navigation_handle_impl.cc -@@ -381,12 +381,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() { +@@ -393,12 +393,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() { } RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() { @@ -94,10 +94,10 @@ index 201f23b9b422..4664c6b32c22 100644 "WillFailRequest state should come before WillProcessResponse"); return render_frame_host_; diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc -index a15c21ad7cb1..f85e40276900 100644 +index f1df2ee8770c..adec7713be7a 100644 --- content/browser/frame_host/render_frame_host_impl.cc +++ content/browser/frame_host/render_frame_host_impl.cc -@@ -843,8 +843,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactory( +@@ -846,8 +846,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactory( RenderFrameDevToolsAgentHost::WillCreateURLLoaderFactory( this, false /* is_navigation */, false /* is_download */, &default_factory_request); @@ -108,7 +108,7 @@ index a15c21ad7cb1..f85e40276900 100644 if (g_create_network_factory_callback_for_test.Get().is_null()) { storage_partition->GetNetworkContext()->CreateURLLoaderFactory( std::move(default_factory_request), std::move(params)); -@@ -1673,6 +1673,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( +@@ -1677,6 +1677,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( if (GetNavigationHandle()) { GetNavigationHandle()->set_net_error_code( static_cast(params.error_code)); @@ -116,7 +116,7 @@ index a15c21ad7cb1..f85e40276900 100644 } frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params); -@@ -4072,9 +4073,9 @@ void RenderFrameHostImpl::CommitNavigation( +@@ -4084,9 +4085,9 @@ void RenderFrameHostImpl::CommitNavigation( // is used. Currently we have this here to make sure we have non-racy // situation (https://crbug.com/849929). DCHECK(base::FeatureList::IsEnabled(network::features::kNetworkService)); @@ -164,10 +164,10 @@ index 9716b2008062..362990246f97 100644 const std::string& mime_type, bool* found, diff --git content/browser/loader/mime_sniffing_resource_handler.cc content/browser/loader/mime_sniffing_resource_handler.cc -index 89e2c5351c45..616129b0bbfb 100644 +index 74707ef31289..3c1c964f0cb7 100644 --- content/browser/loader/mime_sniffing_resource_handler.cc +++ content/browser/loader/mime_sniffing_resource_handler.cc -@@ -502,8 +502,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler( +@@ -503,8 +503,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler( WebPluginInfo plugin; bool has_plugin = plugin_service_->GetPluginInfo( info->GetChildID(), info->GetRenderFrameID(), info->GetContext(), @@ -179,7 +179,7 @@ index 89e2c5351c45..616129b0bbfb 100644 if (stale) { // Refresh the plugins asynchronously. diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc -index e4e5a87af7e6..5d6f51c49829 100644 +index b822ba75eef6..83fc7ea2aa51 100644 --- content/browser/plugin_service_impl.cc +++ content/browser/plugin_service_impl.cc @@ -286,6 +286,7 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id, @@ -285,10 +285,10 @@ index 3009401dac6b..b4c5a9e2db50 100644 }; diff --git content/common/frame_messages.h content/common/frame_messages.h -index 67a66d040a08..76867658db44 100644 +index 4d0712eca8d0..ef1d88a7d42c 100644 --- content/common/frame_messages.h +++ content/common/frame_messages.h -@@ -1382,9 +1382,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, +@@ -1379,9 +1379,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, // type. If there is no matching plugin, |found| is false. // |actual_mime_type| is the actual mime type supported by the // found plugin. @@ -325,7 +325,7 @@ index 3b610b1f554e..7c439e060779 100644 WebPluginInfo* plugin) = 0; diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h -index 0cc6c47ac897..c9aefc3593b2 100644 +index d3762e8e9311..b84e0795c163 100644 --- content/public/renderer/content_renderer_client.h +++ content/public/renderer/content_renderer_client.h @@ -74,6 +74,9 @@ class CONTENT_EXPORT ContentRendererClient { @@ -350,10 +350,10 @@ index 0cc6c47ac897..c9aefc3593b2 100644 // started. virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} diff --git content/public/renderer/render_frame_observer.h content/public/renderer/render_frame_observer.h -index 2f1f46075b27..94f300dfea5d 100644 +index 88efca34d574..565f24148f7b 100644 --- content/public/renderer/render_frame_observer.h +++ content/public/renderer/render_frame_observer.h -@@ -148,6 +148,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, +@@ -149,6 +149,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener, virtual void DidReceiveTransferSizeUpdate(int resource_id, int received_data_length) {} @@ -364,10 +364,10 @@ index 2f1f46075b27..94f300dfea5d 100644 virtual void FocusedNodeChanged(const blink::WebNode& node) {} diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc -index 1d1d155ca2da..d8c1241d47da 100644 +index 9824bf608ed0..b99c320fd793 100644 --- content/renderer/render_frame_impl.cc +++ content/renderer/render_frame_impl.cc -@@ -3506,7 +3506,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( +@@ -3474,7 +3474,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( std::string mime_type; bool found = false; Send(new FrameHostMsg_GetPluginInfo( @@ -377,7 +377,7 @@ index 1d1d155ca2da..d8c1241d47da 100644 params.mime_type.Utf8(), &found, &info, &mime_type)); if (!found) return nullptr; -@@ -3871,6 +3872,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { +@@ -3839,6 +3840,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { void RenderFrameImpl::FrameFocused() { Send(new FrameHostMsg_FrameFocused(routing_id_)); @@ -387,10 +387,10 @@ index 1d1d155ca2da..d8c1241d47da 100644 void RenderFrameImpl::WillCommitProvisionalLoad() { diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc -index ace2680587e3..d021d88eeb96 100644 +index d0781332d8b8..f17614b61336 100644 --- content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc -@@ -866,6 +866,8 @@ void RenderThreadImpl::Init( +@@ -865,6 +865,8 @@ void RenderThreadImpl::Init( StartServiceManagerConnection(); @@ -400,10 +400,10 @@ index ace2680587e3..d021d88eeb96 100644 base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest, base::Unretained(this))); diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc -index 2e5d8a2fe4b1..10f1e09acfe8 100644 +index 33626b1c8284..ebebf1f58c4c 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc -@@ -1111,6 +1111,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() { +@@ -1107,6 +1107,14 @@ void RendererBlinkPlatformImpl::RequestPurgeMemory() { base::MemoryCoordinatorClientRegistry::GetInstance()->PurgeMemory(); } @@ -419,10 +419,10 @@ index 2e5d8a2fe4b1..10f1e09acfe8 100644 if (!web_database_host_) { web_database_host_ = blink::mojom::ThreadSafeWebDatabaseHostPtr::Create( diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h -index 3fb1af2bdb57..fb71d1b8f61c 100644 +index d3ae4a5b44b6..ccfa2a131fe1 100644 --- content/renderer/renderer_blink_platform_impl.h +++ content/renderer/renderer_blink_platform_impl.h -@@ -218,6 +218,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { +@@ -219,6 +219,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { mojo::ScopedDataPipeConsumerHandle handle) override; void RequestPurgeMemory() override; diff --git a/patch/patches/content_pepper_flash_1586.patch b/patch/patches/content_pepper_flash_1586.patch index f5da11e78..b82117887 100644 --- a/patch/patches/content_pepper_flash_1586.patch +++ b/patch/patches/content_pepper_flash_1586.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc -index 4822d0d57e44..3efc46631f4c 100644 +index 3619dfae8c83..7efdf571dec8 100644 --- content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc +++ content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc @@ -55,7 +55,7 @@ PepperFlashFileMessageFilter::PepperFlashFileMessageFilter( diff --git a/patch/patches/crashpad_tp_1995.patch b/patch/patches/crashpad_tp_1995.patch index 9df4bc20e..e94de081f 100644 --- a/patch/patches/crashpad_tp_1995.patch +++ b/patch/patches/crashpad_tp_1995.patch @@ -146,7 +146,7 @@ index a2b0c74636f4..01370fdc20d9 100644 struct Data; diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn -index 3bb5de5dd1f0..ee61b85823f9 100644 +index e43619c49713..a6f5b7e1a577 100644 --- third_party/crashpad/crashpad/handler/BUILD.gn +++ third_party/crashpad/crashpad/handler/BUILD.gn @@ -12,6 +12,7 @@ @@ -243,7 +243,7 @@ index 2ec1147d2620..8ff9a72e0bd7 100644 //! \brief Calls ProcessPendingReports() in response to ReportPending() having //! been called on any thread, as well as periodically on a timer. diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc -index 412ee11272ab..4229907a6d79 100644 +index b3e0a68a1c0a..087a4e4c6b9c 100644 --- third_party/crashpad/crashpad/handler/handler_main.cc +++ third_party/crashpad/crashpad/handler/handler_main.cc @@ -36,8 +36,10 @@ diff --git a/patch/patches/devtools_product_2300.patch b/patch/patches/devtools_product_2300.patch index 974bd6934..0f56c5fca 100644 --- a/patch/patches/devtools_product_2300.patch +++ b/patch/patches/devtools_product_2300.patch @@ -1,5 +1,5 @@ diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc -index 3ed1929ba192..ef0d34b4b73c 100644 +index a0ce6d621d83..f2c7329d6657 100644 --- content/browser/devtools/devtools_http_handler.cc +++ content/browser/devtools/devtools_http_handler.cc @@ -567,7 +567,7 @@ void DevToolsHttpHandler::OnJsonRequest( @@ -12,10 +12,10 @@ index 3ed1929ba192..ef0d34b4b73c 100644 version.SetString("V8-Version", V8_VERSION_STRING); std::string host = info.headers["host"]; diff --git content/public/common/content_client.h content/public/common/content_client.h -index 528fd6abf6a6..a45793539166 100644 +index b939bc2a9edf..b37302c0d8cf 100644 --- content/public/common/content_client.h +++ content/public/common/content_client.h -@@ -150,6 +150,10 @@ class CONTENT_EXPORT ContentClient { +@@ -151,6 +151,10 @@ class CONTENT_EXPORT ContentClient { // Used as part of the user agent string. virtual std::string GetProduct() const; diff --git a/patch/patches/extensions_1947.patch b/patch/patches/extensions_1947.patch index 5202bc26c..72b03099e 100644 --- a/patch/patches/extensions_1947.patch +++ b/patch/patches/extensions_1947.patch @@ -27,7 +27,7 @@ index 53c7404ef1f9..ac33df7cfe0e 100644 auto* browser_context = web_contents->GetBrowserContext(); StreamsPrivateAPI* streams_private = GetStreamsPrivateAPI(browser_context); diff --git content/browser/frame_host/render_frame_host_manager.cc content/browser/frame_host/render_frame_host_manager.cc -index 29386263f0db..11fa39c54d43 100644 +index 406302b6b760..5ab2f3d7157b 100644 --- content/browser/frame_host/render_frame_host_manager.cc +++ content/browser/frame_host/render_frame_host_manager.cc @@ -928,10 +928,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation( @@ -57,10 +57,10 @@ index 29386263f0db..11fa39c54d43 100644 // If |new_instance| is a new SiteInstance for a subframe that requires a // dedicated process, set its process reuse policy so that such subframes are diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h -index 2cd82bfafcf8..b8eb09579ec7 100644 +index 5e35f1de540d..3e73ad586ab8 100644 --- content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h -@@ -394,6 +394,13 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -396,6 +396,13 @@ class CONTENT_EXPORT ContentBrowserClient { // Returns true if error page should be isolated in its own process. virtual bool ShouldIsolateErrorPage(bool in_main_frame); diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index bf0f02859..ffe4cb381 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -1,8 +1,8 @@ diff --git .gn .gn -index ec3d38717a85..fbf80cae5500 100644 +index c1a111364bed..566ffd815bc9 100644 --- .gn +++ .gn -@@ -248,6 +248,8 @@ exec_script_whitelist = +@@ -310,6 +310,8 @@ exec_script_whitelist = # in the Chromium repo outside of //build. "//build_overrides/build.gni", @@ -12,10 +12,10 @@ index ec3d38717a85..fbf80cae5500 100644 # https://crbug.com/474506. "//clank/java/BUILD.gn", diff --git BUILD.gn BUILD.gn -index 4e777abccf7b..6e18897c4f22 100644 +index 45b912d00cdd..4b3bbcd8cbf7 100644 --- BUILD.gn +++ BUILD.gn -@@ -186,6 +186,7 @@ group("gn_all") { +@@ -188,6 +188,7 @@ group("gn_all") { if (!is_ios && !is_fuchsia) { deps += [ @@ -161,10 +161,10 @@ index 83847f456676..bf6254a0ebb6 100755 # directory in order to run binaries locally, but they are needed in order # to create isolates or the mini_installer. Copying them to the output diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni -index eca08ff7bc76..908257ebd5ec 100644 +index 8b3d1652ae28..9d69220d85df 100644 --- chrome/chrome_paks.gni +++ chrome/chrome_paks.gni -@@ -257,7 +257,7 @@ template("chrome_paks") { +@@ -259,7 +259,7 @@ template("chrome_paks") { } input_locales = locales @@ -174,7 +174,7 @@ index eca08ff7bc76..908257ebd5ec 100644 if (is_mac) { output_locales = locales_as_mac_outputs diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn -index 7189a44f5c31..1a83b3ea6325 100644 +index 931761ff27de..a181fbeadc86 100644 --- chrome/installer/mini_installer/BUILD.gn +++ chrome/installer/mini_installer/BUILD.gn @@ -133,7 +133,7 @@ template("generate_mini_installer") { diff --git a/patch/patches/gritsettings.patch b/patch/patches/gritsettings.patch index 9d7ca5a2e..732bd8e6c 100644 --- a/patch/patches/gritsettings.patch +++ b/patch/patches/gritsettings.patch @@ -1,8 +1,8 @@ diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids -index efa6e5c90b88..afa269910ce6 100644 +index 7adeec49c098..5b60ee904910 100644 --- tools/gritsettings/resource_ids +++ tools/gritsettings/resource_ids -@@ -414,4 +414,11 @@ +@@ -419,4 +419,11 @@ # Please read the header and find the right section above instead. # Resource ids starting at 31000 are reserved for projects built on Chromium. diff --git a/patch/patches/linux_build.patch b/patch/patches/linux_build.patch index 9de48c5fb..dae103dbc 100644 --- a/patch/patches/linux_build.patch +++ b/patch/patches/linux_build.patch @@ -1,5 +1,5 @@ diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn -index 7bba7dfe3db7..dd8610b5d7f0 100644 +index 7cb21711aa1b..afbddcd5b394 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn @@ -153,7 +153,7 @@ declare_args() { @@ -12,10 +12,10 @@ index 7bba7dfe3db7..dd8610b5d7f0 100644 } diff --git chrome/browser/ui/libgtkui/gtk_util.cc chrome/browser/ui/libgtkui/gtk_util.cc -index 96f8c0e71472..49c462b37e12 100644 +index 39bf49c7b111..ad7b054e185f 100644 --- chrome/browser/ui/libgtkui/gtk_util.cc +++ chrome/browser/ui/libgtkui/gtk_util.cc -@@ -237,6 +237,7 @@ float GetDeviceScaleFactor() { +@@ -239,6 +239,7 @@ float GetDeviceScaleFactor() { return linux_ui ? linux_ui->GetDeviceScaleFactor() : 1; } @@ -23,7 +23,7 @@ index 96f8c0e71472..49c462b37e12 100644 using GtkSetState = void (*)(GtkWidgetPath*, gint, GtkStateFlags); PROTECTED_MEMORY_SECTION base::ProtectedMemory _gtk_widget_path_iter_set_state; -@@ -244,6 +245,7 @@ PROTECTED_MEMORY_SECTION base::ProtectedMemory +@@ -246,6 +247,7 @@ PROTECTED_MEMORY_SECTION base::ProtectedMemory using GtkSetObjectName = void (*)(GtkWidgetPath*, gint, const char*); PROTECTED_MEMORY_SECTION base::ProtectedMemory _gtk_widget_path_iter_set_object_name; @@ -31,7 +31,7 @@ index 96f8c0e71472..49c462b37e12 100644 } // namespace -@@ -401,10 +403,12 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, +@@ -403,10 +405,12 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, NOTREACHED(); } } else { @@ -44,7 +44,7 @@ index 96f8c0e71472..49c462b37e12 100644 switch (part_type) { case CSS_NAME: { if (GtkVersionCheck(3, 20)) { -@@ -449,6 +453,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, +@@ -451,6 +455,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, // widgets specially if they want to. gtk_widget_path_iter_add_class(path, -1, "chromium"); @@ -52,7 +52,7 @@ index 96f8c0e71472..49c462b37e12 100644 if (GtkVersionCheck(3, 14)) { static base::ProtectedMemory::Initializer init( &_gtk_widget_path_iter_set_state, -@@ -457,6 +462,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, +@@ -459,6 +464,7 @@ ScopedStyleContext AppendCssNodeToStyleContext(GtkStyleContext* context, DCHECK(*_gtk_widget_path_iter_set_state); base::UnsanitizedCfiCall(_gtk_widget_path_iter_set_state)(path, -1, state); } @@ -74,7 +74,7 @@ index b24ff4b95f97..49e80717b1d6 100644 return GetTextColor(GetEntry(), NORMAL); case kColorId_LabelDisabledColor: diff --git ui/accessibility/platform/atk_util_auralinux_gtk2.cc ui/accessibility/platform/atk_util_auralinux_gtk2.cc -index ac11b5626f67..6355d0283de1 100644 +index 5bcccd9cd98c..fa581fbe23b1 100644 --- ui/accessibility/platform/atk_util_auralinux_gtk2.cc +++ ui/accessibility/platform/atk_util_auralinux_gtk2.cc @@ -48,6 +48,7 @@ GnomeAccessibilityModuleInitFunc GetAccessibilityModuleInitFunc() { diff --git a/patch/patches/message_loop.patch b/patch/patches/message_loop.patch index de7f91e08..7fa99942a 100644 --- a/patch/patches/message_loop.patch +++ b/patch/patches/message_loop.patch @@ -1,8 +1,8 @@ diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc -index 3793fa284744..b2dfc6efd1f7 100644 +index 7f063693a0f2..14f50b6f7d5f 100644 --- base/message_loop/message_loop.cc +++ base/message_loop/message_loop.cc -@@ -606,6 +606,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) { +@@ -610,6 +610,9 @@ MessageLoopForUI::MessageLoopForUI(Type type) : MessageLoop(type) { #endif } @@ -13,10 +13,10 @@ index 3793fa284744..b2dfc6efd1f7 100644 MessageLoopCurrentForUI MessageLoopForUI::current() { return MessageLoopCurrentForUI::Get(); diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h -index 1418c133bf81..7fb7d1e703ff 100644 +index 52b474310074..35f4cc41a572 100644 --- base/message_loop/message_loop.h +++ base/message_loop/message_loop.h -@@ -358,6 +358,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate, +@@ -362,6 +362,7 @@ class BASE_EXPORT MessageLoop : public MessagePump::Delegate, class BASE_EXPORT MessageLoopForUI : public MessageLoop { public: explicit MessageLoopForUI(Type type = TYPE_UI); @@ -25,12 +25,12 @@ index 1418c133bf81..7fb7d1e703ff 100644 // TODO(gab): Mass migrate callers to MessageLoopCurrentForUI::Get()/IsSet(). static MessageLoopCurrentForUI current(); diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h -index 61d1607e31e7..656b3a9c9f68 100644 +index 2a2e761e87e8..37881c184940 100644 --- base/message_loop/message_loop_current.h +++ base/message_loop/message_loop_current.h -@@ -120,6 +120,16 @@ class BASE_EXPORT MessageLoopCurrent { - void AddTaskObserver(TaskObserver* task_observer); - void RemoveTaskObserver(TaskObserver* task_observer); +@@ -124,6 +124,16 @@ class BASE_EXPORT MessageLoopCurrent { + // posted tasks. + void SetAddQueueTimeToTasks(bool enable); +#if defined(OS_WIN) + void set_os_modal_loop(bool os_modal_loop) { @@ -45,7 +45,7 @@ index 61d1607e31e7..656b3a9c9f68 100644 // Enables or disables the recursive task processing. This happens in the case // of recursive message loops. Some unwanted message loops may occur when // using common controls or printer functions. By default, recursive task -@@ -188,6 +198,13 @@ class BASE_EXPORT MessageLoopCurrent { +@@ -192,6 +202,13 @@ class BASE_EXPORT MessageLoopCurrent { explicit MessageLoopCurrent(MessageLoop* current) : current_(current) {} MessageLoop* const current_; diff --git a/patch/patches/net_filter_515.patch b/patch/patches/net_filter_515.patch index bb9aa289d..39a9c0dea 100644 --- a/patch/patches/net_filter_515.patch +++ b/patch/patches/net_filter_515.patch @@ -22,7 +22,7 @@ index c28d0bb3b676..1acbb4c94495 100644 THREAD_CHECKER(thread_checker_); diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc -index 9bdff67e76e8..35f0e10bcac3 100644 +index 5b27df0e8955..6d3b212f28d0 100644 --- net/url_request/url_request_job.cc +++ net/url_request/url_request_job.cc @@ -467,6 +467,12 @@ void URLRequestJob::NotifyHeadersComplete() { diff --git a/patch/patches/pdfium_print_549365.patch b/patch/patches/pdfium_print_549365.patch index 406cdd707..aed3d0134 100644 --- a/patch/patches/pdfium_print_549365.patch +++ b/patch/patches/pdfium_print_549365.patch @@ -1,5 +1,5 @@ diff --git BUILD.gn BUILD.gn -index 24dfd1df5..da1616c50 100644 +index afa83e358..90e6473af 100644 --- BUILD.gn +++ BUILD.gn @@ -239,6 +239,10 @@ jumbo_static_library("pdfium") { diff --git a/patch/patches/prefs_content_1161.patch b/patch/patches/prefs_content_1161.patch index d2efd4be1..e17569e5e 100644 --- a/patch/patches/prefs_content_1161.patch +++ b/patch/patches/prefs_content_1161.patch @@ -1,8 +1,8 @@ diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h -index 57f03dc1ed38..061bf10c07aa 100644 +index 8b7955b58e6f..96a801e55e96 100644 --- content/public/common/common_param_traits_macros.h +++ content/public/common/common_param_traits_macros.h -@@ -190,6 +190,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) +@@ -187,6 +187,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes) IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale) IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled) @@ -35,10 +35,10 @@ index 78cbf5f3db86..9a4906a32336 100644 bool record_whole_document; SavePreviousDocumentResources save_previous_document_resources; diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc -index f268c8301136..e9e182734eb5 100644 +index b97c67a53e1f..d7e56c72c521 100644 --- content/renderer/render_view_impl.cc +++ content/renderer/render_view_impl.cc -@@ -1270,6 +1270,7 @@ void RenderViewImpl::SendFrameStateUpdates() { +@@ -1269,6 +1269,7 @@ void RenderViewImpl::SendFrameStateUpdates() { void RenderViewImpl::ApplyWebPreferencesInternal(const WebPreferences& prefs, blink::WebView* web_view) { ApplyWebPreferences(prefs, web_view); diff --git a/patch/patches/print_header_footer_1478_1565.patch b/patch/patches/print_header_footer_1478_1565.patch index 9eb09109f..043dc0bbb 100644 --- a/patch/patches/print_header_footer_1478_1565.patch +++ b/patch/patches/print_header_footer_1478_1565.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn -index b80097e3a61e..c93f1ade1676 100644 +index 13b42917efe0..2b292871222e 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn -@@ -894,6 +894,7 @@ jumbo_split_static_library("ui") { +@@ -874,6 +874,7 @@ jumbo_split_static_library("ui") { "//base:i18n", "//base/allocator:buildflags", "//cc/paint", @@ -253,7 +253,7 @@ index d29bb6aedecd..db7110ce80be 100644 #endif // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_ diff --git components/printing/renderer/print_render_frame_helper.cc components/printing/renderer/print_render_frame_helper.cc -index 028de5baff30..9f218232052c 100644 +index 89d54c441107..ca90c04eb841 100644 --- components/printing/renderer/print_render_frame_helper.cc +++ components/printing/renderer/print_render_frame_helper.cc @@ -341,7 +341,6 @@ bool PrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame, diff --git a/patch/patches/rwh_background_color_1984.patch b/patch/patches/rwh_background_color_1984.patch index a532fbf5b..41addd70f 100644 --- a/patch/patches/rwh_background_color_1984.patch +++ b/patch/patches/rwh_background_color_1984.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc -index 0eec5c7a6861..298e7b281ce3 100644 +index 881bb2117f4c..b949c81e3ef4 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -719,10 +719,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { +@@ -718,10 +718,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() const { void RenderWidgetHostViewAura::UpdateBackgroundColor() { DCHECK(GetBackgroundColor()); @@ -19,7 +19,7 @@ index 0eec5c7a6861..298e7b281ce3 100644 } void RenderWidgetHostViewAura::WindowTitleChanged() { -@@ -1922,6 +1924,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { +@@ -1921,6 +1923,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { if (frame_sink_id_.is_valid()) window_->SetEmbedFrameSinkId(frame_sink_id_); diff --git a/patch/patches/service_manager_654986.patch b/patch/patches/service_manager_654986.patch index 7dbcfa719..b19039745 100644 --- a/patch/patches/service_manager_654986.patch +++ b/patch/patches/service_manager_654986.patch @@ -1,5 +1,5 @@ diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc -index ac130bf48678..e454f166eecf 100644 +index bc7399c23728..b0e3867ea39f 100644 --- services/service_manager/embedder/main.cc +++ services/service_manager/embedder/main.cc @@ -300,22 +300,36 @@ int RunService(MainDelegate* delegate) { diff --git a/patch/patches/storage_partition_1973.patch b/patch/patches/storage_partition_1973.patch index 8805991bf..413a2fa1b 100644 --- a/patch/patches/storage_partition_1973.patch +++ b/patch/patches/storage_partition_1973.patch @@ -28,7 +28,7 @@ index 6aa5ad29416a..77f7edfa51fe 100644 origin, std::move(request))); } diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc -index 842cb767674a..7cbe7b42d9e7 100644 +index 203e9c7e94a9..b4260e27ae6a 100644 --- content/browser/blob_storage/chrome_blob_storage_context.cc +++ content/browser/blob_storage/chrome_blob_storage_context.cc @@ -87,6 +87,11 @@ class BlobHandleImpl : public BlobHandle { @@ -73,7 +73,7 @@ index f061eca7c86b..0fc07c9c4eb8 100644 partition->GetBluetoothAllowedDevicesMap(); return allowed_devices_map->GetOrCreateAllowedDevices(GetOrigin()); diff --git content/browser/browser_context.cc content/browser/browser_context.cc -index 0e30f88493de..3d0c6486447e 100644 +index 840cafc185f4..aa16726a33ce 100644 --- content/browser/browser_context.cc +++ content/browser/browser_context.cc @@ -151,11 +151,18 @@ StoragePartition* GetStoragePartitionFromConfig( @@ -125,10 +125,10 @@ index 905fe910bebb..abf75841dd86 100644 BrowserThread::IO, FROM_HERE, base::BindOnce( diff --git content/browser/devtools/protocol/service_worker_handler.cc content/browser/devtools/protocol/service_worker_handler.cc -index 77d1cc9fda71..ca372bbf4723 100644 +index 06c7cf436fd7..1f6e5182191f 100644 --- content/browser/devtools/protocol/service_worker_handler.cc +++ content/browser/devtools/protocol/service_worker_handler.cc -@@ -171,8 +171,7 @@ void ServiceWorkerHandler::SetRenderer(int process_host_id, +@@ -170,8 +170,7 @@ void ServiceWorkerHandler::SetRenderer(int process_host_id, return; } @@ -161,7 +161,7 @@ index ec9ab86d0ca6..0fe5219f1e84 100644 base::WeakPtrFactory weak_factory_; diff --git content/browser/download/download_manager_impl.cc content/browser/download/download_manager_impl.cc -index 813b1b5e15c9..8fc88073e723 100644 +index 37cabf2c9ffa..a5165fdbfdf6 100644 --- content/browser/download/download_manager_impl.cc +++ content/browser/download/download_manager_impl.cc @@ -87,9 +87,9 @@ @@ -205,7 +205,7 @@ index 813b1b5e15c9..8fc88073e723 100644 std::move(proxy_factory_ptr_info), std::move(proxy_factory_request)); } -@@ -1092,7 +1091,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( +@@ -1127,7 +1126,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( tab_referrer_url = entry->GetReferrer().url; } } @@ -214,7 +214,7 @@ index 813b1b5e15c9..8fc88073e723 100644 GetStoragePartition(browser_context_, render_process_id, render_frame_id); in_progress_manager_->InterceptDownloadFromNavigation( std::move(resource_request), render_process_id, render_frame_id, site_url, -@@ -1142,10 +1141,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( +@@ -1177,10 +1176,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( base::MakeRefCounted( rfh, params->url()); } else if (rfh && params->url().SchemeIsFileSystem()) { @@ -227,7 +227,7 @@ index 813b1b5e15c9..8fc88073e723 100644 std::string storage_domain; auto* site_instance = rfh->GetSiteInstance(); if (site_instance) { -@@ -1160,10 +1157,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( +@@ -1195,10 +1192,8 @@ void DownloadManagerImpl::BeginResourceDownloadOnChecksComplete( params->url(), rfh, /*is_navigation=*/false, storage_partition->GetFileSystemContext(), storage_domain); } else { @@ -241,10 +241,10 @@ index 813b1b5e15c9..8fc88073e723 100644 CreateDownloadURLLoaderFactoryGetter(storage_partition, rfh, true); } diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc -index 4676ec499cf5..4b464e0f5c23 100644 +index c0948b6588ee..38d1b0ae64e2 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc -@@ -1014,7 +1014,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController +@@ -1068,7 +1068,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController // path does as well for navigations. bool has_plugin = PluginService::GetInstance()->GetPluginInfo( -1 /* render_process_id */, -1 /* render_frame_id */, resource_context_, @@ -253,10 +253,10 @@ index 4676ec499cf5..4b464e0f5c23 100644 false /* allow_wildcard */, &stale, &plugin, nullptr); if (stale) { -@@ -1348,7 +1348,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl( - +@@ -1417,7 +1417,7 @@ NavigationURLLoaderImpl::NavigationURLLoaderImpl( network::mojom::URLLoaderFactoryPtrInfo proxied_factory_info; network::mojom::URLLoaderFactoryRequest proxied_factory_request; + scoped_refptr redirect_checker; - auto* partition = static_cast(storage_partition); + auto* partition = storage_partition; if (frame_tree_node) { @@ -309,10 +309,10 @@ index 3cfa0bde2bca..96da49496944 100644 partition->GetPaymentAppContext(); diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc -index 4d0e7c65f2ad..151cd09e63bc 100644 +index 3dcc6e5c2d38..90180d0cfbbb 100644 --- content/browser/renderer_host/render_process_host_impl.cc +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -740,11 +740,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data, +@@ -735,11 +735,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data, // Gets the correct render process to use for this SiteInstance. RenderProcessHost* GetProcessHost(SiteInstance* site_instance, bool is_for_guests_only) { @@ -328,7 +328,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 // Is this the default storage partition? If it isn't, then just give it its // own non-shared process. -@@ -1348,7 +1347,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() { +@@ -1343,7 +1342,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() { // static RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( BrowserContext* browser_context, @@ -337,7 +337,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 SiteInstance* site_instance, bool is_for_guests_only) { if (g_render_process_host_factory_) { -@@ -1357,8 +1356,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( +@@ -1352,8 +1351,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( } if (!storage_partition_impl) { @@ -348,7 +348,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 } // If we've made a StoragePartition for guests (e.g., for the tag), // stash the Site URL on it. This way, when we start a service worker inside -@@ -1383,7 +1382,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority = +@@ -1378,7 +1377,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority = RenderProcessHostImpl::RenderProcessHostImpl( BrowserContext* browser_context, @@ -357,7 +357,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 bool is_for_guests_only) : fast_shutdown_started_(false), deleting_soon_(false), -@@ -1416,10 +1415,12 @@ RenderProcessHostImpl::RenderProcessHostImpl( +@@ -1412,10 +1411,12 @@ RenderProcessHostImpl::RenderProcessHostImpl( indexed_db_factory_(new IndexedDBDispatcherHost( id_, storage_partition_impl_->GetURLRequestContext(), @@ -372,7 +372,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 id_)), channel_connected_(false), sent_render_process_ready_(false), -@@ -1454,7 +1455,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( +@@ -1450,7 +1451,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( } push_messaging_manager_.reset(new PushMessagingManager( @@ -382,7 +382,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 AddObserver(indexed_db_factory_.get()); AddObserver(service_worker_dispatcher_host_.get()); -@@ -1787,6 +1789,17 @@ void RenderProcessHostImpl::ResetChannelProxy() { +@@ -1783,6 +1785,17 @@ void RenderProcessHostImpl::ResetChannelProxy() { void RenderProcessHostImpl::CreateMessageFilters() { DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -400,7 +400,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 MediaInternals* media_internals = MediaInternals::GetInstance(); // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages // from guests. -@@ -1801,7 +1814,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1797,7 +1810,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { base::MakeRefCounted( GetID(), GetBrowserContext(), request_context.get(), widget_helper_.get(), media_internals, @@ -409,7 +409,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 storage_partition_impl_->GetGeneratedCodeCacheContext()); AddFilter(render_message_filter.get()); -@@ -1829,10 +1842,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1825,10 +1838,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { ChromeBlobStorageContext::GetFor(browser_context); resource_message_filter_ = new ResourceMessageFilter( @@ -422,7 +422,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 storage_partition_impl_->GetPrefetchURLLoaderService(), std::move(get_contexts_callback), BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); -@@ -1841,8 +1854,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1837,8 +1850,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { AddFilter( new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service())); @@ -432,10 +432,10 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID()); AddFilter(peer_connection_tracker_host_.get()); -@@ -1864,10 +1876,6 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1859,10 +1871,6 @@ void RenderProcessHostImpl::CreateMessageFilters() { AddFilter(new TraceMessageFilter(GetID())); - AddFilter(new ResolveProxyMsgHelper(request_context.get())); + AddFilter(new ResolveProxyMsgHelper(GetID())); - - scoped_refptr service_worker_context( - static_cast( @@ -443,7 +443,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 } void RenderProcessHostImpl::BindCacheStorage( -@@ -1879,7 +1887,8 @@ void RenderProcessHostImpl::BindCacheStorage( +@@ -1874,7 +1882,8 @@ void RenderProcessHostImpl::BindCacheStorage( cache_storage_dispatcher_host_ = base::MakeRefCounted(); cache_storage_dispatcher_host_->Init( @@ -453,7 +453,7 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 } // Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO // thread entirely. -@@ -2029,7 +2038,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { +@@ -2031,7 +2040,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { registry->AddInterface(base::BindRepeating( &AppCacheDispatcherHost::Create, @@ -462,8 +462,8 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 + storage_partition_impl_->GetAppCacheService())), GetID())); - AddUIThreadInterface(registry.get(), base::Bind(&FieldTrialRecorder::Create)); -@@ -2060,6 +2070,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { + AddUIThreadInterface( +@@ -2068,6 +2078,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { plugin_registry_.reset( new PluginRegistryImpl(GetBrowserContext()->GetResourceContext())); } @@ -474,10 +474,10 @@ index 4d0e7c65f2ad..151cd09e63bc 100644 &PluginRegistryImpl::Bind, base::Unretained(plugin_registry_.get()))); #endif diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h -index 582d8037c2bf..473b5b5c1daa 100644 +index 607eefb29440..c465d03b6373 100644 --- content/browser/renderer_host/render_process_host_impl.h +++ content/browser/renderer_host/render_process_host_impl.h -@@ -91,7 +91,6 @@ class ServiceWorkerDispatcherHost; +@@ -92,7 +92,6 @@ class ServiceWorkerDispatcherHost; class SiteInstance; class SiteInstanceImpl; class StoragePartition; @@ -485,7 +485,7 @@ index 582d8037c2bf..473b5b5c1daa 100644 struct ChildProcessTerminationInfo; typedef base::Thread* (*RendererMainThreadFactoryFunction)( -@@ -134,7 +133,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -135,7 +134,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // null. static RenderProcessHost* CreateRenderProcessHost( BrowserContext* browser_context, @@ -494,7 +494,7 @@ index 582d8037c2bf..473b5b5c1daa 100644 SiteInstance* site_instance, bool is_for_guests_only); -@@ -443,7 +442,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -445,7 +444,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // Use CreateRenderProcessHost() instead of calling this constructor // directly. RenderProcessHostImpl(BrowserContext* browser_context, @@ -503,7 +503,7 @@ index 582d8037c2bf..473b5b5c1daa 100644 bool is_for_guests_only); // Initializes a new IPC::ChannelProxy in |channel_|, which will be connected -@@ -709,10 +708,10 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -715,10 +714,10 @@ class CONTENT_EXPORT RenderProcessHostImpl // called. int instance_id_ = 1; @@ -574,7 +574,7 @@ index 2fe70f50171f..98244cd5ddf8 100644 std::move(client), creation_context_type, blink::MessagePortChannel(std::move(message_port)), diff --git content/browser/shared_worker/shared_worker_service_impl.cc content/browser/shared_worker/shared_worker_service_impl.cc -index a1f30bf6c568..f736d07eb12f 100644 +index 1defce7079cc..48010c26f2b2 100644 --- content/browser/shared_worker/shared_worker_service_impl.cc +++ content/browser/shared_worker/shared_worker_service_impl.cc @@ -339,8 +339,8 @@ void SharedWorkerServiceImpl::CreateWorker( @@ -691,7 +691,7 @@ index 075ae3e7431e..57fb5fd2c4a8 100644 void InitializeOnIOThread(); diff --git content/browser/webui/web_ui_url_loader_factory.cc content/browser/webui/web_ui_url_loader_factory.cc -index 653e22e0ee58..7b38a3ebd626 100644 +index a0e398098383..5ea5de0df6c2 100644 --- content/browser/webui/web_ui_url_loader_factory.cc +++ content/browser/webui/web_ui_url_loader_factory.cc @@ -19,13 +19,13 @@ @@ -722,7 +722,7 @@ index 653e22e0ee58..7b38a3ebd626 100644 RenderFrameHost* render_frame_host_; diff --git content/public/browser/browser_context.h content/public/browser/browser_context.h -index 28ba0306ffda..8d6fc0268d4b 100644 +index e49eaaa04abb..0c13d6a95a4d 100644 --- content/public/browser/browser_context.h +++ content/public/browser/browser_context.h @@ -217,6 +217,8 @@ class CONTENT_EXPORT BrowserContext : public base::SupportsUserData { @@ -829,10 +829,10 @@ index f55e28d79cda..297541d0a99a 100644 virtual ~StoragePartition() {} }; diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc -index 2b415cceb6cb..e3b71f3f0e74 100644 +index d33b70677f3c..a8a846e978f0 100644 --- storage/browser/database/database_tracker.cc +++ storage/browser/database/database_tracker.cc -@@ -482,7 +482,7 @@ bool DatabaseTracker::LazyInit() { +@@ -481,7 +481,7 @@ bool DatabaseTracker::LazyInit() { meta_table_.reset(new sql::MetaTable()); is_initialized_ = diff --git a/patch/patches/views_1749_2102.patch b/patch/patches/views_1749_2102.patch index 872182fd4..c886a4d91 100644 --- a/patch/patches/views_1749_2102.patch +++ b/patch/patches/views_1749_2102.patch @@ -295,10 +295,10 @@ index 9c78b30ab3a0..999eb4048f5c 100644 std::unique_ptr selection_controller_; diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc -index beecb7f27177..61bf431486db 100644 +index ee2852fefa84..bbba1786e1a4 100644 --- ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc -@@ -2421,8 +2421,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( +@@ -2430,8 +2430,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( void MenuController::OpenSubmenuChangeSelectionIfCan() { MenuItemView* item = pending_state_.item; @@ -313,7 +313,7 @@ index beecb7f27177..61bf431486db 100644 MenuItemView* to_select = NULL; if (item->GetSubmenu()->GetMenuItemCount() > 0) to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN); -@@ -2437,8 +2442,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { +@@ -2446,8 +2451,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { void MenuController::CloseSubmenu() { MenuItemView* item = state_.item; DCHECK(item); @@ -405,7 +405,7 @@ index 4ede4cb5fa04..8f4af6c91969 100644 minor ? ui::NativeTheme::kColorId_MenuItemMinorTextColor : ui::NativeTheme::kColorId_EnabledMenuItemForegroundColor; diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc -index e9cfe1c466c6..bc6797a8205d 100644 +index 784cad79f9db..0e7436792b59 100644 --- ui/views/controls/menu/menu_model_adapter.cc +++ ui/views/controls/menu/menu_model_adapter.cc @@ -231,6 +231,77 @@ void MenuModelAdapter::SelectionChanged(MenuItemView* menu) { @@ -512,7 +512,7 @@ index 0ac493c3c6a0..741769e90eb0 100644 void WillHideMenu(MenuItemView* menu) override; void OnMenuClosed(MenuItemView* menu) override; diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc -index 16a1bef6715e..867a643ec1d3 100644 +index ecbd5d773b9e..6c9d256b2143 100644 --- ui/views/controls/menu/menu_scroll_view_container.cc +++ ui/views/controls/menu/menu_scroll_view_container.cc @@ -183,6 +183,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) @@ -543,7 +543,7 @@ index 3ec1dcbdf822..e2658cec8095 100644 // Move the cursor because EnterNotify/LeaveNotify are generated with the // current mouse position as a result of XGrabPointer() diff --git ui/views/view.h ui/views/view.h -index cbc9e1866b46..65a12cf2ec98 100644 +index bae6ce42102e..f02008bdc354 100644 --- ui/views/view.h +++ ui/views/view.h @@ -19,6 +19,7 @@ diff --git a/patch/patches/views_widget_180_1481_1565_1677_1749.patch b/patch/patches/views_widget_180_1481_1565_1677_1749.patch index 7655de225..05bbd5f6a 100644 --- a/patch/patches/views_widget_180_1481_1565_1677_1749.patch +++ b/patch/patches/views_widget_180_1481_1565_1677_1749.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc -index c61199d5dd8f..f2c19e4e5f3c 100644 +index bb9aa275f5b4..b588f16aaa27 100644 --- content/browser/renderer_host/render_widget_host_view_base.cc +++ content/browser/renderer_host/render_widget_host_view_base.cc @@ -480,6 +480,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const { @@ -18,10 +18,10 @@ index c61199d5dd8f..f2c19e4e5f3c 100644 return renderer_frame_number_; } diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h -index 8ed6ffd3a284..91db6f55c396 100644 +index 922f7897e8fd..b43fdd6d55fb 100644 --- content/browser/renderer_host/render_widget_host_view_base.h +++ content/browser/renderer_host/render_widget_host_view_base.h -@@ -84,6 +84,7 @@ class CursorManager; +@@ -83,6 +83,7 @@ class CursorManager; class MouseWheelPhaseHandler; class RenderWidgetHostImpl; class RenderWidgetHostViewBaseObserver; @@ -29,7 +29,7 @@ index 8ed6ffd3a284..91db6f55c396 100644 class SyntheticGestureTarget; class TextInputManager; class TouchSelectionControllerClientManager; -@@ -105,6 +106,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -104,6 +105,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase float current_device_scale_factor() const { return current_device_scale_factor_; } @@ -39,7 +39,7 @@ index 8ed6ffd3a284..91db6f55c396 100644 // Returns the focused RenderWidgetHost inside this |view|'s RWH. RenderWidgetHostImpl* GetFocusedWidget() const; -@@ -141,6 +145,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -140,6 +144,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase void DisableAutoResize(const gfx::Size& new_size) override; bool IsScrollOffsetAtTop() const override; float GetDeviceScaleFactor() const final; @@ -48,7 +48,7 @@ index 8ed6ffd3a284..91db6f55c396 100644 TouchSelectionControllerClientManager* GetTouchSelectionControllerClientManager() override; -@@ -459,6 +465,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -458,6 +464,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase // helps to position the full screen widget on the correct monitor. virtual void InitAsFullscreen(RenderWidgetHostView* reference_host_view) = 0; @@ -61,7 +61,7 @@ index 8ed6ffd3a284..91db6f55c396 100644 // Sets the cursor for this view to the one associated with the specified // cursor_type. virtual void UpdateCursor(const WebCursor& cursor) = 0; -@@ -650,6 +662,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -644,6 +656,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase bool use_viz_hit_test_ = false; @@ -135,7 +135,7 @@ index f772f64d656e..7d13f9f81b6c 100644 return host ? host->GetAcceleratedWidget() : NULL; } diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -index 9ec5fdb9bb5c..0694641f11db 100644 +index 9c6b588516f2..90e804d0cc68 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -87,6 +87,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin( @@ -160,7 +160,7 @@ index 9ec5fdb9bb5c..0694641f11db 100644 remove_standard_frame_ = params.remove_standard_frame; has_non_client_view_ = Widget::RequiresNonClientView(params.type); -@@ -871,11 +876,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { +@@ -873,11 +878,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { } void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { @@ -427,10 +427,10 @@ index c7296fed234d..244d0034a1c4 100644 if (native_widget_delegate->IsDialogBox()) { *style |= DS_MODALFRAME; diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc -index 65ee52f582c9..b8f60b87ce21 100644 +index 4b7af541276d..8269cb4990f3 100644 --- ui/views/win/hwnd_message_handler.cc +++ ui/views/win/hwnd_message_handler.cc -@@ -2817,10 +2817,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, +@@ -2872,10 +2872,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, } else if (event.type() == ui::ET_MOUSEWHEEL) { ui::MouseWheelEvent mouse_wheel_event(msg); // Reroute the mouse wheel to the window under the pointer if applicable. diff --git a/patch/patches/vr_build_873170.patch b/patch/patches/vr_build_873170.patch new file mode 100644 index 000000000..82997b4a4 --- /dev/null +++ b/patch/patches/vr_build_873170.patch @@ -0,0 +1,12 @@ +diff --git chrome/browser/vr/BUILD.gn chrome/browser/vr/BUILD.gn +index 728d038d804f..744d1bf2725e 100644 +--- chrome/browser/vr/BUILD.gn ++++ chrome/browser/vr/BUILD.gn +@@ -356,6 +356,7 @@ source_set("vr_base") { + ] + + deps = [ ++ ":vr_build_features", + "//base", + "//components/rappor:rappor", + "//components/ukm/content", diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index 0f2fed10f..4b3c2f616 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 ccde2311b622..d0df241f6f22 100644 +index df8c751f12b0..bdcc0dd5c957 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc @@ -1935,21 +1935,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { @@ -45,7 +45,7 @@ index ccde2311b622..d0df241f6f22 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -2626,6 +2635,15 @@ void WebContentsImpl::CreateNewWindow( +@@ -2632,6 +2641,15 @@ void WebContentsImpl::CreateNewWindow( create_params.renderer_initiated_creation = main_frame_route_id != MSG_ROUTING_NONE; @@ -61,7 +61,7 @@ index ccde2311b622..d0df241f6f22 100644 std::unique_ptr new_contents; if (!is_guest) { create_params.context = view_->GetNativeView(); -@@ -2656,7 +2674,7 @@ void WebContentsImpl::CreateNewWindow( +@@ -2662,7 +2680,7 @@ void WebContentsImpl::CreateNewWindow( // TODO(brettw): It seems bogus that we have to call this function on the // newly created object and give it one of its own member variables. new_view->CreateViewForWidget( @@ -70,7 +70,7 @@ index ccde2311b622..d0df241f6f22 100644 } // Save the created window associated with the route so we can show it // later. -@@ -6000,7 +6018,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { +@@ -6023,7 +6041,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager( RenderViewHost* render_view_host) { RenderWidgetHostViewBase* rwh_view = diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index c6a1463dd..8b24101d4 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -10,10 +10,10 @@ index 92e9cb865204..4628c56882b4 100644 + GetPlugins(bool refresh, bool is_main_frame, url.mojom.Origin main_frame_origin) => (array plugins); }; diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h -index b70b944d371c..5f4649151baa 100644 +index be5ee3635cf5..471d8c908e52 100644 --- third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h -@@ -682,6 +682,11 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -701,6 +701,11 @@ class BLINK_PLATFORM_EXPORT Platform { // runs during Chromium's build step). virtual bool IsTakingV8ContextSnapshot() { return false; } @@ -26,7 +26,7 @@ index b70b944d371c..5f4649151baa 100644 Platform(); virtual ~Platform(); diff --git third_party/blink/renderer/core/dom/dom_implementation.cc third_party/blink/renderer/core/dom/dom_implementation.cc -index a2fbf84747aa..8ab120155ccd 100644 +index c360933eb10f..6295f9d675f7 100644 --- third_party/blink/renderer/core/dom/dom_implementation.cc +++ third_party/blink/renderer/core/dom/dom_implementation.cc @@ -243,10 +243,11 @@ Document* DOMImplementation::createDocument(const String& type, @@ -44,19 +44,19 @@ index a2fbf84747aa..8ab120155ccd 100644 .Top() .GetSecurityContext() diff --git third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc -index d250bb01f5cf..ae77e162e039 100644 +index eef3bcc92e45..4cc5abc51fc8 100644 --- third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc +++ third_party/blink/renderer/core/exported/web_dev_tools_agent_impl.cc -@@ -332,6 +332,8 @@ WebDevToolsAgentImpl::Session::Session( +@@ -327,6 +327,8 @@ WebDevToolsAgentImpl::Session::Session( &WebDevToolsAgentImpl::Session::Detach, WrapWeakPersistent(this))); - InitializeInspectorSession(reattach_state, std::move(reattach_session_state)); + InitializeInspectorSession(std::move(reattach_session_state)); + + Platform::Current()->DevToolsAgentAttached(); } WebDevToolsAgentImpl::Session::~Session() { -@@ -357,6 +359,7 @@ void WebDevToolsAgentImpl::Session::Detach() { +@@ -352,6 +354,7 @@ void WebDevToolsAgentImpl::Session::Detach() { io_session_->DeleteSoon(); io_session_ = nullptr; inspector_session_->Dispose(); @@ -65,10 +65,10 @@ index d250bb01f5cf..ae77e162e039 100644 void WebDevToolsAgentImpl::Session::SendProtocolResponse( diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc -index 4ad61b99668c..bb7da96dbe5c 100644 +index e681cb8f5042..bf92a04e394c 100644 --- third_party/blink/renderer/core/frame/local_frame.cc +++ third_party/blink/renderer/core/frame/local_frame.cc -@@ -1265,7 +1265,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { +@@ -1216,7 +1216,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { PluginData* LocalFrame::GetPluginData() const { if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin)) return nullptr; @@ -78,10 +78,10 @@ index 4ad61b99668c..bb7da96dbe5c 100644 } diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc -index c1140f566f50..2242209df9f6 100644 +index d49490d66514..62fe65941f2d 100644 --- third_party/blink/renderer/core/page/page.cc +++ third_party/blink/renderer/core/page/page.cc -@@ -164,7 +164,8 @@ Page::Page(PageClients& page_clients) +@@ -169,7 +169,8 @@ Page::Page(PageClients& page_clients) overscroll_controller_( OverscrollController::Create(GetVisualViewport(), GetChromeClient())), link_highlights_(LinkHighlights::Create(*this)), @@ -91,7 +91,7 @@ index c1140f566f50..2242209df9f6 100644 opened_by_dom_(false), tab_key_cycles_through_elements_(true), paused_(false), -@@ -330,21 +331,40 @@ void Page::InitialStyleChanged() { +@@ -328,21 +329,40 @@ void Page::InitialStyleChanged() { } } @@ -141,7 +141,7 @@ index c1140f566f50..2242209df9f6 100644 page->NotifyPluginsChanged(); } } -@@ -734,7 +754,8 @@ void Page::Trace(blink::Visitor* visitor) { +@@ -731,7 +751,8 @@ void Page::Trace(blink::Visitor* visitor) { visitor->Trace(overscroll_controller_); visitor->Trace(link_highlights_); visitor->Trace(main_frame_); @@ -152,10 +152,10 @@ index c1140f566f50..2242209df9f6 100644 visitor->Trace(plugins_changed_observers_); visitor->Trace(next_related_page_); diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h -index 41f555af82a0..c2f452e61072 100644 +index 9c25836191e6..398483fc9ca8 100644 --- third_party/blink/renderer/core/page/page.h +++ third_party/blink/renderer/core/page/page.h -@@ -138,7 +138,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, +@@ -135,7 +135,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, ViewportDescription GetViewportDescription() const; // Returns the plugin data associated with |main_frame_origin|. @@ -165,7 +165,7 @@ index 41f555af82a0..c2f452e61072 100644 // Resets the plugin data for all pages in the renderer process and notifies // PluginsChangedObservers. -@@ -366,7 +367,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, +@@ -360,7 +361,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized, const Member overscroll_controller_; const Member link_highlights_; diff --git a/patch/patches/webkit_pointer_event_781966.patch b/patch/patches/webkit_pointer_event_781966.patch index d4c09dd47..e3e78679d 100644 --- a/patch/patches/webkit_pointer_event_781966.patch +++ b/patch/patches/webkit_pointer_event_781966.patch @@ -1,5 +1,5 @@ diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc -index 1a981850154f..47ceeb806e95 100644 +index 6986dedf3300..ad161d5b3284 100644 --- third_party/blink/renderer/core/input/pointer_event_manager.cc +++ third_party/blink/renderer/core/input/pointer_event_manager.cc @@ -284,7 +284,7 @@ void PointerEventManager::HandlePointerInterruption( diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index aa07d8920..53d0dd25d 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -1,8 +1,8 @@ diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h -index fcba33880932..ef0bf66f8a2b 100644 +index 380ca3f69a26..fe841b6f25bd 100644 --- third_party/blink/public/web/web_view.h +++ third_party/blink/public/web/web_view.h -@@ -354,6 +354,7 @@ class WebView : protected WebWidget { +@@ -351,6 +351,7 @@ class WebView : protected WebWidget { // Sets whether select popup menus should be rendered by the browser. BLINK_EXPORT static void SetUseExternalPopupMenus(bool); @@ -10,7 +10,7 @@ index fcba33880932..ef0bf66f8a2b 100644 // Hides any popup (suggestions, selects...) that might be showing. virtual void HidePopups() = 0; -@@ -384,6 +385,8 @@ class WebView : protected WebWidget { +@@ -375,6 +376,8 @@ class WebView : protected WebWidget { unsigned inactive_background_color, unsigned inactive_foreground_color) = 0; @@ -20,10 +20,10 @@ index fcba33880932..ef0bf66f8a2b 100644 // Call these methods before and after running a nested, modal event loop diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc -index 291d4b7a9195..73d413c45a9f 100644 +index 23f0d6f74d4c..0fe6cb4d87d7 100644 --- third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -241,8 +241,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { +@@ -239,8 +239,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { g_should_use_external_popup_menus = use_external_popup_menus; } @@ -39,7 +39,7 @@ index 291d4b7a9195..73d413c45a9f 100644 } namespace { -@@ -337,6 +342,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client, +@@ -335,6 +340,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client, enable_fake_page_scale_animation_for_testing_(false), fake_page_scale_animation_page_scale_factor_(0), fake_page_scale_animation_use_anchor_(false), @@ -48,7 +48,7 @@ index 291d4b7a9195..73d413c45a9f 100644 suppress_next_keypress_event_(false), ime_accept_events_(true), diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h -index 9055bbe708a8..dc51d1db9921 100644 +index b9e684023537..3d220db31aad 100644 --- third_party/blink/renderer/core/exported/web_view_impl.h +++ third_party/blink/renderer/core/exported/web_view_impl.h @@ -105,7 +105,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -61,7 +61,7 @@ index 9055bbe708a8..dc51d1db9921 100644 // WebWidget methods: void Close() override; -@@ -247,7 +248,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -246,7 +247,7 @@ class CORE_EXPORT WebViewImpl final : public WebView, HitTestResult CoreHitTestResultAt(const WebPoint&); void InvalidateRect(const IntRect&); @@ -70,7 +70,7 @@ index 9055bbe708a8..dc51d1db9921 100644 void SetBaseBackgroundColorOverride(SkColor); void ClearBaseBackgroundColorOverride(); void SetBackgroundColorOverride(SkColor); -@@ -608,6 +609,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -603,6 +604,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, float fake_page_scale_animation_page_scale_factor_; bool fake_page_scale_animation_use_anchor_; @@ -80,10 +80,10 @@ index 9055bbe708a8..dc51d1db9921 100644 TransformationMatrix device_emulation_transform_; diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc -index 452a87d9f43d..84c562716d72 100644 +index 963828a16782..86a841fcd4f3 100644 --- third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc -@@ -780,7 +780,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { +@@ -827,7 +827,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, HTMLSelectElement& select) { NotifyPopupOpeningObservers(); diff --git a/patch/patches/webui_2037.patch b/patch/patches/webui_2037.patch index 7a8f16103..557daf142 100644 --- a/patch/patches/webui_2037.patch +++ b/patch/patches/webui_2037.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc -index 327117d8344c..136ba5df36c8 100644 +index dfe0f29dc772..606f07a1d1ed 100644 --- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc @@ -18,6 +18,7 @@ @@ -35,11 +35,11 @@ index 327117d8344c..136ba5df36c8 100644 extensions::ExtensionRegistry::Get(profile); std::string extensions_list; diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc -index abd72f75fa01..9566c1cea50a 100644 +index e4cfd5b02bea..20a5f81fe231 100644 --- chrome/browser/memory_details.cc +++ chrome/browser/memory_details.cc @@ -16,6 +16,7 @@ - #include "base/task_scheduler/post_task.h" + #include "base/task/post_task.h" #include "build/build_config.h" #include "chrome/browser/profiles/profile.h" +#include "chrome/common/chrome_switches.h" diff --git a/patch/patches/webview_plugin_2020.patch b/patch/patches/webview_plugin_2020.patch index 3afed5b45..043aebde3 100644 --- a/patch/patches/webview_plugin_2020.patch +++ b/patch/patches/webview_plugin_2020.patch @@ -1,5 +1,5 @@ diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd -index df8b3cdab7ca..940f176053b4 100644 +index 1ab962523b2e..3b1245adc42d 100644 --- chrome/app/generated_resources.grd +++ chrome/app/generated_resources.grd @@ -4457,7 +4457,7 @@ Keep your key file in a safe place. You will need it to create new versions of y diff --git a/patch/patches/zlib.patch b/patch/patches/zlib.patch deleted file mode 100644 index 7fa4e87a2..000000000 --- a/patch/patches/zlib.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git third_party/zlib/contrib/minizip/unzip.c third_party/zlib/contrib/minizip/unzip.c -index 199b4723fcfc..be424783fece 100644 ---- third_party/zlib/contrib/minizip/unzip.c -+++ third_party/zlib/contrib/minizip/unzip.c -@@ -69,7 +69,7 @@ - #include - - #ifndef NOUNCRYPT -- #define NOUNCRYPT -+// #define NOUNCRYPT - #endif - - #include "third_party/zlib/zlib.h"