diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index ac42ceb73..4e3d92cb1 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/68.0.3416.0', + 'chromium_checkout': 'refs/tags/68.0.3425.0', } diff --git a/CHROMIUM_UPDATE.txt b/CHROMIUM_UPDATE.txt index a5a4289ca..9d29d4ee1 100644 --- a/CHROMIUM_UPDATE.txt +++ b/CHROMIUM_UPDATE.txt @@ -27,29 +27,31 @@ # Files in the chromium/src directory that should be evaluated for changes. # Similar changes may need to be applied to the CEF source code. 'files': [ - 'chrome/browser/extensions/api/tabs/tabs_api.*', - 'chrome/browser/extensions/chrome_component_extension_resource_manager.*', - 'chrome/browser/extensions/chrome_extension_web_contents_observer.*', - 'chrome/browser/extensions/component_loader.*', - 'chrome/browser/extensions/extension_service.*', - 'chrome/browser/printing/print_view_manager*', - 'chrome/browser/printing/printing_message_filter*', - 'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*', - 'chrome/common/extensions/api/*_features.json', - 'chrome/renderer/chrome_content_renderer_client.*', - 'chrome/renderer/extensions/chrome_extensions_renderer_client.*', - 'content/public/browser/render_widget_host_view.h', - 'content/public/browser/storage_partition.h', - 'content/shell/BUILD.gn', - 'content/shell/app/*', - 'content/shell/browser/shell_*', - 'content/shell/browser/renderer_host/shell_*', - 'content/shell/common/shell_*', - 'content/shell/gpu/shell_*', - 'content/shell/renderer/shell_*', - 'content/shell/utility/shell_*', - 'extensions/shell/*', - 'net/cookies/cookie_store.h', + 'chrome/browser/browser_process.h', + 'chrome/browser/extensions/api/tabs/tabs_api.*', + 'chrome/browser/extensions/chrome_component_extension_resource_manager.*', + 'chrome/browser/extensions/chrome_extension_web_contents_observer.*', + 'chrome/browser/extensions/component_loader.*', + 'chrome/browser/extensions/extension_service.*', + 'chrome/browser/printing/print_view_manager*', + 'chrome/browser/printing/printing_message_filter*', + 'chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate.*', + 'chrome/common/extensions/api/*_features.json', + 'chrome/renderer/chrome_content_renderer_client.*', + 'chrome/renderer/extensions/chrome_extensions_renderer_client.*', + 'content/public/browser/render_widget_host_view.h', + 'content/public/browser/storage_partition.h', + 'content/public/browser/web_contents_delegate.h', + 'content/shell/BUILD.gn', + 'content/shell/app/*', + 'content/shell/browser/shell_*', + 'content/shell/browser/renderer_host/shell_*', + 'content/shell/common/shell_*', + 'content/shell/gpu/shell_*', + 'content/shell/renderer/shell_*', + 'content/shell/utility/shell_*', + 'extensions/shell/*', + 'net/cookies/cookie_store.h', ], # Patterns that should not be found in the chromium/src directory after # applying patch files. diff --git a/libcef/browser/browser_host_impl.cc b/libcef/browser/browser_host_impl.cc index 2b06bfb0d..e423c1d16 100644 --- a/libcef/browser/browser_host_impl.cc +++ b/libcef/browser/browser_host_impl.cc @@ -1903,7 +1903,8 @@ bool CefBrowserHostImpl::EmbedsFullscreenWidget() const { void CefBrowserHostImpl::EnterFullscreenModeForTab( content::WebContents* web_contents, - const GURL& origin) { + const GURL& origin, + const blink::WebFullscreenOptions& options) { OnFullscreenModeChange(true); } diff --git a/libcef/browser/browser_host_impl.h b/libcef/browser/browser_host_impl.h index 0b4bf4df6..e9e80fbfe 100644 --- a/libcef/browser/browser_host_impl.h +++ b/libcef/browser/browser_host_impl.h @@ -452,8 +452,10 @@ class CefBrowserHostImpl : public CefBrowserHost, void RunFileChooser(content::RenderFrameHost* render_frame_host, const content::FileChooserParams& params) override; bool EmbedsFullscreenWidget() const override; - void EnterFullscreenModeForTab(content::WebContents* web_contents, - const GURL& origin) override; + void EnterFullscreenModeForTab( + content::WebContents* web_contents, + const GURL& origin, + const blink::WebFullscreenOptions& options) override; void ExitFullscreenModeForTab(content::WebContents* web_contents) override; bool IsFullscreenForTabOrPending( const content::WebContents* web_contents) const override; diff --git a/libcef/browser/browser_main.cc b/libcef/browser/browser_main.cc index 3872e69dc..abe2aec33 100644 --- a/libcef/browser/browser_main.cc +++ b/libcef/browser/browser_main.cc @@ -30,10 +30,10 @@ #include "chrome/browser/chrome_browser_main_extra_parts.h" #include "chrome/browser/plugins/plugin_finder.h" #include "content/public/browser/gpu_data_manager.h" +#include "content/public/common/result_codes.h" #include "extensions/browser/extension_system.h" #include "extensions/common/constants.h" #include "net/base/net_module.h" -#include "services/service_manager/embedder/result_codes.h" #include "ui/base/resource/resource_bundle.h" #if defined(USE_AURA) @@ -80,7 +80,7 @@ int CefBrowserMainParts::PreEarlyInitialization() { for (size_t i = 0; i < chrome_extra_parts_.size(); ++i) chrome_extra_parts_[i]->PreEarlyInitialization(); - return service_manager::RESULT_CODE_NORMAL_EXIT; + return content::RESULT_CODE_NORMAL_EXIT; } void CefBrowserMainParts::PostEarlyInitialization() { diff --git a/libcef/browser/chrome_browser_process_stub.cc b/libcef/browser/chrome_browser_process_stub.cc index f492a3e0c..0692c2b41 100644 --- a/libcef/browser/chrome_browser_process_stub.cc +++ b/libcef/browser/chrome_browser_process_stub.cc @@ -346,12 +346,6 @@ resource_coordinator::TabManager* ChromeBrowserProcessStub::GetTabManager() { return NULL; } -physical_web::PhysicalWebDataSource* -ChromeBrowserProcessStub::GetPhysicalWebDataSource() { - NOTREACHED(); - return NULL; -} - prefs::InProcessPrefServiceFactory* ChromeBrowserProcessStub::pref_service_factory() const { NOTREACHED(); diff --git a/libcef/browser/chrome_browser_process_stub.h b/libcef/browser/chrome_browser_process_stub.h index 0052f7d58..4a6f28228 100644 --- a/libcef/browser/chrome_browser_process_stub.h +++ b/libcef/browser/chrome_browser_process_stub.h @@ -104,7 +104,6 @@ class ChromeBrowserProcessStub : public BrowserProcess, shell_integration::DefaultWebClientState CachedDefaultWebClientState() override; resource_coordinator::TabManager* GetTabManager() override; - physical_web::PhysicalWebDataSource* GetPhysicalWebDataSource() override; prefs::InProcessPrefServiceFactory* pref_service_factory() const override; // BrowserContextIncognitoHelper implementation. diff --git a/libcef/browser/content_browser_client.cc b/libcef/browser/content_browser_client.cc index cf5cc37f8..edbb712a7 100644 --- a/libcef/browser/content_browser_client.cc +++ b/libcef/browser/content_browser_client.cc @@ -86,7 +86,6 @@ #include "extensions/common/switches.h" #include "net/ssl/ssl_cert_request_info.h" #include "ppapi/host/ppapi_host.h" -#include "services/service_manager/embedder/switches.h" #include "services/service_manager/public/mojom/connector.mojom.h" #include "services/service_manager/sandbox/switches.h" #include "storage/browser/quota/quota_settings.h" @@ -721,7 +720,7 @@ void CefContentBrowserClient::AppendExtraCommandLineSwitches( } #if defined(OS_LINUX) - if (process_type == service_manager::switches::kZygoteProcess) { + if (process_type == switches::kZygoteProcess) { // Propagate the following switches to the zygote command line (along with // any associated values) if present in the browser command line. static const char* const kSwitchNames[] = { @@ -983,7 +982,7 @@ void CefContentBrowserClient::GetAdditionalMappedFilesForChildProcess( content::PosixFileDescriptorInfo* mappings) { int crash_signal_fd = GetCrashSignalFD(command_line); if (crash_signal_fd >= 0) { - mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd); + mappings->Share(kCrashDumpSignal, crash_signal_fd); } } #endif // defined(OS_LINUX) diff --git a/libcef/browser/cookie_manager_impl.cc b/libcef/browser/cookie_manager_impl.cc index e4019d2b0..7cbc4a094 100644 --- a/libcef/browser/cookie_manager_impl.cc +++ b/libcef/browser/cookie_manager_impl.cc @@ -609,7 +609,7 @@ void CefCookieManagerImpl::DeleteCookiesInternal( base::Bind(DeleteCookiesCallbackImpl, callback)); } else if (cookie_name.empty()) { // Delete all matching host cookies. - net::CookieStore::CookieDeletionInfo delete_info; + net::CookieDeletionInfo delete_info; delete_info.host = url.host(); cookie_store->DeleteAllMatchingInfoAsync( delete_info, base::Bind(DeleteCookiesCallbackImpl, callback)); diff --git a/libcef/browser/net/cookie_store_proxy.cc b/libcef/browser/net/cookie_store_proxy.cc index 71805bb60..654f07bfa 100644 --- a/libcef/browser/net/cookie_store_proxy.cc +++ b/libcef/browser/net/cookie_store_proxy.cc @@ -130,7 +130,7 @@ void CefCookieStoreProxy::DeleteCanonicalCookieAsync( } void CefCookieStoreProxy::DeleteAllCreatedInTimeRangeAsync( - const TimeRange& creation_range, + const net::CookieDeletionInfo::TimeRange& creation_range, DeleteCallback callback) { net::CookieStore* cookie_store = GetCookieStore(); if (cookie_store) { @@ -142,7 +142,7 @@ void CefCookieStoreProxy::DeleteAllCreatedInTimeRangeAsync( } void CefCookieStoreProxy::DeleteAllMatchingInfoAsync( - CookieDeletionInfo delete_info, + net::CookieDeletionInfo delete_info, DeleteCallback callback) { net::CookieStore* cookie_store = GetCookieStore(); if (cookie_store) { diff --git a/libcef/browser/net/cookie_store_proxy.h b/libcef/browser/net/cookie_store_proxy.h index 7b59ef24a..c1f1e4b0e 100644 --- a/libcef/browser/net/cookie_store_proxy.h +++ b/libcef/browser/net/cookie_store_proxy.h @@ -39,9 +39,10 @@ class CefCookieStoreProxy : public net::CookieStore { base::OnceClosure callback) override; void DeleteCanonicalCookieAsync(const net::CanonicalCookie& cookie, DeleteCallback callback) override; - void DeleteAllCreatedInTimeRangeAsync(const TimeRange& creation_range, - DeleteCallback callback) override; - void DeleteAllMatchingInfoAsync(CookieDeletionInfo delete_info, + void DeleteAllCreatedInTimeRangeAsync( + const net::CookieDeletionInfo::TimeRange& creation_range, + DeleteCallback callback) override; + void DeleteAllMatchingInfoAsync(net::CookieDeletionInfo delete_info, DeleteCallback callback) override; void DeleteSessionCookiesAsync(DeleteCallback callback) override; void FlushStore(base::OnceClosure callback) override; diff --git a/libcef/browser/net/url_request_context_getter_impl.cc b/libcef/browser/net/url_request_context_getter_impl.cc index bdd1f123a..ebae38918 100644 --- a/libcef/browser/net/url_request_context_getter_impl.cc +++ b/libcef/browser/net/url_request_context_getter_impl.cc @@ -138,7 +138,7 @@ std::unique_ptr CreateProxyResolutionService( proxy_service = network::CreateProxyResolutionServiceUsingMojoFactory( std::move(proxy_resolver_factory), std::move(proxy_config_service), - std::make_unique(context), + net::PacFileFetcherImpl::Create(context), std::move(dhcp_pac_file_fetcher), context->host_resolver(), net_log, network_delegate); } else { diff --git a/libcef/browser/osr/osr_accessibility_util.cc b/libcef/browser/osr/osr_accessibility_util.cc index 42c533cfe..31cf5f80c 100644 --- a/libcef/browser/osr/osr_accessibility_util.cc +++ b/libcef/browser/osr/osr_accessibility_util.cc @@ -80,6 +80,7 @@ struct PopulateAxNodeAttributes { case ax::mojom::IntAttribute::kScrollY: case ax::mojom::IntAttribute::kScrollYMin: case ax::mojom::IntAttribute::kScrollYMax: + case ax::mojom::IntAttribute::kHasPopup: case ax::mojom::IntAttribute::kHierarchicalLevel: case ax::mojom::IntAttribute::kTextSelStart: case ax::mojom::IntAttribute::kTextSelEnd: diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index db50f93b4..34e33e342 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -240,14 +240,10 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR( local_surface_id_ = local_surface_id_allocator_.GenerateId(); - // Surface synchronization is not supported with OSR. - DCHECK(!features::IsSurfaceSynchronizationEnabled()); - #if !defined(OS_MACOSX) // Matching the attributes from BrowserCompositorMac. delegated_frame_host_ = std::make_unique( AllocateFrameSinkId(is_guest_view_hack), this, - features::IsSurfaceSynchronizationEnabled(), base::FeatureList::IsEnabled(features::kVizDisplayCompositor), true /* should_register_frame_sink_id */); @@ -279,7 +275,7 @@ CefRenderWidgetHostViewOSR::CefRenderWidgetHostViewOSR( #endif if (browser_impl_.get()) - ResizeRootLayer(); + ResizeRootLayer(false); // Do this last because it may result in a call to SetNeedsBeginFrames. render_widget_host_->SetView(this); @@ -329,7 +325,7 @@ void CefRenderWidgetHostViewOSR::InitAsChild(gfx::NativeView parent_view) { // The parent view should not render while the full-screen view exists. parent_host_view_->Hide(); - ResizeRootLayer(); + ResizeRootLayer(false); Show(); } @@ -559,7 +555,7 @@ void CefRenderWidgetHostViewOSR::InitAsPopup( if (handler.get()) handler->OnPopupSize(browser_impl_.get(), widget_pos); - ResizeRootLayer(); + ResizeRootLayer(false); Show(); } @@ -878,7 +874,7 @@ void CefRenderWidgetHostViewOSR::SetWantsAnimateOnlyBeginFrames() { } } -bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace( +bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpaceLegacy( const gfx::PointF& point, const viz::SurfaceId& original_surface, gfx::PointF* transformed_point) { @@ -886,7 +882,7 @@ bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace( // is necessary. gfx::PointF point_in_pixels = gfx::ConvertPointToPixel(current_device_scale_factor_, point); - if (!GetDelegatedFrameHost()->TransformPointToLocalCoordSpace( + if (!GetDelegatedFrameHost()->TransformPointToLocalCoordSpaceLegacy( point_in_pixels, original_surface, transformed_point)) { return false; } @@ -899,7 +895,8 @@ bool CefRenderWidgetHostViewOSR::TransformPointToLocalCoordSpace( bool CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView( const gfx::PointF& point, RenderWidgetHostViewBase* target_view, - gfx::PointF* transformed_point) { + gfx::PointF* transformed_point, + viz::EventSource source) { if (target_view == this) { *transformed_point = point; return true; @@ -909,14 +906,16 @@ bool CefRenderWidgetHostViewOSR::TransformPointToCoordSpaceForView( // but it is not necessary here because the final target view is responsible // for converting before computing the final transform. return GetDelegatedFrameHost()->TransformPointToCoordSpaceForView( - point, target_view, transformed_point); + point, target_view, transformed_point, source); } void CefRenderWidgetHostViewOSR::DidNavigate() { #if defined(OS_MACOSX) browser_compositor_->DidNavigate(); #else - ResizeRootLayer(); + // With surface synchronization enabled we need to force synchronization on + // first navigation. + ResizeRootLayer(true); if (delegated_frame_host_) delegated_frame_host_->DidNavigate(); #endif @@ -956,18 +955,6 @@ SkColor CefRenderWidgetHostViewOSR::DelegatedFrameHostGetGutterColor() const { return background_color_; } -bool CefRenderWidgetHostViewOSR::DelegatedFrameCanCreateResizeLock() const { - return !render_widget_host_->auto_resize_enabled(); -} - -std::unique_ptr -CefRenderWidgetHostViewOSR::DelegatedFrameHostCreateResizeLock() { - HoldResize(); - - const gfx::Size& desired_size = GetRootLayer()->bounds().size(); - return std::make_unique(this, desired_size); -} - viz::LocalSurfaceId CefRenderWidgetHostViewOSR::GetLocalSurfaceId() const { return local_surface_id_; } @@ -981,10 +968,6 @@ void CefRenderWidgetHostViewOSR::OnBeginFrame(base::TimeTicks frame_time) { // See https://codereview.chromium.org/1841083007. } -bool CefRenderWidgetHostViewOSR::IsAutoResizeEnabled() const { - return render_widget_host_->auto_resize_enabled(); -} - void CefRenderWidgetHostViewOSR::OnFrameTokenChanged(uint32_t frame_token) { render_widget_host_->DidProcessFrame(frame_token); } @@ -1025,7 +1008,7 @@ void CefRenderWidgetHostViewOSR::SynchronizeVisualProperties() { return; } - ResizeRootLayer(); + ResizeRootLayer(false); } void CefRenderWidgetHostViewOSR::OnScreenInfoChanged() { @@ -1353,7 +1336,7 @@ void CefRenderWidgetHostViewOSR::SetDeviceScaleFactor() { } } -void CefRenderWidgetHostViewOSR::ResizeRootLayer() { +void CefRenderWidgetHostViewOSR::ResizeRootLayer(bool force) { SetFrameRate(); const float orgScaleFactor = current_device_scale_factor_; @@ -1367,8 +1350,10 @@ void CefRenderWidgetHostViewOSR::ResizeRootLayer() { else size = popup_position_.size(); - if (!scaleFactorDidChange && size == GetRootLayer()->bounds().size()) + if (!force && !scaleFactorDidChange && + size == GetRootLayer()->bounds().size()) { return; + } const gfx::Size& size_in_pixels = gfx::ConvertSizeToPixel(current_device_scale_factor_, size); diff --git a/libcef/browser/osr/render_widget_host_view_osr.h b/libcef/browser/osr/render_widget_host_view_osr.h index c75b46a20..fcbd5050e 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.h +++ b/libcef/browser/osr/render_widget_host_view_osr.h @@ -173,13 +173,15 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase, void SetNeedsBeginFrames(bool enabled) override; void SetWantsAnimateOnlyBeginFrames() override; - bool TransformPointToLocalCoordSpace(const gfx::PointF& point, - const viz::SurfaceId& original_surface, - gfx::PointF* transformed_point) override; + bool TransformPointToLocalCoordSpaceLegacy( + const gfx::PointF& point, + const viz::SurfaceId& original_surface, + gfx::PointF* transformed_point) override; bool TransformPointToCoordSpaceForView( const gfx::PointF& point, RenderWidgetHostViewBase* target_view, - gfx::PointF* transformed_point) override; + gfx::PointF* transformed_point, + viz::EventSource source = viz::EventSource::ANY) override; void DidNavigate() override; void SelectionChanged(const base::string16& text, @@ -195,13 +197,9 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase, ui::Layer* DelegatedFrameHostGetLayer() const override; bool DelegatedFrameHostIsVisible() const override; SkColor DelegatedFrameHostGetGutterColor() const override; - bool DelegatedFrameCanCreateResizeLock() const override; - std::unique_ptr - DelegatedFrameHostCreateResizeLock() override; viz::LocalSurfaceId GetLocalSurfaceId() const override; void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override; void OnBeginFrame(base::TimeTicks frame_time) override; - bool IsAutoResizeEnabled() const override; void OnFrameTokenChanged(uint32_t frame_token) override; void DidReceiveFirstFrameAfterNavigation() override; @@ -267,7 +265,7 @@ class CefRenderWidgetHostViewOSR : public content::RenderWidgetHostViewBase, void SetFrameRate(); void SetDeviceScaleFactor(); - void ResizeRootLayer(); + void ResizeRootLayer(bool force); // Called by CefBeginFrameTimer to send a BeginFrame request. void OnBeginFrameTimerTick(); diff --git a/libcef/browser/osr/render_widget_host_view_osr_mac.mm b/libcef/browser/osr/render_widget_host_view_osr_mac.mm index 714133144..f85103d54 100644 --- a/libcef/browser/osr/render_widget_host_view_osr_mac.mm +++ b/libcef/browser/osr/render_widget_host_view_osr_mac.mm @@ -61,7 +61,7 @@ class MacHelper : public content::BrowserCompositorMacClient, return nil; } - void AcceleratedWidgetSwapCompleted() override {} + void AcceleratedWidgetCALayerParamsUpdated() override {} void DidReceiveFirstFrameAfterNavigation() override { view_->render_widget_host()->DidReceiveFirstFrameAfterNavigation(); @@ -69,8 +69,8 @@ class MacHelper : public content::BrowserCompositorMacClient, void DestroyCompositorForShutdown() override {} - void SynchronizeVisualProperties() override { - view_->render_widget_host()->SynchronizeVisualProperties(); + bool SynchronizeVisualProperties() override { + return view_->render_widget_host()->SynchronizeVisualProperties(); } private: diff --git a/libcef/browser/printing/print_dialog_linux.cc b/libcef/browser/printing/print_dialog_linux.cc index 1321ed1e4..e92a4af9e 100644 --- a/libcef/browser/printing/print_dialog_linux.cc +++ b/libcef/browser/printing/print_dialog_linux.cc @@ -176,8 +176,8 @@ void CefPrintDialogLinux::UseDefaultSettings() { UpdateSettings(&settings, true); } -bool CefPrintDialogLinux::UpdateSettings(printing::PrintSettings* settings) { - return UpdateSettings(settings, false); +void CefPrintDialogLinux::UpdateSettings(printing::PrintSettings* settings) { + UpdateSettings(settings, false); } void CefPrintDialogLinux::ShowDialog( diff --git a/libcef/browser/printing/print_dialog_linux.h b/libcef/browser/printing/print_dialog_linux.h index dc10ecd96..44cbb6fa7 100644 --- a/libcef/browser/printing/print_dialog_linux.h +++ b/libcef/browser/printing/print_dialog_linux.h @@ -42,7 +42,7 @@ class CefPrintDialogLinux : public printing::PrintDialogGtkInterface, // PrintDialogGtkInterface implementation. void UseDefaultSettings() override; - bool UpdateSettings(printing::PrintSettings* settings) override; + void UpdateSettings(printing::PrintSettings* settings) override; void ShowDialog( gfx::NativeView parent_view, bool has_selection, diff --git a/libcef/browser/printing/print_view_manager.cc b/libcef/browser/printing/print_view_manager.cc index 95fe80ef2..c8b278892 100644 --- a/libcef/browser/printing/print_view_manager.cc +++ b/libcef/browser/printing/print_view_manager.cc @@ -50,7 +50,6 @@ void FillInDictionaryFromPdfPrintSettings( print_settings.SetBoolean(kSettingCollate, false); print_settings.SetString(kSettingDeviceName, ""); print_settings.SetBoolean(kSettingRasterizePdf, false); - print_settings.SetBoolean(kSettingGenerateDraftData, false); print_settings.SetBoolean(kSettingPreviewModifiable, false); print_settings.SetInteger(kSettingDpiHorizontal, 0); print_settings.SetInteger(kSettingDpiVertical, 0); diff --git a/libcef/browser/printing/print_view_manager_base.cc b/libcef/browser/printing/print_view_manager_base.cc index 705239537..169951488 100644 --- a/libcef/browser/printing/print_view_manager_base.cc +++ b/libcef/browser/printing/print_view_manager_base.cc @@ -12,7 +12,6 @@ #include "base/location.h" #include "base/memory/ref_counted_memory.h" #include "base/memory/shared_memory.h" -#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop_current.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h" diff --git a/libcef/browser/storage_partition_proxy.cc b/libcef/browser/storage_partition_proxy.cc index 3f0dba32e..772e65636 100644 --- a/libcef/browser/storage_partition_proxy.cc +++ b/libcef/browser/storage_partition_proxy.cc @@ -134,12 +134,13 @@ void CefStoragePartitionProxy::ClearData( uint32_t remove_mask, uint32_t quota_storage_remove_mask, const OriginMatcherFunction& origin_matcher, - net::CookieStore::CookieDeletionInfo cookie_delete_info, + network::mojom::CookieDeletionFilterPtr cookie_deletion_filter, const base::Time begin, const base::Time end, base::OnceClosure callback) { parent_->ClearData(remove_mask, quota_storage_remove_mask, origin_matcher, - cookie_delete_info, begin, end, std::move(callback)); + std::move(cookie_deletion_filter), begin, end, + std::move(callback)); } void CefStoragePartitionProxy::ClearHttpAndMediaCaches( diff --git a/libcef/browser/storage_partition_proxy.h b/libcef/browser/storage_partition_proxy.h index 2c8785a17..e46f07e00 100644 --- a/libcef/browser/storage_partition_proxy.h +++ b/libcef/browser/storage_partition_proxy.h @@ -59,7 +59,7 @@ class CefStoragePartitionProxy : public content::StoragePartition { void ClearData(uint32_t remove_mask, uint32_t quota_storage_remove_mask, const OriginMatcherFunction& origin_matcher, - net::CookieStore::CookieDeletionInfo cookie_delete_info, + network::mojom::CookieDeletionFilterPtr cookie_deletion_filter, const base::Time begin, const base::Time end, base::OnceClosure callback) override; diff --git a/libcef/common/crash_reporter_client.cc b/libcef/common/crash_reporter_client.cc index 4ec3c1f95..4038eaff6 100644 --- a/libcef/common/crash_reporter_client.cc +++ b/libcef/common/crash_reporter_client.cc @@ -18,7 +18,6 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "components/crash/core/common/crash_key.h" -#include "services/service_manager/embedder/switches.h" #include "third_party/crashpad/crashpad/client/annotation.h" #if defined(OS_MACOSX) @@ -624,7 +623,7 @@ bool CefCrashReporterClient::EnableBreakpadForProcess( const std::string& process_type) { return process_type == switches::kRendererProcess || process_type == switches::kPpapiPluginProcess || - process_type == service_manager::switches::kZygoteProcess || + process_type == switches::kZygoteProcess || process_type == switches::kGpuProcess; } diff --git a/libcef/common/crash_reporting.cc b/libcef/common/crash_reporting.cc index a5660b0a9..d01f3c265 100644 --- a/libcef/common/crash_reporting.cc +++ b/libcef/common/crash_reporting.cc @@ -16,7 +16,6 @@ #include "components/crash/core/common/crash_key.h" #include "components/crash/core/common/crash_keys.h" #include "content/public/common/content_switches.h" -#include "services/service_manager/embedder/switches.h" #if defined(OS_MACOSX) #include "base/mac/foundation_util.h" @@ -131,7 +130,7 @@ void InitCrashReporter(const base::CommandLine& command_line, #else // !defined(OS_MACOSX) breakpad::SetCrashServerURL(crash_client->GetCrashServerURL()); - if (process_type != service_manager::switches::kZygoteProcess) { + if (process_type != switches::kZygoteProcess) { // Crash reporting for subprocesses created using the zygote will be // initialized in ZygoteForked. breakpad::InitCrashReporter(process_type); diff --git a/libcef/common/main_delegate.cc b/libcef/common/main_delegate.cc index f76e8448f..0933b76ad 100644 --- a/libcef/common/main_delegate.cc +++ b/libcef/common/main_delegate.cc @@ -448,14 +448,6 @@ bool CefMainDelegate::BasicStartupComplete(int* exit_code) { base::FEATURE_ENABLED_BY_DEFAULT) { disable_features.push_back(features::kAsyncWheelEvents.name); } - - // Disable SurfaceSynchronization when OSR is enabled, otherwise rendering - // will fail. - if (features::kEnableSurfaceSynchronization.default_state == - base::FEATURE_ENABLED_BY_DEFAULT) { - disable_features.push_back( - features::kEnableSurfaceSynchronization.name); - } } if (!disable_features.empty()) { diff --git a/libcef/common/widevine_loader.cc b/libcef/common/widevine_loader.cc index 8f568bd18..ef2c679bd 100644 --- a/libcef/common/widevine_loader.cc +++ b/libcef/common/widevine_loader.cc @@ -25,7 +25,6 @@ #include "content/public/common/content_switches.h" #include "media/cdm/cdm_host_file.h" #include "media/cdm/supported_cdm_versions.h" -#include "services/service_manager/embedder/switches.h" #include "services/service_manager/sandbox/switches.h" namespace { @@ -84,6 +83,8 @@ const char kCdmCodecsListName[] = "x-cdm-codecs"; // Whether persistent license is supported by the CDM: "true" or "false". const char kCdmPersistentLicenseSupportName[] = "x-cdm-persistent-license-support"; +const char kCdmSupportedEncryptionSchemesName[] = + "x-cdm-supported-encryption-schemes"; // The following strings are used to specify supported codecs in the // parameter |kCdmCodecsListName|. @@ -93,6 +94,11 @@ const char kCdmSupportedCodecVp9[] = "vp9.0"; const char kCdmSupportedCodecAvc1[] = "avc1"; #endif +// The following strings are used to specify supported encryption schemes in +// the parameter |kCdmSupportedEncryptionSchemesName|. +const char kCdmSupportedEncryptionSchemeCenc[] = "cenc"; +const char kCdmSupportedEncryptionSchemeCbcs[] = "cbcs"; + std::unique_ptr ParseManifestFile( const base::FilePath& manifest_path) { CEF_REQUIRE_BLOCKING(); @@ -176,6 +182,57 @@ bool IsCompatibleWithChrome(const base::DictionaryValue& manifest, error_message); } +// Determine the set of encryption schemes supported from |manifest|. It is +// assumed that all CDMs support 'cenc', so if the manifest entry +// |kCdmSupportedEncryptionSchemesName| is missing, the result will indicate +// support for 'cenc' only. Incorrect types in the manifest entry will log +// the error and return the empty set. Unrecognized values will be reported +// but otherwise ignored. +base::flat_set GetSupportedEncryptionSchemes( + const base::DictionaryValue& manifest, + std::string* error_message) { + const base::Value* value = + manifest.FindKey(kCdmSupportedEncryptionSchemesName); + if (!value) + return {media::EncryptionMode::kCenc}; + + if (!value->is_list()) { + std::stringstream ss; + ss << "Manifest entry " << kCdmSupportedEncryptionSchemesName + << " is not a list."; + *error_message = ss.str(); + return {}; + } + + const base::Value::ListStorage& list = value->GetList(); + base::flat_set result; + for (const auto& item : list) { + if (!item.is_string()) { + std::stringstream ss; + ss << "Unrecognized item type in manifest entry " + << kCdmSupportedEncryptionSchemesName; + *error_message = ss.str(); + return {}; + } + + const std::string& scheme = item.GetString(); + if (scheme == kCdmSupportedEncryptionSchemeCenc) { + result.insert(media::EncryptionMode::kCenc); + } else if (scheme == kCdmSupportedEncryptionSchemeCbcs) { + result.insert(media::EncryptionMode::kCbcs); + } else { + std::stringstream ss; + ss << "Unrecognized encryption scheme " << scheme << " in manifest entry " + << kCdmSupportedEncryptionSchemesName; + if (!error_message->empty()) + *error_message += ", "; + *error_message += ss.str(); + } + } + + return result; +} + // Verify and load the contents of |base_path|. cef_cdm_registration_error_t LoadWidevineCdmInfo( const base::FilePath& base_path, @@ -183,6 +240,7 @@ cef_cdm_registration_error_t LoadWidevineCdmInfo( std::string* cdm_version, std::string* cdm_codecs, bool* supports_persistent_license, + base::flat_set* supported_encryption_schemes, std::string* error_message) { std::stringstream ss; @@ -224,6 +282,11 @@ cef_cdm_registration_error_t LoadWidevineCdmInfo( manifest->FindKey(kCdmPersistentLicenseSupportName); *supports_persistent_license = value && value->is_bool() && value->GetBool(); + *supported_encryption_schemes = + GetSupportedEncryptionSchemes(*manifest, error_message); + if (supported_encryption_schemes->empty()) + return CEF_CDM_REGISTRATION_ERROR_INCORRECT_CONTENTS; + return CEF_CDM_REGISTRATION_ERROR_NONE; } @@ -234,6 +297,8 @@ void DeliverWidevineCdmCallback(cef_cdm_registration_error_t result, if (result != CEF_CDM_REGISTRATION_ERROR_NONE) LOG(ERROR) << "Widevine CDM registration failed; " << error_message; + else if (!error_message.empty()) + LOG(WARNING) << "Widevine CDM registration warning; " << error_message; if (callback) callback->OnCdmRegistrationComplete(result, error_message); @@ -259,28 +324,34 @@ std::vector ConvertCodecsString(const std::string& codecs) { return supported_video_codecs; } -content::CdmInfo MakeCdmInfo(const base::FilePath& cdm_path, - const std::string& cdm_version, - const std::string& cdm_codecs, - bool supports_persistent_license) { +content::CdmInfo MakeCdmInfo( + const base::FilePath& cdm_path, + const std::string& cdm_version, + const std::string& cdm_codecs, + bool supports_persistent_license, + const base::flat_set& supported_encryption_schemes) { std::vector supported_video_codecs = ConvertCodecsString(cdm_codecs); return content::CdmInfo( kWidevineCdmDisplayName, kWidevineCdmGuid, base::Version(cdm_version), cdm_path, kWidevineCdmFileSystemId, supported_video_codecs, - supports_persistent_license, kWidevineKeySystem, false); + supports_persistent_license, supported_encryption_schemes, + kWidevineKeySystem, false); } -void RegisterWidevineCdmOnUIThread(const base::FilePath& cdm_path, - const std::string& cdm_version, - const std::string& cdm_codecs, - bool supports_persistent_license, - CefRefPtr callback) { +void RegisterWidevineCdmOnUIThread( + const base::FilePath& cdm_path, + const std::string& cdm_version, + const std::string& cdm_codecs, + bool supports_persistent_license, + const base::flat_set& supported_encryption_schemes, + CefRefPtr callback) { CEF_REQUIRE_UIT(); // Register Widevine with the CdmRegistry. - content::CdmRegistry::GetInstance()->RegisterCdm(MakeCdmInfo( - cdm_path, cdm_version, cdm_codecs, supports_persistent_license)); + content::CdmRegistry::GetInstance()->RegisterCdm( + MakeCdmInfo(cdm_path, cdm_version, cdm_codecs, + supports_persistent_license, supported_encryption_schemes)); DeliverWidevineCdmCallback(CEF_CDM_REGISTRATION_ERROR_NONE, std::string(), callback); @@ -295,10 +366,12 @@ void LoadWidevineCdmInfoOnBlockingThread( std::string cdm_version; std::string cdm_codecs; bool supports_persistent_license; + base::flat_set supported_encryption_schemes; std::string error_message; cef_cdm_registration_error_t result = LoadWidevineCdmInfo(base_path, &cdm_path, &cdm_version, &cdm_codecs, - &supports_persistent_license, &error_message); + &supports_persistent_license, + &supported_encryption_schemes, &error_message); if (result != CEF_CDM_REGISTRATION_ERROR_NONE) { CEF_POST_TASK(CEF_UIT, base::Bind(DeliverWidevineCdmCallback, result, error_message, callback)); @@ -308,7 +381,8 @@ void LoadWidevineCdmInfoOnBlockingThread( // Continue execution on the UI thread. CEF_POST_TASK(CEF_UIT, base::Bind(RegisterWidevineCdmOnUIThread, cdm_path, cdm_version, - cdm_codecs, supports_persistent_license, callback)); + cdm_codecs, supports_persistent_license, + supported_encryption_schemes, callback)); } } // namespace @@ -356,7 +430,7 @@ void CefWidevineLoader::AddContentDecryptionModules( // errors during plugin loading. This is because the Zygote process must pre- // load all plugins before initializing the sandbox. if (command_line.GetSwitchValueASCII(switches::kProcessType) != - service_manager::switches::kZygoteProcess || + switches::kZygoteProcess || command_line.HasSwitch(service_manager::switches::kNoSandbox)) { return; } @@ -375,17 +449,20 @@ void CefWidevineLoader::AddContentDecryptionModules( std::string cdm_version; std::string cdm_codecs; bool supports_persistent_license; + base::flat_set supported_encryption_schemes; std::string error_message; cef_cdm_registration_error_t result = LoadWidevineCdmInfo(base_path, &cdm_path, &cdm_version, &cdm_codecs, - &supports_persistent_license, &error_message); + &supports_persistent_license, + &supported_encryption_schemes, &error_message); if (result != CEF_CDM_REGISTRATION_ERROR_NONE) { LOG(ERROR) << "Widevine CDM registration failed; " << error_message; return; } cdms->push_back(MakeCdmInfo(cdm_path, cdm_version, cdm_codecs, - supports_persistent_license)); + supports_persistent_license, + supported_encryption_schemes)); } #endif // defined(OS_LINUX) diff --git a/libcef/renderer/extensions/extensions_renderer_client.cc b/libcef/renderer/extensions/extensions_renderer_client.cc index c5e9d9187..c67069f4a 100644 --- a/libcef/renderer/extensions/extensions_renderer_client.cc +++ b/libcef/renderer/extensions/extensions_renderer_client.cc @@ -183,10 +183,10 @@ void CefExtensionsRendererClient::WillSendRequest( GURL request_url(url); if (extension->permissions_data()->GetPageAccess(extension, request_url, tab_id, nullptr) == - extensions::PermissionsData::ACCESS_ALLOWED || + extensions::PermissionsData::PageAccess::kAllowed || extension->permissions_data()->GetContentScriptAccess( extension, request_url, tab_id, nullptr) == - extensions::PermissionsData::ACCESS_ALLOWED) { + extensions::PermissionsData::PageAccess::kAllowed) { *attach_same_site_cookies = true; } } diff --git a/patch/patch.cfg b/patch/patch.cfg index 58c718987..d45bbad2f 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -328,8 +328,6 @@ patches = [ # https://bitbucket.org/chromiumembedded/cef/issues/2256 # # Linux: Fix GTK2 compile errors. - # - # Linux: Fix "undefined symbol: ErrHandler" runtime error. 'name': 'linux_build', }, { diff --git a/patch/patches/browser_compositor_mac.patch b/patch/patches/browser_compositor_mac.patch index 3ce02f283..32f37eb86 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 6ad9f5fb334d..d7bf762314a4 100644 +index f823af11a791..2c08bf522a10 100644 --- content/browser/renderer_host/browser_compositor_view_mac.h +++ content/browser/renderer_host/browser_compositor_view_mac.h -@@ -56,11 +56,13 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient { +@@ -56,6 +56,7 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient { // These will not return nullptr until Destroy is called. DelegatedFrameHost* GetDelegatedFrameHost(); @@ -10,17 +10,19 @@ index 6ad9f5fb334d..d7bf762314a4 100644 // Ensure that the currect compositor frame be cleared (even if it is // potentially visible). - void ClearCompositorFrame(); +@@ -67,6 +68,7 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient { + // no valid frame is available. + const gfx::CALayerParams* GetLastCALayerParams() const; + ui::Compositor* GetCompositor(); gfx::AcceleratedWidget GetAcceleratedWidget(); void DidCreateNewRendererCompositorFrameSink( viz::mojom::CompositorFrameSinkClient* renderer_compositor_frame_sink); diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm -index f8d3575e06dc..688aa7e5b117 100644 +index a03b35dbad92..d8938fb0562c 100644 --- content/browser/renderer_host/browser_compositor_view_mac.mm +++ content/browser/renderer_host/browser_compositor_view_mac.mm -@@ -206,6 +206,12 @@ BrowserCompositorMac::~BrowserCompositorMac() { +@@ -248,6 +248,12 @@ BrowserCompositorMac::~BrowserCompositorMac() { g_spare_recyclable_compositors.Get().clear(); } @@ -33,18 +35,3 @@ index f8d3575e06dc..688aa7e5b117 100644 gfx::AcceleratedWidget BrowserCompositorMac::GetAcceleratedWidget() { if (recyclable_compositor_) { return recyclable_compositor_->accelerated_widget_mac() -diff --git ui/accelerated_widget_mac/accelerated_widget_mac.mm ui/accelerated_widget_mac/accelerated_widget_mac.mm -index 0de89795c461..3d46421491a9 100644 ---- ui/accelerated_widget_mac/accelerated_widget_mac.mm -+++ ui/accelerated_widget_mac/accelerated_widget_mac.mm -@@ -71,6 +71,10 @@ void AcceleratedWidgetMac::SetNSView(AcceleratedWidgetMacNSView* view) { - DCHECK(view && !view_); - view_ = view; - -+ // Will be nullptr for CEF. -+ if (!view_->AcceleratedWidgetGetNSView()) -+ return; -+ - CALayer* background_layer = [view_->AcceleratedWidgetGetNSView() layer]; - DCHECK(background_layer); - [flipped_layer_ setBounds:[background_layer bounds]]; diff --git a/patch/patches/browser_plugin_guest_1565.patch b/patch/patches/browser_plugin_guest_1565.patch index 8ef425081..f388e9efe 100644 --- a/patch/patches/browser_plugin_guest_1565.patch +++ b/patch/patches/browser_plugin_guest_1565.patch @@ -1,8 +1,8 @@ diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc -index ab0b50b62aac..d17bc04e53bf 100644 +index 6f3759f4d66f..c7d7188444b1 100644 --- content/browser/browser_plugin/browser_plugin_guest.cc +++ content/browser/browser_plugin/browser_plugin_guest.cc -@@ -315,8 +315,11 @@ void BrowserPluginGuest::InitInternal( +@@ -314,8 +314,11 @@ void BrowserPluginGuest::InitInternal( static_cast(GetWebContents()->GetView()); } @@ -15,7 +15,7 @@ index ab0b50b62aac..d17bc04e53bf 100644 // Once a BrowserPluginGuest has an embedder WebContents, it's considered to // be attached. -@@ -791,10 +794,19 @@ void BrowserPluginGuest::OnWillAttachComplete( +@@ -790,10 +793,19 @@ void BrowserPluginGuest::OnWillAttachComplete( static_cast(GetWebContents()->GetView()); if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) { web_contents_view->CreateViewForWidget( @@ -266,7 +266,7 @@ index d05dd5421458..fa13775f0512 100644 // a BrowserPlugin even when we are using cross process frames for guests. It // should be removed after resolving https://crbug.com/642826). diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc -index 54c9b6320d9c..d474ead5f147 100644 +index 8aa4bd7ffca6..0a649863f381 100644 --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc @@ -193,6 +193,8 @@ void MimeHandlerViewGuest::CreateWebContents( @@ -277,8 +277,8 @@ index 54c9b6320d9c..d474ead5f147 100644 + delegate_->OverrideWebContentsCreateParams(¶ms); // TODO(erikchen): Fix ownership semantics for guest views. // https://crbug.com/832879. - auto* web_contents = WebContents::Create(params).release(); -@@ -230,6 +232,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const { + callback.Run(WebContents::Create(params).release()); +@@ -228,6 +230,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const { return true; } @@ -298,7 +298,7 @@ index 54c9b6320d9c..d474ead5f147 100644 WebContents* source, const content::OpenURLParams& params) { diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h -index 2bc53e063aae..9814b40f84ea 100644 +index 7f0df3d7dc3a..82e2e8a8cdc6 100644 --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h @@ -108,6 +108,10 @@ class MimeHandlerViewGuest : diff --git a/patch/patches/chrome_browser.patch b/patch/patches/chrome_browser.patch index 122966e6b..8e30f41c8 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 aa1294af0a9a..c3606b23c821 100644 +index 69d42d094933..96383d6f94d7 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn @@ -8,6 +8,7 @@ import("//build/config/features.gni") @@ -9,8 +9,8 @@ index aa1294af0a9a..c3606b23c821 100644 +import("//cef/libcef/features/features.gni") import("//chrome/common/features.gni") import("//components/feature_engagement/features.gni") - import("//components/nacl/features.gni") -@@ -1574,6 +1575,7 @@ jumbo_split_static_library("browser") { + import("//components/feed/features.gni") +@@ -1600,6 +1601,7 @@ jumbo_split_static_library("browser") { "//base:i18n", "//base/allocator:buildflags", "//cc", @@ -18,7 +18,7 @@ index aa1294af0a9a..c3606b23c821 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -1834,6 +1836,10 @@ jumbo_split_static_library("browser") { +@@ -1866,6 +1868,10 @@ jumbo_split_static_library("browser") { ] } diff --git a/patch/patches/chrome_browser_content_settings.patch b/patch/patches/chrome_browser_content_settings.patch index bcdde58be..0b007cfda 100644 --- a/patch/patches/chrome_browser_content_settings.patch +++ b/patch/patches/chrome_browser_content_settings.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc -index 6745fbf917e2..0eec77c1aa72 100644 +index 607dfe4d4c99..27e55b7f6b2d 100644 --- chrome/browser/content_settings/host_content_settings_map_factory.cc +++ chrome/browser/content_settings/host_content_settings_map_factory.cc @@ -7,6 +7,7 @@ @@ -9,8 +9,8 @@ index 6745fbf917e2..0eec77c1aa72 100644 +#include "cef/libcef/features/features.h" #include "chrome/browser/profiles/off_the_record_profile_impl.h" #include "chrome/browser/profiles/profile.h" - #include "chrome/common/chrome_features.h" -@@ -16,6 +17,10 @@ + #include "chrome/browser/search_engines/template_url_service_factory.h" +@@ -17,6 +18,10 @@ #include "content/public/browser/browser_thread.h" #include "extensions/buildflags/buildflags.h" @@ -21,7 +21,7 @@ index 6745fbf917e2..0eec77c1aa72 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/extensions/extension_service.h" #include "extensions/browser/extension_system.h" -@@ -41,8 +46,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory() +@@ -42,8 +47,14 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory() DependsOn(SupervisedUserSettingsServiceFactory::GetInstance()); #endif #if BUILDFLAG(ENABLE_EXTENSIONS) @@ -36,7 +36,7 @@ index 6745fbf917e2..0eec77c1aa72 100644 #endif } -@@ -86,9 +97,15 @@ scoped_refptr +@@ -87,9 +98,15 @@ scoped_refptr /*store_last_modified=*/true)); #if BUILDFLAG(ENABLE_EXTENSIONS) diff --git a/patch/patches/chrome_browser_profiles.patch b/patch/patches/chrome_browser_profiles.patch index 22a0b624b..cc418e715 100644 --- a/patch/patches/chrome_browser_profiles.patch +++ b/patch/patches/chrome_browser_profiles.patch @@ -70,7 +70,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 7f15a0bcb0a9..3f2db9c4b75b 100644 +index fc316ed90cfd..eef294ac6985 100644 --- chrome/browser/profiles/profile_manager.cc +++ chrome/browser/profiles/profile_manager.cc @@ -379,7 +379,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) @@ -83,10 +83,10 @@ index 7f15a0bcb0a9..3f2db9c4b75b 100644 this)); } diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h -index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644 +index fc027d61027a..61484ca7e3c5 100644 --- chrome/browser/profiles/profile_manager.h +++ chrome/browser/profiles/profile_manager.h -@@ -94,7 +94,7 @@ class ProfileManager : public content::NotificationObserver, +@@ -93,7 +93,7 @@ class ProfileManager : public content::NotificationObserver, // acceptable. Returns null if creation of the new profile fails. // TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then // make this method private. @@ -95,7 +95,7 @@ index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644 // Returns total number of profiles available on this machine. size_t GetNumberOfProfiles(); -@@ -125,7 +125,7 @@ class ProfileManager : public content::NotificationObserver, +@@ -124,7 +124,7 @@ class ProfileManager : public content::NotificationObserver, // Returns true if the profile pointer is known to point to an existing // profile. @@ -104,7 +104,7 @@ index 9a0d8dd4c3e6..6cfbfd1ddc8d 100644 // Returns the directory where the first created profile is stored, // relative to the user data directory currently in use. -@@ -134,7 +134,7 @@ class ProfileManager : public content::NotificationObserver, +@@ -133,7 +133,7 @@ class ProfileManager : public content::NotificationObserver, // Get the Profile last used (the Profile to which owns the most recently // focused window) with this Chrome build. If no signed profile has been // stored in Local State, hand back the Default profile. diff --git a/patch/patches/chrome_renderer.patch b/patch/patches/chrome_renderer.patch index fdb988fc1..0763791e6 100644 --- a/patch/patches/chrome_renderer.patch +++ b/patch/patches/chrome_renderer.patch @@ -1,5 +1,5 @@ diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn -index 6fd923e3e365..8e31cee51cab 100644 +index 0b312fc03b93..929fca9eaee3 100644 --- chrome/renderer/BUILD.gn +++ chrome/renderer/BUILD.gn @@ -3,6 +3,7 @@ @@ -10,7 +10,7 @@ index 6fd923e3e365..8e31cee51cab 100644 import("//chrome/common/features.gni") import("//components/nacl/features.gni") import("//components/offline_pages/buildflags/features.gni") -@@ -110,6 +111,7 @@ static_library("renderer") { +@@ -113,6 +114,7 @@ static_library("renderer") { defines = [] deps = [ @@ -18,7 +18,7 @@ index 6fd923e3e365..8e31cee51cab 100644 "//chrome:resources", "//chrome:strings", "//chrome/common", -@@ -173,6 +175,10 @@ static_library("renderer") { +@@ -176,6 +178,10 @@ 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 4e1538bb8..f78987c28 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 df43d2bfaec6..aa2da0e9a15b 100644 +index da90176ea5a9..34da381c00e2 100644 --- chrome/common/chrome_content_client.cc +++ chrome/common/chrome_content_client.cc -@@ -92,7 +92,8 @@ +@@ -94,7 +94,8 @@ #if BUILDFLAG(ENABLE_LIBRARY_CDMS) #include "media/cdm/cdm_paths.h" // nogncheck diff --git a/patch/patches/component_build_1617.patch b/patch/patches/component_build_1617.patch index cf69fb4a8..d2bbff731 100644 --- a/patch/patches/component_build_1617.patch +++ b/patch/patches/component_build_1617.patch @@ -13,7 +13,7 @@ index 4393a8fac233..860715e86900 100644 explicit ContentServiceManagerMainDelegate(const ContentMainParams& params); ~ContentServiceManagerMainDelegate() override; diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn -index dd83de48cc20..c3be12e866e9 100644 +index 1aaa34c60ac9..c9c9a430f6b0 100644 --- third_party/blink/renderer/controller/BUILD.gn +++ third_party/blink/renderer/controller/BUILD.gn @@ -25,6 +25,7 @@ component("controller") { diff --git a/patch/patches/compositor_1368.patch b/patch/patches/compositor_1368.patch index 7b82f82ed..7caa42b32 100644 --- a/patch/patches/compositor_1368.patch +++ b/patch/patches/compositor_1368.patch @@ -1,5 +1,5 @@ diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc -index 917b51464fce..cdb5213d12d4 100644 +index 2775fd430e02..f066901641e0 100644 --- content/browser/compositor/gpu_process_transport_factory.cc +++ content/browser/compositor/gpu_process_transport_factory.cc @@ -504,9 +504,19 @@ void GpuProcessTransportFactory::EstablishedGpuChannel( diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index 49a87c5ff..52c7a06c2 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -63,23 +63,24 @@ index 569e6112d86b..41599944688a 100644 allow_wildcard, NULL, &plugin, NULL); } -diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc -index dfbad402f1ea..7a332ea67611 100644 ---- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc -+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc -@@ -601,6 +601,6 @@ void BrowserTabStripController::OnFindURLMimeTypeCompleted( +diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc +index d544c9ec13a3..b15c5b13d902 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, content::PluginService::GetInstance()->GetPluginInfo( -1, // process ID MSG_ROUTING_NONE, // routing ID -- model_->profile()->GetResourceContext(), url, url::Origin(), -+ model_->profile()->GetResourceContext(), url, true, url::Origin(), - mime_type, false, NULL, &plugin, NULL)); +- profile->GetResourceContext(), url, url::Origin(), mime_type, ++ profile->GetResourceContext(), url, true, url::Origin(), mime_type, + false, nullptr, &plugin, nullptr)); } + diff --git content/browser/frame_host/navigation_handle_impl.cc content/browser/frame_host/navigation_handle_impl.cc -index de4e732fd84f..48a68c7f83f1 100644 +index df35ab90fa05..3835d6d76a06 100644 --- content/browser/frame_host/navigation_handle_impl.cc +++ content/browser/frame_host/navigation_handle_impl.cc -@@ -383,12 +383,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() { +@@ -380,12 +380,6 @@ net::Error NavigationHandleImpl::GetNetErrorCode() { } RenderFrameHostImpl* NavigationHandleImpl::GetRenderFrameHost() { @@ -93,10 +94,10 @@ index de4e732fd84f..48a68c7f83f1 100644 } diff --git content/browser/frame_host/render_frame_host_impl.cc content/browser/frame_host/render_frame_host_impl.cc -index 1e13fa2ee857..1b6b236a8196 100644 +index f289fb7cfd49..d7512011539b 100644 --- content/browser/frame_host/render_frame_host_impl.cc +++ content/browser/frame_host/render_frame_host_impl.cc -@@ -1550,6 +1550,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( +@@ -1551,6 +1551,7 @@ void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( if (GetNavigationHandle()) { GetNavigationHandle()->set_net_error_code( static_cast(params.error_code)); @@ -104,7 +105,7 @@ index 1e13fa2ee857..1b6b236a8196 100644 } frame_tree_node_->navigator()->DidFailProvisionalLoadWithError(this, params); -@@ -3436,9 +3437,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() { +@@ -3449,9 +3450,9 @@ void RenderFrameHostImpl::RegisterMojoInterfaces() { BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); if (base::FeatureList::IsEnabled(network::features::kNetworkService)) { @@ -117,7 +118,7 @@ index 1e13fa2ee857..1b6b236a8196 100644 // TODO(https://crbug.com/813479): Investigate why we need to explicitly // specify task runner for BrowserThread::IO here. // Bind calls to the BindRegistry should come on to the IO thread by -@@ -3712,9 +3713,9 @@ void RenderFrameHostImpl::CommitNavigation( +@@ -3724,9 +3725,9 @@ void RenderFrameHostImpl::CommitNavigation( // however only do this for cross-document navigations, because the // alternative would be redundant effort. network::mojom::URLLoaderFactoryPtrInfo default_factory_info; @@ -130,22 +131,22 @@ index 1e13fa2ee857..1b6b236a8196 100644 if (subresource_loader_params && subresource_loader_params->loader_factory_info.is_valid()) { // If the caller has supplied a default URLLoaderFactory override (for -@@ -4355,8 +4356,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve( - // Keep DevTools proxy lasy, i.e. closest to the network. +@@ -4369,8 +4370,8 @@ void RenderFrameHostImpl::CreateNetworkServiceDefaultFactoryAndObserve( RenderFrameDevToolsAgentHost::WillCreateURLLoaderFactory( - this, false, false, &default_factory_request); + this, false /* is_navigation */, false /* is_download */, + &default_factory_request); - StoragePartitionImpl* storage_partition = static_cast( - BrowserContext::GetStoragePartition(context, GetSiteInstance())); -+ StoragePartition* storage_partition = ++ auto* storage_partition = + BrowserContext::GetStoragePartition(context, GetSiteInstance()); if (g_create_network_factory_callback_for_test.Get().is_null()) { storage_partition->GetNetworkContext()->CreateURLLoaderFactory( std::move(default_factory_request), GetProcess()->GetID()); diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc -index d6ae1864eee2..31169d0bf4d0 100644 +index 91bf248a67a5..ede635e9ef44 100644 --- content/browser/frame_host/render_frame_message_filter.cc +++ content/browser/frame_host/render_frame_message_filter.cc -@@ -581,6 +581,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id, +@@ -588,6 +588,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id, void RenderFrameMessageFilter::OnGetPlugins( bool refresh, @@ -153,7 +154,7 @@ index d6ae1864eee2..31169d0bf4d0 100644 const url::Origin& main_frame_origin, IPC::Message* reply_msg) { // Don't refresh if the specified threshold has not been passed. Note that -@@ -602,18 +603,19 @@ void RenderFrameMessageFilter::OnGetPlugins( +@@ -609,18 +610,19 @@ void RenderFrameMessageFilter::OnGetPlugins( PluginServiceImpl::GetInstance()->GetPlugins( base::BindOnce(&RenderFrameMessageFilter::GetPluginsCallback, this, @@ -175,7 +176,7 @@ index d6ae1864eee2..31169d0bf4d0 100644 int routing_id = MSG_ROUTING_NONE; // In this loop, copy the WebPluginInfo (and do not use a reference) because // the filter might mutate it. -@@ -622,7 +624,7 @@ void RenderFrameMessageFilter::GetPluginsCallback( +@@ -629,7 +631,7 @@ void RenderFrameMessageFilter::GetPluginsCallback( if (!filter || filter->IsPluginAvailable(child_process_id, routing_id, resource_context_, main_frame_origin.GetURL(), @@ -184,7 +185,7 @@ index d6ae1864eee2..31169d0bf4d0 100644 plugins.push_back(plugin); } } -@@ -634,6 +636,7 @@ void RenderFrameMessageFilter::GetPluginsCallback( +@@ -641,6 +643,7 @@ void RenderFrameMessageFilter::GetPluginsCallback( void RenderFrameMessageFilter::OnGetPluginInfo( int render_frame_id, const GURL& url, @@ -192,7 +193,7 @@ index d6ae1864eee2..31169d0bf4d0 100644 const url::Origin& main_frame_origin, const std::string& mime_type, bool* found, -@@ -642,8 +645,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo( +@@ -649,8 +652,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo( bool allow_wildcard = true; *found = plugin_service_->GetPluginInfo( render_process_id_, render_frame_id, resource_context_, url, @@ -225,7 +226,7 @@ index 7f3ab224bd15..7fb3e94d8756 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 577f62b57ff2..3847f8ec616a 100644 +index 305f48e69dad..8bf94749e7d6 100644 --- content/browser/loader/mime_sniffing_resource_handler.cc +++ content/browser/loader/mime_sniffing_resource_handler.cc @@ -494,8 +494,8 @@ bool MimeSniffingResourceHandler::CheckForPluginHandler( @@ -274,10 +275,10 @@ index 4e11056a3dc9..973ad50975e1 100644 const std::string& mime_type, bool allow_wildcard, diff --git content/common/frame_messages.h content/common/frame_messages.h -index 5b1b0371b087..deaee55626dd 100644 +index 1b5b3ad3dbbc..468289370554 100644 --- content/common/frame_messages.h +++ content/common/frame_messages.h -@@ -1391,8 +1391,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, +@@ -1384,8 +1384,9 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback, // Used to get the list of plugins. |main_frame_origin| is used to handle // exceptions for plugin content settings. @@ -288,7 +289,7 @@ index 5b1b0371b087..deaee55626dd 100644 url::Origin /* main_frame_origin */, std::vector /* plugins */) -@@ -1400,9 +1401,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins, +@@ -1393,9 +1394,10 @@ IPC_SYNC_MESSAGE_CONTROL2_1(FrameHostMsg_GetPlugins, // type. If there is no matching plugin, |found| is false. // |actual_mime_type| is the actual mime type supported by the // found plugin. @@ -388,10 +389,10 @@ index 74a031ad10c3..3b3f9e292f4b 100644 virtual void FocusedNodeChanged(const blink::WebNode& node) {} diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc -index 165f418781cb..85a28a9faf12 100644 +index cba2c9ccd1d6..c2b272dee124 100644 --- content/renderer/render_frame_impl.cc +++ content/renderer/render_frame_impl.cc -@@ -3278,7 +3278,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( +@@ -3273,7 +3273,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin( std::string mime_type; bool found = false; Send(new FrameHostMsg_GetPluginInfo( @@ -401,7 +402,7 @@ index 165f418781cb..85a28a9faf12 100644 params.mime_type.Utf8(), &found, &info, &mime_type)); if (!found) return nullptr; -@@ -3643,6 +3644,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { +@@ -3638,6 +3639,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) { void RenderFrameImpl::FrameFocused() { Send(new FrameHostMsg_FrameFocused(routing_id_)); @@ -411,10 +412,10 @@ index 165f418781cb..85a28a9faf12 100644 void RenderFrameImpl::WillCommitProvisionalLoad() { diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc -index 02c3aa656b66..c993780d2539 100644 +index 03b9de4df7e9..db2e2407b6b1 100644 --- content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc -@@ -900,6 +900,8 @@ void RenderThreadImpl::Init( +@@ -893,6 +893,8 @@ void RenderThreadImpl::Init( StartServiceManagerConnection(); @@ -424,7 +425,7 @@ index 02c3aa656b66..c993780d2539 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 51e1bd539972..74e1b81b1955 100644 +index 23d5d95ecd03..609fd81e7c27 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc @@ -788,6 +788,7 @@ RendererBlinkPlatformImpl::CreateMIDIAccessor( diff --git a/patch/patches/crashpad_1995.patch b/patch/patches/crashpad_1995.patch index 733850a5c..28e4ae877 100644 --- a/patch/patches/crashpad_1995.patch +++ b/patch/patches/crashpad_1995.patch @@ -127,7 +127,7 @@ index fdc51ab22807..cb0a99dd190c 100644 g_crash_helper_enabled = true; return true; diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc -index 87703f9a5276..a651ed2b1833 100644 +index e57c54b9cf6c..caee714efe38 100644 --- components/crash/content/app/breakpad_linux.cc +++ components/crash/content/app/breakpad_linux.cc @@ -28,6 +28,7 @@ @@ -155,7 +155,7 @@ index 87703f9a5276..a651ed2b1833 100644 info.process_start_time = g_process_start_time; info.oom_size = base::g_oom_size; info.pid = g_pid; -@@ -1341,7 +1343,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info, +@@ -1342,7 +1344,7 @@ void ExecUploadProcessOrTerminate(const BreakpadInfo& info, header_content_encoding, header_content_type, post_file, @@ -164,7 +164,7 @@ index 87703f9a5276..a651ed2b1833 100644 "--timeout=10", // Set a timeout so we don't hang forever. "--tries=1", // Don't retry if the upload fails. "-O", // Output reply to the file descriptor path. -@@ -1681,10 +1683,19 @@ void HandleCrashDump(const BreakpadInfo& info) { +@@ -1682,10 +1684,19 @@ void HandleCrashDump(const BreakpadInfo& info) { GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version); writer.AddBoundary(); @@ -186,7 +186,7 @@ index 87703f9a5276..a651ed2b1833 100644 if (info.pid > 0) { char pid_value_buf[kUint64StringSize]; uint64_t pid_value_len = my_uint64_len(info.pid); -@@ -1802,10 +1813,20 @@ void HandleCrashDump(const BreakpadInfo& info) { +@@ -1803,10 +1814,20 @@ void HandleCrashDump(const BreakpadInfo& info) { crash_reporter::internal::TransitionalCrashKeyStorage; CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys); const CrashKeyStorage::Entry* entry; @@ -208,7 +208,7 @@ index 87703f9a5276..a651ed2b1833 100644 writer.AddBoundary(); writer.Flush(); } -@@ -2015,6 +2036,17 @@ void SetChannelCrashKey(const std::string& channel) { +@@ -2016,6 +2037,17 @@ void SetChannelCrashKey(const std::string& channel) { channel_key.Set(channel); } @@ -402,7 +402,7 @@ index a5f6b2e6f423..b3892d3743ff 100644 ->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled); } diff --git components/crash/content/app/crashpad_mac.mm components/crash/content/app/crashpad_mac.mm -index eb82f44053ce..daf2c722837c 100644 +index eb82f44053ce..73cfcc15998d 100644 --- components/crash/content/app/crashpad_mac.mm +++ components/crash/content/app/crashpad_mac.mm @@ -16,11 +16,14 @@ @@ -429,7 +429,7 @@ index eb82f44053ce..daf2c722837c 100644 - framework_bundle_path.Append("Helpers").Append("crashpad_handler"); + // Use the same subprocess helper exe. + base::FilePath handler_path; -+ PathService::Get(content::CHILD_PROCESS_EXE, &handler_path); ++ base::PathService::Get(content::CHILD_PROCESS_EXE, &handler_path); + DCHECK(!handler_path.empty()); // Is there a way to recover if this fails? diff --git a/patch/patches/extensions_1947.patch b/patch/patches/extensions_1947.patch index 092b7951d..c5677404d 100644 --- a/patch/patches/extensions_1947.patch +++ b/patch/patches/extensions_1947.patch @@ -27,10 +27,10 @@ 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 d7875ac0c044..d369de7e33f1 100644 +index 73b66a56be83..3f60cbf1a727 100644 --- content/browser/frame_host/render_frame_host_manager.cc +++ content/browser/frame_host/render_frame_host_manager.cc -@@ -903,10 +903,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation( +@@ -897,10 +897,11 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation( // TODO(alexmos): This check should've been enforced earlier in the // navigation, in chrome::Navigate(). Verify this, and then convert this to // a CHECK and remove the fallback. @@ -46,7 +46,7 @@ index d7875ac0c044..d369de7e33f1 100644 return true; } -@@ -1046,7 +1047,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation( +@@ -1041,7 +1042,8 @@ RenderFrameHostManager::GetSiteInstanceForNavigation( // Double-check that the new SiteInstance is associated with the right // BrowserContext. @@ -57,12 +57,12 @@ index d7875ac0c044..d369de7e33f1 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 0a347624dcc5..46a2398b567f 100644 +index 2dc3bf7a8006..034598edfada 100644 --- content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h -@@ -366,6 +366,13 @@ class CONTENT_EXPORT ContentBrowserClient { - const GURL& current_url, - const GURL& new_url); +@@ -371,6 +371,13 @@ class CONTENT_EXPORT ContentBrowserClient { + // Returns true if error page should be isolated in its own process. + virtual bool ShouldIsolateErrorPage(bool in_main_frame); + // Returns true if two browser contexts should be considered the same. CEF + // uses this to treat *Impl and *Proxy contexts as the same. diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index 6f75c8306..161914175 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -12,7 +12,7 @@ index 36b54aca866c..06337f3f3086 100644 # https://crbug.com/474506. "//clank/java/BUILD.gn", diff --git BUILD.gn BUILD.gn -index 1ffcbba9a38d..e8863b981e8d 100644 +index 9dec8407e62d..f3355fe8fc3e 100644 --- BUILD.gn +++ BUILD.gn @@ -192,6 +192,7 @@ group("gn_all") { diff --git a/patch/patches/gritsettings.patch b/patch/patches/gritsettings.patch index 7d6bdada7..8a4d2708b 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 b2846be164ab..1afe8acb59b3 100644 +index 7e838ac964fc..184708195c52 100644 --- tools/gritsettings/resource_ids +++ tools/gritsettings/resource_ids -@@ -411,4 +411,11 @@ +@@ -417,4 +417,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/ime_1610.patch b/patch/patches/ime_1610.patch index cd4b37154..762bea3e2 100644 --- a/patch/patches/ime_1610.patch +++ b/patch/patches/ime_1610.patch @@ -1,8 +1,8 @@ diff --git ui/base/ime/input_method_win_base.cc ui/base/ime/input_method_win_base.cc -index 0e89451afb3b..1a0bdac93c1b 100644 +index 1040d54fa088..a5e72467610e 100644 --- ui/base/ime/input_method_win_base.cc +++ ui/base/ime/input_method_win_base.cc -@@ -53,8 +53,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const { +@@ -66,8 +66,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const { // receiving keyboard input as long as it is an active window. This works well // even when the |attached_window_handle| becomes active but has not received // WM_FOCUS yet. diff --git a/patch/patches/linux_build.patch b/patch/patches/linux_build.patch index 2836819db..b5588f87f 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 bb13f93c0277..52e610d0a28a 100644 +index e4e0775ff9ee..03d4123187cf 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn @@ -153,7 +153,7 @@ declare_args() { @@ -60,18 +60,16 @@ index 96f8c0e71472..49c462b37e12 100644 ScopedStyleContext child_context(gtk_style_context_new()); gtk_style_context_set_path(child_context, path); -diff --git third_party/unrar/BUILD.gn third_party/unrar/BUILD.gn -index 6e2bc75171ee..9275f68d12e3 100644 ---- third_party/unrar/BUILD.gn -+++ third_party/unrar/BUILD.gn -@@ -56,6 +56,10 @@ if (safe_browsing_mode == 1) { - "src/volume.cpp", - ] +diff --git chrome/browser/ui/libgtkui/native_theme_gtk2.cc chrome/browser/ui/libgtkui/native_theme_gtk2.cc +index b24ff4b95f97..49e80717b1d6 100644 +--- chrome/browser/ui/libgtkui/native_theme_gtk2.cc ++++ chrome/browser/ui/libgtkui/native_theme_gtk2.cc +@@ -163,6 +163,8 @@ SkColor NativeThemeGtk2::GetSystemColor(ColorId color_id) const { + return GetBgColor(GetMenu(), NORMAL); -+ if (is_posix && !is_mac) { -+ sources += [ "src/global.cpp" ] -+ } -+ - configs -= [ - "//build/config/compiler:chromium_code", - "//build/config/compiler:no_exceptions", + // Label ++ case kColorId_ActionableSubmenuVerticalSeparatorColor: ++ case kColorId_TouchableMenuItemLabelColor: + case kColorId_LabelEnabledColor: + return GetTextColor(GetEntry(), NORMAL); + case kColorId_LabelDisabledColor: diff --git a/patch/patches/mac_gpu_2398.patch b/patch/patches/mac_gpu_2398.patch index b8fbdc8d9..b9ed0cf53 100644 --- a/patch/patches/mac_gpu_2398.patch +++ b/patch/patches/mac_gpu_2398.patch @@ -1,5 +1,5 @@ diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc -index 30725d1f2a5f..1a0278110d78 100644 +index f4789ebf3b0e..a7f5b21da372 100644 --- ui/gl/init/gl_initializer_mac.cc +++ ui/gl/init/gl_initializer_mac.cc @@ -47,11 +47,8 @@ bool InitializeOneOffForSandbox() { diff --git a/patch/patches/message_loop_443_1992243003.patch b/patch/patches/message_loop_443_1992243003.patch index c95e78a34..c92648d6b 100644 --- a/patch/patches/message_loop_443_1992243003.patch +++ b/patch/patches/message_loop_443_1992243003.patch @@ -34,10 +34,18 @@ index cf30bae0b202..009574ff488b 100644 #if !defined(OS_NACL) diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc -index ca257370fb56..3d9b4cea21ce 100644 +index 8e6f1f41def2..b07865ebae37 100644 --- base/message_loop/message_pump_win.cc +++ base/message_loop/message_pump_win.cc -@@ -370,20 +370,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) { +@@ -11,6 +11,7 @@ + + #include "base/debug/alias.h" + #include "base/memory/ptr_util.h" ++#include "base/message_loop/message_loop_current.h" + #include "base/metrics/histogram_macros.h" + #include "base/strings/stringprintf.h" + #include "base/trace_event/trace_event.h" +@@ -369,20 +370,28 @@ bool MessagePumpForUI::ProcessMessageHelper(const MSG& msg) { } bool MessagePumpForUI::ProcessPumpReplacementMessage() { @@ -66,7 +74,7 @@ index ca257370fb56..3d9b4cea21ce 100644 + // We should not process all window messages if we are in the context of an + // OS modal loop, i.e. in the context of a windows API call like MessageBox. + // This is to ensure that these messages are peeked out by the OS modal loop. -+ if (MessageLoop::current()->os_modal_loop()) { ++ if (MessageLoopCurrent::Get()->os_modal_loop()) { + // We only peek out WM_PAINT and WM_TIMER here for reasons mentioned above. + have_message = PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_REMOVE) || + PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE); diff --git a/patch/patches/pdfium_print_549365.patch b/patch/patches/pdfium_print_549365.patch index 5c59918ab..03ef47721 100644 --- a/patch/patches/pdfium_print_549365.patch +++ b/patch/patches/pdfium_print_549365.patch @@ -1,8 +1,8 @@ diff --git BUILD.gn BUILD.gn -index 19e85f99d..ed2da7390 100644 +index 874a8f7d8..8a11f125c 100644 --- BUILD.gn +++ BUILD.gn -@@ -242,6 +242,10 @@ jumbo_static_library("pdfium") { +@@ -244,6 +244,10 @@ jumbo_static_library("pdfium") { complete_static_lib = true configs -= [ "//build/config/compiler:thin_archive" ] } @@ -14,10 +14,10 @@ index 19e85f99d..ed2da7390 100644 jumbo_static_library("test_support") { diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp -index 0015716d9..afb269a64 100644 +index 6c4ad6020..bb069b005 100644 --- fpdfsdk/fpdf_view.cpp +++ fpdfsdk/fpdf_view.cpp -@@ -36,6 +36,7 @@ +@@ -37,6 +37,7 @@ #include "fpdfsdk/cpdfsdk_memoryaccess.h" #include "fpdfsdk/cpdfsdk_pageview.h" #include "fpdfsdk/ipdfsdk_pauseadapter.h" @@ -25,7 +25,7 @@ index 0015716d9..afb269a64 100644 #include "fxjs/ijs_runtime.h" #include "public/fpdf_formfill.h" #include "third_party/base/ptr_util.h" -@@ -192,6 +193,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() { +@@ -193,6 +194,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() { CPDF_ModuleMgr::Destroy(); CFX_GEModule::Destroy(); diff --git a/patch/patches/prefs_content_1161.patch b/patch/patches/prefs_content_1161.patch index 9a818465e..42772b58b 100644 --- a/patch/patches/prefs_content_1161.patch +++ b/patch/patches/prefs_content_1161.patch @@ -1,5 +1,5 @@ diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h -index 3b72878d9462..02ed570accd6 100644 +index b297eae01757..65b4ac6ded54 100644 --- content/public/common/common_param_traits_macros.h +++ content/public/common/common_param_traits_macros.h @@ -185,6 +185,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences) @@ -35,10 +35,10 @@ index e4fc39c60fd7..f19fccf47261 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 c0df4120b0d1..679c8974fc95 100644 +index 2533785a1911..3518aba46aef 100644 --- content/renderer/render_view_impl.cc +++ content/renderer/render_view_impl.cc -@@ -1198,6 +1198,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal( +@@ -1201,6 +1201,7 @@ void RenderViewImpl::ApplyWebPreferencesInternal( blink::WebView* web_view, CompositorDependencies* compositor_deps) { 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 f555f3fd2..51f9eef09 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 b6f6dbf2c0c5..82672ca1320e 100644 +index e7da097d25f4..8ca569703b26 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn -@@ -891,6 +891,7 @@ split_static_library("ui") { +@@ -892,6 +892,7 @@ split_static_library("ui") { "//base:i18n", "//base/allocator:buildflags", "//cc/paint", diff --git a/patch/patches/printing_context_2196.patch b/patch/patches/printing_context_2196.patch index 7ef642dc7..a8cedadbd 100644 --- a/patch/patches/printing_context_2196.patch +++ b/patch/patches/printing_context_2196.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc -index e08f806de054..bb7f75769d4a 100644 +index 1065e808e621..ca9a0bd14652 100644 --- chrome/browser/printing/print_job_worker.cc +++ chrome/browser/printing/print_job_worker.cc @@ -145,6 +145,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, diff --git a/patch/patches/rwh_background_color_1984.patch b/patch/patches/rwh_background_color_1984.patch index 66847dd20..d940972ce 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 01db5dbf533b..b70659867710 100644 +index 6a0753f3f3b8..f567fee075e4 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -741,9 +741,11 @@ void RenderWidgetHostViewAura::UpdateBackgroundColorFromRenderer( +@@ -744,9 +744,11 @@ void RenderWidgetHostViewAura::UpdateBackgroundColorFromRenderer( return; background_color_ = color; @@ -17,7 +17,7 @@ index 01db5dbf533b..b70659867710 100644 } void RenderWidgetHostViewAura::WindowTitleChanged() { -@@ -1892,6 +1894,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { +@@ -1935,6 +1937,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { if (frame_sink_id_.is_valid()) window_->SetEmbedFrameSinkId(frame_sink_id_); @@ -30,6 +30,6 @@ index 01db5dbf533b..b70659867710 100644 + ignore_result(rvh->GetWebkitPreferences()); + } + - if (!features::IsMusEnabled()) + if (!features::IsMashEnabled()) return; diff --git a/patch/patches/storage_partition_1973.patch b/patch/patches/storage_partition_1973.patch index 7ee5919bf..f0fbea2a0 100644 --- a/patch/patches/storage_partition_1973.patch +++ b/patch/patches/storage_partition_1973.patch @@ -28,7 +28,7 @@ index 596cfaa01092..f341bca174d5 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 89f917826da1..d102ad69f084 100644 +index 17347dbfd102..193584187bd1 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 { @@ -111,7 +111,7 @@ index af7cced24feb..6a228c204912 100644 CHECK(GetUserData(kMojoWasInitialized)) << "Attempting to destroy a BrowserContext that never called " diff --git content/browser/devtools/protocol/network_handler.cc content/browser/devtools/protocol/network_handler.cc -index 4fa1766cf313..7f539e1e83a3 100644 +index 65963b26bb4b..df4ea08a9588 100644 --- content/browser/devtools/protocol/network_handler.cc +++ content/browser/devtools/protocol/network_handler.cc @@ -889,8 +889,7 @@ class BackgroundSyncRestorer { @@ -161,10 +161,10 @@ 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 591f60dc8f96..ad90a2648e23 100644 +index eb14d255d48b..ecea6e42e595 100644 --- content/browser/download/download_manager_impl.cc +++ content/browser/download/download_manager_impl.cc -@@ -85,9 +85,9 @@ +@@ -84,9 +84,9 @@ namespace content { namespace { @@ -177,7 +177,7 @@ index 591f60dc8f96..ad90a2648e23 100644 DCHECK_CURRENTLY_ON(BrowserThread::UI); SiteInstance* site_instance = nullptr; -@@ -97,8 +97,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context, +@@ -96,8 +96,7 @@ StoragePartitionImpl* GetStoragePartition(BrowserContext* context, if (render_frame_host_) site_instance = render_frame_host_->GetSiteInstance(); } @@ -187,16 +187,16 @@ index 591f60dc8f96..ad90a2648e23 100644 } bool CanRequestURLFromRenderer(int render_process_id, GURL url) { -@@ -251,7 +250,7 @@ base::FilePath GetTemporaryDownloadDirectory() { +@@ -250,7 +249,7 @@ base::FilePath GetTemporaryDownloadDirectory() { #endif scoped_refptr -CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition, +CreateDownloadURLLoaderFactoryGetter(StoragePartition* storage_partition, RenderFrameHost* rfh, - bool has_suggested_filename) { + bool is_download) { network::mojom::URLLoaderFactoryPtrInfo proxy_factory_ptr_info; -@@ -268,7 +267,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition, +@@ -267,7 +266,7 @@ CreateDownloadURLLoaderFactoryGetter(StoragePartitionImpl* storage_partition, } } return base::MakeRefCounted( @@ -205,7 +205,7 @@ index 591f60dc8f96..ad90a2648e23 100644 std::move(proxy_factory_ptr_info), std::move(proxy_factory_request)); } -@@ -598,8 +597,8 @@ void DownloadManagerImpl::ResumeInterruptedDownload( +@@ -597,8 +596,8 @@ void DownloadManagerImpl::ResumeInterruptedDownload( std::unique_ptr params, uint32_t id, const GURL& site_url) { @@ -216,7 +216,7 @@ index 591f60dc8f96..ad90a2648e23 100644 params->set_url_request_context_getter( storage_partition->GetURLRequestContext()); BeginDownloadInternal(std::move(params), nullptr /* blob_data_handle */, -@@ -789,7 +788,7 @@ void DownloadManagerImpl::DownloadUrl( +@@ -787,7 +786,7 @@ void DownloadManagerImpl::DownloadUrl( download::RecordDownloadCountWithSource( download::DownloadCountTypes::DOWNLOAD_TRIGGERED_COUNT, params->download_source()); @@ -225,7 +225,7 @@ index 591f60dc8f96..ad90a2648e23 100644 GetStoragePartition(browser_context_, params->render_process_host_id(), params->render_frame_host_routing_id()); BeginDownloadInternal(std::move(params), std::move(blob_data_handle), -@@ -1008,7 +1007,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( +@@ -1005,7 +1004,7 @@ void DownloadManagerImpl::InterceptNavigationOnChecksComplete( tab_referrer_url = entry->GetReferrer().url; } } @@ -234,7 +234,7 @@ index 591f60dc8f96..ad90a2648e23 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, -@@ -1024,7 +1023,7 @@ void DownloadManagerImpl::BeginDownloadInternal( +@@ -1020,7 +1019,7 @@ void DownloadManagerImpl::BeginDownloadInternal( std::unique_ptr blob_data_handle, scoped_refptr blob_url_loader_factory, uint32_t id, @@ -244,7 +244,7 @@ index 591f60dc8f96..ad90a2648e23 100644 if (params->render_process_host_id() >= 0 && !CanRequestURLFromRenderer(params->render_process_host_id(), diff --git content/browser/download/download_manager_impl.h content/browser/download/download_manager_impl.h -index f79ea7165dfd..35b545213c31 100644 +index b62b8ae7eb8a..3f4d01b03ebb 100644 --- content/browser/download/download_manager_impl.h +++ content/browser/download/download_manager_impl.h @@ -42,7 +42,7 @@ class DownloadRequestHandleInterface; @@ -256,7 +256,7 @@ index f79ea7165dfd..35b545213c31 100644 class CONTENT_EXPORT DownloadManagerImpl : public DownloadManager, -@@ -248,7 +248,7 @@ class CONTENT_EXPORT DownloadManagerImpl +@@ -247,7 +247,7 @@ class CONTENT_EXPORT DownloadManagerImpl std::unique_ptr blob_data_handle, scoped_refptr blob_url_loader_factory, uint32_t id, @@ -266,10 +266,10 @@ index f79ea7165dfd..35b545213c31 100644 void InterceptNavigationOnChecksComplete( ResourceRequestInfo::WebContentsGetter web_contents_getter, diff --git content/browser/loader/navigation_url_loader_network_service.cc content/browser/loader/navigation_url_loader_network_service.cc -index 955cb24e64d1..1c2abdf645dc 100644 +index 3cc782fcc7dd..653706abe893 100644 --- content/browser/loader/navigation_url_loader_network_service.cc +++ content/browser/loader/navigation_url_loader_network_service.cc -@@ -892,7 +892,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController +@@ -884,7 +884,7 @@ class NavigationURLLoaderNetworkService::URLLoaderRequestController // path does as well for navigations. bool has_plugin = PluginService::GetInstance()->GetPluginInfo( -1 /* render_process_id */, -1 /* render_frame_id */, resource_context_, @@ -278,7 +278,7 @@ index 955cb24e64d1..1c2abdf645dc 100644 false /* allow_wildcard */, &stale, &plugin, nullptr); if (stale) { -@@ -1259,7 +1259,7 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService( +@@ -1241,7 +1241,7 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService( } } @@ -287,16 +287,16 @@ index 955cb24e64d1..1c2abdf645dc 100644 non_network_url_loader_factories_[url::kFileScheme] = std::make_unique( partition->browser_context()->GetPath(), -@@ -1273,7 +1273,8 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService( +@@ -1255,7 +1255,8 @@ NavigationURLLoaderNetworkService::NavigationURLLoaderNetworkService( DCHECK(!request_controller_); request_controller_ = std::make_unique( std::move(initial_interceptors), std::move(new_request), resource_context, - partition->url_loader_factory_getter(), request_info->common_params.url, + base::WrapRefCounted(partition->url_loader_factory_getter()), + request_info->common_params.url, - request_info->begin_params->initiator_origin, - request_info->common_params.suggested_filename, std::move(proxied_factory_request), std::move(proxied_factory_info), + std::move(known_schemes), weak_factory_.GetWeakPtr()); + BrowserThread::PostTask( diff --git content/browser/payments/payment_app_installer.cc content/browser/payments/payment_app_installer.cc index 6a6e31bdb070..dce0433e1775 100644 --- content/browser/payments/payment_app_installer.cc @@ -344,10 +344,10 @@ index dd0af046aec4..f5ad5b37c1f3 100644 partition->GetPaymentAppContext(); diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc -index 20994fc0a49c..f2f79f299d20 100644 +index 8a5c3e12a938..5c87e5cfffbe 100644 --- content/browser/renderer_host/render_process_host_impl.cc +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -732,11 +732,10 @@ class DefaultSubframeProcessHostHolder : public base::SupportsUserData::Data, +@@ -733,11 +733,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) { @@ -363,7 +363,7 @@ index 20994fc0a49c..f2f79f299d20 100644 // Is this the default storage partition? If it isn't, then just give it its // own non-shared process. -@@ -1349,7 +1348,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() { +@@ -1344,7 +1343,7 @@ int RenderProcessHost::GetCurrentRenderProcessCountForTesting() { // static RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( BrowserContext* browser_context, @@ -372,7 +372,7 @@ index 20994fc0a49c..f2f79f299d20 100644 SiteInstance* site_instance, bool is_for_guests_only) { if (g_render_process_host_factory_) { -@@ -1358,8 +1357,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( +@@ -1353,8 +1352,8 @@ RenderProcessHost* RenderProcessHostImpl::CreateRenderProcessHost( } if (!storage_partition_impl) { @@ -383,7 +383,7 @@ index 20994fc0a49c..f2f79f299d20 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 -@@ -1384,7 +1383,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority = +@@ -1379,7 +1378,7 @@ const unsigned int RenderProcessHostImpl::kMaxFrameDepthForPriority = RenderProcessHostImpl::RenderProcessHostImpl( BrowserContext* browser_context, @@ -392,7 +392,7 @@ index 20994fc0a49c..f2f79f299d20 100644 bool is_for_guests_only) : fast_shutdown_started_(false), deleting_soon_(false), -@@ -1417,7 +1416,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( +@@ -1412,7 +1411,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( indexed_db_factory_(new IndexedDBDispatcherHost( id_, storage_partition_impl_->GetURLRequestContext(), @@ -402,7 +402,7 @@ index 20994fc0a49c..f2f79f299d20 100644 ChromeBlobStorageContext::GetFor(browser_context_))), channel_connected_(false), sent_render_process_ready_(false), -@@ -1452,7 +1452,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( +@@ -1447,7 +1447,8 @@ RenderProcessHostImpl::RenderProcessHostImpl( } push_messaging_manager_.reset(new PushMessagingManager( @@ -412,7 +412,7 @@ index 20994fc0a49c..f2f79f299d20 100644 AddObserver(indexed_db_factory_.get()); #if defined(OS_MACOSX) -@@ -1780,6 +1781,20 @@ void RenderProcessHostImpl::ResetChannelProxy() { +@@ -1775,6 +1776,20 @@ void RenderProcessHostImpl::ResetChannelProxy() { void RenderProcessHostImpl::CreateMessageFilters() { DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -433,7 +433,7 @@ index 20994fc0a49c..f2f79f299d20 100644 AddFilter(new ResourceSchedulerFilter(GetID())); MediaInternals* media_internals = MediaInternals::GetInstance(); // Add BrowserPluginMessageFilter to ensure it gets the first stab at messages -@@ -1793,8 +1808,8 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1788,8 +1803,8 @@ void RenderProcessHostImpl::CreateMessageFilters() { new RenderMessageFilter( GetID(), GetBrowserContext(), request_context.get(), widget_helper_.get(), media_internals, @@ -444,7 +444,7 @@ index 20994fc0a49c..f2f79f299d20 100644 AddFilter(render_message_filter.get()); render_frame_message_filter_ = new RenderFrameMessageFilter( -@@ -1821,10 +1836,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1816,10 +1831,10 @@ void RenderProcessHostImpl::CreateMessageFilters() { ChromeBlobStorageContext::GetFor(browser_context); resource_message_filter_ = new ResourceMessageFilter( @@ -457,7 +457,7 @@ index 20994fc0a49c..f2f79f299d20 100644 storage_partition_impl_->GetPrefetchURLLoaderService(), std::move(get_contexts_callback), BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); -@@ -1833,8 +1848,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1828,8 +1843,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { AddFilter( new MidiHost(GetID(), BrowserMainLoop::GetInstance()->midi_service())); @@ -467,7 +467,7 @@ index 20994fc0a49c..f2f79f299d20 100644 #if BUILDFLAG(ENABLE_WEBRTC) peer_connection_tracker_host_ = new PeerConnectionTrackerHost(GetID()); -@@ -1854,8 +1868,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1849,8 +1863,7 @@ void RenderProcessHostImpl::CreateMessageFilters() { scoped_refptr service_worker_filter = new ServiceWorkerDispatcherHost(GetID(), resource_context); @@ -477,7 +477,7 @@ index 20994fc0a49c..f2f79f299d20 100644 AddFilter(service_worker_filter.get()); #if BUILDFLAG(ENABLE_WEBRTC) -@@ -1867,11 +1880,8 @@ void RenderProcessHostImpl::CreateMessageFilters() { +@@ -1862,11 +1875,8 @@ void RenderProcessHostImpl::CreateMessageFilters() { AddFilter(new TraceMessageFilter(GetID())); AddFilter(new ResolveProxyMsgHelper(request_context.get())); @@ -490,7 +490,7 @@ index 20994fc0a49c..f2f79f299d20 100644 resource_context, service_worker_context, browser_context); AddFilter(notification_message_filter_.get()); } -@@ -1885,7 +1895,8 @@ void RenderProcessHostImpl::BindCacheStorage( +@@ -1880,7 +1890,8 @@ void RenderProcessHostImpl::BindCacheStorage( cache_storage_dispatcher_host_ = base::MakeRefCounted(); cache_storage_dispatcher_host_->Init( @@ -500,7 +500,7 @@ index 20994fc0a49c..f2f79f299d20 100644 } // Send the binding to IO thread, because Cache Storage handles Mojo IPC on IO // thread entirely. -@@ -2018,7 +2029,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { +@@ -2013,7 +2024,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() { registry->AddInterface(base::BindRepeating( &AppCacheDispatcherHost::Create, @@ -511,7 +511,7 @@ index 20994fc0a49c..f2f79f299d20 100644 AddUIThreadInterface(registry.get(), base::Bind(&FieldTrialRecorder::Create)); diff --git content/browser/renderer_host/render_process_host_impl.h content/browser/renderer_host/render_process_host_impl.h -index e709fd121d7c..b67e0d854e07 100644 +index 403fcc676b0f..886f62977604 100644 --- content/browser/renderer_host/render_process_host_impl.h +++ content/browser/renderer_host/render_process_host_impl.h @@ -88,7 +88,6 @@ class ResourceMessageFilter; @@ -619,10 +619,10 @@ index 597e99215428..29c6ba3049b7 100644 base::BindOnce(&SharedWorkerServiceImpl::StartWorker, weak_factory_.GetWeakPtr(), std::move(instance), diff --git content/browser/storage_partition_impl.h content/browser/storage_partition_impl.h -index 2cf35167ebaa..646392017593 100644 +index 07992017538c..94d6dcd425a1 100644 --- content/browser/storage_partition_impl.h +++ content/browser/storage_partition_impl.h -@@ -96,7 +96,7 @@ class CONTENT_EXPORT StoragePartitionImpl +@@ -95,7 +95,7 @@ class CONTENT_EXPORT StoragePartitionImpl storage::FileSystemContext* GetFileSystemContext() override; storage::DatabaseTracker* GetDatabaseTracker() override; DOMStorageContextWrapper* GetDOMStorageContext() override; @@ -631,7 +631,7 @@ index 2cf35167ebaa..646392017593 100644 IndexedDBContextImpl* GetIndexedDBContext() override; CacheStorageContextImpl* GetCacheStorageContext() override; ServiceWorkerContextWrapper* GetServiceWorkerContext() override; -@@ -135,14 +135,14 @@ class CONTENT_EXPORT StoragePartitionImpl +@@ -134,14 +134,14 @@ class CONTENT_EXPORT StoragePartitionImpl void FlushNetworkInterfaceForTesting() override; void WaitForDeletionTasksForTesting() override; @@ -654,7 +654,7 @@ index 2cf35167ebaa..646392017593 100644 // mojom::StoragePartitionService interface. void OpenLocalStorage(const url::Origin& origin, -@@ -151,18 +151,18 @@ class CONTENT_EXPORT StoragePartitionImpl +@@ -150,18 +150,18 @@ class CONTENT_EXPORT StoragePartitionImpl const std::string& namespace_id, mojom::SessionStorageNamespaceRequest request) override; @@ -677,7 +677,7 @@ index 2cf35167ebaa..646392017593 100644 auto& bindings_for_testing() { return bindings_; } -@@ -173,10 +173,11 @@ class CONTENT_EXPORT StoragePartitionImpl +@@ -172,10 +172,11 @@ class CONTENT_EXPORT StoragePartitionImpl // one must use the "chrome-guest://blahblah" site URL to ensure that the // service worker stays in this StoragePartition. This is an empty GURL if // this StoragePartition is not for guests. @@ -779,7 +779,7 @@ index dffff04f6f86..29a0653b8fa5 100644 std::map; diff --git content/public/browser/storage_partition.h content/public/browser/storage_partition.h -index 5a3984eb6efb..fa57b523eaf2 100644 +index db26f7cfcef9..3a46d95fc6f3 100644 --- content/public/browser/storage_partition.h +++ content/public/browser/storage_partition.h @@ -14,6 +14,7 @@ @@ -787,8 +787,8 @@ index 5a3984eb6efb..fa57b523eaf2 100644 #include "base/time/time.h" #include "content/common/content_export.h" +#include "mojo/public/cpp/bindings/binding_set.h" - #include "net/cookies/cookie_store.h" #include "services/network/public/cpp/shared_url_loader_factory.h" + #include "services/network/public/mojom/cookie_manager.mojom.h" @@ -59,12 +60,27 @@ class ServiceWorkerContext; class SharedWorkerService; @@ -818,7 +818,7 @@ index 5a3984eb6efb..fa57b523eaf2 100644 // Defines what persistent state a child process can access. // // The StoragePartition defines the view each child process has of the -@@ -97,6 +113,7 @@ class CONTENT_EXPORT StoragePartition { +@@ -102,6 +118,7 @@ class CONTENT_EXPORT StoragePartition { virtual storage::FileSystemContext* GetFileSystemContext() = 0; virtual storage::DatabaseTracker* GetDatabaseTracker() = 0; virtual DOMStorageContext* GetDOMStorageContext() = 0; @@ -826,7 +826,7 @@ index 5a3984eb6efb..fa57b523eaf2 100644 virtual IndexedDBContext* GetIndexedDBContext() = 0; virtual ServiceWorkerContext* GetServiceWorkerContext() = 0; virtual SharedWorkerService* GetSharedWorkerService() = 0; -@@ -213,6 +230,26 @@ class CONTENT_EXPORT StoragePartition { +@@ -223,6 +240,26 @@ class CONTENT_EXPORT StoragePartition { // Wait until all deletions tasks are finished. For test use only. virtual void WaitForDeletionTasksForTesting() = 0; diff --git a/patch/patches/views_1749_2102.patch b/patch/patches/views_1749_2102.patch index b00e6761a..bf9452db8 100644 --- a/patch/patches/views_1749_2102.patch +++ b/patch/patches/views_1749_2102.patch @@ -1,5 +1,5 @@ diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h -index 605dc1b17e43..24c385a53289 100644 +index a19e6e937f87..817b7eada253 100644 --- ui/base/models/menu_model.h +++ ui/base/models/menu_model.h @@ -15,6 +15,7 @@ @@ -10,7 +10,7 @@ index 605dc1b17e43..24c385a53289 100644 struct VectorIcon; } -@@ -120,6 +121,27 @@ class UI_BASE_EXPORT MenuModel { +@@ -121,6 +122,27 @@ class UI_BASE_EXPORT MenuModel { // |event_flags| is a bit mask of ui::EventFlags. virtual void ActivatedAt(int index, int event_flags); @@ -154,7 +154,7 @@ index b2323dae3d9e..4b9546ca1a61 100644 ImageView* image() const { return image_; } Label* label() const; diff --git ui/views/controls/button/menu_button.cc ui/views/controls/button/menu_button.cc -index b6996aab742c..ef7ac692a21d 100644 +index 4b4c769910e3..d5ac9e531200 100644 --- ui/views/controls/button/menu_button.cc +++ ui/views/controls/button/menu_button.cc @@ -178,7 +178,7 @@ bool MenuButton::IsTriggerableEventType(const ui::Event& event) { @@ -295,10 +295,10 @@ index 1d35afeda78f..333f9c0f778d 100644 std::unique_ptr selection_controller_; diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc -index c1ba25788dd6..8ed6b781e06a 100644 +index 5ee38baa45f9..fa0f8a090fa7 100644 --- ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc -@@ -2315,8 +2315,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( +@@ -2408,8 +2408,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem( void MenuController::OpenSubmenuChangeSelectionIfCan() { MenuItemView* item = pending_state_.item; @@ -313,7 +313,7 @@ index c1ba25788dd6..8ed6b781e06a 100644 MenuItemView* to_select = NULL; if (item->GetSubmenu()->GetMenuItemCount() > 0) to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN); -@@ -2331,8 +2336,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { +@@ -2424,8 +2429,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { void MenuController::CloseSubmenu() { MenuItemView* item = state_.item; DCHECK(item); @@ -373,10 +373,10 @@ index 4dea63f9f286..ef50b710c5af 100644 virtual int GetMaxWidthForMenu(MenuItemView* menu); diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc -index 5c21e2213bfa..f5a35ea10ed9 100644 +index 4eb50c922aa4..52a3b414a017 100644 --- ui/views/controls/menu/menu_item_view.cc +++ ui/views/controls/menu/menu_item_view.cc -@@ -842,7 +842,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) { +@@ -896,7 +896,12 @@ void MenuItemView::PaintButton(gfx::Canvas* canvas, PaintButtonMode mode) { // only need the background when we want it to look different, as when we're // selected. ui::NativeTheme* native_theme = GetNativeTheme(); @@ -388,9 +388,9 @@ index 5c21e2213bfa..f5a35ea10ed9 100644 + canvas->DrawColor(override_color); + } else if (render_selection) { gfx::Rect item_bounds(0, 0, width(), height()); - AdjustBoundsForRTLUI(&item_bounds); - -@@ -952,6 +957,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) { + if (type_ == ACTIONABLE_SUBMENU) { + if (submenu_area_of_actionable_submenu_selected_) { +@@ -1015,6 +1020,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) { SkColor MenuItemView::GetTextColor(bool minor, bool render_selection, bool emphasized) const { @@ -405,10 +405,10 @@ index 5c21e2213bfa..f5a35ea10ed9 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 e1a2339bddbf..1f209c328a94 100644 +index e9cfe1c466c6..bc6797a8205d 100644 --- ui/views/controls/menu/menu_model_adapter.cc +++ ui/views/controls/menu/menu_model_adapter.cc -@@ -228,6 +228,77 @@ void MenuModelAdapter::SelectionChanged(MenuItemView* menu) { +@@ -231,6 +231,77 @@ void MenuModelAdapter::SelectionChanged(MenuItemView* menu) { NOTREACHED(); } @@ -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 e35e0509480f..7594bb47e5d0 100644 +index abcc8e28e7e5..574d46d03505 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) 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 296cd80a0..38599f0a7 100644 --- a/patch/patches/views_widget_180_1481_1565_1677_1749.patch +++ b/patch/patches/views_widget_180_1481_1565_1677_1749.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc -index 909cbf39b2e0..f91f652a9d73 100644 +index 8dfffd595a2a..757e7ef538f7 100644 --- content/browser/renderer_host/render_widget_host_view_base.cc +++ content/browser/renderer_host/render_widget_host_view_base.cc -@@ -376,6 +376,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const { +@@ -395,6 +395,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() const { return screen_info.device_scale_factor; } @@ -18,10 +18,10 @@ index 909cbf39b2e0..f91f652a9d73 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 04b50a9fcefb..c0b509f4881f 100644 +index 5e762d94c6ba..57c51ab01a5b 100644 --- content/browser/renderer_host/render_widget_host_view_base.h +++ content/browser/renderer_host/render_widget_host_view_base.h -@@ -81,6 +81,7 @@ class CursorManager; +@@ -83,6 +83,7 @@ class CursorManager; class MouseWheelPhaseHandler; class RenderWidgetHostImpl; class RenderWidgetHostViewBaseObserver; @@ -29,7 +29,7 @@ index 04b50a9fcefb..c0b509f4881f 100644 class SyntheticGestureTarget; class TextInputManager; class TouchSelectionControllerClientManager; -@@ -102,6 +103,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 04b50a9fcefb..c0b509f4881f 100644 // Returns the focused RenderWidgetHost inside this |view|'s RWH. RenderWidgetHostImpl* GetFocusedWidget() const; -@@ -133,6 +137,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -136,6 +140,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 04b50a9fcefb..c0b509f4881f 100644 TouchSelectionControllerClientManager* GetTouchSelectionControllerClientManager() override; -@@ -426,6 +432,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -446,6 +452,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,9 +61,9 @@ index 04b50a9fcefb..c0b509f4881f 100644 // Sets the cursor for this view to the one associated with the specified // cursor_type. virtual void UpdateCursor(const WebCursor& cursor) = 0; -@@ -600,6 +612,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase +@@ -622,6 +634,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase - bool is_currently_scrolling_viewport_; + bool use_viz_hit_test_ = false; + // True if the widget has a external parent view/window outside of the + // Chromium-controlled view/window hierarchy. @@ -73,11 +73,11 @@ index 04b50a9fcefb..c0b509f4881f 100644 #if defined(USE_AURA) void OnDidScheduleEmbed(int routing_id, diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc -index e046d3a5e231..4c9d6059adb9 100644 +index e9bef08d3222..09bae481b663 100644 --- content/browser/renderer_host/render_widget_host_view_event_handler.cc +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc @@ -30,6 +30,10 @@ - #include "ui/events/keycodes/dom/keycode_converter.h" + #include "ui/events/keycodes/dom/dom_code.h" #include "ui/touch_selection/touch_selection_controller.h" +#if defined(OS_LINUX) @@ -103,10 +103,10 @@ index e046d3a5e231..4c9d6059adb9 100644 // TODO(wjmaclean): can host_ ever be null? if (host_ && set_focus_on_mouse_down_or_key_event_) { diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h -index 3b9d91220e63..2c5ae39a7cda 100644 +index c36409dbbcc3..b12f0a737081 100644 --- content/public/browser/render_widget_host_view.h +++ content/public/browser/render_widget_host_view.h -@@ -245,6 +245,14 @@ class CONTENT_EXPORT RenderWidgetHostView { +@@ -253,6 +253,14 @@ class CONTENT_EXPORT RenderWidgetHostView { // This must always return the same device scale factor as GetScreenInfo. virtual float GetDeviceScaleFactor() const = 0; @@ -135,10 +135,10 @@ 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 7c6128891689..c25deaeeb31d 100644 +index 88bebe016729..95345ae3c53a 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc -@@ -85,6 +85,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin( +@@ -86,6 +86,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin( should_animate_window_close_(false), pending_close_(false), has_non_client_view_(false), @@ -146,7 +146,7 @@ index 7c6128891689..c25deaeeb31d 100644 tooltip_(NULL) { } -@@ -119,8 +120,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { +@@ -120,8 +121,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { native_widget_delegate_); HWND parent_hwnd = NULL; @@ -160,7 +160,7 @@ index 7c6128891689..c25deaeeb31d 100644 remove_standard_frame_ = params.remove_standard_frame; has_non_client_view_ = Widget::RequiresNonClientView(params.type); -@@ -857,11 +862,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { +@@ -858,11 +863,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { } void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { @@ -179,10 +179,10 @@ index 7c6128891689..c25deaeeb31d 100644 bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -index beffc35eee45..0982b021b4e2 100644 +index dd3784c0fe87..ad4fd65b80e5 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -@@ -281,6 +281,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin +@@ -282,6 +282,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin // True if the window should have the frame removed. bool remove_standard_frame_; @@ -194,10 +194,10 @@ index beffc35eee45..0982b021b4e2 100644 // a reference. corewm::TooltipWin* tooltip_; diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc -index 89513b6e40e0..06bb9d0508ab 100644 +index 3393e97a2c44..7fb817a9ac54 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc -@@ -145,6 +145,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( +@@ -146,6 +146,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( use_native_frame_(false), should_maximize_after_map_(false), use_argb_visual_(false), @@ -205,7 +205,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 drag_drop_client_(NULL), native_widget_delegate_(native_widget_delegate), desktop_native_widget_aura_(desktop_native_widget_aura), -@@ -157,6 +158,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( +@@ -158,6 +159,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11( has_window_focus_(false), has_pointer_focus_(false), modal_dialog_counter_(0), @@ -213,7 +213,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 close_widget_factory_(this), weak_factory_(this) {} -@@ -192,6 +194,8 @@ std::vector DesktopWindowTreeHostX11::GetAllOpenWindows() { +@@ -193,6 +195,8 @@ std::vector DesktopWindowTreeHostX11::GetAllOpenWindows() { } gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const { @@ -222,7 +222,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 return bounds_in_pixels_; } -@@ -502,7 +506,8 @@ void DesktopWindowTreeHostX11::CloseNow() { +@@ -503,7 +507,8 @@ void DesktopWindowTreeHostX11::CloseNow() { // Actually free our native resources. if (ui::PlatformEventSource::GetInstance()) ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this); @@ -232,7 +232,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 xwindow_ = x11::None; desktop_native_widget_aura_->OnHostClosed(); -@@ -643,6 +648,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement( +@@ -644,6 +649,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement( } gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const { @@ -241,7 +241,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 return ToDIPRect(bounds_in_pixels_); } -@@ -1263,6 +1270,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels( +@@ -1261,6 +1268,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels( } gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const { @@ -250,7 +250,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 return bounds_in_pixels_.origin(); } -@@ -1378,7 +1387,6 @@ void DesktopWindowTreeHostX11::InitX11Window( +@@ -1376,7 +1385,6 @@ void DesktopWindowTreeHostX11::InitX11Window( ::Atom window_type; switch (params.type) { case Widget::InitParams::TYPE_MENU: @@ -258,7 +258,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU"); break; case Widget::InitParams::TYPE_TOOLTIP: -@@ -1434,9 +1442,15 @@ void DesktopWindowTreeHostX11::InitX11Window( +@@ -1432,9 +1440,15 @@ void DesktopWindowTreeHostX11::InitX11Window( attribute_mask |= CWBorderPixel; swa.border_pixel = 0; @@ -275,7 +275,7 @@ index 89513b6e40e0..06bb9d0508ab 100644 bounds_in_pixels_.y(), bounds_in_pixels_.width(), bounds_in_pixels_.height(), 0, // border width -@@ -2034,6 +2048,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( +@@ -2032,6 +2046,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent( } break; } @@ -287,10 +287,10 @@ index 89513b6e40e0..06bb9d0508ab 100644 case x11::FocusOut: OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode, diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h -index 49c575b1a0d0..f45f7ef3ac6f 100644 +index cf991151505b..85b8e5844d63 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h -@@ -87,6 +87,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 +@@ -88,6 +88,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 // Disables event listening to make |dialog| modal. std::unique_ptr DisableEventListening(); @@ -313,7 +313,7 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644 // Whenever the bounds are set, we keep the previous set of bounds around so // we can have a better chance of getting the real // |restored_bounds_in_pixels_|. Window managers tend to send a Configure -@@ -350,6 +359,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 +@@ -351,6 +360,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 // Whether we used an ARGB visual for our window. bool use_argb_visual_; @@ -324,7 +324,7 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644 DesktopDragDropClientAuraX11* drag_drop_client_; std::unique_ptr x11_non_client_event_filter_; -@@ -438,6 +451,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 +@@ -439,6 +452,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 uint32_t modal_dialog_counter_; @@ -335,10 +335,10 @@ index 49c575b1a0d0..f45f7ef3ac6f 100644 base::WeakPtrFactory weak_factory_; diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc -index 239b66424dcc..1006f78e284c 100644 +index bf4b1d07f7fe..5702e031d6ce 100644 --- ui/views/widget/widget.cc +++ ui/views/widget/widget.cc -@@ -133,6 +133,7 @@ Widget::InitParams::InitParams(Type type) +@@ -132,6 +132,7 @@ Widget::InitParams::InitParams(Type type) use_system_default_icon(false), show_state(ui::SHOW_STATE_DEFAULT), parent(nullptr), @@ -346,7 +346,7 @@ index 239b66424dcc..1006f78e284c 100644 native_widget(nullptr), desktop_window_tree_host(nullptr), layer_type(ui::LAYER_TEXTURED), -@@ -307,7 +308,7 @@ void Widget::Init(const InitParams& in_params) { +@@ -306,7 +307,7 @@ void Widget::Init(const InitParams& in_params) { params.name = params.delegate->GetContentsView()->GetClassName(); params.child |= (params.type == InitParams::TYPE_CONTROL); @@ -355,7 +355,7 @@ index 239b66424dcc..1006f78e284c 100644 if (params.opacity == views::Widget::InitParams::INFER_OPACITY && params.type != views::Widget::InitParams::TYPE_WINDOW && -@@ -374,7 +375,12 @@ void Widget::Init(const InitParams& in_params) { +@@ -373,7 +374,12 @@ void Widget::Init(const InitParams& in_params) { } } else if (params.delegate) { SetContentsView(params.delegate->GetContentsView()); @@ -369,7 +369,7 @@ index 239b66424dcc..1006f78e284c 100644 } // This must come after SetContentsView() or it might not be able to find // the correct NativeTheme (on Linux). See http://crbug.com/384492 -@@ -1098,10 +1104,16 @@ void Widget::OnNativeWidgetDestroyed() { +@@ -1097,10 +1103,16 @@ void Widget::OnNativeWidgetDestroyed() { } gfx::Size Widget::GetMinimumSize() const { diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index 9c0e46da3..26f69fefc 100644 --- a/patch/patches/web_contents_1257_1565.patch +++ b/patch/patches/web_contents_1257_1565.patch @@ -1,8 +1,8 @@ diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc -index 73514cb25175..f21a0b700ac0 100644 +index 189b3f0ec944..0dcd5620f9c0 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc -@@ -1791,21 +1791,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { +@@ -1782,21 +1782,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) { std::string unique_name; frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name); @@ -45,7 +45,7 @@ index 73514cb25175..f21a0b700ac0 100644 CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -2410,6 +2419,15 @@ void WebContentsImpl::CreateNewWindow( +@@ -2403,6 +2412,15 @@ void WebContentsImpl::CreateNewWindow( create_params.renderer_initiated_creation = main_frame_route_id != MSG_ROUTING_NONE; @@ -61,7 +61,7 @@ index 73514cb25175..f21a0b700ac0 100644 std::unique_ptr new_contents; if (!is_guest) { create_params.context = view_->GetNativeView(); -@@ -2440,7 +2458,7 @@ void WebContentsImpl::CreateNewWindow( +@@ -2433,7 +2451,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 73514cb25175..f21a0b700ac0 100644 } // Save the created window associated with the route so we can show it // later. -@@ -5759,7 +5777,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { +@@ -5749,7 +5767,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() { void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager( RenderViewHost* render_view_host) { RenderWidgetHostViewBase* rwh_view = @@ -95,10 +95,10 @@ index 53d56abb35a3..d7b955f42ca5 100644 WebContents::CreateParams::CreateParams(const CreateParams& other) = default; diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h -index b79480f87663..69ef5de880f3 100644 +index 2835d80ef446..3e9427593945 100644 --- content/public/browser/web_contents.h +++ content/public/browser/web_contents.h -@@ -74,9 +74,11 @@ class BrowserPluginGuestDelegate; +@@ -70,9 +70,11 @@ class BrowserPluginGuestDelegate; class InterstitialPage; class RenderFrameHost; class RenderViewHost; @@ -109,8 +109,8 @@ index b79480f87663..69ef5de880f3 100644 +class WebContentsView; struct CustomContextMenuContext; struct DropData; - struct MHTMLGenerationParams; -@@ -178,6 +180,10 @@ class WebContents : public PageNavigator, + struct Manifest; +@@ -175,6 +177,10 @@ class WebContents : public PageNavigator, // Sandboxing flags set on the new WebContents. blink::WebSandboxFlags starting_sandbox_flags; @@ -122,10 +122,10 @@ index b79480f87663..69ef5de880f3 100644 // Creates a new WebContents. diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h -index d6adf55d3c68..dd260776e01b 100644 +index 6954d351c3b8..160bd5827a5b 100644 --- content/public/browser/web_contents_delegate.h +++ content/public/browser/web_contents_delegate.h -@@ -46,10 +46,12 @@ class ColorChooser; +@@ -47,10 +47,12 @@ class ColorChooser; class JavaScriptDialogManager; class RenderFrameHost; class RenderProcessHost; @@ -138,7 +138,7 @@ index d6adf55d3c68..dd260776e01b 100644 struct ContextMenuParams; struct DropData; struct FileChooserParams; -@@ -312,6 +314,14 @@ class CONTENT_EXPORT WebContentsDelegate { +@@ -313,6 +315,14 @@ class CONTENT_EXPORT WebContentsDelegate { const std::string& partition_id, SessionStorageNamespace* session_storage_namespace); diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index 183764b65..a86416a12 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -1,8 +1,8 @@ diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h -index f832a1183d5f..cd52e63ab9b1 100644 +index 3ab92de1a98b..89f115e689c6 100644 --- third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h -@@ -375,6 +375,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -368,6 +368,7 @@ class BLINK_PLATFORM_EXPORT Platform { // satisfy this call. mainFrameOrigin is used by the browser process to // filter plugins from the plugin list based on content settings. virtual void GetPluginList(bool refresh, @@ -10,7 +10,7 @@ index f832a1183d5f..cd52e63ab9b1 100644 const WebSecurityOrigin& main_frame_origin, WebPluginListBuilder*) {} -@@ -734,6 +735,11 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -727,6 +728,11 @@ class BLINK_PLATFORM_EXPORT Platform { // runs during Chromium's build step). virtual bool IsTakingV8ContextSnapshot() { return false; } @@ -41,7 +41,7 @@ index 8c40eef254a8..b9ac9f2a3472 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 ab50fed4ab5e..e8829a3b8529 100644 +index 114b6830844a..7d64147fc62e 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 @@ -323,6 +323,8 @@ WebDevToolsAgentImpl::Session::Session( @@ -62,10 +62,10 @@ index ab50fed4ab5e..e8829a3b8529 100644 void WebDevToolsAgentImpl::Session::SendProtocolResponse(int session_id, diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc -index 80d6c903d8ef..8433050ec98c 100644 +index 60caa00ec723..5d37ee2552a1 100644 --- third_party/blink/renderer/core/frame/local_frame.cc +++ third_party/blink/renderer/core/frame/local_frame.cc -@@ -1193,7 +1193,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { +@@ -1224,7 +1224,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() { PluginData* LocalFrame::GetPluginData() const { if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin)) return nullptr; @@ -75,7 +75,7 @@ index 80d6c903d8ef..8433050ec98c 100644 } diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc -index 3f4d3f06e7e2..23bbc71f88eb 100644 +index dc89b93741bd..399a33e9d4d7 100644 --- third_party/blink/renderer/core/page/page.cc +++ third_party/blink/renderer/core/page/page.cc @@ -153,7 +153,8 @@ Page::Page(PageClients& page_clients) @@ -88,7 +88,7 @@ index 3f4d3f06e7e2..23bbc71f88eb 100644 use_counter_(page_clients.chrome_client && page_clients.chrome_client->IsSVGImageChromeClient() ? UseCounter::kSVGImageContext -@@ -326,21 +327,40 @@ void Page::RefreshPlugins() { +@@ -331,21 +332,40 @@ void Page::RefreshPlugins() { PluginData::RefreshBrowserSidePluginCache(); } @@ -138,7 +138,7 @@ index 3f4d3f06e7e2..23bbc71f88eb 100644 page->NotifyPluginsChanged(); } } -@@ -713,7 +733,8 @@ void Page::Trace(blink::Visitor* visitor) { +@@ -718,7 +738,8 @@ void Page::Trace(blink::Visitor* visitor) { visitor->Trace(visual_viewport_); visitor->Trace(overscroll_controller_); visitor->Trace(main_frame_); diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index d4c4a3d8e..6adf6c9ba 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -1,5 +1,5 @@ diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h -index c25144ef9318..343d1de5f03a 100644 +index d9cea512dfc0..5a75a1ee5205 100644 --- third_party/blink/public/web/web_view.h +++ third_party/blink/public/web/web_view.h @@ -358,6 +358,7 @@ class WebView : protected WebWidget { @@ -14,13 +14,13 @@ index c25144ef9318..343d1de5f03a 100644 unsigned inactive_background_color, unsigned inactive_foreground_color) = 0; -+ virtual void SetBaseBackgroundColor(WebColor color) = 0; ++ virtual void SetBaseBackgroundColor(SkColor color) = 0; + // Modal dialog support ------------------------------------------------ // 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 7298a752d360..26bac8472a20 100644 +index b6d1e6c88e47..70e250fc0c76 100644 --- third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc @@ -251,8 +251,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { @@ -48,7 +48,7 @@ index 7298a752d360..26bac8472a20 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 7d13f1c07529..1c664d42eb17 100644 +index 8d945bba1818..9081f247934c 100644 --- third_party/blink/renderer/core/exported/web_view_impl.h +++ third_party/blink/renderer/core/exported/web_view_impl.h @@ -102,7 +102,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -65,12 +65,12 @@ index 7d13f1c07529..1c664d42eb17 100644 HitTestResult CoreHitTestResultAt(const WebPoint&); void InvalidateRect(const IntRect&); -- void SetBaseBackgroundColor(WebColor); -+ void SetBaseBackgroundColor(WebColor) override; - void SetBaseBackgroundColorOverride(WebColor); +- void SetBaseBackgroundColor(SkColor); ++ void SetBaseBackgroundColor(SkColor) override; + void SetBaseBackgroundColorOverride(SkColor); void ClearBaseBackgroundColorOverride(); - void SetBackgroundColorOverride(WebColor); -@@ -622,6 +623,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, + void SetBackgroundColorOverride(SkColor); +@@ -620,6 +621,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, float fake_page_scale_animation_page_scale_factor_; bool fake_page_scale_animation_use_anchor_; @@ -80,7 +80,7 @@ index 7d13f1c07529..1c664d42eb17 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 6af373a6468c..c9b5d47d9141 100644 +index 6b9ce0b88e7d..4fd152419225 100644 --- third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc @@ -781,7 +781,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { diff --git a/patch/patches/webui_2037.patch b/patch/patches/webui_2037.patch index b32ee2187..b3708e70c 100644 --- a/patch/patches/webui_2037.patch +++ b/patch/patches/webui_2037.patch @@ -35,7 +35,7 @@ index 7742a5367ff0..0ec2381dc558 100644 extensions::ExtensionRegistry::Get(profile); std::string extensions_list; diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc -index 509b62c78375..f48dd53e30c3 100644 +index 4c0434b3c6ff..d92a70ce8ead 100644 --- chrome/browser/memory_details.cc +++ chrome/browser/memory_details.cc @@ -16,6 +16,7 @@ @@ -60,10 +60,10 @@ index 509b62c78375..f48dd53e30c3 100644 render_process_host->GetBrowserContext(); extensions::ExtensionRegistry* extension_registry = diff --git chrome/browser/ui/webui/net_internals/net_internals_ui.cc chrome/browser/ui/webui/net_internals/net_internals_ui.cc -index 9a9192ba6718..54edcbc95534 100644 +index 12c2eb2e1271..0de1335e91c7 100644 --- chrome/browser/ui/webui/net_internals/net_internals_ui.cc +++ chrome/browser/ui/webui/net_internals/net_internals_ui.cc -@@ -554,41 +554,31 @@ void NetInternalsMessageHandler::OnClearBrowserCache( +@@ -552,41 +552,31 @@ void NetInternalsMessageHandler::OnClearBrowserCache( void NetInternalsMessageHandler::OnGetPrerenderInfo( const base::ListValue* list) { DCHECK_CURRENTLY_ON(BrowserThread::UI); @@ -110,7 +110,7 @@ index 9a9192ba6718..54edcbc95534 100644 } //////////////////////////////////////////////////////////////////////////////// -@@ -668,9 +658,17 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady( +@@ -666,9 +656,17 @@ void NetInternalsMessageHandler::IOThreadImpl::OnRendererReady( PrePopulateEventList(); @@ -131,7 +131,7 @@ index 9a9192ba6718..54edcbc95534 100644 } void NetInternalsMessageHandler::IOThreadImpl::OnGetNetInfo( -@@ -1181,7 +1179,8 @@ void NetInternalsMessageHandler::IOThreadImpl::PrePopulateEventList() { +@@ -1179,7 +1177,8 @@ void NetInternalsMessageHandler::IOThreadImpl::PrePopulateEventList() { std::set contexts; for (const auto& getter : context_getters_) contexts.insert(getter->GetURLRequestContext()); @@ -170,10 +170,10 @@ index 903cc543a242..5bd30ae82974 100644 CONTENT_EXPORT void InitializeResourceContext(BrowserContext* browser_context); diff --git content/browser/webui/url_data_manager.cc content/browser/webui/url_data_manager.cc -index a2d542f817e3..fc81237f729a 100644 +index ce87d5984c09..6d31657e5c6c 100644 --- content/browser/webui/url_data_manager.cc +++ content/browser/webui/url_data_manager.cc -@@ -149,6 +149,11 @@ void URLDataManager::UpdateWebUIDataSource( +@@ -148,6 +148,11 @@ void URLDataManager::UpdateWebUIDataSource( ->UpdateWebUIDataSource(source_name, std::move(update)); } diff --git a/patch/patches/webview_plugin_2020.patch b/patch/patches/webview_plugin_2020.patch index 6da988ff8..d309ce255 100644 --- a/patch/patches/webview_plugin_2020.patch +++ b/patch/patches/webview_plugin_2020.patch @@ -1,8 +1,8 @@ diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd -index a813c4e812f1..bb54023ff9ea 100644 +index 0eeacabd76db..8a4216196bcd 100644 --- chrome/app/generated_resources.grd +++ chrome/app/generated_resources.grd -@@ -4667,7 +4667,7 @@ Keep your key file in a safe place. You will need it to create new versions of y +@@ -4661,7 +4661,7 @@ Keep your key file in a safe place. You will need it to create new versions of y diff --git a/patch/patches/win_rt_2274.patch b/patch/patches/win_rt_2274.patch index c7dbefd87..fe0904e37 100644 --- a/patch/patches/win_rt_2274.patch +++ b/patch/patches/win_rt_2274.patch @@ -1,5 +1,5 @@ diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc -index 50430a8e2f8f..424af4cb70f6 100644 +index 6c72f29ee7ce..9b0114b2cfdc 100644 --- services/service_manager/sandbox/win/sandbox_win.cc +++ services/service_manager/sandbox/win/sandbox_win.cc @@ -865,10 +865,13 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess( diff --git a/tools/patch_updater.bat b/tools/patch_updater.bat new file mode 100644 index 000000000..94ca4de89 --- /dev/null +++ b/tools/patch_updater.bat @@ -0,0 +1,2 @@ +@echo off +python.bat %~dp0\patch_updater.py %* \ No newline at end of file diff --git a/tools/patch_updater.py b/tools/patch_updater.py index e353ab40b..0a562b5ae 100644 --- a/tools/patch_updater.py +++ b/tools/patch_updater.py @@ -108,6 +108,14 @@ parser.add_option( type='string', default=[], help='optional patch name to process (multiples allowed)') +parser.add_option( + '--add', + action='extend', + dest='add', + type='string', + default=[], + help='optional relative file paths to add (multiples allowed). Used in ' +\ + 'combination with --resave and a single --patch value.') (options, args) = parser.parse_args() if options.resave and options.revert: @@ -115,6 +123,11 @@ if options.resave and options.revert: parser.print_help(sys.stderr) sys.exit() +if len(options.add) > 0 and (len(options.patch) != 1 or not options.resave): + print '--add can only be used with --resave and a single --patch value.' + parser.print_help(sys.stderr) + sys.exit() + # The CEF root directory is the parent directory of _this_ script. cef_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir)) src_dir = os.path.abspath(os.path.join(cef_dir, os.pardir)) @@ -258,6 +271,17 @@ for patch in patches: msg('No backup of %s' % patch_path_abs) if (not options.revert and not options.reapply) or has_backup_changes: + if len(options.add) > 0: + # Add additional requested files to the patch. + for patch_path in options.add: + patch_path_abs = os.path.abspath(os.path.join(patch_root_abs, \ + patch_path)) + if os.path.exists(patch_path_abs): + msg('Adding file %s' % patch_path_abs) + patch_paths.append(patch_path) + else: + msg('Skipping non-existing file %s' % patch_path_abs) + msg('Saving changes to %s' % patch_file) if added_paths: # Inform git of the added paths so they appear in the patch file. diff --git a/tools/patch_updater.sh b/tools/patch_updater.sh new file mode 100755 index 000000000..17b34134f --- /dev/null +++ b/tools/patch_updater.sh @@ -0,0 +1,2 @@ +#!/bin/sh +python tools/patch_updater.py $@