diff --git a/BUILD.gn b/BUILD.gn index d914d6dea..460e2e357 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -900,6 +900,8 @@ static_library("libcef_static") { public_deps = [ # Bring in feature flag defines. "//cef/libcef/features", + # Support relative include paths. + "//third_party/abseil-cpp:absl", ] deps = [ diff --git a/CHROMIUM_BUILD_COMPATIBILITY.txt b/CHROMIUM_BUILD_COMPATIBILITY.txt index 3c9157697..19b3ebbab 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/102.0.5005.0' + 'chromium_checkout': 'refs/tags/103.0.5060.0' } diff --git a/libcef/browser/alloy/alloy_browser_host_impl.cc b/libcef/browser/alloy/alloy_browser_host_impl.cc index 9852116d1..b1274c22a 100644 --- a/libcef/browser/alloy/alloy_browser_host_impl.cc +++ b/libcef/browser/alloy/alloy_browser_host_impl.cc @@ -51,6 +51,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.h" #include "net/base/net_errors.h" +#include "third_party/blink/public/mojom/mediastream/media_stream.mojom.h" #include "ui/events/base_event_utils.h" using content::KeyboardEventProcessingResult; @@ -1295,14 +1296,17 @@ void AlloyBrowserHostImpl::RequestMediaAccessPermission( content::MediaResponseCallback callback) { CEF_REQUIRE_UIT(); - blink::MediaStreamDevices devices; + blink::MediaStreamDevices audio_devices; + blink::MediaStreamDevices video_devices; + blink::mojom::StreamDevices stream_devices; const base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (!command_line->HasSwitch(switches::kEnableMediaStream)) { // Cancel the request. std::move(callback).Run( - devices, blink::mojom::MediaStreamRequestResult::PERMISSION_DENIED, + stream_devices, + blink::mojom::MediaStreamRequestResult::PERMISSION_DENIED, std::unique_ptr()); return; } @@ -1321,11 +1325,11 @@ void AlloyBrowserHostImpl::RequestMediaAccessPermission( // given type. if (microphone_requested) { CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice( - request.requested_audio_device_id, true, false, &devices); + request.requested_audio_device_id, true, false, &audio_devices); } if (webcam_requested) { CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice( - request.requested_video_device_id, false, true, &devices); + request.requested_video_device_id, false, true, &video_devices); } if (screen_requested) { content::DesktopMediaID media_id; @@ -1337,13 +1341,20 @@ void AlloyBrowserHostImpl::RequestMediaAccessPermission( media_id = content::DesktopMediaID::Parse(request.requested_video_device_id); } - devices.push_back(blink::MediaStreamDevice( + video_devices.push_back(blink::MediaStreamDevice( blink::mojom::MediaStreamType::GUM_DESKTOP_VIDEO_CAPTURE, media_id.ToString(), "Screen")); } } - std::move(callback).Run(devices, blink::mojom::MediaStreamRequestResult::OK, + // At most one audio device and one video device can be used in a stream. + if (!audio_devices.empty()) + stream_devices.audio_device = audio_devices.front(); + if (!video_devices.empty()) + stream_devices.video_device = video_devices.front(); + + std::move(callback).Run(stream_devices, + blink::mojom::MediaStreamRequestResult::OK, std::unique_ptr()); } diff --git a/libcef/browser/alloy/alloy_browser_main.cc b/libcef/browser/alloy/alloy_browser_main.cc index c481472cb..59deae205 100644 --- a/libcef/browser/alloy/alloy_browser_main.cc +++ b/libcef/browser/alloy/alloy_browser_main.cc @@ -23,7 +23,6 @@ #include "base/bind.h" #include "base/strings/string_number_conversions.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/media/router/chrome_media_router_factory.h" @@ -89,10 +88,7 @@ #include "ui/base/linux/linux_ui_delegate.h" #include "ui/ozone/public/ozone_platform.h" #include "ui/views/linux_ui/linux_ui.h" - -#if BUILDFLAG(USE_GTK) -#include "ui/gtk/gtk_ui_factory.h" -#endif +#include "ui/views/linux_ui/linux_ui_factory.h" #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM) @@ -118,12 +114,7 @@ std::unique_ptr BuildLinuxUI() { if (!ui::LinuxUiDelegate::GetInstance()) return nullptr; - // GtkUi is the only LinuxUI implementation for now. -#if BUILDFLAG(USE_GTK) - return BuildGtkUi(); -#else - return nullptr; -#endif + return CreateLinuxUi(); } // Based on chrome_browser_main_extra_parts_views_linux.cc @@ -137,15 +128,15 @@ void ToolkitInitializedLinux() { GetThemeProfileForWindow(window)); })); - linux_ui->Initialize(); views::LinuxUI::SetInstance(std::move(linux_ui)); // Cursor theme changes are tracked by LinuxUI (via a CursorThemeManager // implementation). Start observing them once it's initialized. ui::CursorFactory::GetInstance()->ObserveThemeChanges(); } else { - // In case if GTK is not used, input method factory won't be set for X11 and - // Ozone/X11. Set a fake one instead to avoid crashing browser later. + // In case if the toolkit is not used, input method factory won't be set for + // X11 and Ozone/X11. Set a fake one instead to avoid crashing browser + // later. DCHECK(!ui::LinuxInputMethodContextFactory::instance()); // Try to create input method through Ozone so that the backend has a chance // to set factory by itself. @@ -172,9 +163,7 @@ void ToolkitInitializedLinux() { } // namespace -AlloyBrowserMainParts::AlloyBrowserMainParts( - content::MainFunctionParams parameters) - : BrowserMainParts(), parameters_(std::move(parameters)) {} +AlloyBrowserMainParts::AlloyBrowserMainParts() = default; AlloyBrowserMainParts::~AlloyBrowserMainParts() { constrained_window::SetConstrainedWindowViewsClient(nullptr); @@ -309,7 +298,7 @@ int AlloyBrowserMainParts::PreMainMessageLoopRun() { #endif // Triggers initialization of the singleton instance on UI thread. - PluginFinder::GetInstance()->Init(); + PluginFinder::GetInstance(); scheme::RegisterWebUIControllerFactory(); file_dialog_runner::RegisterFactory(); diff --git a/libcef/browser/alloy/alloy_browser_main.h b/libcef/browser/alloy/alloy_browser_main.h index cce280241..b4bdb4e20 100644 --- a/libcef/browser/alloy/alloy_browser_main.h +++ b/libcef/browser/alloy/alloy_browser_main.h @@ -13,7 +13,6 @@ #include "build/build_config.h" #include "components/prefs/pref_service.h" #include "content/public/browser/browser_main_parts.h" -#include "content/public/common/main_function_params.h" #if defined(USE_AURA) namespace display { @@ -35,7 +34,7 @@ class CefDevToolsDelegate; class AlloyBrowserMainParts : public content::BrowserMainParts { public: - explicit AlloyBrowserMainParts(content::MainFunctionParams parameters); + AlloyBrowserMainParts(); AlloyBrowserMainParts(const AlloyBrowserMainParts&) = delete; AlloyBrowserMainParts& operator=(const AlloyBrowserMainParts&) = delete; @@ -71,8 +70,6 @@ class AlloyBrowserMainParts : public content::BrowserMainParts { void PlatformInitialize(); #endif // BUILDFLAG(IS_WIN) - content::MainFunctionParams parameters_; - CefRefPtr global_request_context_; CefDevToolsDelegate* devtools_delegate_ = nullptr; // Deletes itself. diff --git a/libcef/browser/alloy/alloy_content_browser_client.cc b/libcef/browser/alloy/alloy_content_browser_client.cc index 224253f93..b8a6c270c 100644 --- a/libcef/browser/alloy/alloy_content_browser_client.cc +++ b/libcef/browser/alloy/alloy_content_browser_client.cc @@ -467,9 +467,10 @@ AlloyContentBrowserClient::~AlloyContentBrowserClient() = default; std::unique_ptr AlloyContentBrowserClient::CreateBrowserMainParts( - content::MainFunctionParams parameters) { - browser_main_parts_ = new AlloyBrowserMainParts(std::move(parameters)); - return base::WrapUnique(browser_main_parts_); + bool /* is_integration_test */) { + auto browser_main_parts = std::make_unique(); + browser_main_parts_ = browser_main_parts.get(); + return browser_main_parts; } void AlloyContentBrowserClient::RenderProcessWillLaunch( diff --git a/libcef/browser/alloy/alloy_content_browser_client.h b/libcef/browser/alloy/alloy_content_browser_client.h index 0e6437d6f..a0d49792e 100644 --- a/libcef/browser/alloy/alloy_content_browser_client.h +++ b/libcef/browser/alloy/alloy_content_browser_client.h @@ -35,7 +35,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient { // ContentBrowserClient implementation. std::unique_ptr CreateBrowserMainParts( - content::MainFunctionParams parameters) override; + bool is_integration_test) override; void RenderProcessWillLaunch(content::RenderProcessHost* host) override; bool ShouldUseProcessPerSite(content::BrowserContext* browser_context, const GURL& site_url) override; diff --git a/libcef/browser/chrome/chrome_browser_main_extra_parts_cef.cc b/libcef/browser/chrome/chrome_browser_main_extra_parts_cef.cc index 8fc6e206c..f2b99a5db 100644 --- a/libcef/browser/chrome/chrome_browser_main_extra_parts_cef.cc +++ b/libcef/browser/chrome/chrome_browser_main_extra_parts_cef.cc @@ -9,7 +9,6 @@ #include "libcef/browser/file_dialog_runner.h" #include "libcef/browser/net/chrome_scheme_handler.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" ChromeBrowserMainExtraPartsCef::ChromeBrowserMainExtraPartsCef() = default; diff --git a/libcef/browser/chrome/chrome_content_browser_client_cef.cc b/libcef/browser/chrome/chrome_content_browser_client_cef.cc index 88343873c..598edf2b7 100644 --- a/libcef/browser/chrome/chrome_content_browser_client_cef.cc +++ b/libcef/browser/chrome/chrome_content_browser_client_cef.cc @@ -78,13 +78,13 @@ ChromeContentBrowserClientCef::~ChromeContentBrowserClientCef() = default; std::unique_ptr ChromeContentBrowserClientCef::CreateBrowserMainParts( - content::MainFunctionParams parameters) { + bool is_integration_test) { auto main_parts = - ChromeContentBrowserClient::CreateBrowserMainParts(std::move(parameters)); - browser_main_parts_ = new ChromeBrowserMainExtraPartsCef; + ChromeContentBrowserClient::CreateBrowserMainParts(is_integration_test); + auto browser_main_parts = std::make_unique(); + browser_main_parts_ = browser_main_parts.get(); static_cast(main_parts.get()) - ->AddParts( - base::WrapUnique(browser_main_parts_)); + ->AddParts(std::move(browser_main_parts)); return main_parts; } diff --git a/libcef/browser/chrome/chrome_content_browser_client_cef.h b/libcef/browser/chrome/chrome_content_browser_client_cef.h index 81d4996d3..645f1db0c 100644 --- a/libcef/browser/chrome/chrome_content_browser_client_cef.h +++ b/libcef/browser/chrome/chrome_content_browser_client_cef.h @@ -27,7 +27,7 @@ class ChromeContentBrowserClientCef : public ChromeContentBrowserClient { // ChromeContentBrowserClient overrides. std::unique_ptr CreateBrowserMainParts( - content::MainFunctionParams parameters) override; + bool is_integration_test) override; void AppendExtraCommandLineSwitches(base::CommandLine* command_line, int child_process_id) override; void RenderProcessWillLaunch(content::RenderProcessHost* host) override; diff --git a/libcef/browser/devtools/devtools_file_manager.cc b/libcef/browser/devtools/devtools_file_manager.cc index 54139a2b7..5c4f1f976 100644 --- a/libcef/browser/devtools/devtools_file_manager.cc +++ b/libcef/browser/devtools/devtools_file_manager.cc @@ -15,7 +15,6 @@ #include "base/lazy_instance.h" #include "base/path_service.h" #include "base/strings/utf_string_conversions.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "base/threading/sequenced_task_runner_handle.h" #include "base/values.h" diff --git a/libcef/browser/devtools/devtools_frontend.cc b/libcef/browser/devtools/devtools_frontend.cc index 0854688e1..61f7c6813 100644 --- a/libcef/browser/devtools/devtools_frontend.cc +++ b/libcef/browser/devtools/devtools_frontend.cc @@ -12,6 +12,7 @@ #include "libcef/browser/browser_context.h" #include "libcef/browser/devtools/devtools_manager_delegate.h" #include "libcef/browser/net/devtools_scheme_handler.h" +#include "libcef/browser/thread_util.h" #include "libcef/common/cef_switches.h" #include "libcef/common/task_runner_manager.h" @@ -27,7 +28,6 @@ #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/strings/utf_string_conversions.h" -#include "base/task/post_task.h" #include "base/values.h" #include "chrome/browser/profiles/profile.h" #include "chrome/common/pref_names.h" @@ -296,9 +296,8 @@ void CefDevToolsFrontend::InspectElementAt(int x, int y) { } void CefDevToolsFrontend::Close() { - base::PostTask(FROM_HERE, {content::BrowserThread::UI}, - base::BindOnce(&AlloyBrowserHostImpl::CloseBrowser, - frontend_browser_.get(), true)); + CEF_POST_TASK(CEF_UIT, base::BindOnce(&AlloyBrowserHostImpl::CloseBrowser, + frontend_browser_.get(), true)); } CefDevToolsFrontend::CefDevToolsFrontend( diff --git a/libcef/browser/download_manager_delegate.cc b/libcef/browser/download_manager_delegate.cc index 60942a91c..f16248899 100644 --- a/libcef/browser/download_manager_delegate.cc +++ b/libcef/browser/download_manager_delegate.cc @@ -159,7 +159,8 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback { suggested_path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, download::DownloadItem::MixedContentStatus::UNKNOWN, suggested_path, - base::FilePath(), absl::nullopt /*download_schedule*/, + base::FilePath(), std::string() /*mime_type*/, + absl::nullopt /*download_schedule*/, download::DOWNLOAD_INTERRUPT_REASON_NONE); } } @@ -177,7 +178,7 @@ class CefBeforeDownloadCallbackImpl : public CefBeforeDownloadCallback { std::move(callback).Run(path, DownloadItem::TARGET_DISPOSITION_OVERWRITE, download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, download::DownloadItem::MixedContentStatus::UNKNOWN, - path, base::FilePath(), + path, base::FilePath(), std::string() /*mime_type*/, absl::nullopt /*download_schedule*/, download::DOWNLOAD_INTERRUPT_REASON_NONE); } @@ -367,7 +368,7 @@ bool CefDownloadManagerDelegate::DetermineDownloadTarget( download::DOWNLOAD_DANGER_TYPE_NOT_DANGEROUS, download::DownloadItem::MixedContentStatus::UNKNOWN, item->GetForcedFilePath(), base::FilePath(), - absl::nullopt /*download_schedule*/, + std::string() /*mime_type*/, absl::nullopt /*download_schedule*/, download::DOWNLOAD_INTERRUPT_REASON_NONE); return true; } diff --git a/libcef/browser/extensions/extension_function_details.cc b/libcef/browser/extensions/extension_function_details.cc index a74a252f6..7e6702847 100644 --- a/libcef/browser/extensions/extension_function_details.cc +++ b/libcef/browser/extensions/extension_function_details.cc @@ -10,7 +10,6 @@ #include "libcef/browser/thread_util.h" #include "base/strings/utf_string_conversions.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "chrome/browser/extensions/api/tabs/tabs_constants.h" #include "chrome/browser/extensions/extension_tab_util.h" diff --git a/libcef/browser/extensions/extensions_browser_client.cc b/libcef/browser/extensions/extensions_browser_client.cc index 72d7d1fb3..5c69b84be 100644 --- a/libcef/browser/extensions/extensions_browser_client.cc +++ b/libcef/browser/extensions/extensions_browser_client.cc @@ -341,7 +341,7 @@ CefExtensionsBrowserClient::GetComponentExtensionResourceManager() { void CefExtensionsBrowserClient::BroadcastEventToRenderers( events::HistogramValue histogram_value, const std::string& event_name, - std::unique_ptr args, + base::Value::List args, bool dispatch_to_off_the_record_profiles) { g_browser_process->extension_event_router_forwarder() ->BroadcastEventToRenderers(histogram_value, event_name, std::move(args), diff --git a/libcef/browser/extensions/extensions_browser_client.h b/libcef/browser/extensions/extensions_browser_client.h index cb00afb43..f3abed188 100644 --- a/libcef/browser/extensions/extensions_browser_client.h +++ b/libcef/browser/extensions/extensions_browser_client.h @@ -96,7 +96,7 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient { void BroadcastEventToRenderers( events::HistogramValue histogram_value, const std::string& event_name, - std::unique_ptr args, + base::Value::List args, bool dispatch_to_off_the_record_profiles) override; ExtensionCache* GetExtensionCache() override; bool IsBackgroundUpdateAllowed() override; diff --git a/libcef/browser/net_service/stream_reader_url_loader.cc b/libcef/browser/net_service/stream_reader_url_loader.cc index 6b5fe572d..eb111daa7 100644 --- a/libcef/browser/net_service/stream_reader_url_loader.cc +++ b/libcef/browser/net_service/stream_reader_url_loader.cc @@ -13,7 +13,6 @@ #include "base/strings/string_number_conversions.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "base/threading/thread.h" #include "base/threading/thread_task_runner_handle.h" diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index ba4d420d5..c79d84c07 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -19,7 +19,6 @@ #include "base/command_line.h" #include "base/memory/ptr_util.h" #include "base/strings/utf_string_conversions.h" -#include "base/task/post_task.h" #include "cc/base/switches.h" #include "components/viz/common/features.h" #include "components/viz/common/frame_sinks/begin_frame_args.h" diff --git a/libcef/browser/prefs/browser_prefs.cc b/libcef/browser/prefs/browser_prefs.cc index e34ca3e4e..4b5dd8c7f 100644 --- a/libcef/browser/prefs/browser_prefs.cc +++ b/libcef/browser/prefs/browser_prefs.cc @@ -16,7 +16,6 @@ #include "base/command_line.h" #include "base/files/file_path.h" #include "base/strings/string_number_conversions.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "base/values.h" #include "chrome/browser/accessibility/accessibility_ui.h" diff --git a/libcef/browser/printing/print_dialog_linux.cc b/libcef/browser/printing/print_dialog_linux.cc index e91a2bcd8..d7660b5de 100644 --- a/libcef/browser/printing/print_dialog_linux.cc +++ b/libcef/browser/printing/print_dialog_linux.cc @@ -218,6 +218,9 @@ CefPrintDialogLinux::CefPrintDialogLinux(PrintingContextLinux* context, DCHECK(context_); DCHECK(browser_); DCHECK(handler_); + + // Paired with the ReleaseDialog() call. + AddRef(); } CefPrintDialogLinux::~CefPrintDialogLinux() { @@ -290,11 +293,8 @@ void CefPrintDialogLinux::PrintDocument( document_name)); } -void CefPrintDialogLinux::AddRefToDialog() { - AddRef(); -} - void CefPrintDialogLinux::ReleaseDialog() { + context_ = nullptr; Release(); } @@ -343,8 +343,7 @@ void CefPrintDialogLinux::OnPrintCancel() { } void CefPrintDialogLinux::OnJobCompleted() { - CEF_POST_BACKGROUND_TASK( - base::BindOnce(base::GetDeleteFileCallback(), path_to_pdf_)); + CEF_POST_BACKGROUND_TASK(base::GetDeleteFileCallback(path_to_pdf_)); // Printing finished. Matches AddRef() in PrintDocument(); Release(); diff --git a/libcef/browser/printing/print_dialog_linux.h b/libcef/browser/printing/print_dialog_linux.h index c06369509..002835c5b 100644 --- a/libcef/browser/printing/print_dialog_linux.h +++ b/libcef/browser/printing/print_dialog_linux.h @@ -59,7 +59,6 @@ class CefPrintDialogLinux : public printing::PrintDialogGtkInterface, PrintingContextLinux::PrintSettingsCallback callback) override; void PrintDocument(const printing::MetafilePlayer& metafile, const std::u16string& document_name) override; - void AddRefToDialog() override; void ReleaseDialog() override; private: diff --git a/libcef/browser/printing/print_view_manager.cc b/libcef/browser/printing/print_view_manager.cc index 3128ba527..889143a54 100644 --- a/libcef/browser/printing/print_view_manager.cc +++ b/libcef/browser/printing/print_view_manager.cc @@ -18,7 +18,6 @@ #include "base/lazy_instance.h" #include "base/memory/ptr_util.h" #include "base/memory/ref_counted_memory.h" -#include "base/task/post_task.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/printing/print_job_manager.h" #include "chrome/browser/printing/print_preview_dialog_controller.h" @@ -52,52 +51,50 @@ namespace { const int PREVIEW_UIID = 12345678; -// Convert CefPdfPrintSettings into base::DictionaryValue. +// Convert CefPdfPrintSettings into base::Value::Dict. void FillInDictionaryFromPdfPrintSettings( const CefPdfPrintSettings& pdf_settings, int request_id, - base::DictionaryValue& print_settings) { + base::Value::Dict& print_settings) { // Fixed settings. - print_settings.SetIntKey(kSettingPrinterType, - static_cast(mojom::PrinterType::kPdf)); - print_settings.SetInteger(kSettingColor, - static_cast(mojom::ColorModel::kGray)); - print_settings.SetInteger(kSettingDuplexMode, - static_cast(mojom::DuplexMode::kSimplex)); - print_settings.SetInteger(kSettingCopies, 1); - print_settings.SetBoolean(kSettingCollate, false); - print_settings.SetString(kSettingDeviceName, ""); - print_settings.SetBoolean(kSettingRasterizePdf, false); - print_settings.SetBoolean(kSettingPreviewModifiable, false); - print_settings.SetInteger(kSettingDpiHorizontal, 0); - print_settings.SetInteger(kSettingDpiVertical, 0); - print_settings.SetInteger(kSettingPagesPerSheet, 1); + print_settings.Set(kSettingPrinterType, + static_cast(mojom::PrinterType::kPdf)); + print_settings.Set(kSettingColor, static_cast(mojom::ColorModel::kGray)); + print_settings.Set(kSettingDuplexMode, + static_cast(mojom::DuplexMode::kSimplex)); + print_settings.Set(kSettingCopies, 1); + print_settings.Set(kSettingCollate, false); + print_settings.Set(kSettingDeviceName, ""); + print_settings.Set(kSettingRasterizePdf, false); + print_settings.Set(kSettingPreviewModifiable, false); + print_settings.Set(kSettingDpiHorizontal, 0); + print_settings.Set(kSettingDpiVertical, 0); + print_settings.Set(kSettingPagesPerSheet, 1); // User defined settings. - print_settings.SetBoolean(kSettingLandscape, !!pdf_settings.landscape); - print_settings.SetBoolean(kSettingShouldPrintSelectionOnly, - !!pdf_settings.selection_only); - print_settings.SetBoolean(kSettingShouldPrintBackgrounds, - !!pdf_settings.backgrounds_enabled); - print_settings.SetBoolean(kSettingHeaderFooterEnabled, - !!pdf_settings.header_footer_enabled); - print_settings.SetInteger(kSettingScaleFactor, pdf_settings.scale_factor > 0 - ? pdf_settings.scale_factor - : 100); + print_settings.Set(kSettingLandscape, !!pdf_settings.landscape); + print_settings.Set(kSettingShouldPrintSelectionOnly, + !!pdf_settings.selection_only); + print_settings.Set(kSettingShouldPrintBackgrounds, + !!pdf_settings.backgrounds_enabled); + print_settings.Set(kSettingHeaderFooterEnabled, + !!pdf_settings.header_footer_enabled); + print_settings.Set(kSettingScaleFactor, pdf_settings.scale_factor > 0 + ? pdf_settings.scale_factor + : 100); if (pdf_settings.header_footer_enabled) { - print_settings.SetString( + print_settings.Set( kSettingHeaderFooterTitle, CefString(&pdf_settings.header_footer_title).ToString16()); - print_settings.SetString( - kSettingHeaderFooterURL, - CefString(&pdf_settings.header_footer_url).ToString16()); + print_settings.Set(kSettingHeaderFooterURL, + CefString(&pdf_settings.header_footer_url).ToString16()); } if (pdf_settings.page_width > 0 && pdf_settings.page_height > 0) { - std::unique_ptr dict(new base::DictionaryValue); - dict->SetInteger(kSettingMediaSizeWidthMicrons, pdf_settings.page_width); - dict->SetInteger(kSettingMediaSizeHeightMicrons, pdf_settings.page_height); + base::Value::Dict dict; + dict.Set(kSettingMediaSizeWidthMicrons, pdf_settings.page_width); + dict.Set(kSettingMediaSizeHeightMicrons, pdf_settings.page_height); print_settings.Set(kSettingMediaSize, std::move(dict)); } @@ -116,20 +113,20 @@ void FillInDictionaryFromPdfPrintSettings( break; } - print_settings.SetInteger(kSettingMarginsType, static_cast(margin_type)); + print_settings.Set(kSettingMarginsType, static_cast(margin_type)); if (margin_type == printing::mojom::MarginType::kCustomMargins) { - std::unique_ptr dict(new base::DictionaryValue); - dict->SetInteger(kSettingMarginTop, pdf_settings.margin_top); - dict->SetInteger(kSettingMarginRight, pdf_settings.margin_right); - dict->SetInteger(kSettingMarginBottom, pdf_settings.margin_bottom); - dict->SetInteger(kSettingMarginLeft, pdf_settings.margin_left); + base::Value::Dict dict; + dict.Set(kSettingMarginTop, pdf_settings.margin_top); + dict.Set(kSettingMarginRight, pdf_settings.margin_right); + dict.Set(kSettingMarginBottom, pdf_settings.margin_bottom); + dict.Set(kSettingMarginLeft, pdf_settings.margin_left); print_settings.Set(kSettingMarginsCustom, std::move(dict)); } // Service settings. - print_settings.SetInteger(kPreviewUIID, PREVIEW_UIID); - print_settings.SetInteger(kPreviewRequestID, request_id); - print_settings.SetBoolean(kIsFirstRequest, request_id != 0); + print_settings.Set(kPreviewUIID, PREVIEW_UIID); + print_settings.Set(kPreviewRequestID, request_id); + print_settings.Set(kIsFirstRequest, request_id != 0); } void StopWorker(int document_cookie) { @@ -171,7 +168,7 @@ void SavePdfFile(scoped_refptr data, struct CefPrintViewManager::PdfPrintState { content::RenderFrameHost* printing_rfh_ = nullptr; base::FilePath output_path_; - base::DictionaryValue settings_; + base::Value::Dict settings_; PdfPrintCallback callback_; }; @@ -206,7 +203,8 @@ bool CefPrintViewManager::PrintToPDF(content::RenderFrameHost* rfh, return false; // Don't print crashed tabs. - if (!web_contents() || web_contents()->IsCrashed() || !rfh->IsRenderFrameLive()) { + if (!web_contents() || web_contents()->IsCrashed() || + !rfh->IsRenderFrameLive()) { return false; } diff --git a/libcef/browser/speech_recognition_manager_delegate.cc b/libcef/browser/speech_recognition_manager_delegate.cc index 206a32960..8eb7568fa 100644 --- a/libcef/browser/speech_recognition_manager_delegate.cc +++ b/libcef/browser/speech_recognition_manager_delegate.cc @@ -7,11 +7,11 @@ #include #include +#include "libcef/browser/thread_util.h" #include "libcef/common/cef_switches.h" #include "base/bind.h" #include "base/command_line.h" -#include "base/task/post_task.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/notification_observer.h" @@ -76,8 +76,7 @@ void CefSpeechRecognitionManagerDelegate::CheckRecognitionIsAllowed( // Make sure that initiators properly set the |render_process_id| field. DCHECK_NE(context.render_process_id, 0); - base::PostTask(FROM_HERE, {content::BrowserThread::IO}, - base::BindOnce(std::move(callback), false, true)); + CEF_POST_TASK(CEF_IOT, base::BindOnce(std::move(callback), false, true)); } content::SpeechRecognitionEventListener* diff --git a/libcef/browser/thread_util.h b/libcef/browser/thread_util.h index a22fe7ab9..205578576 100644 --- a/libcef/browser/thread_util.h +++ b/libcef/browser/thread_util.h @@ -8,7 +8,6 @@ #include "base/location.h" #include "base/logging.h" -#include "base/task/post_task.h" #include "base/task/thread_pool.h" #include "base/threading/scoped_blocking_call.h" #include "base/threading/thread_restrictions.h" @@ -42,9 +41,19 @@ #define CEF_REQUIRE_UIT_RETURN_VOID() CEF_REQUIRE_RETURN_VOID(CEF_UIT) #define CEF_REQUIRE_IOT_RETURN_VOID() CEF_REQUIRE_RETURN_VOID(CEF_IOT) -#define CEF_POST_TASK(id, task) base::PostTask(FROM_HERE, {id}, task) -#define CEF_POST_DELAYED_TASK(id, task, delay_ms) \ - base::PostDelayedTask(FROM_HERE, {id}, task, base::Milliseconds(delay_ms)) +template = true> +auto CEF_TASK_RUNNER() { + return content::GetUIThreadTaskRunner({}); +} +template = true> +auto CEF_TASK_RUNNER() { + return content::GetIOThreadTaskRunner({}); +} + +#define CEF_POST_TASK(id, task) CEF_TASK_RUNNER()->PostTask(FROM_HERE, task) +#define CEF_POST_DELAYED_TASK(id, task, delay_ms) \ + CEF_TASK_RUNNER()->PostDelayedTask(FROM_HERE, task, \ + base::Milliseconds(delay_ms)) // Post a blocking task with the specified |priority|. Tasks that have not // started executing at shutdown will never run. However, any task that has diff --git a/libcef/common/parser_impl.cc b/libcef/common/parser_impl.cc index 4d860b27d..219e192fd 100644 --- a/libcef/common/parser_impl.cc +++ b/libcef/common/parser_impl.cc @@ -7,9 +7,9 @@ #include "include/cef_parser.h" #include "base/base64.h" +#include "base/strings/escape.h" #include "base/threading/thread_restrictions.h" #include "components/url_formatter/elide_url.h" -#include "net/base/escape.h" #include "net/base/mime_util.h" #include "url/gurl.h" @@ -125,17 +125,17 @@ CefRefPtr CefBase64Decode(const CefString& data) { } CefString CefURIEncode(const CefString& text, bool use_plus) { - return net::EscapeQueryParamValue(text.ToString(), use_plus); + return base::EscapeQueryParamValue(text.ToString(), use_plus); } CefString CefURIDecode(const CefString& text, bool convert_to_utf8, cef_uri_unescape_rule_t unescape_rule) { - const net::UnescapeRule::Type type = - static_cast(unescape_rule); + const base::UnescapeRule::Type type = + static_cast(unescape_rule); if (convert_to_utf8) - return net::UnescapeAndDecodeUTF8URLComponentWithAdjustments( + return base::UnescapeAndDecodeUTF8URLComponentWithAdjustments( text.ToString(), type, nullptr); else - return net::UnescapeURLComponent(text.ToString(), type); + return base::UnescapeURLComponent(text.ToString(), type); } diff --git a/libcef/common/task_runner_impl.cc b/libcef/common/task_runner_impl.cc index 837c7800d..efeef98bf 100644 --- a/libcef/common/task_runner_impl.cc +++ b/libcef/common/task_runner_impl.cc @@ -3,13 +3,15 @@ // can be found in the LICENSE file. #include "libcef/common/task_runner_impl.h" + #include "libcef/common/task_runner_manager.h" #include "base/bind.h" #include "base/location.h" #include "base/logging.h" -#include "base/task/post_task.h" +#include "base/task/thread_pool.h" #include "base/threading/thread_task_runner_handle.h" +#include "base/time/time.h" #include "content/public/browser/browser_task_traits.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/child_process_launcher_utils.h" @@ -53,10 +55,10 @@ scoped_refptr CefTaskRunnerImpl::GetTaskRunner( if (!manager) return nullptr; - int id = -1; switch (threadId) { case TID_UI: - id = BrowserThread::UI; + if (BrowserThread::IsThreadInitialized(BrowserThread::UI)) + return content::GetUIThreadTaskRunner({}); break; case TID_FILE_BACKGROUND: return manager->GetBackgroundTaskRunner(); @@ -67,7 +69,8 @@ scoped_refptr CefTaskRunnerImpl::GetTaskRunner( case TID_PROCESS_LAUNCHER: return content::GetProcessLauncherTaskRunner(); case TID_IO: - id = BrowserThread::IO; + if (BrowserThread::IsThreadInitialized(BrowserThread::IO)) + return content::GetIOThreadTaskRunner({}); break; case TID_RENDERER: return manager->GetRenderTaskRunner(); @@ -75,15 +78,6 @@ scoped_refptr CefTaskRunnerImpl::GetTaskRunner( break; }; - if (id >= 0 && - BrowserThread::IsThreadInitialized(static_cast(id))) { - // Specify USER_BLOCKING so that BrowserTaskExecutor::GetTaskRunner always - // gives us the same TaskRunner object. - return base::CreateSingleThreadTaskRunner( - {static_cast(id), - base::TaskPriority::USER_BLOCKING}); - } - return nullptr; } @@ -94,31 +88,27 @@ CefTaskRunnerImpl::GetCurrentTaskRunner() { if (!manager) return nullptr; - scoped_refptr task_runner; - // For named browser process threads return the same TaskRunner as // GetTaskRunner(). Otherwise BelongsToThread() will return incorrect results. BrowserThread::ID current_id; if (BrowserThread::GetCurrentThreadIdentifier(¤t_id) && BrowserThread::IsThreadInitialized(current_id)) { - // Specify USER_BLOCKING so that BrowserTaskExecutor::GetTaskRunner always - // gives us the same TaskRunner object. - task_runner = base::CreateSingleThreadTaskRunner( - {current_id, base::TaskPriority::USER_BLOCKING}); + if (current_id == BrowserThread::UI) { + return content::GetUIThreadTaskRunner({}); + } else if (current_id == BrowserThread::IO) { + return content::GetIOThreadTaskRunner({}); + } else { + NOTREACHED(); + } } - if (!task_runner.get()) { - // Check for a MessageLoopProxy. This covers all of the named browser and - // render process threads, plus a few extra. - task_runner = base::ThreadTaskRunnerHandle::Get(); - } + // Check for a MessageLoopProxy. This covers all of the named browser and + // render process threads, plus a few extra. + if (auto task_runner = base::ThreadTaskRunnerHandle::Get()) + return task_runner; - if (!task_runner.get()) { - // Check for a WebWorker thread. - return manager->GetWebWorkerTaskRunner(); - } - - return task_runner; + // Check for a WebWorker thread. + return manager->GetWebWorkerTaskRunner(); } bool CefTaskRunnerImpl::IsSame(CefRefPtr that) { diff --git a/libcef/renderer/alloy/alloy_content_renderer_client.cc b/libcef/renderer/alloy/alloy_content_renderer_client.cc index 3eca469c0..030167ea3 100644 --- a/libcef/renderer/alloy/alloy_content_renderer_client.cc +++ b/libcef/renderer/alloy/alloy_content_renderer_client.cc @@ -44,7 +44,6 @@ #include "base/path_service.h" #include "base/stl_util.h" #include "base/strings/utf_string_conversions.h" -#include "base/task/post_task.h" #include "build/build_config.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pdf_util.h" @@ -147,8 +146,8 @@ void AlloyContentRendererClient::RunSingleProcessCleanup() { if (content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)) { RunSingleProcessCleanupOnUIThread(); } else { - base::PostTask( - FROM_HERE, {content::BrowserThread::UI}, + CEF_POST_TASK( + CEF_UIT, base::BindOnce( &AlloyContentRendererClient::RunSingleProcessCleanupOnUIThread, base::Unretained(this))); @@ -486,10 +485,10 @@ void AlloyContentRendererClient::AppendContentSecurityPolicy( if (!extension) return; - // Append a default CSP to ensure the extension can't relax the default + // Append a minimum CSP to ensure the extension can't relax the default // applied CSP through means like Service Worker. const std::string* default_csp = - extensions::CSPInfo::GetDefaultCSPToAppend(*extension, gurl.path()); + extensions::CSPInfo::GetMinimumCSPToAppend(*extension, gurl.path()); if (!default_csp) return; diff --git a/libcef/renderer/frame_impl.cc b/libcef/renderer/frame_impl.cc index 6342daccb..6e26ea413 100644 --- a/libcef/renderer/frame_impl.cc +++ b/libcef/renderer/frame_impl.cc @@ -40,6 +40,7 @@ #include "third_party/blink/public/platform/web_data.h" #include "third_party/blink/public/platform/web_string.h" #include "third_party/blink/public/platform/web_url.h" +#include "third_party/blink/public/platform/web_url_loader.h" #include "third_party/blink/public/web/blink.h" #include "third_party/blink/public/web/web_document.h" #include "third_party/blink/public/web/web_document_loader.h" @@ -332,7 +333,7 @@ void CefFrameImpl::OnDidFinishLoad() { return; blink::WebDocumentLoader* dl = frame_->GetDocumentLoader(); - const int http_status_code = dl->GetResponse().HttpStatusCode(); + const int http_status_code = dl->GetWebResponse().HttpStatusCode(); SendToBrowserFrame(__FUNCTION__, base::BindOnce( diff --git a/libcef/resources/cef_strings.grd b/libcef/resources/cef_strings.grd index 9bf51f214..a3d59a2d7 100644 --- a/libcef/resources/cef_strings.grd +++ b/libcef/resources/cef_strings.grd @@ -105,7 +105,7 @@ need to be translated for each locale.--> - + diff --git a/patch/patch.cfg b/patch/patch.cfg index 55b8bc4ff..7cb1adcb3 100644 --- a/patch/patch.cfg +++ b/patch/patch.cfg @@ -563,13 +563,9 @@ patches = [ 'name': 'linux_bluetooth_1319006', }, { - # Fix xmlTextReaderReadOuterXml parsing error. - # https://gitlab.gnome.org/GNOME/libxml2/-/issues/371 - 'name': 'libxml_371', - }, - { - # Windows: Fix cef_sandbox compile error in hang_watcher.cc. - # https://bugs.chromium.org/p/chromium/issues/detail?id=1310011#c10 - 'name': 'base_hang_watcher_1310011', + # Linux: Fix undefined symbol + # ApcOnboardingCoordinatorImpl::CreateOnboardingController + # https://crrev.com/101d5657f1 + 'name': 'chrome_browser_autofill_1322387', } ] diff --git a/patch/patches/base_command_line_1872.patch b/patch/patches/base_command_line_1872.patch index 785ee1e2a..e85259567 100644 --- a/patch/patches/base_command_line_1872.patch +++ b/patch/patches/base_command_line_1872.patch @@ -1,8 +1,8 @@ diff --git base/command_line.cc base/command_line.cc -index b59bc4b1b6041..b76a5f69952b8 100644 +index db71b62fabe5a..760a33acbc4fa 100644 --- base/command_line.cc +++ base/command_line.cc -@@ -337,11 +337,10 @@ void CommandLine::AppendSwitchPath(StringPiece switch_string, +@@ -338,11 +338,10 @@ void CommandLine::AppendSwitchPath(StringPiece switch_string, void CommandLine::AppendSwitchNative(StringPiece switch_string, CommandLine::StringPieceType value) { diff --git a/patch/patches/base_hang_watcher_1310011.patch b/patch/patches/base_hang_watcher_1310011.patch deleted file mode 100644 index 9cf8d7847..000000000 --- a/patch/patches/base_hang_watcher_1310011.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git base/threading/hang_watcher.cc base/threading/hang_watcher.cc -index 5eff8563b1309..f62a711b57ca5 100644 ---- base/threading/hang_watcher.cc -+++ base/threading/hang_watcher.cc -@@ -719,6 +719,7 @@ void HangWatcher::WatchStateSnapShot::Init( - any_hung_thread_has_dumping_enabled = true; - } - -+#if BUILDFLAG(ENABLE_BASE_TRACING) - // Emit trace events for monitored threads. - if (ThreadTypeLoggingLevelGreaterOrEqual(watch_state.get()->thread_type(), - LoggingLevel::kUmaOnly)) { -@@ -728,6 +729,7 @@ void HangWatcher::WatchStateSnapShot::Init( - TRACE_EVENT_BEGIN("base", "HangWatcher::ThreadHung", track, deadline); - TRACE_EVENT_END("base", track, now); - } -+#endif - - // Attempt to mark the thread as needing to stay within its current - // WatchHangsInScope until capture is complete. diff --git a/patch/patches/base_sandbox_2743.patch b/patch/patches/base_sandbox_2743.patch index 8d6e78fac..352f68890 100644 --- a/patch/patches/base_sandbox_2743.patch +++ b/patch/patches/base_sandbox_2743.patch @@ -1,5 +1,5 @@ diff --git base/BUILD.gn base/BUILD.gn -index 243c3e81d2b23..36fd2a888ac63 100644 +index 3f4eb14a38603..b5f12aaa820e5 100644 --- base/BUILD.gn +++ base/BUILD.gn @@ -37,6 +37,7 @@ import("//build/nocompile.gni") @@ -10,7 +10,7 @@ index 243c3e81d2b23..36fd2a888ac63 100644 import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/test.gni") -@@ -1892,7 +1893,11 @@ mixed_component("base") { +@@ -1905,7 +1906,11 @@ mixed_component("base") { "hash/md5_constexpr_internal.h", "hash/sha1.h", ] @@ -23,7 +23,7 @@ index 243c3e81d2b23..36fd2a888ac63 100644 sources += [ "hash/md5_nacl.cc", "hash/md5_nacl.h", -@@ -2037,6 +2042,12 @@ mixed_component("base") { +@@ -2051,6 +2056,12 @@ mixed_component("base") { defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ] } diff --git a/patch/patches/browser_security_policy_1081397.patch b/patch/patches/browser_security_policy_1081397.patch index c55b2d0c9..4446eaa0d 100644 --- a/patch/patches/browser_security_policy_1081397.patch +++ b/patch/patches/browser_security_policy_1081397.patch @@ -1,8 +1,8 @@ diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc -index f5b91aa9fc965..65319cceb358c 100644 +index bbc7c3ece4123..fe2b35d70f1f3 100644 --- content/browser/child_process_security_policy_impl.cc +++ content/browser/child_process_security_policy_impl.cc -@@ -1739,6 +1739,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin( +@@ -1743,6 +1743,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin( // DeclarativeApiTest.PersistRules. if (actual_process_lock.matches_scheme(url::kDataScheme)) return true; @@ -20,10 +20,10 @@ index f5b91aa9fc965..65319cceb358c 100644 // TODO(wjmaclean): We should update the ProcessLock comparison API diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc -index 06f3689531f53..393dd4e2f1db2 100644 +index 94fc328a7b8f1..e1de50ac9d589 100644 --- content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc -@@ -6189,6 +6189,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost( +@@ -6208,6 +6208,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost( network::mojom::WebSandboxFlags sandbox_flags) { // Calculate an approximation of the origin. The sandbox/csp are ignored. url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this); @@ -36,7 +36,7 @@ index 06f3689531f53..393dd4e2f1db2 100644 // Apply sandbox flags. // See https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag -@@ -6222,6 +6228,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() { +@@ -6241,6 +6247,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() { if (IsSameDocument() || IsPageActivation()) return GetRenderFrameHost()->GetLastCommittedOrigin(); diff --git a/patch/patches/browser_web_ui_controller_factory.patch b/patch/patches/browser_web_ui_controller_factory.patch index 3dd4503a6..e995d7ffd 100644 --- a/patch/patches/browser_web_ui_controller_factory.patch +++ b/patch/patches/browser_web_ui_controller_factory.patch @@ -13,12 +13,12 @@ index eb068fb9bb42c..4e8e6a1a7abf4 100644 }; diff --git content/public/browser/webui_config_map.h content/public/browser/webui_config_map.h -index 69f7420dc3807..a928869f5ecf5 100644 +index a979408cc95c3..230215de5cd36 100644 --- content/public/browser/webui_config_map.h +++ content/public/browser/webui_config_map.h -@@ -53,6 +53,10 @@ class CONTENT_EXPORT WebUIConfigMap { - WebUIConfig* GetConfig(BrowserContext* browser_context, - const url::Origin& origin); +@@ -59,6 +59,10 @@ class CONTENT_EXPORT WebUIConfigMap { + // Returns the size of the map, i.e. how many WebUIConfigs are registered. + size_t GetSizeForTesting() { return configs_map_.size(); } + WebUIControllerFactory* controller_factory() const { + return webui_controller_factory_.get(); diff --git a/patch/patches/build.patch b/patch/patches/build.patch index 9dd64181e..78743a8c4 100644 --- a/patch/patches/build.patch +++ b/patch/patches/build.patch @@ -1,8 +1,8 @@ diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn -index d40843b44f9ee..e693fd557f9c1 100644 +index f378b9560d153..70b31d25c3bf8 100644 --- build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn -@@ -1840,8 +1840,6 @@ config("thin_archive") { +@@ -1836,8 +1836,6 @@ config("thin_archive") { # confuses lldb. if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) { arflags = [ "-T" ] diff --git a/patch/patches/chrome_browser.patch b/patch/patches/chrome_browser.patch index 0b3508a43..cf28a97a2 100644 --- a/patch/patches/chrome_browser.patch +++ b/patch/patches/chrome_browser.patch @@ -1,16 +1,16 @@ diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn -index cf5f4ae70be68..6f18da19bbef3 100644 +index 4618d52dd4aa7..e5eace1043ed5 100644 --- chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn -@@ -12,6 +12,7 @@ import("//build/config/features.gni") - import("//build/config/linux/gtk/gtk.gni") +@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") + import("//build/config/features.gni") import("//build/config/python.gni") import("//build/config/ui.gni") +import("//cef/libcef/features/features.gni") import("//chrome/browser/buildflags.gni") import("//chrome/browser/downgrade/buildflags.gni") import("//chrome/common/features.gni") -@@ -1935,6 +1936,7 @@ static_library("browser") { +@@ -1953,6 +1954,7 @@ static_library("browser") { "//build:chromeos_buildflags", "//build/config/compiler:compiler_buildflags", "//cc", @@ -18,7 +18,7 @@ index cf5f4ae70be68..6f18da19bbef3 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -2599,6 +2601,10 @@ static_library("browser") { +@@ -2629,6 +2631,10 @@ static_library("browser") { deps += [ "//chrome/browser/ui/webui/connectors_internals:mojo_bindings" ] } diff --git a/patch/patches/chrome_browser_autofill_1322387.patch b/patch/patches/chrome_browser_autofill_1322387.patch new file mode 100644 index 000000000..e788975bd --- /dev/null +++ b/patch/patches/chrome_browser_autofill_1322387.patch @@ -0,0 +1,14 @@ +diff --git chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc +index 4ac565d8ebdd0..9d3d610a305ab 100644 +--- chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc ++++ chrome/browser/autofill_assistant/password_change/apc_onboarding_coordinator_impl.cc +@@ -38,7 +38,8 @@ void ApcOnboardingCoordinatorImpl::PerformOnboarding(Callback callback) { + base::Unretained(this))); + } + +-std::unique_ptr CreateOnboardingController( ++std::unique_ptr ++ApcOnboardingCoordinatorImpl::CreateOnboardingController( + const AssistantOnboardingInformation& onboarding_information) { + return AssistantOnboardingController::Create(onboarding_information); + } diff --git a/patch/patches/chrome_browser_background_mode_1100085.patch b/patch/patches/chrome_browser_background_mode_1100085.patch index f3d263e51..a06c6c500 100644 --- a/patch/patches/chrome_browser_background_mode_1100085.patch +++ b/patch/patches/chrome_browser_background_mode_1100085.patch @@ -14,10 +14,10 @@ index d7b9aa164f161..a042abaecbce7 100644 std::unique_ptr manager) = 0; #endif diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc -index 4591a0f22c94c..d4a6345cce8f7 100644 +index b678123304280..65e8d414dcf3c 100644 --- chrome/browser/browser_process_impl.cc +++ chrome/browser/browser_process_impl.cc -@@ -1004,18 +1004,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { +@@ -1000,18 +1000,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { return download_request_limiter_.get(); } @@ -38,10 +38,10 @@ index 4591a0f22c94c..d4a6345cce8f7 100644 std::unique_ptr manager) { background_mode_manager_ = std::move(manager); diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h -index 8fd6e51b8f078..fb09ea0eb6ba1 100644 +index a3eabe6f0ef59..8fd3359c13945 100644 --- chrome/browser/browser_process_impl.h +++ chrome/browser/browser_process_impl.h -@@ -182,8 +182,8 @@ class BrowserProcessImpl : public BrowserProcess, +@@ -174,8 +174,8 @@ class BrowserProcessImpl : public BrowserProcess, void SetApplicationLocale(const std::string& actual_locale) override; DownloadStatusUpdater* download_status_updater() override; DownloadRequestLimiter* download_request_limiter() override; diff --git a/patch/patches/chrome_browser_browser.patch b/patch/patches/chrome_browser_browser.patch index 9cc2b433b..eb96d1498 100644 --- a/patch/patches/chrome_browser_browser.patch +++ b/patch/patches/chrome_browser_browser.patch @@ -13,18 +13,18 @@ index 9e534ff1683f1..de406f5879be0 100644 return false; } diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn -index 1027b8a325ac6..40500f1cd3886 100644 +index 87a0e51cf2dca..e13acd86314ae 100644 --- chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn -@@ -10,6 +10,7 @@ import("//build/config/features.gni") - import("//build/config/linux/gtk/gtk.gni") +@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni") + import("//build/config/features.gni") import("//build/config/ozone.gni") import("//build/config/ui.gni") +import("//cef/libcef/features/features.gni") import("//chrome/browser/buildflags.gni") import("//chrome/common/features.gni") import("//chromeos/assistant/assistant.gni") -@@ -362,6 +363,10 @@ static_library("ui") { +@@ -365,6 +366,10 @@ static_library("ui") { "//build/config/compiler:wexit_time_destructors", ] @@ -35,7 +35,7 @@ index 1027b8a325ac6..40500f1cd3886 100644 # Since browser and browser_ui actually depend on each other, # we must omit the dependency from browser_ui to browser. # However, this means browser_ui and browser should more or less -@@ -384,6 +389,7 @@ static_library("ui") { +@@ -387,6 +392,7 @@ static_library("ui") { "//build:branding_buildflags", "//build:chromeos_buildflags", "//cc/paint", @@ -43,7 +43,7 @@ index 1027b8a325ac6..40500f1cd3886 100644 "//chrome:extra_resources", "//chrome:resources", "//chrome:strings", -@@ -5361,6 +5367,7 @@ static_library("ui") { +@@ -5410,6 +5416,7 @@ static_library("ui") { if (enable_basic_printing) { deps += [ "//components/printing/browser", @@ -52,10 +52,10 @@ index 1027b8a325ac6..40500f1cd3886 100644 ] } diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc -index 300971408c60f..bdb5343d9057d 100644 +index fe7fafc5ee148..8a0e2dc5c7cc0 100644 --- chrome/browser/ui/browser.cc +++ chrome/browser/ui/browser.cc -@@ -263,6 +263,25 @@ +@@ -264,6 +264,25 @@ #include "components/captive_portal/content/captive_portal_tab_helper.h" #endif @@ -81,7 +81,7 @@ index 300971408c60f..bdb5343d9057d 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/extensions/extension_browser_window_helper.h" #endif -@@ -505,6 +524,13 @@ Browser::Browser(const CreateParams& params) +@@ -510,6 +529,13 @@ Browser::Browser(const CreateParams& params) tab_strip_model_->AddObserver(this); @@ -146,8 +146,8 @@ index 300971408c60f..bdb5343d9057d 100644 NavigateParams nav_params(this, params.url, params.transition); nav_params.FillNavigateParamsFromOpenURLParams(params); nav_params.source_contents = source; -@@ -1658,6 +1710,15 @@ void Browser::AddNewContents(WebContents* source, - new_contents.get()); +@@ -1665,6 +1717,15 @@ void Browser::AddNewContents(WebContents* source, + return; } +#if BUILDFLAG(ENABLE_CEF) @@ -162,7 +162,7 @@ index 300971408c60f..bdb5343d9057d 100644 chrome::AddWebContents(this, source, std::move(new_contents), target_url, disposition, initial_rect, window_action); } -@@ -1676,6 +1737,8 @@ void Browser::LoadingStateChanged(WebContents* source, +@@ -1683,6 +1744,8 @@ void Browser::LoadingStateChanged(WebContents* source, bool should_show_loading_ui) { ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD); UpdateWindowForLoadingStateChanged(source, should_show_loading_ui); @@ -171,7 +171,7 @@ index 300971408c60f..bdb5343d9057d 100644 } void Browser::CloseContents(WebContents* source) { -@@ -1703,6 +1766,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { +@@ -1710,6 +1773,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { } void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { @@ -180,7 +180,7 @@ index 300971408c60f..bdb5343d9057d 100644 if (!GetStatusBubble()) return; -@@ -1710,6 +1775,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { +@@ -1717,6 +1782,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { GetStatusBubble()->SetURL(url); } @@ -198,7 +198,7 @@ index 300971408c60f..bdb5343d9057d 100644 void Browser::ContentsMouseEvent(WebContents* source, bool motion, bool exited) { -@@ -1734,6 +1810,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) { +@@ -1741,6 +1817,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) { return false; } @@ -218,7 +218,7 @@ index 300971408c60f..bdb5343d9057d 100644 void Browser::BeforeUnloadFired(WebContents* web_contents, bool proceed, bool* proceed_to_fire_unload) { -@@ -1826,6 +1915,10 @@ void Browser::WebContentsCreated(WebContents* source_contents, +@@ -1833,6 +1922,10 @@ void Browser::WebContentsCreated(WebContents* source_contents, // Make the tab show up in the task manager. task_manager::WebContentsTags::CreateForTabContents(new_contents); @@ -229,7 +229,7 @@ index 300971408c60f..bdb5343d9057d 100644 } void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) { -@@ -1870,6 +1963,8 @@ void Browser::RendererResponsive( +@@ -1877,6 +1970,8 @@ void Browser::RendererResponsive( void Browser::DidNavigatePrimaryMainFramePostCommit(WebContents* web_contents) { if (web_contents == tab_strip_model_->GetActiveWebContents()) UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE); @@ -238,7 +238,7 @@ index 300971408c60f..bdb5343d9057d 100644 } content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager( -@@ -1925,11 +2020,15 @@ void Browser::EnterFullscreenModeForTab( +@@ -1937,11 +2032,15 @@ void Browser::EnterFullscreenModeForTab( const blink::mojom::FullscreenOptions& options) { exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab( requesting_frame, options.display_id); @@ -254,7 +254,7 @@ index 300971408c60f..bdb5343d9057d 100644 } bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) { -@@ -2642,13 +2741,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { +@@ -2654,13 +2753,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { // Browser, Getters for UI (private): StatusBubble* Browser::GetStatusBubble() { @@ -276,7 +276,7 @@ index 300971408c60f..bdb5343d9057d 100644 return window_ ? window_->GetStatusBubble() : nullptr; } -@@ -2775,6 +2881,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { +@@ -2787,6 +2893,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { content_translate_driver->RemoveTranslationObserver(this); BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); } @@ -286,10 +286,10 @@ index 300971408c60f..bdb5343d9057d 100644 void Browser::TabDetachedAtImpl(content::WebContents* contents, diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h -index 5edda102ff59c..f2cccff5a5c56 100644 +index 631c30c8f153e..bdd07951171eb 100644 --- chrome/browser/ui/browser.h +++ chrome/browser/ui/browser.h -@@ -21,6 +21,7 @@ +@@ -22,6 +22,7 @@ #include "base/timer/elapsed_timer.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" @@ -297,7 +297,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 #include "chrome/browser/themes/theme_service_observer.h" #include "chrome/browser/ui/bookmarks/bookmark_bar.h" #include "chrome/browser/ui/bookmarks/bookmark_tab_helper_observer.h" -@@ -45,6 +46,10 @@ +@@ -47,6 +48,10 @@ #include "ui/gfx/geometry/rect.h" #include "ui/shell_dialogs/select_file_dialog.h" @@ -308,7 +308,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 #if BUILDFLAG(IS_ANDROID) #error This file should only be included on desktop. #endif -@@ -292,6 +297,11 @@ class Browser : public TabStripModelObserver, +@@ -305,6 +310,11 @@ class Browser : public TabStripModelObserver, // maximizable. bool can_maximize = true; @@ -320,7 +320,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 private: friend class Browser; friend class WindowSizerChromeOSTest; -@@ -359,6 +369,13 @@ class Browser : public TabStripModelObserver, +@@ -372,6 +382,13 @@ class Browser : public TabStripModelObserver, return creation_source_ == CreationSource::kSessionRestore; } @@ -334,7 +334,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 // Accessors //////////////////////////////////////////////////////////////// const CreateParams& create_params() const { return create_params_; } -@@ -432,6 +449,12 @@ class Browser : public TabStripModelObserver, +@@ -445,6 +462,12 @@ class Browser : public TabStripModelObserver, base::WeakPtr AsWeakPtr(); @@ -347,7 +347,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 // Get the FindBarController for this browser, creating it if it does not // yet exist. FindBarController* GetFindBarController(); -@@ -794,11 +817,19 @@ class Browser : public TabStripModelObserver, +@@ -814,11 +837,19 @@ class Browser : public TabStripModelObserver, void SetContentsBounds(content::WebContents* source, const gfx::Rect& bounds) override; void UpdateTargetURL(content::WebContents* source, const GURL& url) override; @@ -367,7 +367,7 @@ index 5edda102ff59c..f2cccff5a5c56 100644 void BeforeUnloadFired(content::WebContents* source, bool proceed, bool* proceed_to_fire_unload) override; -@@ -1191,6 +1222,8 @@ class Browser : public TabStripModelObserver, +@@ -1215,6 +1246,8 @@ class Browser : public TabStripModelObserver, const std::string initial_workspace_; bool initial_visible_on_all_workspaces_state_; @@ -376,8 +376,8 @@ index 5edda102ff59c..f2cccff5a5c56 100644 CreationSource creation_source_ = CreationSource::kUnknown; UnloadController unload_controller_; -@@ -1252,6 +1285,10 @@ class Browser : public TabStripModelObserver, - extension_browser_window_helper_; +@@ -1281,6 +1314,10 @@ class Browser : public TabStripModelObserver, + std::unique_ptr screen_ai_annotator_; #endif +#if BUILDFLAG(ENABLE_CEF) @@ -388,10 +388,10 @@ index 5edda102ff59c..f2cccff5a5c56 100644 // The following factory is used for chrome update coalescing. diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc -index a1680f4c54a57..bd8894ef42889 100644 +index fd72594b74be0..501ff17a214d2 100644 --- chrome/browser/ui/browser_navigator.cc +++ chrome/browser/ui/browser_navigator.cc -@@ -498,6 +498,13 @@ std::unique_ptr CreateTargetContents( +@@ -516,6 +516,13 @@ std::unique_ptr CreateTargetContents( std::unique_ptr target_contents = WebContents::Create(create_params); diff --git a/patch/patches/chrome_browser_context_menus.patch b/patch/patches/chrome_browser_context_menus.patch index c0fd89d80..068b2c460 100644 --- a/patch/patches/chrome_browser_context_menus.patch +++ b/patch/patches/chrome_browser_context_menus.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc -index e6efbf1e457ae..0972890bab0f8 100644 +index fdad390f46a98..6554eea8bc247 100644 --- chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -296,6 +296,13 @@ base::OnceCallback* GetMenuShownCallback() { +@@ -300,6 +300,13 @@ base::OnceCallback* GetMenuShownCallback() { return callback.get(); } @@ -16,7 +16,7 @@ index e6efbf1e457ae..0972890bab0f8 100644 enum class UmaEnumIdLookupType { GeneralEnumId, ContextSpecificEnumId, -@@ -522,6 +529,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { +@@ -528,6 +535,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { if (ContextMenuMatcher::IsExtensionsCustomCommandId(id)) return 1; @@ -27,7 +27,7 @@ index e6efbf1e457ae..0972890bab0f8 100644 id = CollapseCommandsForUMA(id); const auto& map = GetIdcToUmaMap(type); auto it = map.find(id); -@@ -708,6 +719,14 @@ RenderViewContextMenu::RenderViewContextMenu( +@@ -713,6 +724,14 @@ RenderViewContextMenu::RenderViewContextMenu( system_app_ = GetBrowser() && GetBrowser()->app_controller() ? GetBrowser()->app_controller()->system_app() : nullptr; @@ -42,7 +42,7 @@ index e6efbf1e457ae..0972890bab0f8 100644 } RenderViewContextMenu::~RenderViewContextMenu() = default; -@@ -1086,6 +1105,12 @@ void RenderViewContextMenu::InitMenu() { +@@ -1094,6 +1113,12 @@ void RenderViewContextMenu::InitMenu() { // menu, meaning that each menu item added/removed in this function will cause // it to visibly jump on the screen (see b/173569669). AppendQuickAnswersItems(); @@ -55,7 +55,7 @@ index e6efbf1e457ae..0972890bab0f8 100644 } Profile* RenderViewContextMenu::GetProfile() const { -@@ -2849,6 +2874,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting( +@@ -2868,6 +2893,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting( execute_plugin_action_callback_ = std::move(cb); } @@ -69,7 +69,7 @@ index e6efbf1e457ae..0972890bab0f8 100644 RenderViewContextMenu::GetHandlersForLinkUrl() { custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers = diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h -index 37e11f2cd6742..d1fadef23b3e3 100644 +index f993ef1e145dd..6adb033077ae9 100644 --- chrome/browser/renderer_context_menu/render_view_context_menu.h +++ chrome/browser/renderer_context_menu/render_view_context_menu.h @@ -124,6 +124,12 @@ class RenderViewContextMenu @@ -85,7 +85,7 @@ index 37e11f2cd6742..d1fadef23b3e3 100644 protected: Profile* GetProfile() const; -@@ -335,6 +341,9 @@ class RenderViewContextMenu +@@ -339,6 +345,9 @@ class RenderViewContextMenu // built. bool is_protocol_submenu_valid_ = false; diff --git a/patch/patches/chrome_browser_dialogs.patch b/patch/patches/chrome_browser_dialogs.patch index a91517b77..1c16fe733 100644 --- a/patch/patches/chrome_browser_dialogs.patch +++ b/patch/patches/chrome_browser_dialogs.patch @@ -173,7 +173,7 @@ index 2cf473c35b67a..e3552bd0f17d4 100644 raw_ptr source_contents_; }; diff --git printing/printing_context_linux.cc printing/printing_context_linux.cc -index 204cec8311bec..b2d7e16614e15 100644 +index f77248cef2227..6c762941ec0a3 100644 --- printing/printing_context_linux.cc +++ printing/printing_context_linux.cc @@ -54,20 +54,23 @@ PrintingContextLinux::~PrintingContextLinux() { diff --git a/patch/patches/chrome_browser_extensions.patch b/patch/patches/chrome_browser_extensions.patch index 837c64631..76bca36fd 100644 --- a/patch/patches/chrome_browser_extensions.patch +++ b/patch/patches/chrome_browser_extensions.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc -index 56c0864f53c5c..5f4940b11bcda 100644 +index 7775713ac6479..d5eef7031953d 100644 --- chrome/browser/extensions/api/chrome_extensions_api_client.cc +++ chrome/browser/extensions/api/chrome_extensions_api_client.cc @@ -13,6 +13,7 @@ diff --git a/patch/patches/chrome_browser_net_proxy.patch b/patch/patches/chrome_browser_net_proxy.patch index e9cac0255..c857dade8 100644 --- a/patch/patches/chrome_browser_net_proxy.patch +++ b/patch/patches/chrome_browser_net_proxy.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/net/proxy_config_monitor.cc chrome/browser/net/proxy_config_monitor.cc -index 88fad9811069e..9973245011e24 100644 +index d05a82a9c369a..82590253576ff 100644 --- chrome/browser/net/proxy_config_monitor.cc +++ chrome/browser/net/proxy_config_monitor.cc @@ -9,6 +9,7 @@ @@ -21,7 +21,7 @@ index 88fad9811069e..9973245011e24 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/extensions/api/proxy/proxy_api.h" #endif -@@ -89,6 +94,9 @@ void ProxyConfigMonitor::AddToNetworkContextParams( +@@ -90,6 +95,9 @@ void ProxyConfigMonitor::AddToNetworkContextParams( .InitWithNewPipeAndPassReceiver()); #if BUILDFLAG(ENABLE_EXTENSIONS) diff --git a/patch/patches/chrome_browser_profile_menu.patch b/patch/patches/chrome_browser_profile_menu.patch index cbb2729b0..a4d908306 100644 --- a/patch/patches/chrome_browser_profile_menu.patch +++ b/patch/patches/chrome_browser_profile_menu.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/profiles/profile_window.cc chrome/browser/profiles/profile_window.cc -index fdc911e5aeb83..724ef4429f14f 100644 +index 08865f78806a7..1a516328eaff6 100644 --- chrome/browser/profiles/profile_window.cc +++ chrome/browser/profiles/profile_window.cc @@ -282,7 +282,9 @@ void BubbleViewModeFromAvatarBubbleMode(BrowserWindow::AvatarBubbleMode mode, @@ -39,7 +39,7 @@ index 4569d0afcb80a..5af2fb12f1d7a 100644 SetShowCloseButton(true); diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc -index 9c0ed63b74ca8..b9e7bcbcfd605 100644 +index 34949452d4891..43aa445b5ac3f 100644 --- chrome/browser/ui/views/profiles/incognito_menu_view.cc +++ chrome/browser/ui/views/profiles/incognito_menu_view.cc @@ -37,7 +37,9 @@ @@ -52,9 +52,9 @@ index 9c0ed63b74ca8..b9e7bcbcfd605 100644 + browser->profile()->GetOTRProfileID().IsUniqueForCEF())); GetViewAccessibility().OverrideName(GetAccessibleWindowTitle()); - chrome::RecordDialogCreation( + base::RecordAction(base::UserMetricsAction("IncognitoMenu_Show")); diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc -index 056f30772779a..98e942f93634d 100644 +index fa2b003a6ce6c..c1b78780fb56e 100644 --- chrome/browser/ui/views/profiles/profile_menu_view_base.cc +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc @@ -511,7 +511,9 @@ void ProfileMenuViewBase::ShowBubble(profiles::BubbleViewMode view_mode, diff --git a/patch/patches/chrome_browser_profiles.patch b/patch/patches/chrome_browser_profiles.patch index 993bf0d58..20b297edd 100644 --- a/patch/patches/chrome_browser_profiles.patch +++ b/patch/patches/chrome_browser_profiles.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc -index 64f159f52fb2f..8ae9d9d126ceb 100644 +index a9c0c34999035..5fbf5eb462e42 100644 --- chrome/browser/profiles/off_the_record_profile_impl.cc +++ chrome/browser/profiles/off_the_record_profile_impl.cc -@@ -636,7 +636,9 @@ std::unique_ptr Profile::CreateOffTheRecordProfile( +@@ -634,7 +634,9 @@ std::unique_ptr Profile::CreateOffTheRecordProfile( #endif if (!profile) profile = std::make_unique(parent, otr_profile_id); @@ -85,10 +85,10 @@ index ca2561e412621..febd52df6c971 100644 virtual bool IsSignedIn() = 0; diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc -index bf169b652ef30..b2bb98ceada7f 100644 +index 2e1d353a1e34b..98a3a93c37d39 100644 --- chrome/browser/profiles/profile_impl.cc +++ chrome/browser/profiles/profile_impl.cc -@@ -993,7 +993,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id, +@@ -994,7 +994,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id, otr_profiles_[otr_profile_id] = std::move(otr_profile); @@ -100,10 +100,10 @@ index bf169b652ef30..b2bb98ceada7f 100644 return raw_otr_profile; } diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc -index 45389cca9b0ab..ab1573eaaf7a7 100644 +index e35e0cb323c8c..a2268c594d8c6 100644 --- chrome/browser/profiles/profile_manager.cc +++ chrome/browser/profiles/profile_manager.cc -@@ -512,7 +512,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) +@@ -517,7 +517,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir) base::Unretained(this))); #endif @@ -113,7 +113,7 @@ index 45389cca9b0ab..ab1573eaaf7a7 100644 zombie_metrics_timer_.Start(FROM_HERE, base::Minutes(30), this, diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h -index 8ba4e0ba9f3c0..d7b888f7120c4 100644 +index 03c2269af2180..5ee91d31bd473 100644 --- chrome/browser/profiles/profile_manager.h +++ chrome/browser/profiles/profile_manager.h @@ -151,7 +151,7 @@ class ProfileManager : public Profile::Delegate { diff --git a/patch/patches/chrome_browser_themes.patch b/patch/patches/chrome_browser_themes.patch index 14d51f0d3..3dade62c3 100644 --- a/patch/patches/chrome_browser_themes.patch +++ b/patch/patches/chrome_browser_themes.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc -index a61c192f90de2..79b1fa46b2421 100644 +index d759fbfcd4215..156ac3dcbdda1 100644 --- chrome/browser/themes/theme_service.cc +++ chrome/browser/themes/theme_service.cc @@ -31,6 +31,7 @@ @@ -21,7 +21,7 @@ index a61c192f90de2..79b1fa46b2421 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "base/scoped_observation.h" #include "extensions/browser/extension_registry_observer.h" -@@ -570,11 +575,19 @@ void ThemeService::Init() { +@@ -550,11 +555,19 @@ void ThemeService::Init() { // OnExtensionServiceReady. Otherwise, the ThemeObserver won't be // constructed in time to observe the corresponding events. #if BUILDFLAG(ENABLE_EXTENSIONS) diff --git a/patch/patches/chrome_plugins.patch b/patch/patches/chrome_plugins.patch index 88f9e432d..3742117ab 100644 --- a/patch/patches/chrome_plugins.patch +++ b/patch/patches/chrome_plugins.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc -index 9c889652b408b..31a3df33fd42e 100644 +index 22e8a17b5e2cc..859cd6712debe 100644 --- chrome/browser/plugins/plugin_info_host_impl.cc +++ chrome/browser/plugins/plugin_info_host_impl.cc @@ -17,6 +17,7 @@ @@ -10,7 +10,7 @@ index 9c889652b408b..31a3df33fd42e 100644 #include "chrome/browser/browser_process.h" #include "chrome/browser/content_settings/host_content_settings_map_factory.h" #include "chrome/browser/plugins/chrome_plugin_service_filter.h" -@@ -52,6 +53,10 @@ +@@ -51,6 +52,10 @@ #include "url/gurl.h" #include "url/origin.h" @@ -21,7 +21,7 @@ index 9c889652b408b..31a3df33fd42e 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "components/guest_view/browser/guest_view_base.h" #include "extensions/browser/extension_registry.h" -@@ -101,6 +106,9 @@ bool IsPluginLoadingAccessibleResourceInWebView( +@@ -100,6 +105,9 @@ bool IsPluginLoadingAccessibleResourceInWebView( extensions::ExtensionRegistry* extension_registry, int process_id, const GURL& resource) { @@ -31,7 +31,7 @@ index 9c889652b408b..31a3df33fd42e 100644 extensions::WebViewRendererState* renderer_state = extensions::WebViewRendererState::GetInstance(); std::string partition_id; -@@ -129,14 +137,18 @@ bool IsPluginLoadingAccessibleResourceInWebView( +@@ -128,14 +136,18 @@ bool IsPluginLoadingAccessibleResourceInWebView( PluginInfoHostImpl::Context::Context(int render_process_id, Profile* profile) : render_process_id_(render_process_id), @@ -125,10 +125,10 @@ index 8b72897491669..546919dd70afc 100644 // that the X-Frame-Options protection mechanism is set to either DENY or // SAMEORIGIN. diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc -index abfb11349c9ee..10d7d16a48d56 100644 +index 06315cc8f3b99..3920adc12c1c1 100644 --- chrome/renderer/chrome_content_renderer_client.cc +++ chrome/renderer/chrome_content_renderer_client.cc -@@ -929,6 +929,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -937,6 +937,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( if ((status == chrome::mojom::PluginStatus::kUnauthorized || status == chrome::mojom::PluginStatus::kBlocked) && @@ -136,7 +136,7 @@ index abfb11349c9ee..10d7d16a48d56 100644 content_settings_agent_delegate->IsPluginTemporarilyAllowed( identifier)) { status = chrome::mojom::PluginStatus::kAllowed; -@@ -1130,7 +1131,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1138,7 +1139,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( render_frame->GetRemoteAssociatedInterfaces()->GetInterface( plugin_auth_host.BindNewEndpointAndPassReceiver()); plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier); @@ -146,7 +146,7 @@ index abfb11349c9ee..10d7d16a48d56 100644 break; } case chrome::mojom::PluginStatus::kBlocked: { -@@ -1139,7 +1141,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1147,7 +1149,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name)); placeholder->AllowLoading(); RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked")); @@ -156,7 +156,7 @@ index abfb11349c9ee..10d7d16a48d56 100644 break; } case chrome::mojom::PluginStatus::kBlockedByPolicy: { -@@ -1149,7 +1152,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1157,7 +1160,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( group_name)); RenderThread::Get()->RecordAction( UserMetricsAction("Plugin_BlockedByPolicy")); @@ -166,7 +166,7 @@ index abfb11349c9ee..10d7d16a48d56 100644 break; } case chrome::mojom::PluginStatus::kBlockedNoLoading: { -@@ -1157,7 +1161,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( +@@ -1165,7 +1169,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( IDR_BLOCKED_PLUGIN_HTML, l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING, group_name)); diff --git a/patch/patches/chrome_renderer.patch b/patch/patches/chrome_renderer.patch index 290623bf3..d966f776c 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 4dc47fb91328a..6d2f00350f14d 100644 +index a32f28835170c..af0507fd0de55 100644 --- chrome/renderer/BUILD.gn +++ chrome/renderer/BUILD.gn @@ -5,6 +5,7 @@ diff --git a/patch/patches/chrome_runtime.patch b/patch/patches/chrome_runtime.patch index 81f51a366..bd41a3212 100644 --- a/patch/patches/chrome_runtime.patch +++ b/patch/patches/chrome_runtime.patch @@ -1,5 +1,5 @@ diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc -index 81550e6dca168..c633f6c122f17 100644 +index 51d73c9eaf521..2bede66d3bbb2 100644 --- chrome/app/chrome_main_delegate.cc +++ chrome/app/chrome_main_delegate.cc @@ -33,6 +33,7 @@ @@ -19,7 +19,7 @@ index 81550e6dca168..c633f6c122f17 100644 #if BUILDFLAG(IS_WIN) // Reach out to chrome_elf for the truth on the user data directory. // Note that in tests, this links to chrome_elf_test_stubs. -@@ -702,7 +705,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() { +@@ -701,7 +704,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() { } #if BUILDFLAG(IS_WIN) @@ -29,7 +29,7 @@ index 81550e6dca168..c633f6c122f17 100644 base::sequence_manager::internal::ThreadControllerPowerMonitor:: InitializeOnMainThread(); base::InitializePlatformThreadFeatures(); -@@ -1016,6 +1021,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1015,6 +1020,7 @@ void ChromeMainDelegate::PreSandboxStartup() { std::string process_type = command_line.GetSwitchValueASCII(switches::kProcessType); @@ -37,7 +37,7 @@ index 81550e6dca168..c633f6c122f17 100644 crash_reporter::InitializeCrashKeys(); #if BUILDFLAG(IS_POSIX) -@@ -1026,6 +1032,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1025,6 +1031,7 @@ void ChromeMainDelegate::PreSandboxStartup() { InitMacCrashReporter(command_line, process_type); SetUpInstallerPreferences(command_line); #endif @@ -45,7 +45,7 @@ index 81550e6dca168..c633f6c122f17 100644 #if BUILDFLAG(IS_WIN) child_process_logging::Init(); -@@ -1153,6 +1160,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1163,6 +1170,7 @@ void ChromeMainDelegate::PreSandboxStartup() { locale; } @@ -53,7 +53,7 @@ index 81550e6dca168..c633f6c122f17 100644 #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess) { -@@ -1185,6 +1193,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1195,6 +1203,7 @@ void ChromeMainDelegate::PreSandboxStartup() { // After all the platform Breakpads have been initialized, store the command // line for crash reporting. crash_keys::SetCrashKeysFromCommandLine(command_line); @@ -61,7 +61,7 @@ index 81550e6dca168..c633f6c122f17 100644 #if BUILDFLAG(ENABLE_PDF) MaybePatchGdiGetFontData(); -@@ -1270,6 +1279,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1280,6 +1289,7 @@ void ChromeMainDelegate::ZygoteForked() { SetUpProfilingShutdownHandler(); } @@ -69,7 +69,7 @@ index 81550e6dca168..c633f6c122f17 100644 // Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets // this up for the browser process in a different manner. const base::CommandLine* command_line = -@@ -1286,6 +1296,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1296,6 +1306,7 @@ void ChromeMainDelegate::ZygoteForked() { // Reset the command line for the newly spawned process. crash_keys::SetCrashKeysFromCommandLine(*command_line); @@ -78,7 +78,7 @@ index 81550e6dca168..c633f6c122f17 100644 #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc -index e07874dc5a2fa..e2e4f795e74a2 100644 +index aa1d901eab06e..d3a9b826150f4 100644 --- chrome/browser/chrome_browser_main.cc +++ chrome/browser/chrome_browser_main.cc @@ -52,6 +52,7 @@ @@ -89,7 +89,7 @@ index e07874dc5a2fa..e2e4f795e74a2 100644 #include "chrome/browser/about_flags.h" #include "chrome/browser/active_use_util.h" #include "chrome/browser/after_startup_task_utils.h" -@@ -1581,11 +1582,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1588,12 +1589,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { browser_process_->local_state()); } @@ -98,12 +98,13 @@ index e07874dc5a2fa..e2e4f795e74a2 100644 // called inside PostProfileInit. content::WebUIControllerFactory::RegisterFactory( ChromeWebUIControllerFactory::GetInstance()); + RegisterChromeWebUIConfigs(); RegisterChromeUntrustedWebUIConfigs(); +#endif #if BUILDFLAG(IS_ANDROID) page_info::SetPageInfoClient(new ChromePageInfoClient()); -@@ -1748,11 +1751,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1741,12 +1744,15 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // This step is costly and is already measured in // Startup.StartupBrowserCreator_Start. // See the comment above for an explanation of |process_command_line|. @@ -112,14 +113,15 @@ index e07874dc5a2fa..e2e4f795e74a2 100644 const bool started = + !GetMainRunLoopInstance() || !process_command_line || - browser_creator_->Start(parsed_command_line(), base::FilePath(), - profile_info, last_opened_profiles); + browser_creator_->Start(*base::CommandLine::ForCurrentProcess(), + base::FilePath(), profile_info, + last_opened_profiles); - if (started) { + if (started && GetMainRunLoopInstance()) { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -@@ -1780,8 +1786,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { +@@ -1774,8 +1780,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { // Create the RunLoop for MainMessageLoopRun() to use and transfer // ownership of the browser's lifetime to the BrowserProcess. @@ -132,7 +134,7 @@ index e07874dc5a2fa..e2e4f795e74a2 100644 GetMainRunLoopInstance()->QuitWhenIdleClosure()); } diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm -index dbd8f7ebe071d..b0f8d3d7bcff9 100644 +index 0cb701b8772f5..ba6c84a530b64 100644 --- chrome/browser/chrome_browser_main_mac.mm +++ chrome/browser/chrome_browser_main_mac.mm @@ -16,6 +16,7 @@ @@ -143,7 +145,7 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644 #import "chrome/browser/app_controller_mac.h" #include "chrome/browser/apps/app_shim/app_shim_listener.h" #include "chrome/browser/browser_process.h" -@@ -110,6 +111,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { +@@ -111,6 +112,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { } } @@ -151,15 +153,15 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644 // Create the app delegate. This object is intentionally leaked as a global // singleton. It is accessed through -[NSApp delegate]. AppController* app_controller = [[AppController alloc] init]; -@@ -118,6 +120,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { +@@ -119,6 +121,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { chrome::BuildMainMenu(NSApp, app_controller, l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false); [app_controller mainMenuCreated]; +#endif // BUILDFLAG(ENABLE_CEF) - PrefService* local_state = g_browser_process->local_state(); - DCHECK(local_state); -@@ -177,7 +180,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile, + ui::WarmScreenCapture(); + +@@ -180,7 +183,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile, } void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() { @@ -170,7 +172,7 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644 +#endif } diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc -index 8c14a2053f595..740692cf04b87 100644 +index 4b3f602b9ee5a..2da7f9c2e029e 100644 --- chrome/browser/chrome_content_browser_client.cc +++ chrome/browser/chrome_content_browser_client.cc @@ -29,6 +29,7 @@ @@ -181,7 +183,7 @@ index 8c14a2053f595..740692cf04b87 100644 #include "chrome/browser/accessibility/accessibility_labels_service.h" #include "chrome/browser/accessibility/accessibility_labels_service_factory.h" #include "chrome/browser/after_startup_task_utils.h" -@@ -1281,6 +1282,8 @@ bool IsTopChromeWebUIURL(const GURL& url) { +@@ -1284,6 +1285,8 @@ bool IsTopChromeWebUIURL(const GURL& url) { } // namespace ChromeContentBrowserClient::ChromeContentBrowserClient() { @@ -190,7 +192,7 @@ index 8c14a2053f595..740692cf04b87 100644 #if BUILDFLAG(ENABLE_PLUGINS) extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart); #endif -@@ -1306,6 +1309,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { +@@ -1309,6 +1312,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { extra_parts_.clear(); } @@ -202,7 +204,7 @@ index 8c14a2053f595..740692cf04b87 100644 // static void ChromeContentBrowserClient::RegisterLocalStatePrefs( PrefRegistrySimple* registry) { -@@ -3733,9 +3741,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( +@@ -3789,9 +3797,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( &search::HandleNewTabURLReverseRewrite); #endif // BUILDFLAG(IS_ANDROID) @@ -214,7 +216,7 @@ index 8c14a2053f595..740692cf04b87 100644 } base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { -@@ -5373,7 +5383,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( +@@ -5433,7 +5443,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( network_service); } @@ -223,7 +225,7 @@ index 8c14a2053f595..740692cf04b87 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -5391,6 +5401,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( +@@ -5451,6 +5461,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = GetApplicationLocale(); } @@ -232,7 +234,7 @@ index 8c14a2053f595..740692cf04b87 100644 } std::vector -@@ -6262,10 +6274,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( +@@ -6322,10 +6334,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( const auto now = base::TimeTicks::Now(); const auto timeout = GetKeepaliveTimerTimeout(context); keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); @@ -245,7 +247,7 @@ index 8c14a2053f595..740692cf04b87 100644 FROM_HERE, keepalive_deadline_ - now, base::BindOnce( &ChromeContentBrowserClient::OnKeepaliveTimerFired, -@@ -6284,7 +6296,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { +@@ -6344,7 +6356,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { --num_keepalive_requests_; if (num_keepalive_requests_ == 0) { DVLOG(1) << "Stopping the keepalive timer"; @@ -255,7 +257,7 @@ index 8c14a2053f595..740692cf04b87 100644 // This deletes the keep alive handle attached to the timer function and // unblock the shutdown sequence. } -@@ -6392,7 +6405,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( +@@ -6452,7 +6465,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( const auto now = base::TimeTicks::Now(); const auto then = keepalive_deadline_; if (now < then) { @@ -265,7 +267,7 @@ index 8c14a2053f595..740692cf04b87 100644 base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, weak_factory_.GetWeakPtr(), diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h -index f0415a5099cdf..b37813c8c43e0 100644 +index d9b8140ee7d94..b6c403c23f5d1 100644 --- chrome/browser/chrome_content_browser_client.h +++ chrome/browser/chrome_content_browser_client.h @@ -117,6 +117,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { @@ -277,7 +279,7 @@ index f0415a5099cdf..b37813c8c43e0 100644 // TODO(https://crbug.com/787567): This file is about calls from content/ out // to chrome/ to get values or notify about events, but both of these // functions are from chrome/ to chrome/ and don't involve content/ at all. -@@ -558,7 +560,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -564,7 +566,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { override; void OnNetworkServiceCreated( network::mojom::NetworkService* network_service) override; @@ -286,7 +288,7 @@ index f0415a5099cdf..b37813c8c43e0 100644 content::BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -910,7 +912,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { +@@ -922,7 +924,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { #if !BUILDFLAG(IS_ANDROID) uint64_t num_keepalive_requests_ = 0; @@ -296,7 +298,7 @@ index f0415a5099cdf..b37813c8c43e0 100644 #endif diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc -index c2f47de7f3d15..ca406616ebeec 100644 +index d6c5b0148dec9..5151337d45bf0 100644 --- chrome/browser/prefs/browser_prefs.cc +++ chrome/browser/prefs/browser_prefs.cc @@ -11,6 +11,7 @@ @@ -307,7 +309,7 @@ index c2f47de7f3d15..ca406616ebeec 100644 #include "chrome/browser/about_flags.h" #include "chrome/browser/accessibility/accessibility_labels_service.h" #include "chrome/browser/accessibility/accessibility_ui.h" -@@ -163,6 +164,10 @@ +@@ -164,6 +165,10 @@ #include "chrome/browser/background/background_mode_manager.h" #endif @@ -318,7 +320,7 @@ index c2f47de7f3d15..ca406616ebeec 100644 #if BUILDFLAG(ENABLE_EXTENSIONS) #include "chrome/browser/accessibility/animation_policy_prefs.h" #include "chrome/browser/apps/platform_apps/shortcut_manager.h" -@@ -1300,6 +1305,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, +@@ -1288,6 +1293,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, SessionDataService::RegisterProfilePrefs(registry); #endif diff --git a/patch/patches/chrome_runtime_views.patch b/patch/patches/chrome_runtime_views.patch index de9efeb33..d791193b8 100644 --- a/patch/patches/chrome_runtime_views.patch +++ b/patch/patches/chrome_runtime_views.patch @@ -1,8 +1,8 @@ diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc -index 288cc6934c794..86593d1b2a74d 100644 +index 6e04b7de772c7..70da576aa5086 100644 --- chrome/browser/ui/browser_command_controller.cc +++ chrome/browser/ui/browser_command_controller.cc -@@ -381,8 +381,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( +@@ -382,8 +382,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( // CommandUpdaterDelegate and CommandUpdater declare this function so we // choose to not implement CommandUpdaterDelegate inside this class and // therefore command_updater_ doesn't have the delegate set). @@ -14,7 +14,7 @@ index 288cc6934c794..86593d1b2a74d 100644 // No commands are enabled if there is not yet any selected tab. // TODO(pkasting): It seems like we should not need this, because either -@@ -397,6 +399,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( +@@ -398,6 +400,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( DCHECK(command_updater_.IsCommandEnabled(id)) << "Invalid/disabled command " << id; @@ -28,7 +28,7 @@ index 288cc6934c794..86593d1b2a74d 100644 // The order of commands in this switch statement must match the function // declaration order in browser.h! switch (id) { -@@ -1033,11 +1042,13 @@ void BrowserCommandController::TabRestoreServiceLoaded( +@@ -1032,11 +1041,13 @@ void BrowserCommandController::TabRestoreServiceLoaded( // BrowserCommandController, private: bool BrowserCommandController::IsShowingMainUI() { @@ -45,7 +45,7 @@ index 288cc6934c794..86593d1b2a74d 100644 bool BrowserCommandController::IsWebAppOrCustomTab() const { diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc -index 42ce84a750319..28b8702260434 100644 +index 0d4c12f0f72de..dc09323bdf482 100644 --- chrome/browser/ui/views/frame/browser_frame.cc +++ chrome/browser/ui/views/frame/browser_frame.cc @@ -74,15 +74,23 @@ bool IsUsingGtkTheme(Profile* profile) { @@ -74,7 +74,7 @@ index 42ce84a750319..28b8702260434 100644 } BrowserFrame::~BrowserFrame() {} -@@ -143,6 +151,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion( +@@ -152,6 +160,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion( } int BrowserFrame::GetTopInset() const { @@ -87,7 +87,7 @@ index 42ce84a750319..28b8702260434 100644 return browser_frame_view_->GetTopInset(false); } -@@ -172,20 +186,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { +@@ -181,20 +195,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds, ui::WindowShowState* show_state) const { @@ -118,7 +118,7 @@ index 42ce84a750319..28b8702260434 100644 browser_frame_view_->OnBrowserViewInitViewsComplete(); } -@@ -246,6 +270,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const { +@@ -255,6 +279,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const { ui::ColorProviderManager::ThemeInitializerSupplier* BrowserFrame::GetCustomTheme() const { @@ -127,7 +127,7 @@ index 42ce84a750319..28b8702260434 100644 Browser* browser = browser_view_->browser(); // If this is an incognito profile, there should never be a custom theme. if (browser->profile()->IsIncognitoProfile()) -@@ -263,6 +289,8 @@ BrowserFrame::GetCustomTheme() const { +@@ -272,6 +298,8 @@ BrowserFrame::GetCustomTheme() const { } void BrowserFrame::OnNativeWidgetWorkspaceChanged() { @@ -136,7 +136,7 @@ index 42ce84a750319..28b8702260434 100644 chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), IsVisibleOnAllWorkspaces()); -@@ -352,6 +380,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) { +@@ -361,6 +389,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) { ui::ColorProviderManager::Key BrowserFrame::GetColorProviderKey() const { auto key = Widget::GetColorProviderKey(); @@ -145,7 +145,7 @@ index 42ce84a750319..28b8702260434 100644 auto* app_controller = browser_view_->browser()->app_controller(); key.app_controller = app_controller ? app_controller->get_weak_ref() : nullptr; -@@ -382,7 +412,8 @@ void BrowserFrame::SelectNativeTheme() { +@@ -391,7 +421,8 @@ void BrowserFrame::SelectNativeTheme() { // Select between regular, dark and GTK theme. ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); @@ -155,7 +155,7 @@ index 42ce84a750319..28b8702260434 100644 // No matter if we are using the default theme or not we always use the dark // ui instance. SetNativeTheme(ui::NativeTheme::GetInstanceForDarkUI()); -@@ -395,7 +426,8 @@ void BrowserFrame::SelectNativeTheme() { +@@ -404,7 +435,8 @@ void BrowserFrame::SelectNativeTheme() { // display_override so the web contents can blend with the overlay by using // the developer-provided theme color for a better experience. Context: // https://crbug.com/1219073. @@ -166,7 +166,7 @@ index 42ce84a750319..28b8702260434 100644 } #endif diff --git chrome/browser/ui/views/frame/browser_frame.h chrome/browser/ui/views/frame/browser_frame.h -index d42661a633fcd..85b03452d4dc3 100644 +index 9bd586697dece..80ef1f08cb463 100644 --- chrome/browser/ui/views/frame/browser_frame.h +++ chrome/browser/ui/views/frame/browser_frame.h @@ -53,7 +53,9 @@ enum class TabDragKind { @@ -180,10 +180,10 @@ index d42661a633fcd..85b03452d4dc3 100644 BrowserFrame(const BrowserFrame&) = delete; BrowserFrame& operator=(const BrowserFrame&) = delete; diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc -index ce0286c8ec074..fb3c16fa81bf3 100644 +index 01615eb5b92ed..c96ffe8bb0283 100644 --- chrome/browser/ui/views/frame/browser_view.cc +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -305,11 +305,10 @@ using content::WebContents; +@@ -303,11 +303,10 @@ using content::WebContents; using views::ColumnSet; using web_modal::WebContentsModalDialogHost; @@ -198,7 +198,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) // UMA histograms that record animation smoothness for tab loading animation. -@@ -798,11 +797,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver { +@@ -799,11 +798,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver { /////////////////////////////////////////////////////////////////////////////// // BrowserView, public: @@ -222,7 +222,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 SetShowIcon( ::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay())); -@@ -837,7 +847,6 @@ BrowserView::BrowserView(std::unique_ptr browser) +@@ -845,7 +855,6 @@ BrowserView::BrowserView(std::unique_ptr browser) } browser_->tab_strip_model()->AddObserver(this); @@ -230,7 +230,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 // Top container holds tab strip region and toolbar and lives at the front of // the view hierarchy. -@@ -880,8 +889,15 @@ BrowserView::BrowserView(std::unique_ptr browser) +@@ -888,8 +897,15 @@ BrowserView::BrowserView(std::unique_ptr browser) contents_container->SetLayoutManager(std::make_unique( devtools_web_view_, contents_web_view_)); @@ -248,7 +248,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 contents_separator_ = top_container_->AddChildView(std::make_unique()); -@@ -1769,6 +1785,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const { +@@ -1776,6 +1792,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const { if (immersive_mode_controller_->IsEnabled()) return false; @@ -257,7 +257,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 return frame_->GetFrameView()->ShouldHideTopUIForFullscreen(); } -@@ -2977,7 +2995,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const { +@@ -2995,7 +3013,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const { } void BrowserView::ReparentTopContainerForEndOfImmersive() { @@ -267,7 +267,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 top_container()->DestroyLayer(); AddChildViewAt(top_container(), 0); EnsureFocusOrder(); -@@ -3518,8 +3537,10 @@ void BrowserView::Layout() { +@@ -3532,8 +3551,10 @@ void BrowserView::Layout() { // TODO(jamescook): Why was this in the middle of layout code? toolbar_->location_bar()->omnibox_view()->SetFocusBehavior( @@ -280,7 +280,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 // Some of the situations when the BrowserView is laid out are: // - Enter/exit immersive fullscreen mode. -@@ -3585,6 +3606,11 @@ void BrowserView::AddedToWidget() { +@@ -3599,6 +3620,11 @@ void BrowserView::AddedToWidget() { SetThemeProfileForWindow(GetNativeWindow(), browser_->profile()); #endif @@ -292,7 +292,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 toolbar_->Init(); // TODO(pbos): Manage this either inside SidePanel or the corresponding button -@@ -3648,13 +3674,9 @@ void BrowserView::AddedToWidget() { +@@ -3660,13 +3686,9 @@ void BrowserView::AddedToWidget() { EnsureFocusOrder(); @@ -308,7 +308,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 using_native_frame_ = frame_->ShouldUseNativeFrame(); MaybeInitializeWebUITabStrip(); -@@ -4082,7 +4104,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, +@@ -4074,7 +4096,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, // Undo our anti-jankiness hacks and force a re-layout. in_process_fullscreen_ = false; ToolbarSizeChanged(false); @@ -318,7 +318,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 } bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const { -@@ -4409,6 +4432,8 @@ Profile* BrowserView::GetProfile() { +@@ -4403,6 +4426,8 @@ Profile* BrowserView::GetProfile() { } void BrowserView::UpdateUIForTabFullscreen() { @@ -327,7 +327,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 frame()->GetFrameView()->UpdateFullscreenTopUI(); } -@@ -4431,6 +4456,8 @@ void BrowserView::HideDownloadShelf() { +@@ -4425,6 +4450,8 @@ void BrowserView::HideDownloadShelf() { } bool BrowserView::CanUserExitFullscreen() const { @@ -337,10 +337,10 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 } diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h -index c380e63f2f7ac..1b34d1b8098a6 100644 +index 70f50e6752091..b8be336cee0fa 100644 --- chrome/browser/ui/views/frame/browser_view.h +++ chrome/browser/ui/views/frame/browser_view.h -@@ -128,11 +128,16 @@ class BrowserView : public BrowserWindow, +@@ -124,11 +124,16 @@ class BrowserView : public BrowserWindow, public webapps::AppBannerManager::Observer { public: METADATA_HEADER(BrowserView); @@ -357,9 +357,9 @@ index c380e63f2f7ac..1b34d1b8098a6 100644 void set_frame(BrowserFrame* frame) { frame_ = frame; } BrowserFrame* frame() const { return frame_; } -@@ -749,6 +754,12 @@ class BrowserView : public BrowserWindow, +@@ -736,6 +741,12 @@ class BrowserView : public BrowserWindow, + void MaybeRestoreSideSearchStatePerWindow( const std::map& extra_data) override; - #endif + protected: + virtual ToolbarView* OverrideCreateToolbar(Browser* browser, @@ -371,7 +371,7 @@ index c380e63f2f7ac..1b34d1b8098a6 100644 // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate // interface to keep these two classes decoupled and testable. diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc -index cec2daa7b9525..bfed50aad8489 100644 +index 1db5f517e7bfb..981b4321f6aa9 100644 --- chrome/browser/ui/views/frame/browser_view_layout.cc +++ chrome/browser/ui/views/frame/browser_view_layout.cc @@ -42,6 +42,10 @@ @@ -385,7 +385,7 @@ index cec2daa7b9525..bfed50aad8489 100644 using views::View; using web_modal::WebContentsModalDialogHost; using web_modal::ModalDialogHostObserver; -@@ -467,6 +471,11 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { +@@ -463,6 +467,11 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { int BrowserViewLayout::LayoutToolbar(int top) { TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar"); @@ -466,10 +466,10 @@ index 7475765f4b514..25c59d942782b 100644 } diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc -index 1ab19d8ef4493..c7fe972561440 100644 +index b5ba130e6ed00..cbe6e5744d689 100644 --- chrome/browser/ui/views/toolbar/toolbar_view.cc +++ chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -172,12 +172,13 @@ auto& GetViewCommandMap() { +@@ -168,12 +168,13 @@ auto& GetViewCommandMap() { //////////////////////////////////////////////////////////////////////////////// // ToolbarView, public: @@ -485,7 +485,7 @@ index 1ab19d8ef4493..c7fe972561440 100644 SetID(VIEW_ID_TOOLBAR); UpgradeDetector::GetInstance()->AddObserver(this); -@@ -212,7 +213,7 @@ void ToolbarView::Init() { +@@ -208,7 +209,7 @@ void ToolbarView::Init() { #endif auto location_bar = std::make_unique( browser_, browser_->profile(), browser_->command_controller(), this, diff --git a/patch/patches/component_build.patch b/patch/patches/component_build.patch index f3766c32b..9b716c782 100644 --- a/patch/patches/component_build.patch +++ b/patch/patches/component_build.patch @@ -1,8 +1,8 @@ diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h -index 3161f705e051c..255ee775935e3 100644 +index 257f8f388c59b..12d96b30af4b2 100644 --- content/browser/devtools/devtools_instrumentation.h +++ content/browser/devtools/devtools_instrumentation.h -@@ -96,7 +96,7 @@ bool ApplyUserAgentMetadataOverrides( +@@ -97,7 +97,7 @@ bool ApplyUserAgentMetadataOverrides( FrameTreeNode* frame_tree_node, absl::optional* override_out); @@ -68,7 +68,7 @@ index 57072bf1263ae..0a93446e4d21c 100644 blink::mojom::V8CacheOptions GetV8CacheOptions(); diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn -index 8fd0fb4ad9c26..bee26fdf9cf51 100644 +index 550eac059d57e..fe18a538dc7cf 100644 --- third_party/blink/renderer/controller/BUILD.gn +++ third_party/blink/renderer/controller/BUILD.gn @@ -32,6 +32,7 @@ component("controller") { diff --git a/patch/patches/content_2015.patch b/patch/patches/content_2015.patch index aa5d947a4..5cb5e58e8 100644 --- a/patch/patches/content_2015.patch +++ b/patch/patches/content_2015.patch @@ -1,8 +1,8 @@ diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc -index fc87fd9a6ffca..99c6b27018e13 100644 +index b75e19e7946b0..a92a7da426081 100644 --- content/browser/devtools/devtools_http_handler.cc +++ content/browser/devtools/devtools_http_handler.cc -@@ -576,7 +576,7 @@ void DevToolsHttpHandler::OnJsonRequest( +@@ -587,7 +587,7 @@ void DevToolsHttpHandler::OnJsonRequest( version.SetString("Protocol-Version", DevToolsAgentHost::GetProtocolVersion()); version.SetString("WebKit-Version", GetWebKitVersion()); @@ -12,10 +12,10 @@ index fc87fd9a6ffca..99c6b27018e13 100644 GetContentClient()->browser()->GetUserAgent()); version.SetString("V8-Version", V8_VERSION_STRING); diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc -index f24b5fa85e26d..dfca9fdb9aae0 100644 +index a1da50db3adf3..30ceb9ff65325 100644 --- content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc -@@ -681,6 +681,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest( +@@ -682,6 +682,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest( resource_request_->has_user_gesture, initiating_origin, initiator_document_.AsRenderFrameHostIfValid(), &loader_factory); @@ -34,10 +34,10 @@ index f24b5fa85e26d..dfca9fdb9aae0 100644 factory = base::MakeRefCounted( std::move(loader_factory)); diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc -index ffa24d4b67792..ee736fcd4ebeb 100644 +index 7af8cfe6e57aa..559239ecc2c24 100644 --- content/public/browser/content_browser_client.cc +++ content/public/browser/content_browser_client.cc -@@ -11,7 +11,7 @@ +@@ -9,7 +9,7 @@ // declarations instead of including more headers. If that is infeasible, adjust // the limit. For more info, see // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md @@ -46,7 +46,7 @@ index ffa24d4b67792..ee736fcd4ebeb 100644 #include -@@ -895,7 +895,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( +@@ -911,7 +911,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( void ContentBrowserClient::OnNetworkServiceCreated( network::mojom::NetworkService* network_service) {} @@ -55,7 +55,7 @@ index ffa24d4b67792..ee736fcd4ebeb 100644 BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -904,6 +904,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( +@@ -920,6 +920,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( cert_verifier_creation_params) { network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->accept_language = "en-us,en"; @@ -64,7 +64,7 @@ index ffa24d4b67792..ee736fcd4ebeb 100644 std::vector diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h -index ae3dda4b9b40b..1eef127339151 100644 +index d2c0f46e1a413..0ddd3c0e8ba8c 100644 --- content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h @@ -33,6 +33,7 @@ @@ -73,9 +73,9 @@ index ae3dda4b9b40b..1eef127339151 100644 #include "content/public/browser/storage_partition_config.h" +#include "content/public/browser/web_contents.h" #include "content/public/common/alternative_error_page_override_info.mojom-forward.h" - #include "content/public/common/main_function_params.h" #include "content/public/common/page_visibility_state.h" -@@ -1664,7 +1665,7 @@ class CONTENT_EXPORT ContentBrowserClient { + #include "content/public/common/window_container_type.mojom-forward.h" +@@ -1682,7 +1683,7 @@ class CONTENT_EXPORT ContentBrowserClient { // // If |relative_partition_path| is the empty string, it means this needs to // create the default NetworkContext for the BrowserContext. @@ -84,7 +84,7 @@ index ae3dda4b9b40b..1eef127339151 100644 BrowserContext* context, bool in_memory, const base::FilePath& relative_partition_path, -@@ -1871,6 +1872,19 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1889,6 +1890,19 @@ class CONTENT_EXPORT ContentBrowserClient { RenderFrameHost* initiator_document, mojo::PendingRemote* out_factory); @@ -104,7 +104,7 @@ index ae3dda4b9b40b..1eef127339151 100644 // Creates an OverlayWindow to be used for video or document // Picture-in-Picture respectively. This window will house the content shown // when in Picture-in-Picture mode. This will return a new OverlayWindow. -@@ -1932,6 +1946,10 @@ class CONTENT_EXPORT ContentBrowserClient { +@@ -1950,6 +1964,10 @@ class CONTENT_EXPORT ContentBrowserClient { // Used as part of the user agent string. virtual std::string GetProduct(); @@ -141,10 +141,10 @@ index eb8968c2a8610..143c3aaeda88e 100644 // started. virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc -index 15bada83dc4bc..c584f61e1ff7c 100644 +index f81f1104399a4..ac4f20120898e 100644 --- content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc -@@ -656,6 +656,8 @@ void RenderThreadImpl::Init() { +@@ -657,6 +657,8 @@ void RenderThreadImpl::Init() { GetContentClient()->renderer()->CreateURLLoaderThrottleProvider( blink::URLLoaderThrottleProviderType::kFrame); @@ -154,10 +154,10 @@ index 15bada83dc4bc..c584f61e1ff7c 100644 &RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this))); diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc -index 340b9635325e3..d5d952722631c 100644 +index 16322f245b514..5b2617d8cc84d 100644 --- content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc -@@ -1114,6 +1114,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { +@@ -1126,6 +1126,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { //------------------------------------------------------------------------------ diff --git a/patch/patches/content_main_654986.patch b/patch/patches/content_main_654986.patch index ee50ce052..c63cda2d6 100644 --- a/patch/patches/content_main_654986.patch +++ b/patch/patches/content_main_654986.patch @@ -105,10 +105,10 @@ index bb2d3e9911958..7af313040906e 100644 } diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc -index 85a55e9bbb740..2d298c5776594 100644 +index d7f42873cbab5..b833bfd58e583 100644 --- content/app/content_main_runner_impl.cc +++ content/app/content_main_runner_impl.cc -@@ -43,6 +43,7 @@ +@@ -42,6 +42,7 @@ #include "base/task/thread_pool/thread_pool_instance.h" #include "base/threading/hang_watcher.h" #include "base/threading/platform_thread.h" @@ -116,7 +116,7 @@ index 85a55e9bbb740..2d298c5776594 100644 #include "base/time/time.h" #include "base/trace_event/trace_event.h" #include "build/build_config.h" -@@ -1177,6 +1178,12 @@ void ContentMainRunnerImpl::Shutdown() { +@@ -1195,6 +1196,12 @@ void ContentMainRunnerImpl::Shutdown() { is_shutdown_ = true; } diff --git a/patch/patches/crashpad_1995.patch b/patch/patches/crashpad_1995.patch index 3fa43d86f..95bc2afa9 100644 --- a/patch/patches/crashpad_1995.patch +++ b/patch/patches/crashpad_1995.patch @@ -47,7 +47,7 @@ index 3fe0b9b74ae0a..38987ce169308 100644 source_set("dll_hash") { diff --git chrome/chrome_elf/crash/crash_helper.cc chrome/chrome_elf/crash/crash_helper.cc -index 886372e114899..ad3bc2242883b 100644 +index c5fe247fc3acd..8ce4bcd78ea9e 100644 --- chrome/chrome_elf/crash/crash_helper.cc +++ chrome/chrome_elf/crash/crash_helper.cc @@ -11,12 +11,17 @@ @@ -81,19 +81,19 @@ index 886372e114899..ad3bc2242883b 100644 g_crash_helper_enabled = true; return true; diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc -index 3a954d5ce176c..7054e98ddf539 100644 +index cd5ebb2ff81ac..ec5193c3d2a93 100644 --- chrome/common/crash_keys.cc +++ chrome/common/crash_keys.cc -@@ -4,6 +4,8 @@ +@@ -6,6 +6,8 @@ - #include "chrome/common/crash_keys.h" + #include +#include + #include "base/base_switches.h" #include "base/command_line.h" - #include "base/strings/string_number_conversions.h" -@@ -45,8 +47,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) { + #include "base/format_macros.h" +@@ -94,8 +96,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) { } #endif @@ -105,7 +105,7 @@ index 3a954d5ce176c..7054e98ddf539 100644 static const char* const kIgnoreSwitches[] = { switches::kEnableLogging, switches::kFlagSwitchesBegin, -@@ -106,13 +110,11 @@ bool IsBoringSwitch(const std::string& flag) { +@@ -155,13 +159,11 @@ bool IsBoringSwitch(const std::string& flag) { return false; } @@ -264,7 +264,7 @@ index 24e53fa62c2c4..ffc72f79d67b0 100644 } // namespace crash_reporter diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc -index 6da6be46cee4a..5e3067c081867 100644 +index 9058d56e8bda7..6a62596c03a52 100644 --- components/crash/core/app/crashpad.cc +++ components/crash/core/app/crashpad.cc @@ -154,7 +154,8 @@ bool InitializeCrashpadImpl(bool initial_client, @@ -278,7 +278,7 @@ index 6da6be46cee4a..5e3067c081867 100644 ->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled); } diff --git components/crash/core/app/crashpad_linux.cc components/crash/core/app/crashpad_linux.cc -index 32e2038e15ada..bf72a94fcc167 100644 +index 39fb479eba509..809859ee5e597 100644 --- components/crash/core/app/crashpad_linux.cc +++ components/crash/core/app/crashpad_linux.cc @@ -23,6 +23,7 @@ @@ -454,7 +454,7 @@ index dc041c43371fd..1d060ae55c586 100644 handler_path, *database_path, metrics_path, url, GetProcessSimpleAnnotations(), arguments, true, false); diff --git components/crash/core/app/crashpad_win.cc components/crash/core/app/crashpad_win.cc -index d2354b84f3a18..f0d5b76a7e61a 100644 +index 80f33dc5e2f2e..277c336a90668 100644 --- components/crash/core/app/crashpad_win.cc +++ components/crash/core/app/crashpad_win.cc @@ -35,8 +35,8 @@ void GetPlatformCrashpadAnnotations( @@ -492,7 +492,7 @@ index d2354b84f3a18..f0d5b76a7e61a 100644 std::unique_ptr env(base::Environment::Create()); CrashReporterClient* crash_reporter_client = GetCrashReporterClient(); -@@ -91,9 +95,11 @@ bool PlatformCrashpadInitialization( +@@ -93,9 +97,11 @@ bool PlatformCrashpadInitialization( std::string url = crash_reporter_client->GetUploadUrl(); @@ -504,7 +504,7 @@ index d2354b84f3a18..f0d5b76a7e61a 100644 base::FilePath exe_file(exe_path); if (exe_file.empty()) { -@@ -104,13 +110,14 @@ bool PlatformCrashpadInitialization( +@@ -106,13 +112,14 @@ bool PlatformCrashpadInitialization( exe_file = base::FilePath(exe_file_path); } @@ -524,7 +524,7 @@ index d2354b84f3a18..f0d5b76a7e61a 100644 if (!user_data_dir.empty()) { start_arguments.push_back(std::string("--user-data-dir=") + user_data_dir); -@@ -121,9 +128,12 @@ bool PlatformCrashpadInitialization( +@@ -123,9 +130,12 @@ bool PlatformCrashpadInitialization( start_arguments.push_back("/prefetch:7"); } else { base::FilePath exe_dir = exe_file.DirName(); diff --git a/patch/patches/crashpad_tp_1995.patch b/patch/patches/crashpad_tp_1995.patch index 57d671d4f..a00c3b276 100644 --- a/patch/patches/crashpad_tp_1995.patch +++ b/patch/patches/crashpad_tp_1995.patch @@ -40,10 +40,10 @@ index f121a2b07cdbd..b2e9bedac39d3 100644 virtual ~PruneCondition() {} diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc -index 8fe578f92f3a3..9acab9404c885 100644 +index eef24f71495fd..d3a273d369097 100644 --- third_party/crashpad/crashpad/client/settings.cc +++ third_party/crashpad/crashpad/client/settings.cc -@@ -111,7 +111,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) { +@@ -116,7 +116,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) { struct Settings::Data { static constexpr uint32_t kSettingsMagic = 'CPds'; @@ -52,7 +52,7 @@ index 8fe578f92f3a3..9acab9404c885 100644 enum Options : uint32_t { kUploadsEnabled = 1 << 0, -@@ -122,6 +122,9 @@ struct Settings::Data { +@@ -127,6 +127,9 @@ struct Settings::Data { options(0), padding_0(0), last_upload_attempt_time(0), @@ -62,7 +62,7 @@ index 8fe578f92f3a3..9acab9404c885 100644 client_id() {} uint32_t magic; -@@ -129,6 +132,9 @@ struct Settings::Data { +@@ -134,6 +137,9 @@ struct Settings::Data { uint32_t options; uint32_t padding_0; int64_t last_upload_attempt_time; // time_t @@ -72,7 +72,7 @@ index 8fe578f92f3a3..9acab9404c885 100644 UUID client_id; }; -@@ -212,6 +218,56 @@ bool Settings::SetLastUploadAttemptTime(time_t time) { +@@ -217,6 +223,56 @@ bool Settings::SetLastUploadAttemptTime(time_t time) { return WriteSettings(handle.get(), settings); } @@ -130,7 +130,7 @@ index 8fe578f92f3a3..9acab9404c885 100644 Settings::ScopedLockedFileHandle Settings::MakeScopedLockedFileHandle( FileHandle file, diff --git third_party/crashpad/crashpad/client/settings.h third_party/crashpad/crashpad/client/settings.h -index aedf30cd874f7..ab798f00e0862 100644 +index 8ad8a2b16f648..adaede06e8b86 100644 --- third_party/crashpad/crashpad/client/settings.h +++ third_party/crashpad/crashpad/client/settings.h @@ -120,6 +120,11 @@ class Settings { @@ -248,7 +248,7 @@ index 2af958d7da9e5..6a67185a668af 100644 //! \brief Calls ProcessPendingReports() in response to ReportPending() having //! been called on any thread, as well as periodically on a timer. diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc -index 48ef8b6530a67..dbe2916492ff7 100644 +index c6ef76933735f..5fa38c40e2e96 100644 --- third_party/crashpad/crashpad/handler/handler_main.cc +++ third_party/crashpad/crashpad/handler/handler_main.cc @@ -39,6 +39,7 @@ @@ -280,7 +280,7 @@ index 48ef8b6530a67..dbe2916492ff7 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) bool use_cros_crash_reporter = false; base::FilePath minidump_dir_for_tests; -@@ -617,6 +625,9 @@ int HandlerMain(int argc, +@@ -622,6 +630,9 @@ int HandlerMain(int argc, kOptionTraceParentWithException, #endif kOptionURL, @@ -290,7 +290,7 @@ index 48ef8b6530a67..dbe2916492ff7 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) kOptionUseCrosCrashReporter, kOptionMinidumpDirForTests, -@@ -717,6 +728,9 @@ int HandlerMain(int argc, +@@ -722,6 +733,9 @@ int HandlerMain(int argc, #endif // BUILDFLAG(IS_ANDROID) {"help", no_argument, nullptr, kOptionHelp}, {"version", no_argument, nullptr, kOptionVersion}, @@ -300,7 +300,7 @@ index 48ef8b6530a67..dbe2916492ff7 100644 {nullptr, 0, nullptr, 0}, }; -@@ -874,6 +888,27 @@ int HandlerMain(int argc, +@@ -879,6 +893,27 @@ int HandlerMain(int argc, options.url = optarg; break; } @@ -328,7 +328,7 @@ index 48ef8b6530a67..dbe2916492ff7 100644 #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) case kOptionUseCrosCrashReporter: { options.use_cros_crash_reporter = true; -@@ -1023,8 +1058,14 @@ int HandlerMain(int argc, +@@ -1028,8 +1063,14 @@ int HandlerMain(int argc, upload_thread_options.upload_gzip = options.upload_gzip; upload_thread_options.watch_pending_reports = options.periodic_tasks; @@ -343,7 +343,7 @@ index 48ef8b6530a67..dbe2916492ff7 100644 upload_thread.Get()->Start(); } -@@ -1095,7 +1136,8 @@ int HandlerMain(int argc, +@@ -1100,7 +1141,8 @@ int HandlerMain(int argc, ScopedStoppable prune_thread; if (options.periodic_tasks) { prune_thread.Reset(new PruneCrashReportThread( diff --git a/patch/patches/embedder_product_override.patch b/patch/patches/embedder_product_override.patch index 5503492ba..043d78344 100644 --- a/patch/patches/embedder_product_override.patch +++ b/patch/patches/embedder_product_override.patch @@ -1,5 +1,5 @@ diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc -index 7af5de1f3fda5..9b291ee80c1d6 100644 +index 6e905c33c688c..2716d2943f1a9 100644 --- components/embedder_support/user_agent_utils.cc +++ components/embedder_support/user_agent_utils.cc @@ -15,6 +15,7 @@ diff --git a/patch/patches/extensions_1947.patch b/patch/patches/extensions_1947.patch index f5eb54913..4b1dcff8f 100644 --- a/patch/patches/extensions_1947.patch +++ b/patch/patches/extensions_1947.patch @@ -161,10 +161,10 @@ index dd22bbc07fb52..c695ece6b1a47 100644 // A pointer to the current or speculative main frame in `host_contents_`. We // can't access this frame through the `host_contents_` directly as it does diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h -index d11e8485a2c6c..201d0a1b63aba 100644 +index 0687fb5788120..db80a9ec293d4 100644 --- extensions/browser/extensions_browser_client.h +++ extensions/browser/extensions_browser_client.h -@@ -28,6 +28,7 @@ +@@ -31,6 +31,7 @@ #include "url/gurl.h" class ExtensionFunctionRegistry; @@ -172,7 +172,7 @@ index d11e8485a2c6c..201d0a1b63aba 100644 class PrefService; namespace base { -@@ -67,6 +68,7 @@ class ComponentExtensionResourceManager; +@@ -73,6 +74,7 @@ class ComponentExtensionResourceManager; class Extension; class ExtensionCache; class ExtensionError; @@ -180,7 +180,7 @@ index d11e8485a2c6c..201d0a1b63aba 100644 class ExtensionHostDelegate; class ExtensionSet; class ExtensionSystem; -@@ -208,6 +210,14 @@ class ExtensionsBrowserClient { +@@ -214,6 +216,14 @@ class ExtensionsBrowserClient { virtual std::unique_ptr CreateExtensionHostDelegate() = 0; @@ -196,7 +196,7 @@ index d11e8485a2c6c..201d0a1b63aba 100644 // once each time the extensions system is loaded per browser_context. The // implementation may wish to use the BrowserContext to record the current diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc -index 3cb5eb629cd29..ac25fab9fd2a5 100644 +index 13b1fcb8c2193..9ffbea0ac061e 100644 --- extensions/browser/process_manager.cc +++ extensions/browser/process_manager.cc @@ -392,9 +392,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension, diff --git a/patch/patches/gn_config.patch b/patch/patches/gn_config.patch index 4c52eec5c..698e1359a 100644 --- a/patch/patches/gn_config.patch +++ b/patch/patches/gn_config.patch @@ -1,8 +1,8 @@ diff --git .gn .gn -index 5a11496a47ae7..76d199e4b69fa 100644 +index 7d538f812d72e..9eec79395aeec 100644 --- .gn +++ .gn -@@ -157,6 +157,8 @@ exec_script_whitelist = +@@ -155,6 +155,8 @@ exec_script_whitelist = "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", @@ -12,7 +12,7 @@ index 5a11496a47ae7..76d199e4b69fa 100644 # https://crbug.com/474506. "//clank/java/BUILD.gn", diff --git BUILD.gn BUILD.gn -index 30774d5f7c134..823335857a8a4 100644 +index 3fb396df0a458..2e9dbe0a18a1b 100644 --- BUILD.gn +++ BUILD.gn @@ -17,6 +17,7 @@ import("//build/config/sanitizers/sanitizers.gni") @@ -80,7 +80,7 @@ index 839144aa1e9bd..29c8ab32398a7 100644 +_OBJC_METACLASS_$_UnderlayOpenGLHostingWindow + diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni -index 628310385dd95..9cee3d3e4db78 100644 +index 933488c024814..44893a5e98746 100644 --- chrome/chrome_paks.gni +++ chrome/chrome_paks.gni @@ -5,6 +5,7 @@ @@ -152,10 +152,10 @@ index 51fa0d7f4cf77..2ede68e9377eb 100644 outputs = [ # See also chrome.packed.7z conditionally added below. -diff --git tools/grit/grit_defines.gni tools/grit/grit_defines.gni -index bc59070a45360..71dfd4536d432 100644 ---- tools/grit/grit_defines.gni -+++ tools/grit/grit_defines.gni +diff --git tools/grit/grit_args.gni tools/grit/grit_args.gni +index 92be15a41a034..c3efefc25c36d 100644 +--- tools/grit/grit_args.gni ++++ tools/grit/grit_args.gni @@ -5,6 +5,7 @@ import("//build/config/chrome_build.gni") import("//build/config/chromeos/ui_mode.gni") @@ -164,17 +164,12 @@ index bc59070a45360..71dfd4536d432 100644 import("//build/config/ui.gni") shared_intermediate_dir = rebase_path(root_gen_dir, root_build_dir) -@@ -118,6 +119,13 @@ if (is_android) { - ] - } +@@ -35,6 +36,8 @@ _grit_defines = [ -+if (enable_pseudolocales) { -+ grit_defines += [ -+ "-D", -+ "enable_pseudolocales", -+ ] -+} + # Mac and iOS want Title Case strings. + "use_titlecase=${is_apple}", + - # When cross-compiling, explicitly pass the target system to grit. - if (current_toolchain != host_toolchain) { - if (is_android) { ++ "enable_pseudolocales=${enable_pseudolocales}", + ] + + # Must match `enable_hidpi` in ui/base/ui_features.gni. diff --git a/patch/patches/gritsettings.patch b/patch/patches/gritsettings.patch index 84f787bac..a0942078c 100644 --- a/patch/patches/gritsettings.patch +++ b/patch/patches/gritsettings.patch @@ -1,8 +1,8 @@ diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec -index 6a91282809a76..0be5e65854421 100644 +index 31f80388a143f..15f38c9b0e511 100644 --- tools/gritsettings/resource_ids.spec +++ tools/gritsettings/resource_ids.spec -@@ -957,6 +957,15 @@ +@@ -962,6 +962,15 @@ # END "everything else" section. # Everything but chrome/, components/, content/, and ios/ diff --git a/patch/patches/libxml_371.patch b/patch/patches/libxml_371.patch deleted file mode 100644 index c0470caae..000000000 --- a/patch/patches/libxml_371.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git third_party/libxml/src/tree.c third_party/libxml/src/tree.c -index 8077348a980a1..46c0b6eddb486 100644 ---- third_party/libxml/src/tree.c -+++ third_party/libxml/src/tree.c -@@ -4361,7 +4361,8 @@ xmlStaticCopyNode(xmlNodePtr node, xmlDocPtr doc, xmlNodePtr parent, - } - insert->last = copy; - -- if (cur->children != NULL) { -+ if ((cur->type != XML_ENTITY_REF_NODE) && -+ (cur->children != NULL)) { - cur = cur->children; - insert = copy; - continue; diff --git a/patch/patches/libxml_visibility.patch b/patch/patches/libxml_visibility.patch index a9b4b0873..5daf0aeac 100644 --- a/patch/patches/libxml_visibility.patch +++ b/patch/patches/libxml_visibility.patch @@ -1,8 +1,8 @@ diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn -index 24688c1643c77..212edc9a66a8c 100644 +index f408123aeb7f9..b7380e1d12eab 100644 --- third_party/libxml/BUILD.gn +++ third_party/libxml/BUILD.gn -@@ -138,6 +138,7 @@ static_library("libxml") { +@@ -141,6 +141,7 @@ static_library("libxml") { ":libxml_utils", ":xml_reader", ":xml_writer", diff --git a/patch/patches/linux_assets_path_1936.patch b/patch/patches/linux_assets_path_1936.patch index a5c55bd4d..c00bad4fb 100644 --- a/patch/patches/linux_assets_path_1936.patch +++ b/patch/patches/linux_assets_path_1936.patch @@ -1,8 +1,8 @@ diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc -index f60ad777ab769..5c585569da117 100644 +index b2b29e715d6e5..fc5ac660069ec 100644 --- content/browser/child_process_launcher_helper_linux.cc +++ content/browser/child_process_launcher_helper_linux.cc -@@ -162,7 +162,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( +@@ -168,7 +168,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( base::File OpenFileToShare(const base::FilePath& path, base::MemoryMappedFile::Region* region) { base::FilePath exe_dir; diff --git a/patch/patches/linux_bluetooth_1319006.patch b/patch/patches/linux_bluetooth_1319006.patch index 584d9cb51..b608d0944 100644 --- a/patch/patches/linux_bluetooth_1319006.patch +++ b/patch/patches/linux_bluetooth_1319006.patch @@ -1,8 +1,8 @@ diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn -index 1dce4a29c0820..12e3abe85ddf2 100644 +index 337047a678021..ae7a56d9cf564 100644 --- device/bluetooth/BUILD.gn +++ device/bluetooth/BUILD.gn -@@ -50,13 +50,6 @@ source_set("deprecated_experimental_mojo") { +@@ -45,13 +45,6 @@ source_set("deprecated_experimental_mojo") { "socket.h", ] diff --git a/patch/patches/linux_ui_ozone.patch b/patch/patches/linux_ui_ozone.patch index 40fa6208f..178282f52 100644 --- a/patch/patches/linux_ui_ozone.patch +++ b/patch/patches/linux_ui_ozone.patch @@ -1,8 +1,8 @@ diff --git ui/ozone/BUILD.gn ui/ozone/BUILD.gn -index dc0b0ab02a931..ca3f433f32209 100644 +index bee32267d70ee..8975d1e77858b 100644 --- ui/ozone/BUILD.gn +++ ui/ozone/BUILD.gn -@@ -395,6 +395,8 @@ action("generate_test_support_constructor_list") { +@@ -401,6 +401,8 @@ action("generate_test_support_constructor_list") { ] deps = [ ":generate_ozone_platform_list" ] diff --git a/patch/patches/message_pump_mac_2495.patch b/patch/patches/message_pump_mac_2495.patch index 9624e0bb2..edfb7d13e 100644 --- a/patch/patches/message_pump_mac_2495.patch +++ b/patch/patches/message_pump_mac_2495.patch @@ -1,8 +1,8 @@ diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm -index 234c7dbffb1f3..5bd908eb1f7a3 100644 +index a4f7d2429ce6c..2291b46582239 100644 --- base/message_loop/message_pump_mac.mm +++ base/message_loop/message_pump_mac.mm -@@ -697,7 +697,8 @@ void MessagePumpUIApplication::Detach() { +@@ -662,7 +662,8 @@ void MessagePumpUIApplication::Detach() { #else ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { @@ -12,7 +12,7 @@ index 234c7dbffb1f3..5bd908eb1f7a3 100644 DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask()); // Pumping events in private runloop modes is known to interact badly with // app modal windows like NSAlert. -@@ -707,7 +708,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { +@@ -672,7 +673,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { } ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() { diff --git a/patch/patches/mime_handler_view_guest_1565_2727.patch b/patch/patches/mime_handler_view_guest_1565_2727.patch index 88d82bad3..b81670a6e 100644 --- a/patch/patches/mime_handler_view_guest_1565_2727.patch +++ b/patch/patches/mime_handler_view_guest_1565_2727.patch @@ -1,11 +1,11 @@ diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h -index 2c29b5c5c96b9..9ba3aaa327478 100644 +index 17f203b11ce39..0a5277b686d61 100644 --- content/browser/web_contents/web_contents_view.h +++ content/browser/web_contents/web_contents_view.h -@@ -21,7 +21,7 @@ struct DropData; - // The WebContentsView is an interface that is implemented by the platform- - // dependent web contents views. The WebContents uses this interface to talk to - // them. +@@ -25,7 +25,7 @@ struct DropData; + // The `WebContentsView` is an interface that is implemented by the platform- + // dependent web contents views. The `WebContents` uses this interface to talk + // to them. -class WebContentsView { +class CONTENT_EXPORT WebContentsView { public: diff --git a/patch/patches/osr_fling_2745.patch b/patch/patches/osr_fling_2745.patch index 81c2dc6c1..5dd541062 100644 --- a/patch/patches/osr_fling_2745.patch +++ b/patch/patches/osr_fling_2745.patch @@ -41,10 +41,10 @@ index cc4b13a7b9c67..84f3b9ed7cf49 100644 } // namespace content diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc -index 9e740edbf36dd..a8110db456aa3 100644 +index 730ac0aaf36da..97e7e096f2473 100644 --- content/browser/renderer_host/render_widget_host_impl.cc +++ content/browser/renderer_host/render_widget_host_impl.cc -@@ -3119,6 +3119,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() { +@@ -3120,6 +3120,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() { GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE); } @@ -57,10 +57,10 @@ index 9e740edbf36dd..a8110db456aa3 100644 const WebInputEvent& event) { if ((base::FeatureList::IsEnabled( diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h -index 23783e5e004b6..af0b954a40d61 100644 +index 2ae96b8164271..139bc55b0f3db 100644 --- content/browser/renderer_host/render_widget_host_impl.h +++ content/browser/renderer_host/render_widget_host_impl.h -@@ -786,6 +786,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl +@@ -779,6 +779,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl void ProgressFlingIfNeeded(base::TimeTicks current_time); void StopFling(); diff --git a/patch/patches/print_preview_123.patch b/patch/patches/print_preview_123.patch index 7c8bd4853..bc8871505 100644 --- a/patch/patches/print_preview_123.patch +++ b/patch/patches/print_preview_123.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc -index f5ef1239dbece..98210504ccf53 100644 +index 65a54420ca60e..27adcf4e827a4 100644 --- chrome/browser/download/download_prefs.cc +++ chrome/browser/download/download_prefs.cc @@ -24,6 +24,7 @@ @@ -46,7 +46,7 @@ index d656ccabc3899..a4b7ce6a7dcd8 100644 #include "chrome/browser/printing/print_view_manager.h" #include "chrome/browser/task_manager/web_contents_tags.h" diff --git chrome/browser/printing/print_view_manager_base.cc chrome/browser/printing/print_view_manager_base.cc -index fb69efbfa8e35..060aad00efe18 100644 +index e74a2d0858c18..fbf05b7814c46 100644 --- chrome/browser/printing/print_view_manager_base.cc +++ chrome/browser/printing/print_view_manager_base.cc @@ -223,12 +223,12 @@ void UpdatePrintSettingsOnIO( @@ -65,7 +65,7 @@ index fb69efbfa8e35..060aad00efe18 100644 } auto* printer_query_ptr = printer_query.get(); printer_query_ptr->SetSettings( -@@ -694,6 +694,7 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -698,6 +698,7 @@ void PrintViewManagerBase::UpdatePrintSettings( job_settings.Set(kSettingRasterizePdfDpi, value); } @@ -73,7 +73,7 @@ index fb69efbfa8e35..060aad00efe18 100644 auto callback_wrapper = base::BindOnce(&PrintViewManagerBase::UpdatePrintSettingsReply, weak_ptr_factory_.GetWeakPtr(), std::move(callback)); -@@ -701,7 +702,8 @@ void PrintViewManagerBase::UpdatePrintSettings( +@@ -705,7 +706,8 @@ void PrintViewManagerBase::UpdatePrintSettings( FROM_HERE, base::BindOnce(&UpdatePrintSettingsOnIO, cookie, std::move(callback_wrapper), queue_, @@ -84,10 +84,10 @@ index fb69efbfa8e35..060aad00efe18 100644 #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) diff --git chrome/browser/printing/print_view_manager_base.h chrome/browser/printing/print_view_manager_base.h -index 48895e0f8a846..699d9f0029c04 100644 +index 746df417a23f7..dddf164ce6c4d 100644 --- chrome/browser/printing/print_view_manager_base.h +++ chrome/browser/printing/print_view_manager_base.h -@@ -184,9 +184,6 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { +@@ -194,9 +194,6 @@ class PrintViewManagerBase : public PrintManager, public PrintJob::Observer { // Manages the low-level talk to the printer. scoped_refptr print_job_; @@ -98,7 +98,7 @@ index 48895e0f8a846..699d9f0029c04 100644 void RenderFrameHostStateChanged( content::RenderFrameHost* render_frame_host, diff --git chrome/browser/resources/print_preview/ui/destination_dialog.html chrome/browser/resources/print_preview/ui/destination_dialog.html -index 5ea55a097c156..1ad6e23647be9 100644 +index 5d1658999d5bb..d1b7b7288c946 100644 --- chrome/browser/resources/print_preview/ui/destination_dialog.html +++ chrome/browser/resources/print_preview/ui/destination_dialog.html @@ -15,10 +15,7 @@ diff --git a/patch/patches/printing_context_2196.patch b/patch/patches/printing_context_2196.patch index 474cd3d35..d38701fc5 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 86770178101d4..1b4b8cb69c413 100644 +index ee713c5686d4e..67eaba056cbed 100644 --- chrome/browser/printing/print_job_worker.cc +++ chrome/browser/printing/print_job_worker.cc @@ -131,6 +131,7 @@ PrintJobWorker::PrintJobWorker(content::GlobalRenderFrameHostId rfh_id) @@ -11,10 +11,10 @@ index 86770178101d4..1b4b8cb69c413 100644 PrintJobWorker::~PrintJobWorker() { diff --git printing/printing_context.h printing/printing_context.h -index 2c8ef23f7cb75..3a9d8e1e19234 100644 +index 58fcf619add50..0df47b93afd05 100644 --- printing/printing_context.h +++ printing/printing_context.h -@@ -172,6 +172,13 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { +@@ -173,6 +173,13 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { int job_id() const { return job_id_; } @@ -28,7 +28,7 @@ index 2c8ef23f7cb75..3a9d8e1e19234 100644 protected: explicit PrintingContext(Delegate* delegate); -@@ -216,6 +223,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { +@@ -217,6 +224,10 @@ class COMPONENT_EXPORT(PRINTING) PrintingContext { // The job id for the current job. The value is 0 if no jobs are active. int job_id_; diff --git a/patch/patches/renderer_host_1070713.patch b/patch/patches/renderer_host_1070713.patch index bd828a9ab..5b61f5f0b 100644 --- a/patch/patches/renderer_host_1070713.patch +++ b/patch/patches/renderer_host_1070713.patch @@ -1,8 +1,8 @@ diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc -index a9267b633e126..30f7f8b7803d3 100644 +index dcd62488bd523..aec680b370a1c 100644 --- content/browser/renderer_host/render_view_host_impl.cc +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -662,6 +662,8 @@ bool RenderViewHostImpl::IsRenderViewLiveForTesting() const { +@@ -658,6 +658,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { } void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { diff --git a/patch/patches/resource_bundle_2512.patch b/patch/patches/resource_bundle_2512.patch index 73256050c..82042a7d9 100644 --- a/patch/patches/resource_bundle_2512.patch +++ b/patch/patches/resource_bundle_2512.patch @@ -28,7 +28,7 @@ index 2888b12d19d4b..c11ee9978a69e 100644 void ResourceBundle::InitSharedInstance(Delegate* delegate) { DCHECK(g_shared_instance_ == nullptr) << "ResourceBundle initialized twice"; diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h -index 7cfaa60b7be42..db3e452189a4c 100644 +index a03d580f807fd..986665ea70f99 100644 --- ui/base/resource/resource_bundle.h +++ ui/base/resource/resource_bundle.h @@ -216,6 +216,11 @@ class COMPONENT_EXPORT(UI_BASE) ResourceBundle { diff --git a/patch/patches/runhooks.patch b/patch/patches/runhooks.patch index 6022402cd..56f15c804 100644 --- a/patch/patches/runhooks.patch +++ b/patch/patches/runhooks.patch @@ -1,8 +1,8 @@ diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py -index 831e36f74ea29..9ccf48db4ae2d 100644 +index e680ba07e3c01..37d993005566a 100644 --- build/toolchain/win/setup_toolchain.py +++ build/toolchain/win/setup_toolchain.py -@@ -157,13 +157,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store): +@@ -166,13 +166,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store): del os.environ['LIB'] if 'LIBPATH' in os.environ: del os.environ['LIBPATH'] diff --git a/patch/patches/rwh_background_color_1984.patch b/patch/patches/rwh_background_color_1984.patch index bb4b5ae77..53416c6de 100644 --- a/patch/patches/rwh_background_color_1984.patch +++ b/patch/patches/rwh_background_color_1984.patch @@ -1,5 +1,5 @@ diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc -index 5f29761ad8556..fdfb89ba72ad4 100644 +index dc52cc54d2a60..331c1ff446498 100644 --- content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc @@ -5,6 +5,7 @@ @@ -10,7 +10,7 @@ index 5f29761ad8556..fdfb89ba72ad4 100644 #include #include -@@ -724,10 +725,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() { +@@ -711,10 +712,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() { void RenderWidgetHostViewAura::UpdateBackgroundColor() { DCHECK(GetBackgroundColor()); @@ -27,7 +27,7 @@ index 5f29761ad8556..fdfb89ba72ad4 100644 } absl::optional RenderWidgetHostViewAura::GetDisplayFeature() { -@@ -2233,6 +2236,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { +@@ -2220,6 +2223,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { // This needs to happen only after |window_| has been initialized using // Init(), because it needs to have the layer. window_->SetEmbedFrameSinkId(frame_sink_id_); diff --git a/patch/patches/services_network_2622.patch b/patch/patches/services_network_2622.patch index 040cab191..c1dee0e02 100644 --- a/patch/patches/services_network_2622.patch +++ b/patch/patches/services_network_2622.patch @@ -1,16 +1,16 @@ diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc -index 29db45d3f9b76..1df09e9ff6b0d 100644 +index 7ac922c8fd84d..0f41d66ded494 100644 --- chrome/browser/net/profile_network_context_service.cc +++ chrome/browser/net/profile_network_context_service.cc -@@ -21,6 +21,7 @@ - #include "base/task/thread_pool.h" +@@ -22,6 +22,7 @@ + #include "base/trace_event/trace_event.h" #include "build/build_config.h" #include "build/chromeos_buildflags.h" +#include "cef/libcef/features/runtime.h" #include "chrome/browser/browser_features.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/content_settings/cookie_settings_factory.h" -@@ -740,7 +741,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -741,7 +742,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( // Configure on-disk storage for non-OTR profiles. OTR profiles just use // default behavior (in memory storage, default sizes). @@ -31,7 +31,7 @@ index 29db45d3f9b76..1df09e9ff6b0d 100644 PrefService* local_state = g_browser_process->local_state(); // Configure the HTTP cache path and size. base::FilePath base_cache_path; -@@ -753,7 +766,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( +@@ -754,7 +767,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal( base_cache_path.Append(chrome::kCacheDirname); network_context_params->http_cache_max_size = local_state->GetInteger(prefs::kDiskCacheSize); @@ -42,7 +42,7 @@ index 29db45d3f9b76..1df09e9ff6b0d 100644 ::network::mojom::NetworkContextFilePaths::New(); diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc -index 73172c5c88463..9bce28bd24de8 100644 +index 5f54517f7a690..19aec446150de 100644 --- net/cookies/cookie_monster.cc +++ net/cookies/cookie_monster.cc @@ -547,6 +547,25 @@ void CookieMonster::SetCookieableSchemes( @@ -101,7 +101,7 @@ index c143a7381df95..da14e2b0b1c81 100644 // reset to null. const CookieAccessDelegate* cookie_access_delegate() const { diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc -index c47a048291949..864c4e47ad4ca 100644 +index 07c1fb882adc8..a1477e43e9ae4 100644 --- services/network/cookie_manager.cc +++ services/network/cookie_manager.cc @@ -368,14 +368,9 @@ void CookieManager::FlushCookieStore(FlushCookieStoreCallback callback) { @@ -123,10 +123,10 @@ index c47a048291949..864c4e47ad4ca 100644 void CookieManager::SetForceKeepSessionState() { diff --git services/network/network_context.cc services/network/network_context.cc -index ecc38d1584570..de23f7b820cdf 100644 +index 812cfebfbe4f9..36579b8a53d06 100644 --- services/network/network_context.cc +++ services/network/network_context.cc -@@ -2361,17 +2361,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( +@@ -2362,17 +2362,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( network_service_->network_quality_estimator()); } @@ -134,13 +134,13 @@ index ecc38d1584570..de23f7b820cdf 100644 - std::unique_ptr cookie_store = - std::make_unique( - session_cleanup_cookie_store.get(), net_log, -- network_service_->first_party_sets()->is_enabled()); +- network_service_->first_party_sets_manager()->is_enabled()); - if (params_->persist_session_cookies) - cookie_store->SetPersistSessionCookies(true); + std::unique_ptr cookie_store = + std::make_unique( + session_cleanup_cookie_store.get(), net_log, -+ network_service_->first_party_sets()->is_enabled()); ++ network_service_->first_party_sets_manager()->is_enabled()); + if (session_cleanup_cookie_store && params_->persist_session_cookies) + cookie_store->SetPersistSessionCookies(true); @@ -157,10 +157,10 @@ index ecc38d1584570..de23f7b820cdf 100644 trust_token_store_ = std::make_unique(); diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom -index b2beaa762bfe8..8bb83610172b9 100644 +index cc3f99007db46..8ef96d9b6effa 100644 --- services/network/public/mojom/network_context.mojom +++ services/network/public/mojom/network_context.mojom -@@ -334,6 +334,9 @@ struct NetworkContextParams { +@@ -335,6 +335,9 @@ struct NetworkContextParams { // cookies. Otherwise it should be false. bool persist_session_cookies = false; diff --git a/patch/patches/services_network_2718.patch b/patch/patches/services_network_2718.patch index 7048ec7e7..2318e12a1 100644 --- a/patch/patches/services_network_2718.patch +++ b/patch/patches/services_network_2718.patch @@ -1,8 +1,8 @@ diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc -index 9faf869fcfb69..65c05bd8e3e88 100644 +index d6499670d3559..e5df71a345eed 100644 --- content/browser/storage_partition_impl.cc +++ content/browser/storage_partition_impl.cc -@@ -494,10 +494,6 @@ class LoginHandlerDelegate { +@@ -495,10 +495,6 @@ class LoginHandlerDelegate { } WebContents* web_contents = web_contents_getter_.Run(); @@ -13,7 +13,7 @@ index 9faf869fcfb69..65c05bd8e3e88 100644 // WeakPtr is not strictly necessary here due to OnRequestCancelled. creating_login_delegate_ = true; -@@ -549,12 +545,6 @@ void OnAuthRequiredContinuation( +@@ -550,12 +546,6 @@ void OnAuthRequiredContinuation( mojo::PendingRemote auth_challenge_responder, base::RepeatingCallback web_contents_getter) { @@ -26,7 +26,7 @@ index 9faf869fcfb69..65c05bd8e3e88 100644 new LoginHandlerDelegate( std::move(auth_challenge_responder), std::move(web_contents_getter), auth_info, is_request_for_primary_main_frame, process_id, request_id, url, -@@ -2777,8 +2767,12 @@ void StoragePartitionImpl::GetQuotaSettings( +@@ -2790,8 +2780,12 @@ void StoragePartitionImpl::GetQuotaSettings( return; } @@ -40,7 +40,7 @@ index 9faf869fcfb69..65c05bd8e3e88 100644 storage::GetDefaultDeviceInfoHelper(), std::move(callback)); } -@@ -2788,9 +2782,12 @@ void StoragePartitionImpl::InitNetworkContext() { +@@ -2801,9 +2795,12 @@ void StoragePartitionImpl::InitNetworkContext() { cert_verifier::mojom::CertVerifierCreationParamsPtr cert_verifier_creation_params = cert_verifier::mojom::CertVerifierCreationParams::New(); diff --git a/patch/patches/storage_incognito_2289.patch b/patch/patches/storage_incognito_2289.patch index e1c95c905..be896145e 100644 --- a/patch/patches/storage_incognito_2289.patch +++ b/patch/patches/storage_incognito_2289.patch @@ -13,7 +13,7 @@ index 7dead74261c3a..9354249366be5 100644 {base::MayBlock(), base::TaskPriority::USER_VISIBLE, base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); diff --git content/browser/browser_context.cc content/browser/browser_context.cc -index 6dd3c9087aa2c..12cd95fabf5c3 100644 +index c8044baa920f3..c5a8ab77f1fe7 100644 --- content/browser/browser_context.cc +++ content/browser/browser_context.cc @@ -129,7 +129,7 @@ StoragePartition* BrowserContext::GetStoragePartition( diff --git a/patch/patches/trace_event.patch b/patch/patches/trace_event.patch index 783f0924c..b907e452b 100644 --- a/patch/patches/trace_event.patch +++ b/patch/patches/trace_event.patch @@ -1,5 +1,5 @@ diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h -index 0736e7021761e..6547bf62196c9 100644 +index a1a93418b0b0d..05cd1c28a0fa7 100644 --- base/trace_event/builtin_categories.h +++ base/trace_event/builtin_categories.h @@ -63,6 +63,8 @@ diff --git a/patch/patches/views_1749_2102_3330.patch b/patch/patches/views_1749_2102_3330.patch index bbb183c84..47e26833a 100644 --- a/patch/patches/views_1749_2102_3330.patch +++ b/patch/patches/views_1749_2102_3330.patch @@ -43,7 +43,7 @@ index 11f1421cc79c1..c5dbc643ae7c8 100644 virtual void MenuWillShow() {} diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc -index 62fbeb6047436..76118781b2d3d 100644 +index 7fb46dbdee749..e25a85d919e5e 100644 --- ui/gfx/render_text.cc +++ ui/gfx/render_text.cc @@ -659,6 +659,14 @@ void RenderText::SetWhitespaceElision(absl::optional whitespace_elision) { @@ -61,7 +61,7 @@ index 62fbeb6047436..76118781b2d3d 100644 void RenderText::SetDisplayRect(const Rect& r) { if (r != display_rect_) { display_rect_ = r; -@@ -2010,6 +2018,19 @@ void RenderText::OnTextAttributeChanged() { +@@ -2015,6 +2023,19 @@ void RenderText::OnTextAttributeChanged() { layout_text_up_to_date_ = false; @@ -150,7 +150,7 @@ index 75d1292ce4d49..e22a73e3771c4 100644 ImageView* image() const { return image_; } Label* label() const { return label_; } diff --git ui/views/controls/label.cc ui/views/controls/label.cc -index 1852dffd41233..7e581af0d4465 100644 +index 4353a8124bb78..d19ed60206824 100644 --- ui/views/controls/label.cc +++ ui/views/controls/label.cc @@ -53,12 +53,27 @@ enum LabelPropertyKey { @@ -215,7 +215,7 @@ index 1852dffd41233..7e581af0d4465 100644 } diff --git ui/views/controls/label.h ui/views/controls/label.h -index 8132b9b9a1c75..4f78f6f41c77f 100644 +index 109e19fbcaa08..3568917abe6bb 100644 --- ui/views/controls/label.h +++ ui/views/controls/label.h @@ -234,6 +234,10 @@ class VIEWS_EXPORT Label : public View, @@ -229,7 +229,7 @@ index 8132b9b9a1c75..4f78f6f41c77f 100644 // Gets/Sets the tooltip text. Default behavior for a label (single-line) is // to show the full text if it is wider than its bounds. Calling this // overrides the default behavior and lets you set a custom tooltip. To -@@ -480,6 +484,7 @@ class VIEWS_EXPORT Label : public View, +@@ -485,6 +489,7 @@ class VIEWS_EXPORT Label : public View, int max_width_ = 0; // This is used in single-line mode. int max_width_single_line_ = 0; @@ -238,7 +238,7 @@ index 8132b9b9a1c75..4f78f6f41c77f 100644 std::unique_ptr selection_controller_; diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc -index 2dbf14bc018d2..ea1d0153a9b64 100644 +index 1f1ea9ec4b51a..e3c77de886185 100644 --- ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc @@ -473,7 +473,8 @@ void MenuController::Run(Widget* parent, @@ -684,10 +684,10 @@ index 54c95d830233e..408f090b55698 100644 // Hides and cancels the menu. virtual void Cancel() = 0; diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc -index 25d368664566d..870bf405c6c80 100644 +index a3354482b6191..62a9a6fe32073 100644 --- ui/views/controls/menu/menu_scroll_view_container.cc +++ ui/views/controls/menu/menu_scroll_view_container.cc -@@ -252,6 +252,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) +@@ -259,6 +259,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) scroll_down_button_ = background_view_->AddChildView( std::make_unique(content_view, false)); @@ -700,7 +700,7 @@ index 25d368664566d..870bf405c6c80 100644 content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition()); diff --git ui/views/view.h ui/views/view.h -index 6d4b66ad1f9e3..60fdc9ce712c5 100644 +index 034e1652ebab1..fb215a9dcc815 100644 --- ui/views/view.h +++ ui/views/view.h @@ -22,6 +22,7 @@ diff --git a/patch/patches/views_widget.patch b/patch/patches/views_widget.patch index 917265cd7..93bdffab7 100644 --- a/patch/patches/views_widget.patch +++ b/patch/patches/views_widget.patch @@ -152,10 +152,10 @@ index d213587450f06..3fde9a9ce47d5 100644 // Set the view's active state (i.e., tint state of controls). virtual void SetActive(bool active) = 0; diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc -index 3f696838ee798..623ec5681893e 100644 +index b4f36c7a98e08..588ce27d8f310 100644 --- ui/ozone/platform/x11/x11_window.cc +++ ui/ozone/platform/x11/x11_window.cc -@@ -1694,7 +1694,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) { +@@ -1714,7 +1714,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) { req.border_pixel = 0; bounds_in_pixels_ = SanitizeBounds(bounds); @@ -179,10 +179,10 @@ index 7c352dd0d992d..516623a91b0e1 100644 return host ? host->GetAcceleratedWidget() : nullptr; } diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc -index 95784d82cc5b7..ddc4570f2fbfc 100644 +index b871dc99fb667..1101aec338f1c 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc -@@ -236,6 +236,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop( +@@ -167,6 +167,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop( return result; } @@ -198,10 +198,10 @@ index 95784d82cc5b7..ddc4570f2fbfc 100644 + return DesktopWindowTreeHostPlatform::GetLocationOnScreenInPixels(); +} + + #if !BUILDFLAG(IS_CHROMEOS_LACROS) void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) { // In Windows, the native events sent to chrome are separated into client - // and non-client versions of events, which we record on our LocatedEvent -@@ -377,6 +389,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties( +@@ -294,6 +306,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties( properties->wayland_app_id = params.wayland_app_id; @@ -211,19 +211,19 @@ index 95784d82cc5b7..ddc4570f2fbfc 100644 properties->x11_extension_delegate = this; } diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h -index 5858882a5e44f..46fe3237039d0 100644 +index 72d7edd5626ab..ab6d3c6f87e6d 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h -@@ -81,6 +81,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux - ui::PinnedModeExtension* GetPinnedModeExtension(); - const ui::PinnedModeExtension* GetPinnedModeExtension() const; +@@ -62,6 +62,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux + // Disables event listening to make |dialog| modal. + base::OnceClosure DisableEventListening(); + void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; } + protected: // Overridden from DesktopWindowTreeHost: void Init(const Widget::InitParams& params) override; -@@ -90,6 +92,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux +@@ -71,6 +73,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux const gfx::Vector2d& drag_offset, Widget::MoveLoopSource source, Widget::MoveLoopEscapeBehavior escape_behavior) override; @@ -231,10 +231,10 @@ index 5858882a5e44f..46fe3237039d0 100644 + gfx::Point GetLocationOnScreenInPixels() const override; // PlatformWindowDelegate: - void DispatchEvent(ui::Event* event) override; -@@ -147,6 +151,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux - // destroyed. - static std::list* open_windows_; + #if !BUILDFLAG(IS_CHROMEOS_LACROS) +@@ -119,6 +123,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux + + uint32_t modal_dialog_counter_ = 0; + // Override the screen bounds when the host is a child window. + gfx::Rect screen_bounds_; @@ -243,10 +243,10 @@ index 5858882a5e44f..46fe3237039d0 100644 base::WeakPtrFactory weak_factory_{this}; }; diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -index 3f64c46bf10b1..e72f66cd5a13c 100644 +index d207fe7038d6d..ed30df9c06b91 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -@@ -216,8 +216,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { +@@ -257,8 +257,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { if (properties.parent_widget) { window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget( properties.parent_widget); @@ -258,7 +258,7 @@ index 3f64c46bf10b1..e72f66cd5a13c 100644 // Calculate initial bounds. 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 ece3dfbee04cf..ddc7cf13ec6ef 100644 +index 28d01a952a31b..e417897e8e857 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc @@ -181,8 +181,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { @@ -275,7 +275,7 @@ index ece3dfbee04cf..ddc7cf13ec6ef 100644 remove_standard_frame_ = params.remove_standard_frame; has_non_client_view_ = Widget::RequiresNonClientView(params.type); -@@ -989,11 +993,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { +@@ -993,11 +997,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { } void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { @@ -294,10 +294,10 @@ index ece3dfbee04cf..ddc7cf13ec6ef 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 444581249014a..5defa787d25cd 100644 +index 7abd8d3fa1ee1..7cb5eed24ab96 100644 --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h -@@ -323,6 +323,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin +@@ -325,6 +325,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin // True if the window should have the frame removed. bool remove_standard_frame_; @@ -309,7 +309,7 @@ index 444581249014a..5defa787d25cd 100644 // a reference. raw_ptr tooltip_; diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc -index b85a13cf4973b..3d1354723298c 100644 +index 77dd782f71446..13a97760bcf6f 100644 --- ui/views/widget/widget.cc +++ ui/views/widget/widget.cc @@ -338,7 +338,8 @@ void Widget::Init(InitParams params) { @@ -345,7 +345,7 @@ index b85a13cf4973b..3d1354723298c 100644 } native_theme_observation_.Observe(GetNativeTheme()); -@@ -1436,10 +1445,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { +@@ -1434,10 +1443,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { } gfx::Size Widget::GetMinimumSize() const { @@ -363,7 +363,7 @@ index b85a13cf4973b..3d1354723298c 100644 } diff --git ui/views/widget/widget.h ui/views/widget/widget.h -index 1e5665b9c4777..7e251b0f84d84 100644 +index 906d35764ca16..3049436dc059b 100644 --- ui/views/widget/widget.h +++ ui/views/widget/widget.h @@ -337,6 +337,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -376,10 +376,10 @@ index 1e5665b9c4777..7e251b0f84d84 100644 // the NativeWidget may specify a default size. If the parent is specified, // |bounds| is in the parent's coordinate system. If the parent is not diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h -index 3375d6c362923..24f36f6e5587a 100644 +index 8176aa0ac84b8..a9bbe9b6f1563 100644 --- ui/views/widget/widget_delegate.h +++ ui/views/widget/widget_delegate.h -@@ -381,6 +381,10 @@ class VIEWS_EXPORT WidgetDelegate { +@@ -384,6 +384,10 @@ class VIEWS_EXPORT WidgetDelegate { // Returns true if the title text should be centered. bool ShouldCenterWindowTitleText() const; @@ -404,10 +404,10 @@ index b3a3efd0e526f..8590a98eaf0b2 100644 if (native_widget_delegate->IsDialogBox()) { *style |= DS_MODALFRAME; diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc -index 2b69f4767e907..5bb0f982eb104 100644 +index 0a34478e9cb44..bf9059edbd634 100644 --- ui/views/win/hwnd_message_handler.cc +++ ui/views/win/hwnd_message_handler.cc -@@ -3148,10 +3148,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, +@@ -3176,10 +3176,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, } else if (event.type() == ui::ET_MOUSEWHEEL) { ui::MouseWheelEvent mouse_wheel_event(msg); // Reroute the mouse wheel to the window under the pointer if applicable. diff --git a/patch/patches/viz_osr_2575.patch b/patch/patches/viz_osr_2575.patch index 7c7ddfb26..2c9390383 100644 --- a/patch/patches/viz_osr_2575.patch +++ b/patch/patches/viz_osr_2575.patch @@ -80,7 +80,7 @@ index 309422bcf8581..759549f3046f4 100644 private: const HWND hwnd_; diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn -index 002b3ddfb0f77..48abd11739d05 100644 +index fe988e3bbcf0c..e1cdb6abe8995 100644 --- components/viz/service/BUILD.gn +++ components/viz/service/BUILD.gn @@ -221,6 +221,8 @@ viz_component("service") { @@ -222,7 +222,7 @@ index 6b7fbb6cf13dc..e2af75168cb91 100644 + Draw(gfx.mojom.Rect damage_rect) => (); }; diff --git ui/compositor/compositor.h ui/compositor/compositor.h -index 80bff73a5886e..55a6daaf37364 100644 +index 2f6d2ee4160f2..11a32e1481c4b 100644 --- ui/compositor/compositor.h +++ ui/compositor/compositor.h @@ -31,7 +31,9 @@ @@ -260,7 +260,7 @@ index 80bff73a5886e..55a6daaf37364 100644 // Sets the root of the layer tree drawn by this Compositor. The root layer // must have no parent. The compositor's root layer is reset if the root layer // is destroyed. NULL can be passed to reset the root layer, in which case the -@@ -476,6 +489,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, +@@ -478,6 +491,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, std::unique_ptr pending_begin_frame_args_; diff --git a/patch/patches/web_contents_1257_1565.patch b/patch/patches/web_contents_1257_1565.patch index a1647e73a..b51c218d7 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 335e70179a03e..e23bce70885b7 100644 +index b94e87b6f90c9..297280d7f52ca 100644 --- content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc -@@ -3061,6 +3061,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, +@@ -3026,6 +3026,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, site_instance.get(), params.renderer_initiated_creation, params.main_frame_name, GetOpener(), primary_main_frame_policy); @@ -12,18 +12,18 @@ index 335e70179a03e..e23bce70885b7 100644 + } + + if (!view_) { - WebContentsViewDelegate* delegate = + std::unique_ptr delegate = GetContentClient()->browser()->GetWebContentsViewDelegate(this); -@@ -3071,6 +3077,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, - view_.reset(CreateWebContentsView(this, delegate, - &render_view_host_delegate_view_)); +@@ -3036,6 +3042,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, + view_ = CreateWebContentsView(this, std::move(delegate), + &render_view_host_delegate_view_); } + } CHECK(render_view_host_delegate_view_); CHECK(view_.get()); -@@ -3249,6 +3256,9 @@ void WebContentsImpl::RenderWidgetCreated( +@@ -3214,6 +3221,9 @@ void WebContentsImpl::RenderWidgetCreated( OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated", "render_widget_host", render_widget_host); created_widgets_.insert(render_widget_host); @@ -33,7 +33,7 @@ index 335e70179a03e..e23bce70885b7 100644 } void WebContentsImpl::RenderWidgetDeleted( -@@ -3937,6 +3947,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( +@@ -3902,6 +3912,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( // objects. create_params.renderer_initiated_creation = !is_new_browsing_instance; @@ -49,7 +49,7 @@ index 335e70179a03e..e23bce70885b7 100644 std::unique_ptr new_contents; if (!is_guest) { create_params.context = view_->GetNativeView(); -@@ -7791,6 +7810,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, +@@ -7763,6 +7782,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, // frames). SetFocusedFrameTree(node->frame_tree()); } @@ -60,7 +60,7 @@ index 335e70179a03e..e23bce70885b7 100644 void WebContentsImpl::DidCallFocus() { diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h -index c062c66f596f5..8c9d5cd4d9af9 100644 +index e82a5b71eb8a6..34a2f19d8ddca 100644 --- content/public/browser/web_contents.h +++ content/public/browser/web_contents.h @@ -93,10 +93,12 @@ class BrowserContext; diff --git a/patch/patches/webkit_plugin_info_2015.patch b/patch/patches/webkit_plugin_info_2015.patch index f0e3bb61f..70a96c35c 100644 --- a/patch/patches/webkit_plugin_info_2015.patch +++ b/patch/patches/webkit_plugin_info_2015.patch @@ -1,5 +1,5 @@ diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h -index 3ad783e681872..14f03dfb2fc96 100644 +index 3f8fbe6330051..840f9034b6edc 100644 --- third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h @@ -874,6 +874,11 @@ class BLINK_PLATFORM_EXPORT Platform { @@ -15,7 +15,7 @@ index 3ad783e681872..14f03dfb2fc96 100644 static void InitializeMainThreadCommon(Platform* platform, std::unique_ptr main_thread); diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc -index 9193ee3c1bf98..d196f780e044a 100644 +index 8640d6a9b1113..a9ec7176422b5 100644 --- third_party/blink/renderer/core/inspector/devtools_session.cc +++ third_party/blink/renderer/core/inspector/devtools_session.cc @@ -8,6 +8,7 @@ @@ -26,7 +26,7 @@ index 9193ee3c1bf98..d196f780e044a 100644 #include "third_party/blink/renderer/bindings/core/v8/script_controller.h" #include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/inspector/devtools_agent.h" -@@ -147,6 +148,7 @@ DevToolsSession::DevToolsSession( +@@ -148,6 +149,7 @@ DevToolsSession::DevToolsSession( for (wtf_size_t i = 0; i < agents_.size(); i++) agents_[i]->Restore(); } @@ -34,7 +34,7 @@ index 9193ee3c1bf98..d196f780e044a 100644 } DevToolsSession::~DevToolsSession() { -@@ -187,6 +189,7 @@ void DevToolsSession::Detach() { +@@ -188,6 +190,7 @@ void DevToolsSession::Detach() { agents_.clear(); v8_session_.reset(); agent_->client_->DebuggerTaskFinished(); diff --git a/patch/patches/webkit_popups.patch b/patch/patches/webkit_popups.patch index 435b9d0d8..8db4d2d59 100644 --- a/patch/patches/webkit_popups.patch +++ b/patch/patches/webkit_popups.patch @@ -11,10 +11,10 @@ index 5e4032ccf916f..1ccf72b56fb22 100644 // Cancels and hides the current popup (datetime, select...) if any. virtual void CancelPagePopup() = 0; diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc -index 6504c73f614be..ab03839d4efd3 100644 +index e54cea33f84f5..192bcfa9198eb 100644 --- third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -248,8 +248,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { +@@ -246,8 +246,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { g_should_use_external_popup_menus = use_external_popup_menus; } @@ -30,7 +30,7 @@ index 6504c73f614be..ab03839d4efd3 100644 } namespace { -@@ -560,6 +565,7 @@ WebViewImpl::WebViewImpl( +@@ -556,6 +561,7 @@ WebViewImpl::WebViewImpl( chrome_client_(MakeGarbageCollected(this)), minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)), maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)), @@ -39,10 +39,10 @@ index 6504c73f614be..ab03839d4efd3 100644 fullscreen_controller_(std::make_unique(this)), page_base_background_color_( diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h -index 5c9609a6a8d1e..17700e40e6a5b 100644 +index 2f8e971ab224b..130ddf0ba213d 100644 --- third_party/blink/renderer/core/exported/web_view_impl.h +++ third_party/blink/renderer/core/exported/web_view_impl.h -@@ -134,7 +134,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -133,7 +133,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, static HashSet& AllInstances(); // Returns true if popup menus should be rendered by the browser, false if // they should be rendered by WebKit (which is the default). @@ -52,7 +52,7 @@ index 5c9609a6a8d1e..17700e40e6a5b 100644 // Returns whether frames under this WebView are backed by a compositor. bool does_composite() const { return does_composite_; } -@@ -799,6 +800,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, +@@ -809,6 +810,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, float fake_page_scale_animation_page_scale_factor_ = 0.f; bool fake_page_scale_animation_use_anchor_ = false; @@ -62,10 +62,10 @@ index 5c9609a6a8d1e..17700e40e6a5b 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 a32cd2ab42756..0c64dc6bd583c 100644 +index 8d9c6f4c24725..584c95a4d61cb 100644 --- third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc -@@ -911,7 +911,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { +@@ -917,7 +917,7 @@ bool ChromeClientImpl::HasOpenedPopup() const { PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, HTMLSelectElement& select) { NotifyPopupOpeningObservers(); diff --git a/patch/patches/webui_2037.patch b/patch/patches/webui_2037.patch index cb572acac..5a70010e4 100644 --- a/patch/patches/webui_2037.patch +++ b/patch/patches/webui_2037.patch @@ -1,5 +1,5 @@ diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc -index 42eba91627c89..4b4089ff744d5 100644 +index b72354aefaf97..2d40985542b4b 100644 --- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc +++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc @@ -10,6 +10,7 @@ diff --git a/patch/patches/win_sandbox_3210.patch b/patch/patches/win_sandbox_3210.patch index 6dddad99a..8820ce012 100644 --- a/patch/patches/win_sandbox_3210.patch +++ b/patch/patches/win_sandbox_3210.patch @@ -1,8 +1,8 @@ diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc -index 8339cb51e2d2a..2d5282732e86a 100644 +index 7eaf2e4187b5c..7e11cde95ee76 100644 --- sandbox/policy/win/sandbox_win.cc +++ sandbox/policy/win/sandbox_win.cc -@@ -1133,6 +1133,13 @@ ResultCode SandboxWin::StartSandboxedProcess( +@@ -1129,6 +1129,13 @@ ResultCode SandboxWin::StartSandboxedProcess( const base::HandlesToInheritVector& handles_to_inherit, SandboxDelegate* delegate, base::Process* process) {