mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Update to Chromium version 103.0.5060.0 (#1002911)
This commit is contained in:
		
							
								
								
									
										2
									
								
								BUILD.gn
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								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 = [ | ||||
|   | ||||
| @@ -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' | ||||
| } | ||||
|   | ||||
| @@ -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<content::MediaStreamUI>()); | ||||
|     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<content::MediaStreamUI>()); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -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<views::LinuxUI> 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(); | ||||
|   | ||||
| @@ -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<CefRequestContextImpl> global_request_context_; | ||||
|   CefDevToolsDelegate* devtools_delegate_ = nullptr;  // Deletes itself. | ||||
|  | ||||
|   | ||||
| @@ -467,9 +467,10 @@ AlloyContentBrowserClient::~AlloyContentBrowserClient() = default; | ||||
|  | ||||
| std::unique_ptr<content::BrowserMainParts> | ||||
| 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<AlloyBrowserMainParts>(); | ||||
|   browser_main_parts_ = browser_main_parts.get(); | ||||
|   return browser_main_parts; | ||||
| } | ||||
|  | ||||
| void AlloyContentBrowserClient::RenderProcessWillLaunch( | ||||
|   | ||||
| @@ -35,7 +35,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient { | ||||
|  | ||||
|   // ContentBrowserClient implementation. | ||||
|   std::unique_ptr<content::BrowserMainParts> 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; | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -78,13 +78,13 @@ ChromeContentBrowserClientCef::~ChromeContentBrowserClientCef() = default; | ||||
|  | ||||
| std::unique_ptr<content::BrowserMainParts> | ||||
| 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<ChromeBrowserMainExtraPartsCef>(); | ||||
|   browser_main_parts_ = browser_main_parts.get(); | ||||
|   static_cast<ChromeBrowserMainParts*>(main_parts.get()) | ||||
|       ->AddParts( | ||||
|           base::WrapUnique<ChromeBrowserMainExtraParts>(browser_main_parts_)); | ||||
|       ->AddParts(std::move(browser_main_parts)); | ||||
|   return main_parts; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -27,7 +27,7 @@ class ChromeContentBrowserClientCef : public ChromeContentBrowserClient { | ||||
|  | ||||
|   // ChromeContentBrowserClient overrides. | ||||
|   std::unique_ptr<content::BrowserMainParts> 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; | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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; | ||||
|   } | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -341,7 +341,7 @@ CefExtensionsBrowserClient::GetComponentExtensionResourceManager() { | ||||
| void CefExtensionsBrowserClient::BroadcastEventToRenderers( | ||||
|     events::HistogramValue histogram_value, | ||||
|     const std::string& event_name, | ||||
|     std::unique_ptr<base::ListValue> 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), | ||||
|   | ||||
| @@ -96,7 +96,7 @@ class CefExtensionsBrowserClient : public ExtensionsBrowserClient { | ||||
|   void BroadcastEventToRenderers( | ||||
|       events::HistogramValue histogram_value, | ||||
|       const std::string& event_name, | ||||
|       std::unique_ptr<base::ListValue> args, | ||||
|       base::Value::List args, | ||||
|       bool dispatch_to_off_the_record_profiles) override; | ||||
|   ExtensionCache* GetExtensionCache() override; | ||||
|   bool IsBackgroundUpdateAllowed() override; | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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: | ||||
|   | ||||
| @@ -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<int>(mojom::PrinterType::kPdf)); | ||||
|   print_settings.SetInteger(kSettingColor, | ||||
|                             static_cast<int>(mojom::ColorModel::kGray)); | ||||
|   print_settings.SetInteger(kSettingDuplexMode, | ||||
|                             static_cast<int>(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<int>(mojom::PrinterType::kPdf)); | ||||
|   print_settings.Set(kSettingColor, static_cast<int>(mojom::ColorModel::kGray)); | ||||
|   print_settings.Set(kSettingDuplexMode, | ||||
|                      static_cast<int>(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<base::DictionaryValue> 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<int>(margin_type)); | ||||
|   print_settings.Set(kSettingMarginsType, static_cast<int>(margin_type)); | ||||
|   if (margin_type == printing::mojom::MarginType::kCustomMargins) { | ||||
|     std::unique_ptr<base::DictionaryValue> 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<base::RefCountedSharedMemoryMapping> 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; | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -7,11 +7,11 @@ | ||||
| #include <set> | ||||
| #include <string> | ||||
|  | ||||
| #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* | ||||
|   | ||||
| @@ -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 <int id, std::enable_if_t<id == CEF_UIT, bool> = true> | ||||
| auto CEF_TASK_RUNNER() { | ||||
|   return content::GetUIThreadTaskRunner({}); | ||||
| } | ||||
| template <int id, std::enable_if_t<id == CEF_IOT, bool> = true> | ||||
| auto CEF_TASK_RUNNER() { | ||||
|   return content::GetIOThreadTaskRunner({}); | ||||
| } | ||||
|  | ||||
| #define CEF_POST_TASK(id, task) CEF_TASK_RUNNER<id>()->PostTask(FROM_HERE, task) | ||||
| #define CEF_POST_DELAYED_TASK(id, task, delay_ms)         \ | ||||
|   CEF_TASK_RUNNER<id>()->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 | ||||
|   | ||||
| @@ -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<CefBinaryValue> 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<net::UnescapeRule::Type>(unescape_rule); | ||||
|   const base::UnescapeRule::Type type = | ||||
|       static_cast<base::UnescapeRule::Type>(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); | ||||
| } | ||||
|   | ||||
| @@ -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<base::SingleThreadTaskRunner> 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<base::SingleThreadTaskRunner> 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<base::SingleThreadTaskRunner> CefTaskRunnerImpl::GetTaskRunner( | ||||
|       break; | ||||
|   }; | ||||
|  | ||||
|   if (id >= 0 && | ||||
|       BrowserThread::IsThreadInitialized(static_cast<BrowserThread::ID>(id))) { | ||||
|     // Specify USER_BLOCKING so that BrowserTaskExecutor::GetTaskRunner always | ||||
|     // gives us the same TaskRunner object. | ||||
|     return base::CreateSingleThreadTaskRunner( | ||||
|         {static_cast<BrowserThread::ID>(id), | ||||
|          base::TaskPriority::USER_BLOCKING}); | ||||
|   } | ||||
|  | ||||
|   return nullptr; | ||||
| } | ||||
|  | ||||
| @@ -94,31 +88,27 @@ CefTaskRunnerImpl::GetCurrentTaskRunner() { | ||||
|   if (!manager) | ||||
|     return nullptr; | ||||
|  | ||||
|   scoped_refptr<base::SingleThreadTaskRunner> 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<CefTaskRunner> that) { | ||||
|   | ||||
| @@ -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; | ||||
|  | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -105,7 +105,7 @@ need to be translated for each locale.--> | ||||
|     <output filename="cef_strings_vi.pak" type="data_package" lang="vi" /> | ||||
|     <output filename="cef_strings_zh-CN.pak" type="data_package" lang="zh-CN" /> | ||||
|     <output filename="cef_strings_zh-TW.pak" type="data_package" lang="zh-TW" /> | ||||
|     <if expr="pp_ifdef('enable_pseudolocales')"> | ||||
|     <if expr="enable_pseudolocales"> | ||||
|       <output filename="cef_strings_ar-XB.pak" type="data_package" lang="ar-XB" /> | ||||
|       <output filename="cef_strings_en-XA.pak" type="data_package" lang="en-XA" /> | ||||
|     </if> | ||||
|   | ||||
| @@ -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', | ||||
|   } | ||||
| ] | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
| @@ -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. | ||||
| @@ -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" ] | ||||
|      } | ||||
|   | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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" ] | ||||
|   | ||||
| @@ -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" ] | ||||
|    } | ||||
|   | ||||
|   | ||||
							
								
								
									
										14
									
								
								patch/patches/chrome_browser_autofill_1322387.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								patch/patches/chrome_browser_autofill_1322387.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -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<AssistantOnboardingController> CreateOnboardingController( | ||||
| +std::unique_ptr<AssistantOnboardingController> | ||||
| +ApcOnboardingCoordinatorImpl::CreateOnboardingController( | ||||
|      const AssistantOnboardingInformation& onboarding_information) { | ||||
|    return AssistantOnboardingController::Create(onboarding_information); | ||||
|  } | ||||
| @@ -14,10 +14,10 @@ index d7b9aa164f161..a042abaecbce7 100644 | ||||
|        std::unique_ptr<BackgroundModeManager> 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<BackgroundModeManager> 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; | ||||
|   | ||||
| @@ -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<Browser> 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::AXScreenAIAnnotator> 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<content::WebContents> CreateTargetContents( | ||||
| @@ -516,6 +516,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents( | ||||
|    std::unique_ptr<WebContents> target_contents = | ||||
|        WebContents::Create(create_params); | ||||
|   | ||||
|   | ||||
| @@ -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<void(RenderViewContextMenu*)>* GetMenuShownCallback() { | ||||
| @@ -300,6 +300,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* 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; | ||||
|   | ||||
|   | ||||
| @@ -173,7 +173,7 @@ index 2cf473c35b67a..e3552bd0f17d4 100644 | ||||
|    raw_ptr<content::WebContents> 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() { | ||||
|   | ||||
| @@ -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 @@ | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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> Profile::CreateOffTheRecordProfile( | ||||
| @@ -634,7 +634,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile( | ||||
|  #endif | ||||
|    if (!profile) | ||||
|      profile = std::make_unique<OffTheRecordProfileImpl>(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 { | ||||
|   | ||||
| @@ -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) | ||||
|   | ||||
| @@ -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)); | ||||
|   | ||||
| @@ -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 @@ | ||||
|   | ||||
| @@ -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<base::FilePath> | ||||
| @@ -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 | ||||
|   | ||||
|   | ||||
| @@ -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> browser) | ||||
| @@ -845,7 +855,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> 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> browser) | ||||
| @@ -888,8 +897,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) | ||||
|    contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>( | ||||
|        devtools_web_view_, contents_web_view_)); | ||||
|   | ||||
| @@ -248,7 +248,7 @@ index ce0286c8ec074..fb3c16fa81bf3 100644 | ||||
|   | ||||
|    contents_separator_ = | ||||
|        top_container_->AddChildView(std::make_unique<ContentsSeparator>()); | ||||
| @@ -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<std::string, std::string>& 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<LocationBarView>( | ||||
|        browser_, browser_->profile(), browser_->command_controller(), this, | ||||
|   | ||||
| @@ -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<blink::UserAgentMetadata>* 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") { | ||||
|   | ||||
| @@ -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<network::WrapperSharedURLLoaderFactory>( | ||||
|              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 <utility> | ||||
|   | ||||
| @@ -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<base::FilePath> | ||||
| 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<network::mojom::URLLoaderFactory>* 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() { | ||||
|   | ||||
|  //------------------------------------------------------------------------------ | ||||
|   | ||||
|   | ||||
| @@ -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; | ||||
|  } | ||||
|   | ||||
|   | ||||
| @@ -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 <deque> | ||||
|   | ||||
| +#include <iterator> | ||||
| + | ||||
|  #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<base::Environment> 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(); | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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 @@ | ||||
|   | ||||
| @@ -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<ExtensionHostDelegate> | ||||
|    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, | ||||
|   | ||||
| @@ -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. | ||||
|   | ||||
| @@ -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/ | ||||
|   | ||||
|   | ||||
| @@ -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; | ||||
| @@ -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", | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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", | ||||
|    ] | ||||
|   | ||||
|   | ||||
| @@ -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" ] | ||||
|   | ||||
| @@ -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() { | ||||
|   | ||||
| @@ -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: | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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<PrintJob> 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 @@ | ||||
|   | ||||
| @@ -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_; | ||||
|   | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
| @@ -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 { | ||||
|   | ||||
| @@ -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'] | ||||
|   | ||||
| @@ -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 <set> | ||||
|  #include <utility> | ||||
|   | ||||
| @@ -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<DisplayFeature> 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_); | ||||
|   | ||||
| @@ -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<net::CookieMonster> cookie_store = | ||||
| -        std::make_unique<net::CookieMonster>( | ||||
| -            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<net::CookieMonster> cookie_store = | ||||
| +      std::make_unique<net::CookieMonster>( | ||||
| +          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<PendingTrustTokenStore>(); | ||||
|   | ||||
| 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; | ||||
|   | ||||
|   | ||||
| @@ -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<network::mojom::AuthChallengeResponder> | ||||
|          auth_challenge_responder, | ||||
|      base::RepeatingCallback<WebContents*(void)> 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(); | ||||
|   | ||||
| @@ -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( | ||||
|   | ||||
| @@ -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 @@ | ||||
|   | ||||
| @@ -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<bool> 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<SelectionController> 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<MenuScrollButton>(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 @@ | ||||
|   | ||||
| @@ -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<gfx::AcceleratedWidget>* 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<DesktopWindowTreeHostLinux> 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<corewm::TooltipWin> 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. | ||||
|   | ||||
| @@ -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<PendingBeginFrameArgs> pending_begin_frame_args_; | ||||
|   | ||||
|   | ||||
| @@ -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<WebContentsViewDelegate> 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<WebContentsImpl> 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; | ||||
|   | ||||
| @@ -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<Thread> 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(); | ||||
|   | ||||
| @@ -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<ChromeClientImpl>(this)), | ||||
|        minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)), | ||||
|        maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)), | ||||
| @@ -39,10 +39,10 @@ index 6504c73f614be..ab03839d4efd3 100644 | ||||
|        fullscreen_controller_(std::make_unique<FullscreenController>(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<WebViewImpl*>& 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(); | ||||
|   | ||||
| @@ -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 @@ | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user