mirror of
				https://bitbucket.org/chromiumembedded/cef
				synced 2025-06-05 21:39:12 +02:00 
			
		
		
		
	Update to Chromium version 136.0.7103.0 (#1440670)
- Win: Update to VS 2022 17.13.4 and WinSDK 10.0.26100.3323
This commit is contained in:
		| @@ -7,5 +7,5 @@ | |||||||
| # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | # https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding | ||||||
|  |  | ||||||
| { | { | ||||||
|   'chromium_checkout': 'refs/tags/135.0.7049.0' |   'chromium_checkout': 'refs/tags/136.0.7103.0' | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3634,8 +3634,13 @@ typedef enum { | |||||||
| /// | /// | ||||||
| typedef enum { | typedef enum { | ||||||
|   CEF_CTBT_CAST, |   CEF_CTBT_CAST, | ||||||
|  | #if CEF_API_REMOVED(CEF_NEXT) | ||||||
|   CEF_CTBT_DOWNLOAD, |   CEF_CTBT_DOWNLOAD, | ||||||
|   CEF_CTBT_SEND_TAB_TO_SELF, |   CEF_CTBT_SEND_TAB_TO_SELF, | ||||||
|  | #else | ||||||
|  |   CEF_CTBT_DOWNLOAD_DEPRECATED, | ||||||
|  |   CEF_CTBT_SEND_TAB_TO_SELF_DEPRECATED, | ||||||
|  | #endif | ||||||
|   CEF_CTBT_SIDE_PANEL, |   CEF_CTBT_SIDE_PANEL, | ||||||
|   CEF_CTBT_NUM_VALUES, |   CEF_CTBT_NUM_VALUES, | ||||||
| } cef_chrome_toolbar_button_type_t; | } cef_chrome_toolbar_button_type_t; | ||||||
| @@ -3788,6 +3793,9 @@ typedef enum { | |||||||
|   CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION = 1 << 22, |   CEF_PERMISSION_TYPE_WEB_APP_INSTALLATION = 1 << 22, | ||||||
|   CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 << 23, |   CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT = 1 << 23, | ||||||
|   CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 << 24, |   CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS = 1 << 24, | ||||||
|  | #if CEF_API_ADDED(CEF_NEXT) | ||||||
|  |   CEF_PERMISSION_TYPE_LOCAL_NETWORK_ACCESS = 1 << 25, | ||||||
|  | #endif | ||||||
| } cef_permission_request_types_t; | } cef_permission_request_types_t; | ||||||
|  |  | ||||||
| /// | /// | ||||||
|   | |||||||
| @@ -501,6 +501,12 @@ typedef enum { | |||||||
|   CEF_CONTENT_SETTING_TYPE_REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS, |   CEF_CONTENT_SETTING_TYPE_REVOKED_DISRUPTIVE_NOTIFICATION_PERMISSIONS, | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #if CEF_API_ADDED(CEF_NEXT) | ||||||
|  |   /// Content setting for whether the site is allowed to make local network | ||||||
|  |   /// requests. | ||||||
|  |   CEF_CONTENT_SETTING_TYPE_LOCAL_NETWORK_ACCESS, | ||||||
|  | #endif | ||||||
|  |  | ||||||
|   CEF_CONTENT_SETTING_TYPE_NUM_VALUES, |   CEF_CONTENT_SETTING_TYPE_NUM_VALUES, | ||||||
| } cef_content_setting_types_t; | } cef_content_setting_types_t; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -74,7 +74,7 @@ CefAudioCapturer::CefAudioCapturer(const CefAudioParameters& params, | |||||||
|   DCHECK(browser_->web_contents()); |   DCHECK(browser_->web_contents()); | ||||||
|  |  | ||||||
|   channels_ = audio_params.channels(); |   channels_ = audio_params.channels(); | ||||||
|   audio_input_device_ = new media::AudioInputDevice( |   audio_input_device_ = base::MakeRefCounted<media::AudioInputDevice>( | ||||||
|       std::make_unique<mirroring::CapturedAudioInput>( |       std::make_unique<mirroring::CapturedAudioInput>( | ||||||
|           base::BindRepeating(&StreamCreatorHelper, |           base::BindRepeating(&StreamCreatorHelper, | ||||||
|                               base::Unretained(browser_->web_contents()), |                               base::Unretained(browser_->web_contents()), | ||||||
|   | |||||||
| @@ -99,8 +99,8 @@ class BrowserDelegate : public content::WebContentsDelegate { | |||||||
|  |  | ||||||
|   enum class ToolbarButtonType { |   enum class ToolbarButtonType { | ||||||
|     kCast = 0, |     kCast = 0, | ||||||
|     kDownload, |     kDownload_DEPRECATED, | ||||||
|     kSendTabToSelf, |     kSendTabToSelf_DEPRECATED, | ||||||
|     kSidePanel, |     kSidePanel, | ||||||
|     kMaxValue = kSidePanel, |     kMaxValue = kSidePanel, | ||||||
|   }; |   }; | ||||||
|   | |||||||
| @@ -128,7 +128,7 @@ class CefSelectFileDialog final : public ui::SelectFileDialog { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|  private: |  private: | ||||||
|   gfx::NativeWindow owning_window_ = nullptr; |   gfx::NativeWindow owning_window_ = gfx::NativeWindow(); | ||||||
|   bool has_multiple_file_choices_ = false; |   bool has_multiple_file_choices_ = false; | ||||||
|  |  | ||||||
|   CefRefPtr<CefBrowserHostBase> browser_; |   CefRefPtr<CefBrowserHostBase> browser_; | ||||||
|   | |||||||
| @@ -501,7 +501,11 @@ CefRenderWidgetHostViewOSR::GetDisplayFeature() { | |||||||
|   return std::nullopt; |   return std::nullopt; | ||||||
| } | } | ||||||
|  |  | ||||||
| void CefRenderWidgetHostViewOSR::SetDisplayFeatureForTesting( | void CefRenderWidgetHostViewOSR::DisableDisplayFeatureOverrideForEmulation() { | ||||||
|  |   DCHECK(false); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void CefRenderWidgetHostViewOSR::OverrideDisplayFeatureForEmulation( | ||||||
|     const content::DisplayFeature* display_feature) { |     const content::DisplayFeature* display_feature) { | ||||||
|   DCHECK(false); |   DCHECK(false); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -132,7 +132,8 @@ class CefRenderWidgetHostViewOSR | |||||||
|   std::optional<SkColor> GetBackgroundColor() override; |   std::optional<SkColor> GetBackgroundColor() override; | ||||||
|   void UpdateBackgroundColor() override; |   void UpdateBackgroundColor() override; | ||||||
|   std::optional<content::DisplayFeature> GetDisplayFeature() override; |   std::optional<content::DisplayFeature> GetDisplayFeature() override; | ||||||
|   void SetDisplayFeatureForTesting( |   void DisableDisplayFeatureOverrideForEmulation() override; | ||||||
|  |   void OverrideDisplayFeatureForEmulation( | ||||||
|       const content::DisplayFeature* display_feature) override; |       const content::DisplayFeature* display_feature) override; | ||||||
|   blink::mojom::PointerLockResult LockPointer( |   blink::mojom::PointerLockResult LockPointer( | ||||||
|       bool request_unadjusted_movement) override; |       bool request_unadjusted_movement) override; | ||||||
|   | |||||||
| @@ -245,6 +245,8 @@ cef_permission_request_types_t GetCefRequestType( | |||||||
|       return CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT; |       return CEF_PERMISSION_TYPE_WINDOW_MANAGEMENT; | ||||||
|     case permissions::RequestType::kFileSystemAccess: |     case permissions::RequestType::kFileSystemAccess: | ||||||
|       return CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS; |       return CEF_PERMISSION_TYPE_FILE_SYSTEM_ACCESS; | ||||||
|  |     case permissions::RequestType::kLocalNetworkAccess: | ||||||
|  |       return CEF_PERMISSION_TYPE_LOCAL_NETWORK_ACCESS; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   DCHECK(false); |   DCHECK(false); | ||||||
|   | |||||||
| @@ -107,7 +107,7 @@ void PrintToPDF(content::WebContents* web_contents, | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   absl::variant<printing::mojom::PrintPagesParamsPtr, std::string> |   std::variant<printing::mojom::PrintPagesParamsPtr, std::string> | ||||||
|       print_pages_params = print_to_pdf::GetPrintPagesParams( |       print_pages_params = print_to_pdf::GetPrintPagesParams( | ||||||
|           web_contents->GetPrimaryMainFrame()->GetLastCommittedURL(), |           web_contents->GetPrimaryMainFrame()->GetLastCommittedURL(), | ||||||
|           !!settings.landscape, display_header_footer, |           !!settings.landscape, display_header_footer, | ||||||
| @@ -117,14 +117,14 @@ void PrintToPDF(content::WebContents* web_contents, | |||||||
|           CefString(&settings.footer_template), !!settings.prefer_css_page_size, |           CefString(&settings.footer_template), !!settings.prefer_css_page_size, | ||||||
|           !!settings.generate_tagged_pdf, !!settings.generate_document_outline); |           !!settings.generate_tagged_pdf, !!settings.generate_document_outline); | ||||||
|  |  | ||||||
|   if (absl::holds_alternative<std::string>(print_pages_params)) { |   if (std::holds_alternative<std::string>(print_pages_params)) { | ||||||
|     LOG(ERROR) << "PrintToPDF failed with error: " |     LOG(ERROR) << "PrintToPDF failed with error: " | ||||||
|                << absl::get<std::string>(print_pages_params); |                << std::get<std::string>(print_pages_params); | ||||||
|     callback->OnPdfPrintFinished(CefString(), false); |     callback->OnPdfPrintFinished(CefString(), false); | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   DCHECK(absl::holds_alternative<printing::mojom::PrintPagesParamsPtr>( |   DCHECK(std::holds_alternative<printing::mojom::PrintPagesParamsPtr>( | ||||||
|       print_pages_params)); |       print_pages_params)); | ||||||
|  |  | ||||||
|   if (auto* print_manager = |   if (auto* print_manager = | ||||||
|   | |||||||
| @@ -190,7 +190,9 @@ void CefOverlayViewHost::Init(views::View* host_view, | |||||||
|   // Initialize the Widget. |widget_| will be deleted by the NativeWidget or |   // Initialize the Widget. |widget_| will be deleted by the NativeWidget or | ||||||
|   // when WidgetDelegate::DeleteDelegate() deletes |this|. |   // when WidgetDelegate::DeleteDelegate() deletes |this|. | ||||||
|   widget_ = std::make_unique<ThemeCopyingWidget>(window_view_->GetWidget()); |   widget_ = std::make_unique<ThemeCopyingWidget>(window_view_->GetWidget()); | ||||||
|   views::Widget::InitParams params(views::Widget::InitParams::TYPE_CONTROL); |   views::Widget::InitParams params( | ||||||
|  |       views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET, | ||||||
|  |       views::Widget::InitParams::TYPE_CONTROL); | ||||||
|   params.delegate = this; |   params.delegate = this; | ||||||
|   params.name = "CefOverlayViewHost"; |   params.name = "CefOverlayViewHost"; | ||||||
|   params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |   params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | ||||||
|   | |||||||
| @@ -377,7 +377,7 @@ std::optional<SkColor> GetBackgroundColor(const views::View* view, | |||||||
|                                           bool allow_transparent) { |                                           bool allow_transparent) { | ||||||
|   // Return the configured background color, if any. |   // Return the configured background color, if any. | ||||||
|   if (view->background()) { |   if (view->background()) { | ||||||
|     return view->background()->get_color(); |     return view->background()->color().GetSkColor(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // If the containing Widget is an overlay then it has a transparent background |   // If the containing Widget is an overlay then it has a transparent background | ||||||
|   | |||||||
| @@ -208,7 +208,7 @@ CEF_EXPORT int cef_get_min_log_level() { | |||||||
| } | } | ||||||
|  |  | ||||||
| CEF_EXPORT int cef_get_vlog_level(const char* file_start, size_t N) { | CEF_EXPORT int cef_get_vlog_level(const char* file_start, size_t N) { | ||||||
|   return logging::GetVlogLevelHelper(file_start, N); |   return logging::GetVlogLevelHelper(std::string_view(file_start, N)); | ||||||
| } | } | ||||||
|  |  | ||||||
| CEF_EXPORT void cef_log(const char* file, | CEF_EXPORT void cef_log(const char* file, | ||||||
|   | |||||||
| @@ -463,7 +463,7 @@ std::optional<int> ChromeMainDelegateCef::PostEarlyInitialization( | |||||||
|   const auto result = ChromeMainDelegate::PostEarlyInitialization(invoked_in); |   const auto result = ChromeMainDelegate::PostEarlyInitialization(invoked_in); | ||||||
|   if (!result) { |   if (!result) { | ||||||
|     const auto* invoked_in_browser = |     const auto* invoked_in_browser = | ||||||
|         absl::get_if<InvokedInBrowserProcess>(&invoked_in); |         std::get_if<InvokedInBrowserProcess>(&invoked_in); | ||||||
|     if (invoked_in_browser) { |     if (invoked_in_browser) { | ||||||
|       // At this point local_state has been created but ownership has not yet |       // At this point local_state has been created but ownership has not yet | ||||||
|       // been passed to BrowserProcessImpl (g_browser_process is nullptr). |       // been passed to BrowserProcessImpl (g_browser_process is nullptr). | ||||||
| @@ -479,7 +479,7 @@ std::optional<int> ChromeMainDelegateCef::PostEarlyInitialization( | |||||||
|   return result; |   return result; | ||||||
| } | } | ||||||
|  |  | ||||||
| absl::variant<int, content::MainFunctionParams> | std::variant<int, content::MainFunctionParams> | ||||||
| ChromeMainDelegateCef::RunProcess( | ChromeMainDelegateCef::RunProcess( | ||||||
|     const std::string& process_type, |     const std::string& process_type, | ||||||
|     content::MainFunctionParams main_function_params) { |     content::MainFunctionParams main_function_params) { | ||||||
|   | |||||||
| @@ -43,7 +43,7 @@ class ChromeMainDelegateCef : public ChromeMainDelegate, | |||||||
|   void SandboxInitialized(const std::string& process_type) override; |   void SandboxInitialized(const std::string& process_type) override; | ||||||
|   std::optional<int> PreBrowserMain() override; |   std::optional<int> PreBrowserMain() override; | ||||||
|   std::optional<int> PostEarlyInitialization(InvokedIn invoked_in) override; |   std::optional<int> PostEarlyInitialization(InvokedIn invoked_in) override; | ||||||
|   absl::variant<int, content::MainFunctionParams> RunProcess( |   std::variant<int, content::MainFunctionParams> RunProcess( | ||||||
|       const std::string& process_type, |       const std::string& process_type, | ||||||
|       content::MainFunctionParams main_function_params) override; |       content::MainFunctionParams main_function_params) override; | ||||||
| #if BUILDFLAG(IS_LINUX) | #if BUILDFLAG(IS_LINUX) | ||||||
|   | |||||||
| @@ -219,6 +219,10 @@ patches = [ | |||||||
|     # See related documentation in |     # See related documentation in | ||||||
|     # libcef/browser/chrome/views/chrome_browser_frame.h. |     # libcef/browser/chrome/views/chrome_browser_frame.h. | ||||||
|     # https://github.com/chromiumembedded/cef/issues/2969 |     # https://github.com/chromiumembedded/cef/issues/2969 | ||||||
|  |     # | ||||||
|  |     # Properly disable 3-dot > "Open glic" menu item to avoid crash in | ||||||
|  |     # GlicKeyedService::ToggleUI. | ||||||
|  |     # https://issues.chromium.org/issues/408163318 | ||||||
|     'name': 'chrome_runtime_views', |     'name': 'chrome_runtime_views', | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
| @@ -778,8 +782,8 @@ patches = [ | |||||||
|     'name': 'config_3892' |     'name': 'config_3892' | ||||||
|   }, |   }, | ||||||
|   { |   { | ||||||
|     # Linux: Allow GTK3 on GNOME with --gtk-version flag. |     # Fix DCHECK_EQ in SchemefulSite with custom standard schemes. | ||||||
|     # https://chromium-review.googlesource.com/c/chromium/src/+/6334084 |     # https://issues.chromium.org/issues/408329644 | ||||||
|     'name': 'gtk_compat_6334084' |     'name': 'net_schemeful_site_408329644' | ||||||
|   } |   } | ||||||
| ] | ] | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git base/BUILD.gn base/BUILD.gn | diff --git base/BUILD.gn base/BUILD.gn | ||||||
| index da6b76717d7b7..d536c8329e732 100644 | index 50893c5653a42..75dd03c3df9a8 100644 | ||||||
| --- base/BUILD.gn | --- base/BUILD.gn | ||||||
| +++ base/BUILD.gn | +++ base/BUILD.gn | ||||||
| @@ -41,6 +41,7 @@ import("//build/rust/rust_static_library.gni") | @@ -41,6 +41,7 @@ import("//build/rust/rust_static_library.gni") | ||||||
| @@ -10,7 +10,7 @@ index da6b76717d7b7..d536c8329e732 100644 | |||||||
|  import("//testing/libfuzzer/fuzzer_test.gni") |  import("//testing/libfuzzer/fuzzer_test.gni") | ||||||
|  import("//testing/test.gni") |  import("//testing/test.gni") | ||||||
|   |   | ||||||
| @@ -1509,7 +1510,13 @@ component("base") { | @@ -1518,7 +1519,13 @@ component("base") { | ||||||
|      "hash/md5_constexpr_internal.h", |      "hash/md5_constexpr_internal.h", | ||||||
|      "hash/sha1.h", |      "hash/sha1.h", | ||||||
|    ] |    ] | ||||||
| @@ -25,7 +25,7 @@ index da6b76717d7b7..d536c8329e732 100644 | |||||||
|      sources += [ |      sources += [ | ||||||
|        "hash/md5_nacl.cc", |        "hash/md5_nacl.cc", | ||||||
|        "hash/md5_nacl.h", |        "hash/md5_nacl.h", | ||||||
| @@ -1959,6 +1966,12 @@ component("base") { | @@ -1968,6 +1975,12 @@ component("base") { | ||||||
|        defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ] |        defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ] | ||||||
|      } |      } | ||||||
|   |   | ||||||
| @@ -90,7 +90,7 @@ index 2158b648ca58a..8a8cb13b2fd74 100644 | |||||||
|  #else |  #else | ||||||
|  #include "base/hash/sha1_boringssl.h" |  #include "base/hash/sha1_boringssl.h" | ||||||
| diff --git base/json/json_reader.cc base/json/json_reader.cc | diff --git base/json/json_reader.cc base/json/json_reader.cc | ||||||
| index 32d8707d3ad5d..12b8ccda8fc30 100644 | index 48a9b893d3f9d..a5a2223b2a0fa 100644 | ||||||
| --- base/json/json_reader.cc | --- base/json/json_reader.cc | ||||||
| +++ base/json/json_reader.cc | +++ base/json/json_reader.cc | ||||||
| @@ -12,8 +12,9 @@ | @@ -12,8 +12,9 @@ | ||||||
| @@ -104,7 +104,7 @@ index 32d8707d3ad5d..12b8ccda8fc30 100644 | |||||||
|  #include "base/strings/string_view_rust.h" |  #include "base/strings/string_view_rust.h" | ||||||
|  #include "third_party/rust/serde_json_lenient/v0_2/wrapper/functions.h" |  #include "third_party/rust/serde_json_lenient/v0_2/wrapper/functions.h" | ||||||
|  #include "third_party/rust/serde_json_lenient/v0_2/wrapper/lib.rs.h" |  #include "third_party/rust/serde_json_lenient/v0_2/wrapper/lib.rs.h" | ||||||
| @@ -23,7 +24,7 @@ namespace base { | @@ -21,7 +22,7 @@ | ||||||
|   |   | ||||||
|  // TODO(crbug.com/40811643): Move the C++ parser into components/nacl to just |  // TODO(crbug.com/40811643): Move the C++ parser into components/nacl to just | ||||||
|  // run in-process there. Don't compile base::JSONReader on NaCL at all. |  // run in-process there. Don't compile base::JSONReader on NaCL at all. | ||||||
| @@ -112,15 +112,8 @@ index 32d8707d3ad5d..12b8ccda8fc30 100644 | |||||||
| +#if !(BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) | +#if !(BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) | ||||||
|   |   | ||||||
|  namespace { |  namespace { | ||||||
|  using serde_json_lenient::ContextPointer; |  const char kSecurityJsonParsingTime[] = "Security.JSONParser.ParsingTime"; | ||||||
| @@ -129,16 +130,16 @@ JSONReader::Result DecodeJSONInRust(std::string_view json, | @@ -138,7 +139,7 @@ namespace base { | ||||||
|   |  | ||||||
|  }  // anonymous namespace |  | ||||||
|   |  | ||||||
| -#endif  // !BUILDFLAG(IS_NACL) |  | ||||||
| +#endif  // !(BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) |  | ||||||
|   |  | ||||||
|  // static |  | ||||||
|  std::optional<Value> JSONReader::Read(std::string_view json, |  std::optional<Value> JSONReader::Read(std::string_view json, | ||||||
|                                        int options, |                                        int options, | ||||||
|                                        size_t max_depth) { |                                        size_t max_depth) { | ||||||
| @@ -128,21 +121,8 @@ index 32d8707d3ad5d..12b8ccda8fc30 100644 | |||||||
| +#if (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) | +#if (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) | ||||||
|    internal::JSONParser parser(options, max_depth); |    internal::JSONParser parser(options, max_depth); | ||||||
|    return parser.Parse(json); |    return parser.Parse(json); | ||||||
| -#else   // BUILDFLAG(IS_NACL) |  #else   // BUILDFLAG(IS_NACL) | ||||||
| +#else   // (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) | @@ -183,7 +184,7 @@ std::optional<Value::List> JSONReader::ReadList(std::string_view json, | ||||||
|    SCOPED_UMA_HISTOGRAM_TIMER_MICROS(kSecurityJsonParsingTime); |  | ||||||
|    if (UsingRust()) { |  | ||||||
|      JSONReader::Result result = DecodeJSONInRust(json, options, max_depth); |  | ||||||
| @@ -150,7 +151,7 @@ std::optional<Value> JSONReader::Read(std::string_view json, |  | ||||||
|      internal::JSONParser parser(options, max_depth); |  | ||||||
|      return parser.Parse(json); |  | ||||||
|    } |  | ||||||
| -#endif  // BUILDFLAG(IS_NACL) |  | ||||||
| +#endif  // (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) |  | ||||||
|  } |  | ||||||
|   |  | ||||||
|  // static |  | ||||||
| @@ -179,7 +180,7 @@ std::optional<Value::List> JSONReader::ReadList(std::string_view json, |  | ||||||
|  JSONReader::Result JSONReader::ReadAndReturnValueWithError( |  JSONReader::Result JSONReader::ReadAndReturnValueWithError( | ||||||
|      std::string_view json, |      std::string_view json, | ||||||
|      int options) { |      int options) { | ||||||
| @@ -151,25 +131,7 @@ index 32d8707d3ad5d..12b8ccda8fc30 100644 | |||||||
|    internal::JSONParser parser(options); |    internal::JSONParser parser(options); | ||||||
|    auto value = parser.Parse(json); |    auto value = parser.Parse(json); | ||||||
|    if (!value) { |    if (!value) { | ||||||
| @@ -191,7 +192,7 @@ JSONReader::Result JSONReader::ReadAndReturnValueWithError( | @@ -224,7 +225,7 @@ bool JSONReader::UsingRust() { | ||||||
|    } |  | ||||||
|   |  | ||||||
|    return std::move(*value); |  | ||||||
| -#else   // BUILDFLAG(IS_NACL) |  | ||||||
| +#else   // (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) |  | ||||||
|    SCOPED_UMA_HISTOGRAM_TIMER_MICROS(kSecurityJsonParsingTime); |  | ||||||
|    if (UsingRust()) { |  | ||||||
|      return DecodeJSONInRust(json, options, internal::kAbsoluteMaxDepth); |  | ||||||
| @@ -208,7 +209,7 @@ JSONReader::Result JSONReader::ReadAndReturnValueWithError( |  | ||||||
|   |  | ||||||
|      return std::move(*value); |  | ||||||
|    } |  | ||||||
| -#endif  // BUILDFLAG(IS_NACL) |  | ||||||
| +#endif  // (BUILDFLAG(IS_NACL) || BUILDFLAG(IS_CEF_SANDBOX_BUILD)) |  | ||||||
|  } |  | ||||||
|   |  | ||||||
|  // static |  | ||||||
| @@ -219,7 +220,7 @@ bool JSONReader::UsingRust() { |  | ||||||
|    if (!base::FeatureList::GetInstance()) { |    if (!base::FeatureList::GetInstance()) { | ||||||
|      return false; |      return false; | ||||||
|    } |    } | ||||||
| @@ -179,7 +141,7 @@ index 32d8707d3ad5d..12b8ccda8fc30 100644 | |||||||
|  #else |  #else | ||||||
|    return base::FeatureList::IsEnabled(base::features::kUseRustJsonParser); |    return base::FeatureList::IsEnabled(base::features::kUseRustJsonParser); | ||||||
| diff --git base/logging.cc base/logging.cc | diff --git base/logging.cc base/logging.cc | ||||||
| index e996f8c614266..7bd52b676cc92 100644 | index 22aa478001fb5..e799d8da52589 100644 | ||||||
| --- base/logging.cc | --- base/logging.cc | ||||||
| +++ base/logging.cc | +++ base/logging.cc | ||||||
| @@ -51,6 +51,7 @@ | @@ -51,6 +51,7 @@ | ||||||
| @@ -190,7 +152,7 @@ index e996f8c614266..7bd52b676cc92 100644 | |||||||
|  #include "third_party/abseil-cpp/absl/base/internal/raw_logging.h" |  #include "third_party/abseil-cpp/absl/base/internal/raw_logging.h" | ||||||
|  #include "third_party/abseil-cpp/absl/cleanup/cleanup.h" |  #include "third_party/abseil-cpp/absl/cleanup/cleanup.h" | ||||||
|   |   | ||||||
| @@ -530,7 +531,7 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) { | @@ -538,7 +539,7 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) { | ||||||
|    } |    } | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -247,7 +209,7 @@ index 5d11d4a1560b1..242a93bcca8ed 100644 | |||||||
|  }  // namespace win |  }  // namespace win | ||||||
|  #endif |  #endif | ||||||
| diff --git base/rand_util.h base/rand_util.h | diff --git base/rand_util.h base/rand_util.h | ||||||
| index da48b37857aa3..3ff683247ab2a 100644 | index d650943a7b75a..abd5217f8ceed 100644 | ||||||
| --- base/rand_util.h | --- base/rand_util.h | ||||||
| +++ base/rand_util.h | +++ base/rand_util.h | ||||||
| @@ -23,8 +23,9 @@ | @@ -23,8 +23,9 @@ | ||||||
| @@ -261,7 +223,7 @@ index da48b37857aa3..3ff683247ab2a 100644 | |||||||
|  #include "third_party/boringssl/src/include/openssl/rand.h" |  #include "third_party/boringssl/src/include/openssl/rand.h" | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -185,7 +186,7 @@ class RandomBitGenerator { | @@ -189,7 +190,7 @@ class RandomBitGenerator { | ||||||
|    ~RandomBitGenerator() = default; |    ~RandomBitGenerator() = default; | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git base/test/BUILD.gn base/test/BUILD.gn | diff --git base/test/BUILD.gn base/test/BUILD.gn | ||||||
| index 82fab133d08d6..72857b99268eb 100644 | index 5beef03e5fd94..0b12fd3afc8fc 100644 | ||||||
| --- base/test/BUILD.gn | --- base/test/BUILD.gn | ||||||
| +++ base/test/BUILD.gn | +++ base/test/BUILD.gn | ||||||
| @@ -208,11 +208,6 @@ static_library("test_support") { | @@ -212,11 +212,6 @@ static_library("test_support") { | ||||||
|   |   | ||||||
|    if (enable_base_tracing) { |    if (enable_base_tracing) { | ||||||
|      public_deps += [ "//third_party/perfetto:perfetto_test_support" ] |      public_deps += [ "//third_party/perfetto:perfetto_test_support" ] | ||||||
| @@ -14,7 +14,7 @@ index 82fab133d08d6..72857b99268eb 100644 | |||||||
|      deps += [ |      deps += [ | ||||||
|        ":amalgamated_perfetto_sql_stdlib", |        ":amalgamated_perfetto_sql_stdlib", | ||||||
|        ":gen_cc_chrome_track_event_descriptor", |        ":gen_cc_chrome_track_event_descriptor", | ||||||
| @@ -607,7 +602,7 @@ if (enable_base_tracing) { | @@ -611,7 +606,7 @@ if (enable_base_tracing) { | ||||||
|    # processor depends on dev_sqlite. The two share the same symbols but have |    # processor depends on dev_sqlite. The two share the same symbols but have | ||||||
|    # different implementations, so we need to hide dev_sqlite in this shared |    # different implementations, so we need to hide dev_sqlite in this shared | ||||||
|    # library even in non-component builds to prevent duplicate symbols. |    # library even in non-component builds to prevent duplicate symbols. | ||||||
| @@ -23,7 +23,7 @@ index 82fab133d08d6..72857b99268eb 100644 | |||||||
|    if (is_ios) { |    if (is_ios) { | ||||||
|      _target_type = "ios_framework_bundle" |      _target_type = "ios_framework_bundle" | ||||||
|    } |    } | ||||||
| @@ -616,6 +611,8 @@ if (enable_base_tracing) { | @@ -620,6 +615,8 @@ if (enable_base_tracing) { | ||||||
|      defines = [ "TEST_TRACE_PROCESSOR_IMPL" ] |      defines = [ "TEST_TRACE_PROCESSOR_IMPL" ] | ||||||
|      testonly = true |      testonly = true | ||||||
|      sources = [ |      sources = [ | ||||||
| @@ -32,7 +32,7 @@ index 82fab133d08d6..72857b99268eb 100644 | |||||||
|        "test_trace_processor_export.h", |        "test_trace_processor_export.h", | ||||||
|        "test_trace_processor_impl.cc", |        "test_trace_processor_impl.cc", | ||||||
|        "test_trace_processor_impl.h", |        "test_trace_processor_impl.h", | ||||||
| @@ -633,33 +630,6 @@ if (enable_base_tracing) { | @@ -637,33 +634,6 @@ if (enable_base_tracing) { | ||||||
|        output_name = "TestTraceProcessor" |        output_name = "TestTraceProcessor" | ||||||
|        bundle_deps_filter = [ "//third_party/icu:icudata" ] |        bundle_deps_filter = [ "//third_party/icu:icudata" ] | ||||||
|      } |      } | ||||||
| @@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644 | |||||||
| + | + | ||||||
|  #endif  // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_ |  #endif  // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_ | ||||||
| diff --git content/shell/BUILD.gn content/shell/BUILD.gn | diff --git content/shell/BUILD.gn content/shell/BUILD.gn | ||||||
| index 95ef6926fc4cb..abb780c6d52c2 100644 | index f4288459097cd..c48696020414c 100644 | ||||||
| --- content/shell/BUILD.gn | --- content/shell/BUILD.gn | ||||||
| +++ content/shell/BUILD.gn | +++ content/shell/BUILD.gn | ||||||
| @@ -920,7 +920,6 @@ if (is_mac) { | @@ -926,7 +926,6 @@ if (is_mac) { | ||||||
|        # Specify a sensible install_name for static builds. The library is |        # Specify a sensible install_name for static builds. The library is | ||||||
|        # dlopen()ed so this is not used to resolve the module. |        # dlopen()ed so this is not used to resolve the module. | ||||||
|        ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ] |        ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ] | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git base/task/thread_pool/thread_pool_impl.cc base/task/thread_pool/thread_pool_impl.cc | diff --git base/task/thread_pool/thread_pool_impl.cc base/task/thread_pool/thread_pool_impl.cc | ||||||
| index 33deee9fff103..1b2a4c1482ac0 100644 | index d7f9c33417f64..a6561d3dad060 100644 | ||||||
| --- base/task/thread_pool/thread_pool_impl.cc | --- base/task/thread_pool/thread_pool_impl.cc | ||||||
| +++ base/task/thread_pool/thread_pool_impl.cc | +++ base/task/thread_pool/thread_pool_impl.cc | ||||||
| @@ -108,6 +108,10 @@ ThreadPoolImpl::ThreadPoolImpl(std::string_view histogram_label, | @@ -108,6 +108,10 @@ ThreadPoolImpl::ThreadPoolImpl(std::string_view histogram_label, | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc | diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc | ||||||
| index d2a1fe5b3d301..4e49261495260 100644 | index 7bf17301e3563..f2c102d3fc19b 100644 | ||||||
| --- content/browser/scheduler/browser_task_executor.cc | --- content/browser/scheduler/browser_task_executor.cc | ||||||
| +++ content/browser/scheduler/browser_task_executor.cc | +++ content/browser/scheduler/browser_task_executor.cc | ||||||
| @@ -183,10 +183,9 @@ void BrowserTaskExecutor::ResetForTesting() { | @@ -207,10 +207,9 @@ void BrowserTaskExecutor::ResetForTesting() { | ||||||
|   |   | ||||||
|  // static |  // static | ||||||
|  void BrowserTaskExecutor::Shutdown() { |  void BrowserTaskExecutor::Shutdown() { | ||||||
|   | |||||||
| @@ -20,10 +20,10 @@ index 53a73d6c75b7a..05290de4c03a0 100644 | |||||||
|   |   | ||||||
|        // Make an exception to allow most visited tiles to commit in third-party |        // Make an exception to allow most visited tiles to commit in third-party | ||||||
| diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc | diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc | ||||||
| index f790e2c9ebe6a..7237437f88f50 100644 | index 29740121f1371..97e4e6b0bcd29 100644 | ||||||
| --- content/browser/renderer_host/navigation_request.cc | --- content/browser/renderer_host/navigation_request.cc | ||||||
| +++ content/browser/renderer_host/navigation_request.cc | +++ content/browser/renderer_host/navigation_request.cc | ||||||
| @@ -8439,10 +8439,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( | @@ -8499,10 +8499,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( | ||||||
|    bool use_opaque_origin = |    bool use_opaque_origin = | ||||||
|        (sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) == |        (sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) == | ||||||
|        network::mojom::WebSandboxFlags::kOrigin; |        network::mojom::WebSandboxFlags::kOrigin; | ||||||
| @@ -47,7 +47,7 @@ index f790e2c9ebe6a..7237437f88f50 100644 | |||||||
|    } |    } | ||||||
|   |   | ||||||
|    return origin_and_debug_info; |    return origin_and_debug_info; | ||||||
| @@ -8550,11 +8562,20 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { | @@ -8610,11 +8622,20 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { | ||||||
|        DetermineInitiatorRelationship(initiator_rfh, |        DetermineInitiatorRelationship(initiator_rfh, | ||||||
|                                       frame_tree_node_->current_frame_host())); |                                       frame_tree_node_->current_frame_host())); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn | diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn | ||||||
| index 15141254347c3..700023784a81d 100644 | index e7a60d56b5425..e9a4a4eb91ce8 100644 | ||||||
| --- build/config/compiler/BUILD.gn | --- build/config/compiler/BUILD.gn | ||||||
| +++ build/config/compiler/BUILD.gn | +++ build/config/compiler/BUILD.gn | ||||||
| @@ -132,6 +132,9 @@ declare_args() { | @@ -131,6 +131,9 @@ declare_args() { | ||||||
|    # The cache can lead to non-determinism: https://crbug.com/1486045 |    # The cache can lead to non-determinism: https://crbug.com/1486045 | ||||||
|    thin_lto_enable_cache = true |    thin_lto_enable_cache = true | ||||||
|   |   | ||||||
| @@ -12,7 +12,7 @@ index 15141254347c3..700023784a81d 100644 | |||||||
|    # Initialize all local variables with a pattern. This flag will fill |    # Initialize all local variables with a pattern. This flag will fill | ||||||
|    # uninitialized floating-point types (and 32-bit pointers) with 0xFF and the |    # uninitialized floating-point types (and 32-bit pointers) with 0xFF and the | ||||||
|    # rest with 0xAA. This makes behavior of uninitialized memory bugs consistent, |    # rest with 0xAA. This makes behavior of uninitialized memory bugs consistent, | ||||||
| @@ -2287,6 +2290,7 @@ config("export_dynamic") { | @@ -2326,6 +2329,7 @@ config("export_dynamic") { | ||||||
|  # 2. Remove the thin_archive config, so that the .a file actually contains all |  # 2. Remove the thin_archive config, so that the .a file actually contains all | ||||||
|  #    .o files, instead of just references to .o files in the build directoy |  #    .o files, instead of just references to .o files in the build directoy | ||||||
|  config("thin_archive") { |  config("thin_archive") { | ||||||
| @@ -20,7 +20,7 @@ index 15141254347c3..700023784a81d 100644 | |||||||
|    if ((is_apple && use_lld) || (is_linux && !is_clang) || current_os == "aix") { |    if ((is_apple && use_lld) || (is_linux && !is_clang) || current_os == "aix") { | ||||||
|      # The macOS and iOS linker ld64.ldd doesn't support thin archive without |      # The macOS and iOS linker ld64.ldd doesn't support thin archive without | ||||||
|      # symbol table, gcc on linux also throws the error `archive has no index`. |      # symbol table, gcc on linux also throws the error `archive has no index`. | ||||||
| @@ -2305,6 +2309,7 @@ config("thin_archive") { | @@ -2344,6 +2348,7 @@ config("thin_archive") { | ||||||
|    } else if (is_win && use_lld) { |    } else if (is_win && use_lld) { | ||||||
|      arflags = [ "/llvmlibthin" ] |      arflags = [ "/llvmlibthin" ] | ||||||
|    } |    } | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn | diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn | ||||||
| index 74763d4ec5662..3c88b9b9bcb1d 100644 | index 5186cdf0bcf3b..deb65db4ed097 100644 | ||||||
| --- chrome/browser/BUILD.gn | --- chrome/browser/BUILD.gn | ||||||
| +++ chrome/browser/BUILD.gn | +++ chrome/browser/BUILD.gn | ||||||
| @@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") | @@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni") | ||||||
| @@ -10,7 +10,7 @@ index 74763d4ec5662..3c88b9b9bcb1d 100644 | |||||||
|  import("//chrome/browser/buildflags.gni") |  import("//chrome/browser/buildflags.gni") | ||||||
|  import("//chrome/browser/downgrade/buildflags.gni") |  import("//chrome/browser/downgrade/buildflags.gni") | ||||||
|  import("//chrome/browser/request_header_integrity/buildflags.gni") |  import("//chrome/browser/request_header_integrity/buildflags.gni") | ||||||
| @@ -1859,6 +1860,7 @@ static_library("browser") { | @@ -1876,6 +1877,7 @@ static_library("browser") { | ||||||
|      "//build/config/compiler:compiler_buildflags", |      "//build/config/compiler:compiler_buildflags", | ||||||
|      "//build/config/linux/dbus:buildflags", |      "//build/config/linux/dbus:buildflags", | ||||||
|      "//cc", |      "//cc", | ||||||
| @@ -18,7 +18,7 @@ index 74763d4ec5662..3c88b9b9bcb1d 100644 | |||||||
|      "//chrome:extra_resources", |      "//chrome:extra_resources", | ||||||
|      "//chrome:resources", |      "//chrome:resources", | ||||||
|      "//chrome:strings", |      "//chrome:strings", | ||||||
| @@ -2551,6 +2553,10 @@ static_library("browser") { | @@ -2575,6 +2577,10 @@ static_library("browser") { | ||||||
|      sources += [ "net/net_error_diagnostics_dialog_stub.cc" ] |      sources += [ "net/net_error_diagnostics_dialog_stub.cc" ] | ||||||
|    } |    } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -13,19 +13,19 @@ index 7603c2662b8dc..9a38d816bdc40 100644 | |||||||
|    return false; |    return false; | ||||||
|  } |  } | ||||||
| diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc | diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc | ||||||
| index 615de49f749ac..dc02b861c6e4c 100644 | index 8e0717f34f37f..df852d4b2e69f 100644 | ||||||
| --- chrome/browser/devtools/devtools_window.cc | --- chrome/browser/devtools/devtools_window.cc | ||||||
| +++ chrome/browser/devtools/devtools_window.cc | +++ chrome/browser/devtools/devtools_window.cc | ||||||
| @@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||||||
|  |  #include "chrome/browser/profiles/profile.h" | ||||||
|  #include "chrome/browser/search_engines/template_url_service_factory.h" |  #include "chrome/browser/search_engines/template_url_service_factory.h" | ||||||
|  #include "chrome/browser/task_manager/web_contents_tags.h" |  #include "chrome/browser/task_manager/web_contents_tags.h" | ||||||
|  #include "chrome/browser/ui/browser.h" |  | ||||||
| +#include "chrome/browser/ui/browser_finder.h" | +#include "chrome/browser/ui/browser_finder.h" | ||||||
|  #include "chrome/browser/ui/browser_list.h" |  #include "chrome/browser/ui/prefs/prefs_tab_helper.h" | ||||||
|  #include "chrome/browser/ui/browser_tabstrip.h" |  #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" | ||||||
|  #include "chrome/browser/ui/browser_window.h" |  #include "chrome/browser/ui/tabs/tab_strip_user_gesture_details.h" | ||||||
| @@ -1218,6 +1219,13 @@ DevToolsWindow* DevToolsWindow::Create( | @@ -1205,6 +1206,13 @@ DevToolsWindow* DevToolsWindow::Create( | ||||||
|          !browser->is_type_normal()) { |      if (!browser || !browser->is_type_normal()) { | ||||||
|        can_dock = false; |        can_dock = false; | ||||||
|      } |      } | ||||||
| + | + | ||||||
| @@ -36,23 +36,20 @@ index 615de49f749ac..dc02b861c6e4c 100644 | |||||||
| +    } | +    } | ||||||
| +#endif | +#endif | ||||||
|    } |    } | ||||||
|  |  #endif | ||||||
|   |   | ||||||
|    // Create WebContents with devtools. | @@ -1646,7 +1654,9 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) { | ||||||
| @@ -1677,9 +1685,13 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) { |  | ||||||
|    if (!inspected_web_contents || |  | ||||||
|        !inspected_web_contents->OpenURL(params, |  | ||||||
|                                         /*navigation_handle_callback=*/{})) { |                                         /*navigation_handle_callback=*/{})) { | ||||||
| +#if !BUILDFLAG(ENABLE_CEF) |  #if BUILDFLAG(IS_ANDROID) | ||||||
|  |      NOTIMPLEMENTED(); | ||||||
|  | -#else | ||||||
|  | +#elif !BUILDFLAG(ENABLE_CEF) | ||||||
| +    // Remove default behavior when CEF handles the open via OnOpenURLFromTab. | +    // Remove default behavior when CEF handles the open via OnOpenURLFromTab. | ||||||
| +    // See CEF issue #3735. | +    // See CEF issue #3735. | ||||||
|      chrome::ScopedTabbedBrowserDisplayer displayer(profile_); |      chrome::ScopedTabbedBrowserDisplayer displayer(profile_); | ||||||
|      chrome::AddSelectedTabWithURL(displayer.browser(), fixed_url, |      chrome::AddSelectedTabWithURL(displayer.browser(), fixed_url, | ||||||
|                                    ui::PAGE_TRANSITION_LINK); |                                    ui::PAGE_TRANSITION_LINK); | ||||||
| +#endif | @@ -1827,12 +1837,26 @@ void DevToolsWindow::CreateDevToolsBrowser() { | ||||||
|    } |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| @@ -1842,12 +1854,28 @@ void DevToolsWindow::CreateDevToolsBrowser() { |  | ||||||
|        Browser::CreationStatus::kOk) { |        Browser::CreationStatus::kOk) { | ||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
| @@ -62,7 +59,6 @@ index 615de49f749ac..dc02b861c6e4c 100644 | |||||||
| -      OwnedMainWebContents::TakeWebContents( | -      OwnedMainWebContents::TakeWebContents( | ||||||
| -          std::move(owned_main_web_contents_)), | -          std::move(owned_main_web_contents_)), | ||||||
| -      -1, ui::PAGE_TRANSITION_AUTO_TOPLEVEL, AddTabTypes::ADD_ACTIVE); | -      -1, ui::PAGE_TRANSITION_AUTO_TOPLEVEL, AddTabTypes::ADD_ACTIVE); | ||||||
| + |  | ||||||
| +  auto* inspected_web_contents = GetInspectedWebContents(); | +  auto* inspected_web_contents = GetInspectedWebContents(); | ||||||
| +  auto* opener = chrome::FindBrowserWithTab(inspected_web_contents); | +  auto* opener = chrome::FindBrowserWithTab(inspected_web_contents); | ||||||
| +  auto devtools_contents = OwnedMainWebContents::TakeWebContents( | +  auto devtools_contents = OwnedMainWebContents::TakeWebContents( | ||||||
| @@ -83,12 +79,11 @@ index 615de49f749ac..dc02b861c6e4c 100644 | |||||||
| +        std::move(devtools_contents), | +        std::move(devtools_contents), | ||||||
| +        -1, ui::PAGE_TRANSITION_AUTO_TOPLEVEL, AddTabTypes::ADD_ACTIVE); | +        -1, ui::PAGE_TRANSITION_AUTO_TOPLEVEL, AddTabTypes::ADD_ACTIVE); | ||||||
| +  } | +  } | ||||||
| + |  #endif | ||||||
|    OverrideAndSyncDevToolsRendererPrefs(); |    OverrideAndSyncDevToolsRendererPrefs(); | ||||||
|  } |  } | ||||||
|   |  | ||||||
| diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn | diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn | ||||||
| index 0ed6e9e434350..5c8bcd5c45ede 100644 | index 51c55cb054ae7..df9aa9bc45a67 100644 | ||||||
| --- chrome/browser/ui/BUILD.gn | --- chrome/browser/ui/BUILD.gn | ||||||
| +++ chrome/browser/ui/BUILD.gn | +++ chrome/browser/ui/BUILD.gn | ||||||
| @@ -7,6 +7,7 @@ import("//build/config/compiler/compiler.gni") | @@ -7,6 +7,7 @@ import("//build/config/compiler/compiler.gni") | ||||||
| @@ -99,7 +94,7 @@ index 0ed6e9e434350..5c8bcd5c45ede 100644 | |||||||
|  import("//chrome/browser/buildflags.gni") |  import("//chrome/browser/buildflags.gni") | ||||||
|  import("//chrome/common/features.gni") |  import("//chrome/common/features.gni") | ||||||
|  import("//chromeos/ash/components/assistant/assistant.gni") |  import("//chromeos/ash/components/assistant/assistant.gni") | ||||||
| @@ -301,6 +302,10 @@ static_library("ui") { | @@ -302,6 +303,10 @@ static_library("ui") { | ||||||
|      "//build/config/compiler:wexit_time_destructors", |      "//build/config/compiler:wexit_time_destructors", | ||||||
|    ] |    ] | ||||||
|   |   | ||||||
| @@ -110,7 +105,7 @@ index 0ed6e9e434350..5c8bcd5c45ede 100644 | |||||||
|    public_deps = [ |    public_deps = [ | ||||||
|      # WARNING WARNING WARNING |      # WARNING WARNING WARNING | ||||||
|      # New dependencies outside of //chrome/browser should be added to |      # New dependencies outside of //chrome/browser should be added to | ||||||
| @@ -328,6 +333,7 @@ static_library("ui") { | @@ -329,6 +334,7 @@ static_library("ui") { | ||||||
|      "//build/config/chromebox_for_meetings:buildflags", |      "//build/config/chromebox_for_meetings:buildflags", | ||||||
|      "//build/config/linux/dbus:buildflags", |      "//build/config/linux/dbus:buildflags", | ||||||
|      "//cc/paint", |      "//cc/paint", | ||||||
| @@ -118,7 +113,7 @@ index 0ed6e9e434350..5c8bcd5c45ede 100644 | |||||||
|      "//chrome:resources", |      "//chrome:resources", | ||||||
|      "//chrome:strings", |      "//chrome:strings", | ||||||
|      "//chrome/app:chrome_dll_resources", |      "//chrome/app:chrome_dll_resources", | ||||||
| @@ -698,6 +704,13 @@ static_library("ui") { | @@ -701,6 +707,13 @@ static_library("ui") { | ||||||
|      deps += [ "//components/plus_addresses/resources:vector_icons" ] |      deps += [ "//components/plus_addresses/resources:vector_icons" ] | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -132,7 +127,7 @@ index 0ed6e9e434350..5c8bcd5c45ede 100644 | |||||||
|    # TODO(crbug.com/41437292): Remove this circular dependency. |    # TODO(crbug.com/41437292): Remove this circular dependency. | ||||||
|    # Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies". |    # Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies". | ||||||
|    # These are all-platform circular includes. |    # These are all-platform circular includes. | ||||||
| @@ -5476,6 +5489,7 @@ static_library("ui") { | @@ -5501,6 +5514,7 @@ static_library("ui") { | ||||||
|    if (enable_printing) { |    if (enable_printing) { | ||||||
|      deps += [ |      deps += [ | ||||||
|        "//components/printing/browser", |        "//components/printing/browser", | ||||||
| @@ -141,10 +136,10 @@ index 0ed6e9e434350..5c8bcd5c45ede 100644 | |||||||
|      ] |      ] | ||||||
|    } |    } | ||||||
| diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc | diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc | ||||||
| index fafd84d08e336..0985c4cd9ebf0 100644 | index d45f8f1713c87..7d69f3d8bd4cc 100644 | ||||||
| --- chrome/browser/ui/browser.cc | --- chrome/browser/ui/browser.cc | ||||||
| +++ chrome/browser/ui/browser.cc | +++ chrome/browser/ui/browser.cc | ||||||
| @@ -268,6 +268,25 @@ | @@ -272,6 +272,25 @@ | ||||||
|  #include "components/captive_portal/content/captive_portal_tab_helper.h" |  #include "components/captive_portal/content/captive_portal_tab_helper.h" | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -170,7 +165,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  #if BUILDFLAG(ENABLE_EXTENSIONS) |  #if BUILDFLAG(ENABLE_EXTENSIONS) | ||||||
|  #include "chrome/browser/extensions/extension_browser_window_helper.h" |  #include "chrome/browser/extensions/extension_browser_window_helper.h" | ||||||
|  #endif |  #endif | ||||||
| @@ -563,6 +582,10 @@ Browser::Browser(const CreateParams& params) | @@ -571,6 +590,10 @@ Browser::Browser(const CreateParams& params) | ||||||
|        type_(params.type), |        type_(params.type), | ||||||
|        profile_(params.profile), |        profile_(params.profile), | ||||||
|        window_(nullptr), |        window_(nullptr), | ||||||
| @@ -181,7 +176,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|        tab_strip_model_delegate_( |        tab_strip_model_delegate_( | ||||||
|            std::make_unique<chrome::BrowserTabStripModelDelegate>(this)), |            std::make_unique<chrome::BrowserTabStripModelDelegate>(this)), | ||||||
|        tab_strip_model_(std::make_unique<TabStripModel>( |        tab_strip_model_(std::make_unique<TabStripModel>( | ||||||
| @@ -800,6 +823,12 @@ Browser::~Browser() { | @@ -818,6 +841,12 @@ Browser::~Browser() { | ||||||
|    if (select_file_dialog_.get()) { |    if (select_file_dialog_.get()) { | ||||||
|      select_file_dialog_->ListenerDestroyed(); |      select_file_dialog_->ListenerDestroyed(); | ||||||
|    } |    } | ||||||
| @@ -194,7 +189,18 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  /////////////////////////////////////////////////////////////////////////////// |  /////////////////////////////////////////////////////////////////////////////// | ||||||
| @@ -1404,6 +1433,8 @@ void Browser::WindowFullscreenStateChanged() { | @@ -1275,6 +1304,10 @@ BrowserWindowInterface::Type Browser::GetType() const { | ||||||
|  |    return type_; | ||||||
|  |  } | ||||||
|  |   | ||||||
|  | +bool Browser::IsNormalBrowser() const { | ||||||
|  | +  return BrowserWindowFeatures::IsNormalBrowser(this); | ||||||
|  | +} | ||||||
|  | + | ||||||
|  |  BrowserUserEducationInterface* Browser::GetUserEducationInterface() { | ||||||
|  |    return window(); | ||||||
|  |  } | ||||||
|  | @@ -1436,6 +1469,8 @@ void Browser::WindowFullscreenStateChanged() { | ||||||
|        ->WindowFullscreenStateChanged(); |        ->WindowFullscreenStateChanged(); | ||||||
|    command_controller_->FullscreenStateChanged(); |    command_controller_->FullscreenStateChanged(); | ||||||
|    UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN); |    UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN); | ||||||
| @@ -203,7 +209,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Browser::FullscreenTopUIStateChanged() { |  void Browser::FullscreenTopUIStateChanged() { | ||||||
| @@ -1752,6 +1783,15 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent( | @@ -1807,6 +1842,15 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent( | ||||||
|      return content::KeyboardEventProcessingResult::HANDLED; |      return content::KeyboardEventProcessingResult::HANDLED; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -219,7 +225,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    return window()->PreHandleKeyboardEvent(event); |    return window()->PreHandleKeyboardEvent(event); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -1759,8 +1799,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source, | @@ -1814,8 +1858,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source, | ||||||
|                                    const NativeWebKeyboardEvent& event) { |                                    const NativeWebKeyboardEvent& event) { | ||||||
|    DevToolsWindow* devtools_window = |    DevToolsWindow* devtools_window = | ||||||
|        DevToolsWindow::GetInstanceForInspectedWebContents(source); |        DevToolsWindow::GetInstanceForInspectedWebContents(source); | ||||||
| @@ -240,7 +246,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool Browser::TabsNeedBeforeUnloadFired() const { |  bool Browser::TabsNeedBeforeUnloadFired() const { | ||||||
| @@ -1855,9 +1905,14 @@ bool Browser::IsBackForwardCacheSupported(content::WebContents& web_contents) { | @@ -1910,9 +1964,14 @@ bool Browser::IsBackForwardCacheSupported(content::WebContents& web_contents) { | ||||||
|  content::PreloadingEligibility Browser::IsPrerender2Supported( |  content::PreloadingEligibility Browser::IsPrerender2Supported( | ||||||
|      content::WebContents& web_contents, |      content::WebContents& web_contents, | ||||||
|      content::PreloadingTriggerType trigger_type) { |      content::PreloadingTriggerType trigger_type) { | ||||||
| @@ -255,7 +261,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool Browser::ShouldShowStaleContentOnEviction(content::WebContents* source) { |  bool Browser::ShouldShowStaleContentOnEviction(content::WebContents* source) { | ||||||
| @@ -1920,6 +1975,14 @@ WebContents* Browser::OpenURLFromTab( | @@ -1975,6 +2034,14 @@ WebContents* Browser::OpenURLFromTab( | ||||||
|                                    std::move(navigation_handle_callback)); |                                    std::move(navigation_handle_callback)); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -270,7 +276,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    NavigateParams nav_params(this, params.url, params.transition); |    NavigateParams nav_params(this, params.url, params.transition); | ||||||
|    nav_params.FillNavigateParamsFromOpenURLParams(params); |    nav_params.FillNavigateParamsFromOpenURLParams(params); | ||||||
|    nav_params.source_contents = source; |    nav_params.source_contents = source; | ||||||
| @@ -2093,6 +2156,8 @@ void Browser::LoadingStateChanged(WebContents* source, | @@ -2148,6 +2215,8 @@ void Browser::LoadingStateChanged(WebContents* source, | ||||||
|                                    bool should_show_loading_ui) { |                                    bool should_show_loading_ui) { | ||||||
|    ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD); |    ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD); | ||||||
|    UpdateWindowForLoadingStateChanged(source, should_show_loading_ui); |    UpdateWindowForLoadingStateChanged(source, should_show_loading_ui); | ||||||
| @@ -279,16 +285,16 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Browser::CloseContents(WebContents* source) { |  void Browser::CloseContents(WebContents* source) { | ||||||
| @@ -2122,6 +2187,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { | @@ -2177,6 +2246,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { |  void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { | ||||||
| +  CALL_CEF_DELEGATE(UpdateTargetURL, source, url); | +  CALL_CEF_DELEGATE(UpdateTargetURL, source, url); | ||||||
| + | + | ||||||
|    if (!GetStatusBubble()) { |    std::vector<StatusBubble*> status_bubbles = GetStatusBubbles(); | ||||||
|      return; |    for (StatusBubble* status_bubble : status_bubbles) { | ||||||
|    } |      StatusBubbleViews* status_bubble_views = | ||||||
| @@ -2131,6 +2198,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { | @@ -2190,6 +2261,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { | ||||||
|    } |    } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -306,7 +312,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) { |  void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) { | ||||||
|    const ui::EventType type = event.type(); |    const ui::EventType type = event.type(); | ||||||
|    const bool exited = type == ui::EventType::kMouseExited; |    const bool exited = type == ui::EventType::kMouseExited; | ||||||
| @@ -2156,9 +2234,23 @@ void Browser::ContentsZoomChange(bool zoom_in) { | @@ -2223,9 +2305,23 @@ void Browser::ContentsZoomChange(bool zoom_in) { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool Browser::TakeFocus(content::WebContents* source, bool reverse) { |  bool Browser::TakeFocus(content::WebContents* source, bool reverse) { | ||||||
| @@ -330,7 +336,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  void Browser::BeforeUnloadFired(WebContents* web_contents, |  void Browser::BeforeUnloadFired(WebContents* web_contents, | ||||||
|                                  bool proceed, |                                  bool proceed, | ||||||
|                                  bool* proceed_to_fire_unload) { |                                  bool* proceed_to_fire_unload) { | ||||||
| @@ -2271,12 +2363,24 @@ void Browser::WebContentsCreated(WebContents* source_contents, | @@ -2338,12 +2434,24 @@ void Browser::WebContentsCreated(WebContents* source_contents, | ||||||
|    // to track `new_contents` after it is added to its TabModel this override can |    // to track `new_contents` after it is added to its TabModel this override can | ||||||
|    // be removed. |    // be removed. | ||||||
|    CreateSessionServiceTabHelper(new_contents); |    CreateSessionServiceTabHelper(new_contents); | ||||||
| @@ -355,7 +361,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    // Don't show the page hung dialog when a HTML popup hangs because |    // Don't show the page hung dialog when a HTML popup hangs because | ||||||
|    // the dialog will take the focus and immediately close the popup. |    // the dialog will take the focus and immediately close the popup. | ||||||
|    RenderWidgetHostView* view = render_widget_host->GetView(); |    RenderWidgetHostView* view = render_widget_host->GetView(); | ||||||
| @@ -2289,6 +2393,13 @@ void Browser::RendererUnresponsive( | @@ -2356,6 +2464,13 @@ void Browser::RendererUnresponsive( | ||||||
|  void Browser::RendererResponsive( |  void Browser::RendererResponsive( | ||||||
|      WebContents* source, |      WebContents* source, | ||||||
|      content::RenderWidgetHost* render_widget_host) { |      content::RenderWidgetHost* render_widget_host) { | ||||||
| @@ -369,7 +375,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    RenderWidgetHostView* view = render_widget_host->GetView(); |    RenderWidgetHostView* view = render_widget_host->GetView(); | ||||||
|    if (view && !render_widget_host->GetView()->IsHTMLFormPopup()) { |    if (view && !render_widget_host->GetView()->IsHTMLFormPopup()) { | ||||||
|      TabDialogs::FromWebContents(source)->HideHungRendererDialog( |      TabDialogs::FromWebContents(source)->HideHungRendererDialog( | ||||||
| @@ -2298,6 +2409,15 @@ void Browser::RendererResponsive( | @@ -2365,6 +2480,15 @@ void Browser::RendererResponsive( | ||||||
|   |   | ||||||
|  content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager( |  content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager( | ||||||
|      WebContents* source) { |      WebContents* source) { | ||||||
| @@ -385,7 +391,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    return javascript_dialogs::TabModalDialogManager::FromWebContents(source); |    return javascript_dialogs::TabModalDialogManager::FromWebContents(source); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2333,6 +2453,11 @@ void Browser::DraggableRegionsChanged( | @@ -2400,6 +2524,11 @@ void Browser::DraggableRegionsChanged( | ||||||
|    if (app_controller_) { |    if (app_controller_) { | ||||||
|      app_controller_->DraggableRegionsChanged(regions, contents); |      app_controller_->DraggableRegionsChanged(regions, contents); | ||||||
|    } |    } | ||||||
| @@ -396,8 +402,8 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
| +#endif | +#endif | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Browser::DidFinishNavigation( |  std::vector<blink::mojom::RelatedApplicationPtr> | ||||||
| @@ -2415,11 +2540,15 @@ void Browser::EnterFullscreenModeForTab( | @@ -2514,11 +2643,15 @@ void Browser::EnterFullscreenModeForTab( | ||||||
|      const blink::mojom::FullscreenOptions& options) { |      const blink::mojom::FullscreenOptions& options) { | ||||||
|    exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab( |    exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab( | ||||||
|        requesting_frame, options.display_id); |        requesting_frame, options.display_id); | ||||||
| @@ -413,7 +419,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) { |  bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) { | ||||||
| @@ -2629,6 +2758,16 @@ void Browser::RequestMediaAccessPermission( | @@ -2728,6 +2861,16 @@ void Browser::RequestMediaAccessPermission( | ||||||
|      content::WebContents* web_contents, |      content::WebContents* web_contents, | ||||||
|      const content::MediaStreamRequest& request, |      const content::MediaStreamRequest& request, | ||||||
|      content::MediaResponseCallback callback) { |      content::MediaResponseCallback callback) { | ||||||
| @@ -430,19 +436,20 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|    const extensions::Extension* extension = |    const extensions::Extension* extension = | ||||||
|        GetExtensionForOrigin(profile_, request.security_origin); |        GetExtensionForOrigin(profile_, request.security_origin); | ||||||
|    MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( |    MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( | ||||||
| @@ -3211,9 +3350,10 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { | @@ -3313,9 +3456,11 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { | ||||||
|  // Browser, Getters for UI (private): |  // Browser, Getters for UI (private): | ||||||
|   |   | ||||||
|  StatusBubble* Browser::GetStatusBubble() { |  std::vector<StatusBubble*> Browser::GetStatusBubbles() { | ||||||
| +  bool show_by_default = true; | +  bool show_by_default = true; | ||||||
|  | + | ||||||
|    // For kiosk and exclusive app mode we want to always hide the status bubble. |    // For kiosk and exclusive app mode we want to always hide the status bubble. | ||||||
|    if (IsRunningInAppMode()) { |    if (IsRunningInAppMode()) { | ||||||
| -    return nullptr; | -    return {}; | ||||||
| +    show_by_default = false; | +    show_by_default = false; | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    // We hide the status bar for web apps windows as this matches native |    // We hide the status bar for web apps windows as this matches native | ||||||
| @@ -3221,6 +3361,12 @@ StatusBubble* Browser::GetStatusBubble() { | @@ -3323,6 +3468,12 @@ std::vector<StatusBubble*> Browser::GetStatusBubbles() { | ||||||
|    // mode, as the minimal browser UI includes the status bar. |    // mode, as the minimal browser UI includes the status bar. | ||||||
|    if (web_app::AppBrowserController::IsWebApp(this) && |    if (web_app::AppBrowserController::IsWebApp(this) && | ||||||
|        !app_controller()->HasMinimalUiButtons()) { |        !app_controller()->HasMinimalUiButtons()) { | ||||||
| @@ -452,10 +459,10 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
| +  bool show = show_by_default; | +  bool show = show_by_default; | ||||||
| +  CALL_CEF_DELEGATE_RESULT(ShowStatusBubble, show, show_by_default); | +  CALL_CEF_DELEGATE_RESULT(ShowStatusBubble, show, show_by_default); | ||||||
| +  if (!show) { | +  if (!show) { | ||||||
|      return nullptr; |      return {}; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -3370,6 +3516,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { | @@ -3476,6 +3627,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { | ||||||
|      BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); |      BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); | ||||||
|      web_contents_collection_.StopObserving(web_contents); |      web_contents_collection_.StopObserving(web_contents); | ||||||
|    } |    } | ||||||
| @@ -464,7 +471,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Browser::TabDetachedAtImpl(content::WebContents* contents, |  void Browser::TabDetachedAtImpl(content::WebContents* contents, | ||||||
| @@ -3530,6 +3678,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature( | @@ -3637,6 +3790,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature( | ||||||
|   |   | ||||||
|  bool Browser::SupportsWindowFeatureImpl(WindowFeature feature, |  bool Browser::SupportsWindowFeatureImpl(WindowFeature feature, | ||||||
|                                          bool check_can_support) const { |                                          bool check_can_support) const { | ||||||
| @@ -480,7 +487,7 @@ index fafd84d08e336..0985c4cd9ebf0 100644 | |||||||
|      case TYPE_NORMAL: |      case TYPE_NORMAL: | ||||||
|        return NormalBrowserSupportsWindowFeature(feature, check_can_support); |        return NormalBrowserSupportsWindowFeature(feature, check_can_support); | ||||||
| diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h | diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h | ||||||
| index 8fda0dfbe8e10..a48a32fe5d08e 100644 | index ce1e404e45a60..7193496de6b31 100644 | ||||||
| --- chrome/browser/ui/browser.h | --- chrome/browser/ui/browser.h | ||||||
| +++ chrome/browser/ui/browser.h | +++ chrome/browser/ui/browser.h | ||||||
| @@ -24,6 +24,7 @@ | @@ -24,6 +24,7 @@ | ||||||
| @@ -502,7 +509,7 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|  #if BUILDFLAG(IS_ANDROID) |  #if BUILDFLAG(IS_ANDROID) | ||||||
|  #error This file should only be included on desktop. |  #error This file should only be included on desktop. | ||||||
|  #endif |  #endif | ||||||
| @@ -338,6 +343,15 @@ class Browser : public TabStripModelObserver, | @@ -351,6 +356,15 @@ class Browser : public TabStripModelObserver, | ||||||
|      // Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE. |      // Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE. | ||||||
|      std::optional<blink::mojom::PictureInPictureWindowOptions> pip_options; |      std::optional<blink::mojom::PictureInPictureWindowOptions> pip_options; | ||||||
|   |   | ||||||
| @@ -518,7 +525,7 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|     private: |     private: | ||||||
|      friend class Browser; |      friend class Browser; | ||||||
|      friend class WindowSizerChromeOSTest; |      friend class WindowSizerChromeOSTest; | ||||||
| @@ -421,6 +435,13 @@ class Browser : public TabStripModelObserver, | @@ -434,6 +448,13 @@ class Browser : public TabStripModelObserver, | ||||||
|      update_ui_immediately_for_testing_ = true; |      update_ui_immediately_for_testing_ = true; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -532,7 +539,7 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|    // Accessors //////////////////////////////////////////////////////////////// |    // Accessors //////////////////////////////////////////////////////////////// | ||||||
|   |   | ||||||
|    const CreateParams& create_params() const { return create_params_; } |    const CreateParams& create_params() const { return create_params_; } | ||||||
| @@ -522,6 +543,12 @@ class Browser : public TabStripModelObserver, | @@ -535,6 +556,12 @@ class Browser : public TabStripModelObserver, | ||||||
|    base::WeakPtr<Browser> AsWeakPtr(); |    base::WeakPtr<Browser> AsWeakPtr(); | ||||||
|    base::WeakPtr<const Browser> AsWeakPtr() const; |    base::WeakPtr<const Browser> AsWeakPtr() const; | ||||||
|   |   | ||||||
| @@ -545,7 +552,15 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|    // Get the FindBarController for this browser, creating it if it does not |    // Get the FindBarController for this browser, creating it if it does not | ||||||
|    // yet exist. |    // yet exist. | ||||||
|    FindBarController* GetFindBarController(); |    FindBarController* GetFindBarController(); | ||||||
| @@ -966,10 +993,18 @@ class Browser : public TabStripModelObserver, | @@ -889,6 +916,7 @@ class Browser : public TabStripModelObserver, | ||||||
|  |    ImmersiveModeController* GetImmersiveModeController() override; | ||||||
|  |    BrowserActions* GetActions() override; | ||||||
|  |    Type GetType() const override; | ||||||
|  | +  bool IsNormalBrowser() const override; | ||||||
|  |    BrowserUserEducationInterface* GetUserEducationInterface() override; | ||||||
|  |    web_app::AppBrowserController* GetAppBrowserController() override; | ||||||
|  |    std::vector<tabs::TabInterface*> GetAllTabInterfaces() override; | ||||||
|  | @@ -991,10 +1019,18 @@ class Browser : public TabStripModelObserver, | ||||||
|    void SetContentsBounds(content::WebContents* source, |    void SetContentsBounds(content::WebContents* source, | ||||||
|                           const gfx::Rect& bounds) override; |                           const gfx::Rect& bounds) override; | ||||||
|    void UpdateTargetURL(content::WebContents* source, const GURL& url) override; |    void UpdateTargetURL(content::WebContents* source, const GURL& url) override; | ||||||
| @@ -564,7 +579,7 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|    void BeforeUnloadFired(content::WebContents* source, |    void BeforeUnloadFired(content::WebContents* source, | ||||||
|                           bool proceed, |                           bool proceed, | ||||||
|                           bool* proceed_to_fire_unload) override; |                           bool* proceed_to_fire_unload) override; | ||||||
| @@ -1310,6 +1345,10 @@ class Browser : public TabStripModelObserver, | @@ -1341,6 +1377,10 @@ class Browser : public TabStripModelObserver, | ||||||
|    // The active state of this browser. |    // The active state of this browser. | ||||||
|    bool is_active_ = false; |    bool is_active_ = false; | ||||||
|   |   | ||||||
| @@ -575,7 +590,7 @@ index 8fda0dfbe8e10..a48a32fe5d08e 100644 | |||||||
|    std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_; |    std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_; | ||||||
|    std::unique_ptr<TabStripModel> const tab_strip_model_; |    std::unique_ptr<TabStripModel> const tab_strip_model_; | ||||||
|   |   | ||||||
| @@ -1376,6 +1415,8 @@ class Browser : public TabStripModelObserver, | @@ -1407,6 +1447,8 @@ class Browser : public TabStripModelObserver, | ||||||
|    const std::string initial_workspace_; |    const std::string initial_workspace_; | ||||||
|    bool initial_visible_on_all_workspaces_state_; |    bool initial_visible_on_all_workspaces_state_; | ||||||
|   |   | ||||||
| @@ -655,14 +670,15 @@ index 83a510defbda5..f4305701c5f5a 100644 | |||||||
|    params.source_contents = source_contents; |    params.source_contents = source_contents; | ||||||
|    params.url = target_url; |    params.url = target_url; | ||||||
| diff --git chrome/browser/ui/browser_window/browser_window_features.cc chrome/browser/ui/browser_window/browser_window_features.cc | diff --git chrome/browser/ui/browser_window/browser_window_features.cc chrome/browser/ui/browser_window/browser_window_features.cc | ||||||
| index 0cdf3de9047f3..291fe0fb0e81e 100644 | index 274b403d01d91..4dd3239bf5f48 100644 | ||||||
| --- chrome/browser/ui/browser_window/browser_window_features.cc | --- chrome/browser/ui/browser_window/browser_window_features.cc | ||||||
| +++ chrome/browser/ui/browser_window/browser_window_features.cc | +++ chrome/browser/ui/browser_window/browser_window_features.cc | ||||||
| @@ -73,6 +73,14 @@ BrowserWindowFeatures::BrowserWindowFeaturesFactory& GetFactory() { | @@ -92,6 +92,15 @@ BrowserWindowFeatures::CreateBrowserWindowFeatures() { | ||||||
|    return *factory; |  | ||||||
|  } |  | ||||||
|   |   | ||||||
| +bool IsNormalBrowser(Browser* browser) { |  BrowserWindowFeatures::~BrowserWindowFeatures() = default; | ||||||
|  |   | ||||||
|  | +// static | ||||||
|  | +bool BrowserWindowFeatures::IsNormalBrowser(const Browser* browser) { | ||||||
| +  // CEF normal browsers have TYPE_POPUP. | +  // CEF normal browsers have TYPE_POPUP. | ||||||
| +  if (browser->is_type_popup() && browser->cef_delegate()) { | +  if (browser->is_type_popup() && browser->cef_delegate()) { | ||||||
| +    return true; | +    return true; | ||||||
| @@ -670,10 +686,10 @@ index 0cdf3de9047f3..291fe0fb0e81e 100644 | |||||||
| +  return browser->is_type_normal(); | +  return browser->is_type_normal(); | ||||||
| +} | +} | ||||||
| + | + | ||||||
|  }  // namespace |  | ||||||
|   |  | ||||||
|  // static |  // static | ||||||
| @@ -162,10 +170,12 @@ void BrowserWindowFeatures::Init(BrowserWindowInterface* browser) { |  void BrowserWindowFeatures::ReplaceBrowserWindowFeaturesForTesting( | ||||||
|  |      BrowserWindowFeaturesFactory factory) { | ||||||
|  | @@ -168,10 +177,12 @@ void BrowserWindowFeatures::Init(BrowserWindowInterface* browser) { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void BrowserWindowFeatures::InitPostWindowConstruction(Browser* browser) { |  void BrowserWindowFeatures::InitPostWindowConstruction(Browser* browser) { | ||||||
| @@ -687,7 +703,7 @@ index 0cdf3de9047f3..291fe0fb0e81e 100644 | |||||||
|      if (IsChromeLabsEnabled()) { |      if (IsChromeLabsEnabled()) { | ||||||
|        chrome_labs_coordinator_ = |        chrome_labs_coordinator_ = | ||||||
|            std::make_unique<ChromeLabsCoordinator>(browser); |            std::make_unique<ChromeLabsCoordinator>(browser); | ||||||
| @@ -207,7 +217,7 @@ void BrowserWindowFeatures::InitPostWindowConstruction(Browser* browser) { | @@ -213,7 +224,7 @@ void BrowserWindowFeatures::InitPostWindowConstruction(Browser* browser) { | ||||||
|      } |      } | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -696,7 +712,7 @@ index 0cdf3de9047f3..291fe0fb0e81e 100644 | |||||||
|        base::FeatureList::IsEnabled(toast_features::kToastFramework)) { |        base::FeatureList::IsEnabled(toast_features::kToastFramework)) { | ||||||
|      toast_service_ = std::make_unique<ToastService>(browser); |      toast_service_ = std::make_unique<ToastService>(browser); | ||||||
|    } |    } | ||||||
| @@ -240,10 +250,12 @@ void BrowserWindowFeatures::InitPostBrowserViewConstruction( | @@ -251,10 +262,12 @@ void BrowserWindowFeatures::InitPostBrowserViewConstruction( | ||||||
|            browser_view->browser(), |            browser_view->browser(), | ||||||
|            side_panel_coordinator_->GetWindowRegistry()); |            side_panel_coordinator_->GetWindowRegistry()); | ||||||
|   |   | ||||||
| @@ -710,3 +726,45 @@ index 0cdf3de9047f3..291fe0fb0e81e 100644 | |||||||
|  #if BUILDFLAG(ENABLE_GLIC) |  #if BUILDFLAG(ENABLE_GLIC) | ||||||
|      if (glic::GlicEnabling::IsProfileEligible( |      if (glic::GlicEnabling::IsProfileEligible( | ||||||
|              browser_view->browser()->profile())) { |              browser_view->browser()->profile())) { | ||||||
|  | diff --git chrome/browser/ui/browser_window/public/browser_window_features.h chrome/browser/ui/browser_window/public/browser_window_features.h | ||||||
|  | index a318b2507f3ca..04bed96bbe382 100644 | ||||||
|  | --- chrome/browser/ui/browser_window/public/browser_window_features.h | ||||||
|  | +++ chrome/browser/ui/browser_window/public/browser_window_features.h | ||||||
|  | @@ -81,6 +81,8 @@ class BrowserWindowFeatures { | ||||||
|  |    static std::unique_ptr<BrowserWindowFeatures> CreateBrowserWindowFeatures(); | ||||||
|  |    virtual ~BrowserWindowFeatures(); | ||||||
|  |   | ||||||
|  | +  static bool IsNormalBrowser(const Browser* browser); | ||||||
|  | + | ||||||
|  |    BrowserWindowFeatures(const BrowserWindowFeatures&) = delete; | ||||||
|  |    BrowserWindowFeatures& operator=(const BrowserWindowFeatures&) = delete; | ||||||
|  |   | ||||||
|  | diff --git chrome/browser/ui/browser_window/public/browser_window_interface.h chrome/browser/ui/browser_window/public/browser_window_interface.h | ||||||
|  | index f2b51e7923e96..644d0655ea6c9 100644 | ||||||
|  | --- chrome/browser/ui/browser_window/public/browser_window_interface.h | ||||||
|  | +++ chrome/browser/ui/browser_window/public/browser_window_interface.h | ||||||
|  | @@ -196,6 +196,10 @@ class BrowserWindowInterface : public content::PageNavigator { | ||||||
|  |    }; | ||||||
|  |    virtual Type GetType() const = 0; | ||||||
|  |   | ||||||
|  | +  // Returns true if this is a normal browser as determined by | ||||||
|  | +  // BrowserWindowFeatures::IsNormalBrowser. | ||||||
|  | +  virtual bool IsNormalBrowser() const = 0; | ||||||
|  | + | ||||||
|  |    // Gets an object that provides common per-browser-window functionality for | ||||||
|  |    // user education. The remainder of functionality is provided directly by the | ||||||
|  |    // UserEducationService, which can be retrieved directly from the profile. | ||||||
|  | diff --git chrome/browser/ui/views/frame/tab_strip_region_view.cc chrome/browser/ui/views/frame/tab_strip_region_view.cc | ||||||
|  | index b0a946ad9168f..0f7daf3eb0255 100644 | ||||||
|  | --- chrome/browser/ui/views/frame/tab_strip_region_view.cc | ||||||
|  | +++ chrome/browser/ui/views/frame/tab_strip_region_view.cc | ||||||
|  | @@ -118,8 +118,7 @@ TabStripRegionView::TabStripRegionView(std::unique_ptr<TabStrip> tab_strip) | ||||||
|  |    std::unique_ptr<TabStripActionContainer> tab_strip_action_container; | ||||||
|  |    std::unique_ptr<TabStripComboButton> tab_strip_combo_button; | ||||||
|  |    std::unique_ptr<ProductSpecificationsButton> product_specifications_button; | ||||||
|  | -  if (browser && | ||||||
|  | -      (browser->GetType() == BrowserWindowInterface::Type::TYPE_NORMAL)) { | ||||||
|  | +  if (browser && browser->IsNormalBrowser()) { | ||||||
|  |      if (features::IsTabSearchMoving() && | ||||||
|  |          !features::HasTabSearchToolbarButton() && | ||||||
|  |          ShouldShowNewTabButton(browser)) { | ||||||
|   | |||||||
| @@ -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 | diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc | ||||||
| index d73cefd1f7df0..f69a7771cc61f 100644 | index 60543740c1b66..0f76b20df356a 100644 | ||||||
| --- chrome/browser/renderer_context_menu/render_view_context_menu.cc | --- chrome/browser/renderer_context_menu/render_view_context_menu.cc | ||||||
| +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc | +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc | ||||||
| @@ -352,6 +352,18 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() { | @@ -351,6 +351,18 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() { | ||||||
|    return callback.get(); |    return callback.get(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -21,7 +21,7 @@ index d73cefd1f7df0..f69a7771cc61f 100644 | |||||||
|  enum class UmaEnumIdLookupType { |  enum class UmaEnumIdLookupType { | ||||||
|    GeneralEnumId, |    GeneralEnumId, | ||||||
|    ContextSpecificEnumId, |    ContextSpecificEnumId, | ||||||
| @@ -624,6 +636,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { | @@ -623,6 +635,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { | ||||||
|      return 1; |      return 1; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -32,7 +32,7 @@ index d73cefd1f7df0..f69a7771cc61f 100644 | |||||||
|    id = CollapseCommandsForUMA(id); |    id = CollapseCommandsForUMA(id); | ||||||
|    const auto& map = GetIdcToUmaMap(type); |    const auto& map = GetIdcToUmaMap(type); | ||||||
|    auto it = map.find(id); |    auto it = map.find(id); | ||||||
| @@ -895,6 +911,14 @@ RenderViewContextMenu::RenderViewContextMenu( | @@ -894,6 +910,14 @@ RenderViewContextMenu::RenderViewContextMenu( | ||||||
|                      : nullptr; |                      : nullptr; | ||||||
|  #endif  // BUILDFLAG(IS_CHROMEOS) |  #endif  // BUILDFLAG(IS_CHROMEOS) | ||||||
|   |   | ||||||
| @@ -60,7 +60,7 @@ index d73cefd1f7df0..f69a7771cc61f 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  Profile* RenderViewContextMenu::GetProfile() const { |  Profile* RenderViewContextMenu::GetProfile() const { | ||||||
| @@ -3631,6 +3661,26 @@ void RenderViewContextMenu::RemoveObserverForTesting( | @@ -3643,6 +3673,26 @@ void RenderViewContextMenu::RemoveObserverForTesting( | ||||||
|    observers_.RemoveObserver(observer); |    observers_.RemoveObserver(observer); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -88,7 +88,7 @@ index d73cefd1f7df0..f69a7771cc61f 100644 | |||||||
|  RenderViewContextMenu::GetHandlersForLinkUrl() { |  RenderViewContextMenu::GetHandlersForLinkUrl() { | ||||||
|    custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers = |    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 | diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h | ||||||
| index f9c86beaffb8e..a330e66b1970e 100644 | index 9bf603dbf73a5..3f9b1ff9f384d 100644 | ||||||
| --- chrome/browser/renderer_context_menu/render_view_context_menu.h | --- chrome/browser/renderer_context_menu/render_view_context_menu.h | ||||||
| +++ chrome/browser/renderer_context_menu/render_view_context_menu.h | +++ chrome/browser/renderer_context_menu/render_view_context_menu.h | ||||||
| @@ -158,7 +158,21 @@ class RenderViewContextMenu | @@ -158,7 +158,21 @@ class RenderViewContextMenu | ||||||
| @@ -113,7 +113,7 @@ index f9c86beaffb8e..a330e66b1970e 100644 | |||||||
|    Profile* GetProfile() const; |    Profile* GetProfile() const; | ||||||
|   |   | ||||||
|    // This may return nullptr (e.g. for WebUI dialogs). Virtual to allow tests to |    // This may return nullptr (e.g. for WebUI dialogs). Virtual to allow tests to | ||||||
| @@ -482,6 +496,9 @@ class RenderViewContextMenu | @@ -483,6 +497,9 @@ class RenderViewContextMenu | ||||||
|    //   built. |    //   built. | ||||||
|    bool is_protocol_submenu_valid_ = false; |    bool is_protocol_submenu_valid_ = false; | ||||||
|   |   | ||||||
| @@ -277,7 +277,7 @@ index 07e5b3613a2df..293282690bd5a 100644 | |||||||
|   private: |   private: | ||||||
|    content::RenderWidgetHostView* GetActiveRenderWidgetHostView() const; |    content::RenderWidgetHostView* GetActiveRenderWidgetHostView() const; | ||||||
| diff --git chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | diff --git chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | ||||||
| index 065e21f80dbe5..013403577470c 100644 | index cd47821f35450..9a1924dea979c 100644 | ||||||
| --- chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | --- chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | ||||||
| +++ chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | +++ chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views_mac.mm | ||||||
| @@ -133,6 +133,10 @@ void ChromeWebContentsViewDelegateViewsMac::ShowMenu( | @@ -133,6 +133,10 @@ void ChromeWebContentsViewDelegateViewsMac::ShowMenu( | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/devtools/chrome_devtools_manager_delegate.cc chrome/browser/devtools/chrome_devtools_manager_delegate.cc | diff --git chrome/browser/devtools/chrome_devtools_manager_delegate.cc chrome/browser/devtools/chrome_devtools_manager_delegate.cc | ||||||
| index 692e883ad3b60..4b45234cea0bc 100644 | index f61d3618965cd..7c632c85d5e48 100644 | ||||||
| --- chrome/browser/devtools/chrome_devtools_manager_delegate.cc | --- chrome/browser/devtools/chrome_devtools_manager_delegate.cc | ||||||
| +++ chrome/browser/devtools/chrome_devtools_manager_delegate.cc | +++ chrome/browser/devtools/chrome_devtools_manager_delegate.cc | ||||||
| @@ -14,6 +14,7 @@ | @@ -14,6 +14,7 @@ | ||||||
| @@ -10,8 +10,8 @@ index 692e883ad3b60..4b45234cea0bc 100644 | |||||||
|  #include "chrome/browser/browser_features.h" |  #include "chrome/browser/browser_features.h" | ||||||
|  #include "chrome/browser/devtools/chrome_devtools_session.h" |  #include "chrome/browser/devtools/chrome_devtools_session.h" | ||||||
|  #include "chrome/browser/devtools/device/android_device_manager.h" |  #include "chrome/browser/devtools/device/android_device_manager.h" | ||||||
| @@ -66,6 +67,10 @@ | @@ -65,6 +66,10 @@ | ||||||
|  #include "components/prefs/pref_service.h" |  #include "chromeos/constants/chromeos_features.h" | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| +#if BUILDFLAG(ENABLE_CEF) | +#if BUILDFLAG(ENABLE_CEF) | ||||||
| @@ -21,7 +21,7 @@ index 692e883ad3b60..4b45234cea0bc 100644 | |||||||
|  using content::DevToolsAgentHost; |  using content::DevToolsAgentHost; | ||||||
|   |   | ||||||
|  const char ChromeDevToolsManagerDelegate::kTypeApp[] = "app"; |  const char ChromeDevToolsManagerDelegate::kTypeApp[] = "app"; | ||||||
| @@ -280,6 +285,12 @@ std::string ChromeDevToolsManagerDelegate::GetTargetType( | @@ -259,6 +264,12 @@ std::string ChromeDevToolsManagerDelegate::GetTargetType( | ||||||
|      return DevToolsAgentHost::kTypePage; |      return DevToolsAgentHost::kTypePage; | ||||||
|    } |    } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | diff --git chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | ||||||
| index 39012b26b2fd6..1b6cf3097ba40 100644 | index 8b3ce4e53ef25..7fcec86f074e3 100644 | ||||||
| --- chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | --- chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | ||||||
| +++ chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | +++ chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_desktop.cc | ||||||
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc | diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc | ||||||
| index c3d8a9929e1f3..db4806237472f 100644 | index f03a163dd1e2d..128f3b80d3684 100644 | ||||||
| --- chrome/browser/file_select_helper.cc | --- chrome/browser/file_select_helper.cc | ||||||
| +++ chrome/browser/file_select_helper.cc | +++ chrome/browser/file_select_helper.cc | ||||||
| @@ -311,6 +311,12 @@ void FileSelectHelper::OnListDone(int error) { | @@ -310,6 +310,12 @@ void FileSelectHelper::OnListDone(int error) { | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    if (dialog_type_ == ui::SelectFileDialog::SELECT_UPLOAD_FOLDER) { |    if (dialog_type_ == ui::SelectFileDialog::SELECT_UPLOAD_FOLDER) { | ||||||
| @@ -15,7 +15,7 @@ index c3d8a9929e1f3..db4806237472f 100644 | |||||||
|      auto model = CreateConfirmationDialog( |      auto model = CreateConfirmationDialog( | ||||||
|          entry->display_name_, std::move(chooser_files), |          entry->display_name_, std::move(chooser_files), | ||||||
|          base::BindOnce(&FileSelectHelper::PerformContentAnalysisIfNeeded, |          base::BindOnce(&FileSelectHelper::PerformContentAnalysisIfNeeded, | ||||||
| @@ -509,31 +515,51 @@ FileSelectHelper::GetFileTypesFromAcceptType( | @@ -508,31 +514,51 @@ FileSelectHelper::GetFileTypesFromAcceptType( | ||||||
|    std::vector<base::FilePath::StringType>* extensions = |    std::vector<base::FilePath::StringType>* extensions = | ||||||
|        &file_type->extensions.back(); |        &file_type->extensions.back(); | ||||||
|   |   | ||||||
| @@ -71,7 +71,7 @@ index c3d8a9929e1f3..db4806237472f 100644 | |||||||
|      if (extensions->size() > old_extension_size) |      if (extensions->size() > old_extension_size) | ||||||
|        valid_type_count++; |        valid_type_count++; | ||||||
|    } |    } | ||||||
| @@ -550,12 +576,28 @@ FileSelectHelper::GetFileTypesFromAcceptType( | @@ -549,12 +575,28 @@ FileSelectHelper::GetFileTypesFromAcceptType( | ||||||
|    //    dialog uses the first extension in the list to form the description, |    //    dialog uses the first extension in the list to form the description, | ||||||
|    //    like "EHTML Files". This is not what we want. |    //    like "EHTML Files". This is not what we want. | ||||||
|    if (valid_type_count > 1 || |    if (valid_type_count > 1 || | ||||||
| @@ -104,7 +104,7 @@ index c3d8a9929e1f3..db4806237472f 100644 | |||||||
|    } |    } | ||||||
|   |   | ||||||
|    return file_type; |    return file_type; | ||||||
| @@ -565,7 +607,8 @@ FileSelectHelper::GetFileTypesFromAcceptType( | @@ -564,7 +606,8 @@ FileSelectHelper::GetFileTypesFromAcceptType( | ||||||
|  void FileSelectHelper::RunFileChooser( |  void FileSelectHelper::RunFileChooser( | ||||||
|      content::RenderFrameHost* render_frame_host, |      content::RenderFrameHost* render_frame_host, | ||||||
|      scoped_refptr<content::FileSelectListener> listener, |      scoped_refptr<content::FileSelectListener> listener, | ||||||
| @@ -114,7 +114,7 @@ index c3d8a9929e1f3..db4806237472f 100644 | |||||||
|    Profile* profile = Profile::FromBrowserContext( |    Profile* profile = Profile::FromBrowserContext( | ||||||
|        render_frame_host->GetProcess()->GetBrowserContext()); |        render_frame_host->GetProcess()->GetBrowserContext()); | ||||||
|   |   | ||||||
| @@ -573,6 +616,7 @@ void FileSelectHelper::RunFileChooser( | @@ -572,6 +615,7 @@ void FileSelectHelper::RunFileChooser( | ||||||
|    // message. |    // message. | ||||||
|    scoped_refptr<FileSelectHelper> file_select_helper( |    scoped_refptr<FileSelectHelper> file_select_helper( | ||||||
|        new FileSelectHelper(profile)); |        new FileSelectHelper(profile)); | ||||||
| @@ -123,7 +123,7 @@ index c3d8a9929e1f3..db4806237472f 100644 | |||||||
|                                       params.Clone()); |                                       params.Clone()); | ||||||
|  } |  } | ||||||
| diff --git chrome/browser/file_select_helper.h chrome/browser/file_select_helper.h | diff --git chrome/browser/file_select_helper.h chrome/browser/file_select_helper.h | ||||||
| index f007afe754be8..36f8ae45c5ee1 100644 | index e5b8c7d6e7b0a..6fcbf246159ae 100644 | ||||||
| --- chrome/browser/file_select_helper.h | --- chrome/browser/file_select_helper.h | ||||||
| +++ chrome/browser/file_select_helper.h | +++ chrome/browser/file_select_helper.h | ||||||
| @@ -64,7 +64,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe< | @@ -64,7 +64,8 @@ class FileSelectHelper : public base::RefCountedThreadSafe< | ||||||
| @@ -143,9 +143,9 @@ index f007afe754be8..36f8ae45c5ee1 100644 | |||||||
| +  // Set to true if this dialog was triggered via CEF. | +  // Set to true if this dialog was triggered via CEF. | ||||||
| +  bool run_from_cef_ = false; | +  bool run_from_cef_ = false; | ||||||
| + | + | ||||||
|  #if BUILDFLAG(IS_CHROMEOS_ASH) |  #if BUILDFLAG(IS_CHROMEOS) | ||||||
|    base::WeakPtrFactory<FileSelectHelper> weak_ptr_factory_{this}; |    base::WeakPtrFactory<FileSelectHelper> weak_ptr_factory_{this}; | ||||||
|  #endif  // BUILDFLAG(IS_CHROMEOS_ASH) |  #endif  // BUILDFLAG(IS_CHROMEOS) | ||||||
| diff --git chrome/browser/ui/chrome_select_file_policy.h chrome/browser/ui/chrome_select_file_policy.h | diff --git chrome/browser/ui/chrome_select_file_policy.h chrome/browser/ui/chrome_select_file_policy.h | ||||||
| index 49272553c7c53..5ba90c9a06ecf 100644 | index 49272553c7c53..5ba90c9a06ecf 100644 | ||||||
| --- chrome/browser/ui/chrome_select_file_policy.h | --- chrome/browser/ui/chrome_select_file_policy.h | ||||||
|   | |||||||
| @@ -12,10 +12,10 @@ index cc58a303a78b6..7755e58c8651c 100644 | |||||||
|      // on the screen, we can't actually attach to it. |      // on the screen, we can't actually attach to it. | ||||||
|      parent_window = nullptr; |      parent_window = nullptr; | ||||||
| diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc | diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc | ||||||
| index 0876f22294f71..8331fba0f4ee2 100644 | index 8251a54246126..ebf7da47ed642 100644 | ||||||
| --- components/constrained_window/constrained_window_views.cc | --- components/constrained_window/constrained_window_views.cc | ||||||
| +++ components/constrained_window/constrained_window_views.cc | +++ components/constrained_window/constrained_window_views.cc | ||||||
| @@ -102,10 +102,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver { | @@ -103,10 +103,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver { | ||||||
|  gfx::Rect GetModalDialogBounds(views::Widget* widget, |  gfx::Rect GetModalDialogBounds(views::Widget* widget, | ||||||
|                                 web_modal::ModalDialogHost* dialog_host, |                                 web_modal::ModalDialogHost* dialog_host, | ||||||
|                                 const gfx::Size& size) { |                                 const gfx::Size& size) { | ||||||
| @@ -36,7 +36,7 @@ index 0876f22294f71..8331fba0f4ee2 100644 | |||||||
|    } |    } | ||||||
|   |   | ||||||
|    gfx::Point position = dialog_host->GetDialogPosition(size); |    gfx::Point position = dialog_host->GetDialogPosition(size); | ||||||
| @@ -114,43 +121,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget, | @@ -115,43 +122,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget, | ||||||
|    position.set_y(position.y() - |    position.set_y(position.y() - | ||||||
|                   widget->non_client_view()->frame_view()->GetInsets().top()); |                   widget->non_client_view()->frame_view()->GetInsets().top()); | ||||||
|   |   | ||||||
| @@ -94,7 +94,7 @@ index 0876f22294f71..8331fba0f4ee2 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void UpdateModalDialogPosition(views::Widget* widget, |  void UpdateModalDialogPosition(views::Widget* widget, | ||||||
| @@ -161,15 +147,24 @@ void UpdateModalDialogPosition(views::Widget* widget, | @@ -162,15 +148,24 @@ void UpdateModalDialogPosition(views::Widget* widget, | ||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -121,22 +121,21 @@ index 0876f22294f71..8331fba0f4ee2 100644 | |||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -302,8 +297,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | @@ -304,8 +299,12 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | ||||||
|   |  | ||||||
|    gfx::NativeView parent_view = |    gfx::NativeView parent_view = | ||||||
|        parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : nullptr; |        parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) | ||||||
|  |               : gfx::NativeView(); | ||||||
| +  // Use with CEF windowless rendering. | +  // Use with CEF windowless rendering. | ||||||
| +  gfx::AcceleratedWidget parent_widget = | +  gfx::AcceleratedWidget parent_widget = | ||||||
| +      parent ? CurrentBrowserModalClient()->GetModalDialogHost(parent)-> | +      parent ? CurrentBrowserModalClient()->GetModalDialogHost(parent)-> | ||||||
| +          GetAcceleratedWidget() : gfx::kNullAcceleratedWidget; | +          GetAcceleratedWidget() : gfx::kNullAcceleratedWidget; | ||||||
|    views::Widget* widget = |    views::Widget* widget = views::DialogDelegate::CreateDialogWidget( | ||||||
| -      views::DialogDelegate::CreateDialogWidget(dialog, nullptr, parent_view); | -      dialog, gfx::NativeWindow(), parent_view); | ||||||
| +      views::DialogDelegate::CreateDialogWidget(dialog, nullptr, parent_view, | +      dialog, gfx::NativeWindow(), parent_view, parent_widget); | ||||||
| +                                                parent_widget); |  | ||||||
|    widget->SetNativeWindowProperty( |    widget->SetNativeWindowProperty( | ||||||
|        views::kWidgetIdentifierKey, |        views::kWidgetIdentifierKey, | ||||||
|        const_cast<void*>(kConstrainedWindowWidgetIdentifier)); |        const_cast<void*>(kConstrainedWindowWidgetIdentifier)); | ||||||
| @@ -320,8 +320,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | @@ -322,8 +321,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | ||||||
|      return widget; |      return widget; | ||||||
|   |   | ||||||
|    ModalDialogHost* host = |    ModalDialogHost* host = | ||||||
| @@ -146,12 +145,13 @@ index 0876f22294f71..8331fba0f4ee2 100644 | |||||||
|    if (host) { |    if (host) { | ||||||
|      DCHECK_EQ(parent_view, host->GetHostView()); |      DCHECK_EQ(parent_view, host->GetHostView()); | ||||||
|      std::unique_ptr<ModalDialogHostObserver> observer = |      std::unique_ptr<ModalDialogHostObserver> observer = | ||||||
| @@ -338,11 +337,17 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | @@ -340,11 +338,18 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, | ||||||
|   |   | ||||||
|  views::Widget* ShowBrowserModal(std::unique_ptr<ui::DialogModel> dialog_model, |  views::Widget* ShowBrowserModal(std::unique_ptr<ui::DialogModel> dialog_model, | ||||||
|                                  gfx::NativeWindow parent) { |                                  gfx::NativeWindow parent) { | ||||||
| +  gfx::NativeView parent_view = | +  gfx::NativeView parent_view = | ||||||
| +      parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : nullptr; | +      parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : | ||||||
|  | +               gfx::NativeView(); | ||||||
| +  // Use with CEF windowless rendering. | +  // Use with CEF windowless rendering. | ||||||
| +  gfx::AcceleratedWidget parent_widget = | +  gfx::AcceleratedWidget parent_widget = | ||||||
| +      parent ? CurrentBrowserModalClient()->GetModalDialogHost(parent)-> | +      parent ? CurrentBrowserModalClient()->GetModalDialogHost(parent)-> | ||||||
| @@ -161,7 +161,7 @@ index 0876f22294f71..8331fba0f4ee2 100644 | |||||||
|    // dialogs support autosize. |    // dialogs support autosize. | ||||||
|    bool will_use_custom_frame = views::DialogDelegate::CanSupportCustomFrame( |    bool will_use_custom_frame = views::DialogDelegate::CanSupportCustomFrame( | ||||||
| -      parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) | -      parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) | ||||||
| -             : nullptr); | -             : gfx::NativeView()); | ||||||
| +      parent_view, parent_widget); | +      parent_view, parent_widget); | ||||||
|    auto dialog = views::BubbleDialogModelHost::CreateModal( |    auto dialog = views::BubbleDialogModelHost::CreateModal( | ||||||
|        std::move(dialog_model), ui::mojom::ModalType::kWindow, |        std::move(dialog_model), ui::mojom::ModalType::kWindow, | ||||||
| @@ -210,10 +210,10 @@ index 51ed6bcf6b540..c6e1161140655 100644 | |||||||
|    virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0; |    virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0; | ||||||
|    // Returns whether a dialog currently about to be shown should be activated. |    // Returns whether a dialog currently about to be shown should be activated. | ||||||
| diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc | diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc | ||||||
| index bc2b5ccf9e66f..78b8f5c123d8a 100644 | index 0fc878fd920e9..a7595a9b4af86 100644 | ||||||
| --- ui/views/window/dialog_delegate.cc | --- ui/views/window/dialog_delegate.cc | ||||||
| +++ ui/views/window/dialog_delegate.cc | +++ ui/views/window/dialog_delegate.cc | ||||||
| @@ -87,10 +87,12 @@ DialogDelegate::DialogDelegate() { | @@ -88,10 +88,12 @@ DialogDelegate::DialogDelegate() { | ||||||
|  // static |  // static | ||||||
|  Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, |  Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, | ||||||
|                                             gfx::NativeWindow context, |                                             gfx::NativeWindow context, | ||||||
| @@ -228,7 +228,7 @@ index bc2b5ccf9e66f..78b8f5c123d8a 100644 | |||||||
|    widget->Init(std::move(params)); |    widget->Init(std::move(params)); | ||||||
|    return widget; |    return widget; | ||||||
|  } |  } | ||||||
| @@ -99,15 +101,17 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, | @@ -100,15 +102,17 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, | ||||||
|  Widget* DialogDelegate::CreateDialogWidget( |  Widget* DialogDelegate::CreateDialogWidget( | ||||||
|      std::unique_ptr<WidgetDelegate> delegate, |      std::unique_ptr<WidgetDelegate> delegate, | ||||||
|      gfx::NativeWindow context, |      gfx::NativeWindow context, | ||||||
| @@ -250,7 +250,7 @@ index bc2b5ccf9e66f..78b8f5c123d8a 100644 | |||||||
|  #else |  #else | ||||||
|    return true; |    return true; | ||||||
|  #endif |  #endif | ||||||
| @@ -118,7 +122,8 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | @@ -119,7 +123,8 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | ||||||
|      WidgetDelegate* delegate, |      WidgetDelegate* delegate, | ||||||
|      gfx::NativeWindow context, |      gfx::NativeWindow context, | ||||||
|      gfx::NativeView parent, |      gfx::NativeView parent, | ||||||
| @@ -260,7 +260,7 @@ index bc2b5ccf9e66f..78b8f5c123d8a 100644 | |||||||
|    DialogDelegate* dialog = delegate->AsDialogDelegate(); |    DialogDelegate* dialog = delegate->AsDialogDelegate(); | ||||||
|   |   | ||||||
|    views::Widget::InitParams params( |    views::Widget::InitParams params( | ||||||
| @@ -128,7 +133,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | @@ -129,7 +134,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | ||||||
|    params.bounds = bounds; |    params.bounds = bounds; | ||||||
|   |   | ||||||
|    if (dialog) { |    if (dialog) { | ||||||
| @@ -269,7 +269,7 @@ index bc2b5ccf9e66f..78b8f5c123d8a 100644 | |||||||
|    } |    } | ||||||
|   |   | ||||||
|    if (!dialog || dialog->use_custom_frame()) { |    if (!dialog || dialog->use_custom_frame()) { | ||||||
| @@ -142,6 +147,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | @@ -143,6 +148,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( | ||||||
|    } |    } | ||||||
|    params.context = context; |    params.context = context; | ||||||
|    params.parent = parent; |    params.parent = parent; | ||||||
| @@ -278,10 +278,10 @@ index bc2b5ccf9e66f..78b8f5c123d8a 100644 | |||||||
|    // Web-modal (ui::mojom::ModalType::kChild) dialogs with parents are marked as |    // Web-modal (ui::mojom::ModalType::kChild) dialogs with parents are marked as | ||||||
|    // child widgets to prevent top-level window behavior (independent movement, |    // child widgets to prevent top-level window behavior (independent movement, | ||||||
| diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h | diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h | ||||||
| index aed5714f0e767..75ee4f236b084 100644 | index 304b4c2115b87..844fb19461ac3 100644 | ||||||
| --- ui/views/window/dialog_delegate.h | --- ui/views/window/dialog_delegate.h | ||||||
| +++ ui/views/window/dialog_delegate.h | +++ ui/views/window/dialog_delegate.h | ||||||
| @@ -129,13 +129,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { | @@ -312,13 +312,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { | ||||||
|    // your use case. |    // your use case. | ||||||
|    static Widget* CreateDialogWidget(std::unique_ptr<WidgetDelegate> delegate, |    static Widget* CreateDialogWidget(std::unique_ptr<WidgetDelegate> delegate, | ||||||
|                                      gfx::NativeWindow context, |                                      gfx::NativeWindow context, | ||||||
| @@ -303,7 +303,7 @@ index aed5714f0e767..75ee4f236b084 100644 | |||||||
|   |   | ||||||
|    // Returns the dialog widget InitParams for a given |context| or |parent|. |    // Returns the dialog widget InitParams for a given |context| or |parent|. | ||||||
|    // If |bounds| is not empty, used to initially place the dialog, otherwise |    // If |bounds| is not empty, used to initially place the dialog, otherwise | ||||||
| @@ -143,7 +148,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { | @@ -326,7 +331,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { | ||||||
|    static Widget::InitParams GetDialogWidgetInitParams(WidgetDelegate* delegate, |    static Widget::InitParams GetDialogWidgetInitParams(WidgetDelegate* delegate, | ||||||
|                                                        gfx::NativeWindow context, |                                                        gfx::NativeWindow context, | ||||||
|                                                        gfx::NativeView parent, |                                                        gfx::NativeView parent, | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/download/chrome_download_manager_delegate.cc chrome/browser/download/chrome_download_manager_delegate.cc | diff --git chrome/browser/download/chrome_download_manager_delegate.cc chrome/browser/download/chrome_download_manager_delegate.cc | ||||||
| index cfcae9fc073be..b8c140692facc 100644 | index f960decad09fb..b1e88137ff284 100644 | ||||||
| --- chrome/browser/download/chrome_download_manager_delegate.cc | --- chrome/browser/download/chrome_download_manager_delegate.cc | ||||||
| +++ chrome/browser/download/chrome_download_manager_delegate.cc | +++ chrome/browser/download/chrome_download_manager_delegate.cc | ||||||
| @@ -30,6 +30,7 @@ | @@ -30,6 +30,7 @@ | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc | diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc | ||||||
| index f61ec524109fe..92ca490728855 100644 | index 0ac0d2fae56a9..4c55cfe1a52d7 100644 | ||||||
| --- chrome/browser/extensions/api/chrome_extensions_api_client.cc | --- chrome/browser/extensions/api/chrome_extensions_api_client.cc | ||||||
| +++ chrome/browser/extensions/api/chrome_extensions_api_client.cc | +++ chrome/browser/extensions/api/chrome_extensions_api_client.cc | ||||||
| @@ -15,6 +15,7 @@ | @@ -15,6 +15,7 @@ | ||||||
| @@ -21,7 +21,7 @@ index f61ec524109fe..92ca490728855 100644 | |||||||
|  #if BUILDFLAG(ENABLE_PRINTING) |  #if BUILDFLAG(ENABLE_PRINTING) | ||||||
|  #include "chrome/browser/printing/printing_init.h" |  #include "chrome/browser/printing/printing_init.h" | ||||||
|  #endif |  #endif | ||||||
| @@ -309,7 +314,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate() const { | @@ -310,7 +315,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate() const { | ||||||
|  std::unique_ptr<MimeHandlerViewGuestDelegate> |  std::unique_ptr<MimeHandlerViewGuestDelegate> | ||||||
|  ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( |  ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate( | ||||||
|      MimeHandlerViewGuest* guest) const { |      MimeHandlerViewGuest* guest) const { | ||||||
| @@ -34,10 +34,10 @@ index f61ec524109fe..92ca490728855 100644 | |||||||
|   |   | ||||||
|  WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate( |  WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate( | ||||||
| diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc | diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc | ||||||
| index 344b810811bfb..a6e4a909eed24 100644 | index dad67c2ce98a8..71b27628f7827 100644 | ||||||
| --- chrome/browser/extensions/api/tabs/tabs_api.cc | --- chrome/browser/extensions/api/tabs/tabs_api.cc | ||||||
| +++ chrome/browser/extensions/api/tabs/tabs_api.cc | +++ chrome/browser/extensions/api/tabs/tabs_api.cc | ||||||
| @@ -1686,7 +1686,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1687,7 +1687,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|        return RespondNow(Error(ExtensionTabUtil::kTabStripNotEditableError)); |        return RespondNow(Error(ExtensionTabUtil::kTabStripNotEditableError)); | ||||||
|      } |      } | ||||||
|   |   | ||||||
| @@ -46,7 +46,7 @@ index 344b810811bfb..a6e4a909eed24 100644 | |||||||
|        tab_strip->ActivateTabAt(tab_index); |        tab_strip->ActivateTabAt(tab_index); | ||||||
|        DCHECK_EQ(contents, tab_strip->GetActiveWebContents()); |        DCHECK_EQ(contents, tab_strip->GetActiveWebContents()); | ||||||
|      } |      } | ||||||
| @@ -1700,7 +1700,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1701,7 +1701,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|      } |      } | ||||||
|   |   | ||||||
|      bool highlighted = *params->update_properties.highlighted; |      bool highlighted = *params->update_properties.highlighted; | ||||||
| @@ -55,7 +55,7 @@ index 344b810811bfb..a6e4a909eed24 100644 | |||||||
|        tab_strip->ToggleSelectionAt(tab_index); |        tab_strip->ToggleSelectionAt(tab_index); | ||||||
|      } |      } | ||||||
|    } |    } | ||||||
| @@ -1712,7 +1712,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1713,7 +1713,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|          kCannotUpdateMuteCaptured, base::NumberToString(tab_id)))); |          kCannotUpdateMuteCaptured, base::NumberToString(tab_id)))); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -64,7 +64,7 @@ index 344b810811bfb..a6e4a909eed24 100644 | |||||||
|      int opener_id = *params->update_properties.opener_tab_id; |      int opener_id = *params->update_properties.opener_tab_id; | ||||||
|      WebContents* opener_contents = nullptr; |      WebContents* opener_contents = nullptr; | ||||||
|      if (opener_id == tab_id) { |      if (opener_id == tab_id) { | ||||||
| @@ -1747,7 +1747,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1748,7 +1748,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|          ->SetAutoDiscardable(state); |          ->SetAutoDiscardable(state); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -73,7 +73,7 @@ index 344b810811bfb..a6e4a909eed24 100644 | |||||||
|      // Bug fix for crbug.com/1197888. Don't let the extension update the tab if |      // Bug fix for crbug.com/1197888. Don't let the extension update the tab if | ||||||
|      // the user is dragging tabs. |      // the user is dragging tabs. | ||||||
|      if (!ExtensionTabUtil::IsTabStripEditable()) { |      if (!ExtensionTabUtil::IsTabStripEditable()) { | ||||||
| @@ -1768,7 +1768,8 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1769,7 +1769,8 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|    // Navigate the tab to a new location if the url is different. |    // Navigate the tab to a new location if the url is different. | ||||||
|    if (params->update_properties.url) { |    if (params->update_properties.url) { | ||||||
|      std::string updated_url = *params->update_properties.url; |      std::string updated_url = *params->update_properties.url; | ||||||
| @@ -83,7 +83,7 @@ index 344b810811bfb..a6e4a909eed24 100644 | |||||||
|          !IsURLAllowedInIncognito(GURL(updated_url))) { |          !IsURLAllowedInIncognito(GURL(updated_url))) { | ||||||
|        return RespondNow(Error(ErrorUtils::FormatErrorMessage( |        return RespondNow(Error(ErrorUtils::FormatErrorMessage( | ||||||
|            tabs_constants::kURLsNotAllowedInIncognitoError, updated_url))); |            tabs_constants::kURLsNotAllowedInIncognitoError, updated_url))); | ||||||
| @@ -1783,7 +1784,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | @@ -1784,7 +1785,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { | ||||||
|        return RespondNow(Error(std::move(error))); |        return RespondNow(Error(std::move(error))); | ||||||
|      } |      } | ||||||
|   |   | ||||||
| @@ -164,18 +164,3 @@ index 63848c93738ce..0358e098c7339 100644 | |||||||
|    // FYI: Do NOT add any more friends here. The functions above are the ONLY |    // FYI: Do NOT add any more friends here. The functions above are the ONLY | ||||||
|    // ones that need to call AttachTabHelpers; if you think you do, re-read the |    // ones that need to call AttachTabHelpers; if you think you do, re-read the | ||||||
|    // design document linked above, especially the section "Reusing tab helpers". |    // design document linked above, especially the section "Reusing tab helpers". | ||||||
| diff --git chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc |  | ||||||
| index 767a3b368e93d..d206384a0e20c 100644 |  | ||||||
| --- chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc |  | ||||||
| +++ chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc |  | ||||||
| @@ -820,6 +820,10 @@ void DownloadToolbarButtonView::ShowPendingDownloadStartedAnimation() { |  | ||||||
|    if (!gfx::Animation::ShouldRenderRichAnimation()) { |  | ||||||
|      return; |  | ||||||
|    } |  | ||||||
| +  if (!IsDrawn()) { |  | ||||||
| +    // Don't animate with a hidden download button. |  | ||||||
| +    return; |  | ||||||
| +  } |  | ||||||
|    content::WebContents* const web_contents = |  | ||||||
|        browser_->tab_strip_model()->GetActiveWebContents(); |  | ||||||
|    if (!web_contents || |  | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ index fbce13c16ad10..0512b2f09937e 100644 | |||||||
|  std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt( |  std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt( | ||||||
|      content::WebContents* web_contents, |      content::WebContents* web_contents, | ||||||
| diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc | diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc | ||||||
| index ab9701eb9ce8c..7c1dbe9adb0e8 100644 | index f6c0b656e5d67..caac970a78928 100644 | ||||||
| --- chrome/browser/ui/views/permissions/permission_prompt_factory.cc | --- chrome/browser/ui/views/permissions/permission_prompt_factory.cc | ||||||
| +++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc | +++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc | ||||||
| @@ -210,11 +210,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt( | @@ -210,11 +210,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt( | ||||||
|   | |||||||
| @@ -356,10 +356,10 @@ index 8dbf958c189dd..6eaccc6688eca 100644 | |||||||
|      *dir = base::FilePath(policy::path_parser::ExpandPathVariables(value)); |      *dir = base::FilePath(policy::path_parser::ExpandPathVariables(value)); | ||||||
|      return true; |      return true; | ||||||
| diff --git chrome/common/chrome_paths.cc chrome/common/chrome_paths.cc | diff --git chrome/common/chrome_paths.cc chrome/common/chrome_paths.cc | ||||||
| index 6476c59ba6378..090eeaf9924a6 100644 | index 05825d36640d0..ab007a1f05fde 100644 | ||||||
| --- chrome/common/chrome_paths.cc | --- chrome/common/chrome_paths.cc | ||||||
| +++ chrome/common/chrome_paths.cc | +++ chrome/common/chrome_paths.cc | ||||||
| @@ -500,7 +500,8 @@ bool PathProvider(int key, base::FilePath* result) { | @@ -504,7 +504,8 @@ bool PathProvider(int key, base::FilePath* result) { | ||||||
|        break; |        break; | ||||||
|      } |      } | ||||||
|  #endif |  #endif | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc | diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc | ||||||
| index 9f3d26990651f..e89f779746ac5 100644 | index 8e75f8b83bc77..19dec27e26680 100644 | ||||||
| --- chrome/browser/printing/print_backend_service_manager.cc | --- chrome/browser/printing/print_backend_service_manager.cc | ||||||
| +++ chrome/browser/printing/print_backend_service_manager.cc | +++ chrome/browser/printing/print_backend_service_manager.cc | ||||||
| @@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr; | @@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr; | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc | diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc | ||||||
| index ecf5f7dd2b2b8..23775b4aa4d90 100644 | index 3357c7926a48f..77c27c7883f27 100644 | ||||||
| --- chrome/browser/profiles/off_the_record_profile_impl.cc | --- chrome/browser/profiles/off_the_record_profile_impl.cc | ||||||
| +++ chrome/browser/profiles/off_the_record_profile_impl.cc | +++ chrome/browser/profiles/off_the_record_profile_impl.cc | ||||||
| @@ -653,7 +653,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile( | @@ -655,7 +655,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile( | ||||||
|  #endif |  #endif | ||||||
|    if (!profile) |    if (!profile) | ||||||
|      profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id); |      profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id); | ||||||
| @@ -52,10 +52,10 @@ index a490fefce8c79..2a066c47ef96d 100644 | |||||||
|  Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForDevTools() { |  Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForDevTools() { | ||||||
|    return CreateUnique(kDevToolsOTRProfileIDPrefix); |    return CreateUnique(kDevToolsOTRProfileIDPrefix); | ||||||
| diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h | diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h | ||||||
| index 2fe342e49d3c1..559b2a676dab5 100644 | index c8d72ed59252f..d785187710a79 100644 | ||||||
| --- chrome/browser/profiles/profile.h | --- chrome/browser/profiles/profile.h | ||||||
| +++ chrome/browser/profiles/profile.h | +++ chrome/browser/profiles/profile.h | ||||||
| @@ -94,6 +94,10 @@ class Profile : public content::BrowserContext { | @@ -93,6 +93,10 @@ class Profile : public content::BrowserContext { | ||||||
|      // be applicable to run. Please see crbug.com/1098697#c3 for more details. |      // be applicable to run. Please see crbug.com/1098697#c3 for more details. | ||||||
|      static OTRProfileID CreateUnique(const std::string& profile_id_prefix); |      static OTRProfileID CreateUnique(const std::string& profile_id_prefix); | ||||||
|   |   | ||||||
| @@ -66,7 +66,7 @@ index 2fe342e49d3c1..559b2a676dab5 100644 | |||||||
|      // Creates a unique OTR profile id to be used for DevTools browser contexts. |      // Creates a unique OTR profile id to be used for DevTools browser contexts. | ||||||
|      static OTRProfileID CreateUniqueForDevTools(); |      static OTRProfileID CreateUniqueForDevTools(); | ||||||
|   |   | ||||||
| @@ -511,6 +515,9 @@ class Profile : public content::BrowserContext { | @@ -509,6 +513,9 @@ class Profile : public content::BrowserContext { | ||||||
|    static Profile* FromJavaObject(const jni_zero::JavaRef<jobject>& obj); |    static Profile* FromJavaObject(const jni_zero::JavaRef<jobject>& obj); | ||||||
|    jni_zero::ScopedJavaLocalRef<jobject> GetJavaObject() const; |    jni_zero::ScopedJavaLocalRef<jobject> GetJavaObject() const; | ||||||
|  #endif  // BUILDFLAG(IS_ANDROID) |  #endif  // BUILDFLAG(IS_ANDROID) | ||||||
| @@ -76,7 +76,7 @@ index 2fe342e49d3c1..559b2a676dab5 100644 | |||||||
|   protected: |   protected: | ||||||
|    // Creates an OffTheRecordProfile which points to this Profile. |    // Creates an OffTheRecordProfile which points to this Profile. | ||||||
|    static std::unique_ptr<Profile> CreateOffTheRecordProfile( |    static std::unique_ptr<Profile> CreateOffTheRecordProfile( | ||||||
| @@ -522,7 +529,6 @@ class Profile : public content::BrowserContext { | @@ -520,7 +527,6 @@ class Profile : public content::BrowserContext { | ||||||
|    static PrefStore* CreateExtensionPrefStore(Profile*, |    static PrefStore* CreateExtensionPrefStore(Profile*, | ||||||
|                                               bool incognito_pref_store); |                                               bool incognito_pref_store); | ||||||
|   |   | ||||||
| @@ -85,10 +85,10 @@ index 2fe342e49d3c1..559b2a676dab5 100644 | |||||||
|   |   | ||||||
|    // Returns whether the user has signed in this profile to an account. |    // Returns whether the user has signed in this profile to an account. | ||||||
| diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc | diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc | ||||||
| index 0fb68a6c01dfd..7a3aabb607b87 100644 | index a27c5368517b0..54f2f1572b7ad 100644 | ||||||
| --- chrome/browser/profiles/profile_impl.cc | --- chrome/browser/profiles/profile_impl.cc | ||||||
| +++ chrome/browser/profiles/profile_impl.cc | +++ chrome/browser/profiles/profile_impl.cc | ||||||
| @@ -1022,7 +1022,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id, | @@ -1023,7 +1023,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id, | ||||||
|   |   | ||||||
|    otr_profiles_[otr_profile_id] = std::move(otr_profile); |    otr_profiles_[otr_profile_id] = std::move(otr_profile); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn | diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn | ||||||
| index 2fccae1ba5b02..470b8d8b3fae3 100644 | index 50c6735fe6074..749fb1ff46146 100644 | ||||||
| --- chrome/browser/safe_browsing/BUILD.gn | --- chrome/browser/safe_browsing/BUILD.gn | ||||||
| +++ chrome/browser/safe_browsing/BUILD.gn | +++ chrome/browser/safe_browsing/BUILD.gn | ||||||
| @@ -38,6 +38,7 @@ static_library("safe_browsing") { | @@ -37,6 +37,7 @@ static_library("safe_browsing") { | ||||||
|      "//components/enterprise/buildflags", |      "//components/enterprise/buildflags", | ||||||
|      "//components/enterprise/common:strings", |      "//components/enterprise/common:strings", | ||||||
|      "//components/enterprise/obfuscation/core:enterprise_obfuscation", |      "//components/enterprise/obfuscation/core:enterprise_obfuscation", | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ index d26f0998c81fc..098282f9ca599 100644 | |||||||
|    StartupProfileMode mode = |    StartupProfileMode mode = | ||||||
|        StartupProfileModeFromReason(profile_path_info.reason); |        StartupProfileModeFromReason(profile_path_info.reason); | ||||||
| diff --git chrome/browser/ui/startup/startup_browser_creator.h chrome/browser/ui/startup/startup_browser_creator.h | diff --git chrome/browser/ui/startup/startup_browser_creator.h chrome/browser/ui/startup/startup_browser_creator.h | ||||||
| index a8c47297e36b7..5f0e5a4a98c81 100644 | index 7f3adc69c404c..68f5a01e3bab4 100644 | ||||||
| --- chrome/browser/ui/startup/startup_browser_creator.h | --- chrome/browser/ui/startup/startup_browser_creator.h | ||||||
| +++ chrome/browser/ui/startup/startup_browser_creator.h | +++ chrome/browser/ui/startup/startup_browser_creator.h | ||||||
| @@ -9,6 +9,7 @@ | @@ -9,6 +9,7 @@ | ||||||
|   | |||||||
| @@ -69,7 +69,7 @@ index 46103729d33a7..fbc400e60239b 100644 | |||||||
|  // chrome://terms |  // chrome://terms | ||||||
|  class TermsUIConfig : public AboutUIConfigBase { |  class TermsUIConfig : public AboutUIConfigBase { | ||||||
| diff --git chrome/browser/ui/webui/chrome_web_ui_configs.cc chrome/browser/ui/webui/chrome_web_ui_configs.cc | diff --git chrome/browser/ui/webui/chrome_web_ui_configs.cc chrome/browser/ui/webui/chrome_web_ui_configs.cc | ||||||
| index dd1c0af6d55ca..bf694c686434b 100644 | index 184e3a58c47ac..7152bd618f351 100644 | ||||||
| --- chrome/browser/ui/webui/chrome_web_ui_configs.cc | --- chrome/browser/ui/webui/chrome_web_ui_configs.cc | ||||||
| +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc | +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc | ||||||
| @@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||||||
| @@ -80,7 +80,7 @@ index dd1c0af6d55ca..bf694c686434b 100644 | |||||||
|  #include "chrome/browser/optimization_guide/optimization_guide_internals_ui.h" |  #include "chrome/browser/optimization_guide/optimization_guide_internals_ui.h" | ||||||
|  #include "chrome/browser/ui/webui/about/about_ui.h" |  #include "chrome/browser/ui/webui/about/about_ui.h" | ||||||
|  #include "chrome/browser/ui/webui/accessibility/accessibility_ui.h" |  #include "chrome/browser/ui/webui/accessibility/accessibility_ui.h" | ||||||
| @@ -209,6 +210,9 @@ void RegisterChromeWebUIConfigs() { | @@ -211,6 +212,9 @@ void RegisterChromeWebUIConfigs() { | ||||||
|    map.AddWebUIConfig(std::make_unique<BluetoothInternalsUIConfig>()); |    map.AddWebUIConfig(std::make_unique<BluetoothInternalsUIConfig>()); | ||||||
|    map.AddWebUIConfig(std::make_unique<BrowsingTopicsInternalsUIConfig>()); |    map.AddWebUIConfig(std::make_unique<BrowsingTopicsInternalsUIConfig>()); | ||||||
|    map.AddWebUIConfig(std::make_unique<chromeos::DeviceLogUIConfig>()); |    map.AddWebUIConfig(std::make_unique<chromeos::DeviceLogUIConfig>()); | ||||||
| @@ -105,7 +105,7 @@ index d94ad4f02b11d..c1100feeff7c6 100644 | |||||||
|  #if !BUILDFLAG(IS_ANDROID) |  #if !BUILDFLAG(IS_ANDROID) | ||||||
|        kChromeUIManagementHost, |        kChromeUIManagementHost, | ||||||
| diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h | diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h | ||||||
| index 8c8870763d73d..cc7ba0131fa0a 100644 | index aa2c595dabdd1..94938716ccd4a 100644 | ||||||
| --- chrome/common/webui_url_constants.h | --- chrome/common/webui_url_constants.h | ||||||
| +++ chrome/common/webui_url_constants.h | +++ chrome/common/webui_url_constants.h | ||||||
| @@ -17,6 +17,7 @@ | @@ -17,6 +17,7 @@ | ||||||
|   | |||||||
| @@ -124,7 +124,7 @@ index 2f8162d7491d1..b00f0d5bf26ae 100644 | |||||||
|    // Factory for the creating refs in callbacks. |    // Factory for the creating refs in callbacks. | ||||||
|    base::WeakPtrFactory<VersionHandler> weak_ptr_factory_{this}; |    base::WeakPtrFactory<VersionHandler> weak_ptr_factory_{this}; | ||||||
| diff --git chrome/browser/ui/webui/version/version_ui.cc chrome/browser/ui/webui/version/version_ui.cc | diff --git chrome/browser/ui/webui/version/version_ui.cc chrome/browser/ui/webui/version/version_ui.cc | ||||||
| index 04741c513f541..90997d537aede 100644 | index c021991c04f77..aa6ad561dfd80 100644 | ||||||
| --- chrome/browser/ui/webui/version/version_ui.cc | --- chrome/browser/ui/webui/version/version_ui.cc | ||||||
| +++ chrome/browser/ui/webui/version/version_ui.cc | +++ chrome/browser/ui/webui/version/version_ui.cc | ||||||
| @@ -16,6 +16,7 @@ | @@ -16,6 +16,7 @@ | ||||||
| @@ -135,7 +135,7 @@ index 04741c513f541..90997d537aede 100644 | |||||||
|  #include "chrome/browser/browser_process_impl.h" |  #include "chrome/browser/browser_process_impl.h" | ||||||
|  #include "chrome/browser/profiles/profile.h" |  #include "chrome/browser/profiles/profile.h" | ||||||
|  #include "chrome/browser/ui/webui/version/version_handler.h" |  #include "chrome/browser/ui/webui/version/version_handler.h" | ||||||
| @@ -62,6 +63,10 @@ | @@ -63,6 +64,10 @@ | ||||||
|  #include "chrome/browser/ui/webui/version/version_util_win.h" |  #include "chrome/browser/ui/webui/version/version_util_win.h" | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| @@ -146,7 +146,7 @@ index 04741c513f541..90997d537aede 100644 | |||||||
|  using content::WebUIDataSource; |  using content::WebUIDataSource; | ||||||
|   |   | ||||||
|  namespace { |  namespace { | ||||||
| @@ -82,6 +87,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { | @@ -83,6 +88,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { | ||||||
|        {version_ui::kCommandLineName, IDS_VERSION_UI_COMMAND_LINE}, |        {version_ui::kCommandLineName, IDS_VERSION_UI_COMMAND_LINE}, | ||||||
|        {version_ui::kExecutablePathName, IDS_VERSION_UI_EXECUTABLE_PATH}, |        {version_ui::kExecutablePathName, IDS_VERSION_UI_EXECUTABLE_PATH}, | ||||||
|        {version_ui::kProfilePathName, IDS_VERSION_UI_PROFILE_PATH}, |        {version_ui::kProfilePathName, IDS_VERSION_UI_PROFILE_PATH}, | ||||||
| @@ -157,7 +157,7 @@ index 04741c513f541..90997d537aede 100644 | |||||||
|        {version_ui::kVariationsName, IDS_VERSION_UI_VARIATIONS}, |        {version_ui::kVariationsName, IDS_VERSION_UI_VARIATIONS}, | ||||||
|        {version_ui::kVariationsCmdName, IDS_VERSION_UI_VARIATIONS_CMD}, |        {version_ui::kVariationsCmdName, IDS_VERSION_UI_VARIATIONS_CMD}, | ||||||
|        {version_ui::kCopyVariationsLabel, IDS_VERSION_UI_COPY_VARIATIONS_LABEL}, |        {version_ui::kCopyVariationsLabel, IDS_VERSION_UI_COPY_VARIATIONS_LABEL}, | ||||||
| @@ -113,6 +122,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { | @@ -114,6 +123,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { | ||||||
|                                 IDR_PRODUCT_LOGO_WHITE); |                                 IDR_PRODUCT_LOGO_WHITE); | ||||||
|  #endif  // BUILDFLAG(IS_ANDROID) |  #endif  // BUILDFLAG(IS_ANDROID) | ||||||
|    html_source->SetDefaultResource(IDR_VERSION_UI_ABOUT_VERSION_HTML); |    html_source->SetDefaultResource(IDR_VERSION_UI_ABOUT_VERSION_HTML); | ||||||
| @@ -168,7 +168,7 @@ index 04741c513f541..90997d537aede 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  std::string GetProductModifier() { |  std::string GetProductModifier() { | ||||||
| @@ -229,6 +242,10 @@ void VersionUI::AddVersionDetailStrings(content::WebUIDataSource* html_source) { | @@ -242,6 +255,10 @@ void VersionUI::AddVersionDetailStrings(content::WebUIDataSource* html_source) { | ||||||
|    // blank. |    // blank. | ||||||
|    html_source->AddString(version_ui::kExecutablePath, std::string_view()); |    html_source->AddString(version_ui::kExecutablePath, std::string_view()); | ||||||
|    html_source->AddString(version_ui::kProfilePath, std::string_view()); |    html_source->AddString(version_ui::kProfilePath, std::string_view()); | ||||||
| @@ -233,7 +233,7 @@ index bd41fd2492e79..04378e39332e1 100644 | |||||||
| +  font-size: 0.8em; | +  font-size: 0.8em; | ||||||
| +} | +} | ||||||
| diff --git components/webui/version/resources/about_version.html components/webui/version/resources/about_version.html | diff --git components/webui/version/resources/about_version.html components/webui/version/resources/about_version.html | ||||||
| index 1243b0cb31f59..723f9eedd2885 100644 | index 40c7cc51fc863..b3ee7e7978e93 100644 | ||||||
| --- components/webui/version/resources/about_version.html | --- components/webui/version/resources/about_version.html | ||||||
| +++ components/webui/version/resources/about_version.html | +++ components/webui/version/resources/about_version.html | ||||||
| @@ -48,9 +48,21 @@ about:version template page | @@ -48,9 +48,21 @@ about:version template page | ||||||
| @@ -322,7 +322,7 @@ index ea5f11471acf2..f604065bbe8fe 100644 | |||||||
|   |   | ||||||
|  // <if expr="is_win"> |  // <if expr="is_win"> | ||||||
| diff --git components/webui/version/version_ui_constants.cc components/webui/version/version_ui_constants.cc | diff --git components/webui/version/version_ui_constants.cc components/webui/version/version_ui_constants.cc | ||||||
| index 146817785885f..313ebec9d923f 100644 | index 7c9bd75c4de1b..4ab5265b5f2c0 100644 | ||||||
| --- components/webui/version/version_ui_constants.cc | --- components/webui/version/version_ui_constants.cc | ||||||
| +++ components/webui/version/version_ui_constants.cc | +++ components/webui/version/version_ui_constants.cc | ||||||
| @@ -5,6 +5,7 @@ | @@ -5,6 +5,7 @@ | ||||||
| @@ -333,7 +333,7 @@ index 146817785885f..313ebec9d923f 100644 | |||||||
|   |   | ||||||
|  namespace version_ui { |  namespace version_ui { | ||||||
|   |   | ||||||
| @@ -91,4 +92,15 @@ const char kVersion[] = "version"; | @@ -92,4 +93,15 @@ const char kVersionSuffix[] = "version_suffix"; | ||||||
|  const char kVersionModifier[] = "version_modifier"; |  const char kVersionModifier[] = "version_modifier"; | ||||||
|  const char kVersionProcessorVariation[] = "version_processor_variation"; |  const char kVersionProcessorVariation[] = "version_processor_variation"; | ||||||
|   |   | ||||||
| @@ -350,7 +350,7 @@ index 146817785885f..313ebec9d923f 100644 | |||||||
| + | + | ||||||
|  }  // namespace version_ui |  }  // namespace version_ui | ||||||
| diff --git components/webui/version/version_ui_constants.h components/webui/version/version_ui_constants.h | diff --git components/webui/version/version_ui_constants.h components/webui/version/version_ui_constants.h | ||||||
| index 86d7317ddcee5..45523e445c4b0 100644 | index a3a92aa75848d..4dedc4390e85c 100644 | ||||||
| --- components/webui/version/version_ui_constants.h | --- components/webui/version/version_ui_constants.h | ||||||
| +++ components/webui/version/version_ui_constants.h | +++ components/webui/version/version_ui_constants.h | ||||||
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||||||
| @@ -361,7 +361,7 @@ index 86d7317ddcee5..45523e445c4b0 100644 | |||||||
|   |   | ||||||
|  namespace version_ui { |  namespace version_ui { | ||||||
|   |   | ||||||
| @@ -93,6 +94,17 @@ extern const char kVersion[]; | @@ -94,6 +95,17 @@ extern const char kVersionSuffix[]; | ||||||
|  extern const char kVersionModifier[]; |  extern const char kVersionModifier[]; | ||||||
|  extern const char kVersionProcessorVariation[]; |  extern const char kVersionProcessorVariation[]; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,16 +1,16 @@ | |||||||
| diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn | diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn | ||||||
| index 15957beb86998..fa0a5a1b76b9d 100644 | index 948d6c41cdede..80039133de468 100644 | ||||||
| --- chrome/renderer/BUILD.gn | --- chrome/renderer/BUILD.gn | ||||||
| +++ chrome/renderer/BUILD.gn | +++ chrome/renderer/BUILD.gn | ||||||
| @@ -5,6 +5,7 @@ | @@ -4,6 +4,7 @@ | ||||||
|  |   | ||||||
|  import("//build/config/buildflags_paint_preview.gni") |  import("//build/config/buildflags_paint_preview.gni") | ||||||
|  import("//build/config/chromeos/ui_mode.gni") |  | ||||||
|  import("//build/config/features.gni") |  import("//build/config/features.gni") | ||||||
| +import("//cef/libcef/features/features.gni") | +import("//cef/libcef/features/features.gni") | ||||||
|  import("//chrome/common/features.gni") |  import("//chrome/common/features.gni") | ||||||
|  import("//components/nacl/features.gni") |  import("//components/nacl/features.gni") | ||||||
|  import("//components/offline_pages/buildflags/features.gni") |  import("//components/offline_pages/buildflags/features.gni") | ||||||
| @@ -136,6 +137,7 @@ static_library("renderer") { | @@ -133,6 +134,7 @@ static_library("renderer") { | ||||||
|      ":process_state", |      ":process_state", | ||||||
|      "//base/allocator:buildflags", |      "//base/allocator:buildflags", | ||||||
|      "//build:chromeos_buildflags", |      "//build:chromeos_buildflags", | ||||||
| @@ -18,8 +18,8 @@ index 15957beb86998..fa0a5a1b76b9d 100644 | |||||||
|      "//chrome:resources", |      "//chrome:resources", | ||||||
|      "//chrome:strings", |      "//chrome:strings", | ||||||
|      "//chrome/common", |      "//chrome/common", | ||||||
| @@ -249,6 +251,10 @@ static_library("renderer") { | @@ -250,6 +252,10 @@ static_library("renderer") { | ||||||
|      ] |      deps += [ "//chrome/renderer/actor" ] | ||||||
|    } |    } | ||||||
|   |   | ||||||
| +  if (enable_cef) { | +  if (enable_cef) { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc | diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc | ||||||
| index 5974cdb9b3a8b..5ab669f302ce8 100644 | index 345d2729f1802..10d3294221f3b 100644 | ||||||
| --- chrome/app/chrome_main_delegate.cc | --- chrome/app/chrome_main_delegate.cc | ||||||
| +++ chrome/app/chrome_main_delegate.cc | +++ chrome/app/chrome_main_delegate.cc | ||||||
| @@ -42,6 +42,7 @@ | @@ -43,6 +43,7 @@ | ||||||
|  #include "base/timer/timer.h" |  #include "base/timer/timer.h" | ||||||
|  #include "base/trace_event/trace_event_impl.h" |  #include "base/trace_event/trace_event_impl.h" | ||||||
|  #include "build/build_config.h" |  #include "build/build_config.h" | ||||||
| @@ -158,10 +158,10 @@ index 5974cdb9b3a8b..5ab669f302ce8 100644 | |||||||
| +      .Initialize(*memory_system_); | +      .Initialize(*memory_system_); | ||||||
|  } |  } | ||||||
| diff --git chrome/app/chrome_main_delegate.h chrome/app/chrome_main_delegate.h | diff --git chrome/app/chrome_main_delegate.h chrome/app/chrome_main_delegate.h | ||||||
| index 4c70555277148..63300fe191e5e 100644 | index 18b33015ee4b6..e17447cb922e9 100644 | ||||||
| --- chrome/app/chrome_main_delegate.h | --- chrome/app/chrome_main_delegate.h | ||||||
| +++ chrome/app/chrome_main_delegate.h | +++ chrome/app/chrome_main_delegate.h | ||||||
| @@ -16,6 +16,7 @@ | @@ -17,6 +17,7 @@ | ||||||
|  #include "chrome/common/chrome_content_client.h" |  #include "chrome/common/chrome_content_client.h" | ||||||
|  #include "components/memory_system/memory_system.h" |  #include "components/memory_system/memory_system.h" | ||||||
|  #include "content/public/app/content_main_delegate.h" |  #include "content/public/app/content_main_delegate.h" | ||||||
| @@ -169,7 +169,7 @@ index 4c70555277148..63300fe191e5e 100644 | |||||||
|   |   | ||||||
|  namespace base { |  namespace base { | ||||||
|  class CommandLine; |  class CommandLine; | ||||||
| @@ -50,6 +51,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate { | @@ -51,6 +52,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate { | ||||||
|   |   | ||||||
|    ~ChromeMainDelegate() override; |    ~ChromeMainDelegate() override; | ||||||
|   |   | ||||||
| @@ -178,7 +178,7 @@ index 4c70555277148..63300fe191e5e 100644 | |||||||
|   protected: |   protected: | ||||||
|    // content::ContentMainDelegate: |    // content::ContentMainDelegate: | ||||||
|    std::optional<int> BasicStartupComplete() override; |    std::optional<int> BasicStartupComplete() override; | ||||||
| @@ -94,13 +97,17 @@ class ChromeMainDelegate : public content::ContentMainDelegate { | @@ -95,13 +98,17 @@ class ChromeMainDelegate : public content::ContentMainDelegate { | ||||||
|   |   | ||||||
|    void InitializeMemorySystem(); |    void InitializeMemorySystem(); | ||||||
|   |   | ||||||
| @@ -433,10 +433,10 @@ index e26e3625c99c8..c0d4a95607e37 100644 | |||||||
| +#endif | +#endif | ||||||
|  } |  } | ||||||
| diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc | diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc | ||||||
| index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | index 5b8b1bf1bc86e..8d2274c606ef4 100644 | ||||||
| --- chrome/browser/chrome_content_browser_client.cc | --- chrome/browser/chrome_content_browser_client.cc | ||||||
| +++ chrome/browser/chrome_content_browser_client.cc | +++ chrome/browser/chrome_content_browser_client.cc | ||||||
| @@ -47,6 +47,7 @@ | @@ -48,6 +48,7 @@ | ||||||
|  #include "build/branding_buildflags.h" |  #include "build/branding_buildflags.h" | ||||||
|  #include "build/build_config.h" |  #include "build/build_config.h" | ||||||
|  #include "build/config/chromebox_for_meetings/buildflags.h"  // PLATFORM_CFM |  #include "build/config/chromebox_for_meetings/buildflags.h"  // PLATFORM_CFM | ||||||
| @@ -444,7 +444,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|  #include "chrome/browser/after_startup_task_utils.h" |  #include "chrome/browser/after_startup_task_utils.h" | ||||||
|  #include "chrome/browser/ai/ai_manager.h" |  #include "chrome/browser/ai/ai_manager.h" | ||||||
|  #include "chrome/browser/app_mode/app_mode_utils.h" |  #include "chrome/browser/app_mode/app_mode_utils.h" | ||||||
| @@ -1490,6 +1491,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { | @@ -1494,6 +1495,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  ChromeContentBrowserClient::ChromeContentBrowserClient() { |  ChromeContentBrowserClient::ChromeContentBrowserClient() { | ||||||
| @@ -453,7 +453,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|  #if BUILDFLAG(ENABLE_PLUGINS) |  #if BUILDFLAG(ENABLE_PLUGINS) | ||||||
|    extra_parts_.push_back( |    extra_parts_.push_back( | ||||||
|        std::make_unique<ChromeContentBrowserClientPluginsPart>()); |        std::make_unique<ChromeContentBrowserClientPluginsPart>()); | ||||||
| @@ -1527,6 +1530,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { | @@ -1531,6 +1534,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { | ||||||
|    } |    } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -465,7 +465,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|  // static |  // static | ||||||
|  void ChromeContentBrowserClient::RegisterLocalStatePrefs( |  void ChromeContentBrowserClient::RegisterLocalStatePrefs( | ||||||
|      PrefRegistrySimple* registry) { |      PrefRegistrySimple* registry) { | ||||||
| @@ -4731,9 +4739,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( | @@ -4792,9 +4800,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( | ||||||
|                            &search::HandleNewTabURLReverseRewrite); |                            &search::HandleNewTabURLReverseRewrite); | ||||||
|  #endif  // BUILDFLAG(IS_ANDROID) |  #endif  // BUILDFLAG(IS_ANDROID) | ||||||
|   |   | ||||||
| @@ -477,7 +477,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { |  base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { | ||||||
| @@ -6809,7 +6819,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( | @@ -6876,7 +6886,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( | ||||||
|    } |    } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -486,7 +486,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|      content::BrowserContext* context, |      content::BrowserContext* context, | ||||||
|      bool in_memory, |      bool in_memory, | ||||||
|      const base::FilePath& relative_partition_path, |      const base::FilePath& relative_partition_path, | ||||||
| @@ -6827,6 +6837,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( | @@ -6894,6 +6904,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( | ||||||
|      network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); |      network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); | ||||||
|      network_context_params->accept_language = GetApplicationLocale(); |      network_context_params->accept_language = GetApplicationLocale(); | ||||||
|    } |    } | ||||||
| @@ -495,7 +495,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  std::vector<base::FilePath> |  std::vector<base::FilePath> | ||||||
| @@ -7956,11 +7968,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( | @@ -8032,11 +8044,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( | ||||||
|    const auto now = base::TimeTicks::Now(); |    const auto now = base::TimeTicks::Now(); | ||||||
|    const auto timeout = GetKeepaliveTimerTimeout(context); |    const auto timeout = GetKeepaliveTimerTimeout(context); | ||||||
|    keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); |    keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); | ||||||
| @@ -509,7 +509,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|            FROM_HERE, keepalive_deadline_ - now, |            FROM_HERE, keepalive_deadline_ - now, | ||||||
|            base::BindOnce( |            base::BindOnce( | ||||||
|                &ChromeContentBrowserClient::OnKeepaliveTimerFired, |                &ChromeContentBrowserClient::OnKeepaliveTimerFired, | ||||||
| @@ -7982,7 +7994,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { | @@ -8058,7 +8070,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { | ||||||
|    --num_keepalive_requests_; |    --num_keepalive_requests_; | ||||||
|    if (num_keepalive_requests_ == 0) { |    if (num_keepalive_requests_ == 0) { | ||||||
|      DVLOG(1) << "Stopping the keepalive timer"; |      DVLOG(1) << "Stopping the keepalive timer"; | ||||||
| @@ -519,7 +519,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|      // This deletes the keep alive handle attached to the timer function and |      // This deletes the keep alive handle attached to the timer function and | ||||||
|      // unblock the shutdown sequence. |      // unblock the shutdown sequence. | ||||||
|    } |    } | ||||||
| @@ -8160,7 +8173,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( | @@ -8236,7 +8249,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( | ||||||
|    const auto now = base::TimeTicks::Now(); |    const auto now = base::TimeTicks::Now(); | ||||||
|    const auto then = keepalive_deadline_; |    const auto then = keepalive_deadline_; | ||||||
|    if (now < then) { |    if (now < then) { | ||||||
| @@ -529,7 +529,7 @@ index c9d3bbcf2a0b1..2dd6a7ecf6a84 100644 | |||||||
|          base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, |          base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, | ||||||
|                         weak_factory_.GetWeakPtr(), |                         weak_factory_.GetWeakPtr(), | ||||||
| diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h | diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h | ||||||
| index 2b5748cd55d4c..c80ed07d3b623 100644 | index 3542dd8ea5593..dfd89fec1e4a6 100644 | ||||||
| --- chrome/browser/chrome_content_browser_client.h | --- chrome/browser/chrome_content_browser_client.h | ||||||
| +++ chrome/browser/chrome_content_browser_client.h | +++ chrome/browser/chrome_content_browser_client.h | ||||||
| @@ -159,6 +159,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | @@ -159,6 +159,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | ||||||
| @@ -541,7 +541,7 @@ index 2b5748cd55d4c..c80ed07d3b623 100644 | |||||||
|    // TODO(crbug.com/41356866): This file is about calls from content/ out |    // TODO(crbug.com/41356866): This file is about calls from content/ out | ||||||
|    // to chrome/ to get values or notify about events, but both of these |    // 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. |    // functions are from chrome/ to chrome/ and don't involve content/ at all. | ||||||
| @@ -727,7 +729,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | @@ -730,7 +732,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | ||||||
|        override; |        override; | ||||||
|    void OnNetworkServiceCreated( |    void OnNetworkServiceCreated( | ||||||
|        network::mojom::NetworkService* network_service) override; |        network::mojom::NetworkService* network_service) override; | ||||||
| @@ -550,7 +550,7 @@ index 2b5748cd55d4c..c80ed07d3b623 100644 | |||||||
|        content::BrowserContext* context, |        content::BrowserContext* context, | ||||||
|        bool in_memory, |        bool in_memory, | ||||||
|        const base::FilePath& relative_partition_path, |        const base::FilePath& relative_partition_path, | ||||||
| @@ -1343,7 +1345,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | @@ -1358,7 +1360,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { | ||||||
|   |   | ||||||
|  #if !BUILDFLAG(IS_ANDROID) |  #if !BUILDFLAG(IS_ANDROID) | ||||||
|    uint64_t num_keepalive_requests_ = 0; |    uint64_t num_keepalive_requests_ = 0; | ||||||
| @@ -560,7 +560,7 @@ index 2b5748cd55d4c..c80ed07d3b623 100644 | |||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc | diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc | ||||||
| index c95fca6d405cd..ecec59e7ee2b7 100644 | index 7393b3400afe4..e19f464f67640 100644 | ||||||
| --- chrome/browser/prefs/browser_prefs.cc | --- chrome/browser/prefs/browser_prefs.cc | ||||||
| +++ chrome/browser/prefs/browser_prefs.cc | +++ chrome/browser/prefs/browser_prefs.cc | ||||||
| @@ -15,6 +15,7 @@ | @@ -15,6 +15,7 @@ | ||||||
| @@ -571,7 +571,7 @@ index c95fca6d405cd..ecec59e7ee2b7 100644 | |||||||
|  #include "chrome/browser/about_flags.h" |  #include "chrome/browser/about_flags.h" | ||||||
|  #include "chrome/browser/accessibility/accessibility_labels_service.h" |  #include "chrome/browser/accessibility/accessibility_labels_service.h" | ||||||
|  #include "chrome/browser/accessibility/invert_bubble_prefs.h" |  #include "chrome/browser/accessibility/invert_bubble_prefs.h" | ||||||
| @@ -209,6 +210,10 @@ | @@ -208,6 +209,10 @@ | ||||||
|  #include "extensions/browser/pref_names.h" |  #include "extensions/browser/pref_names.h" | ||||||
|  #endif  // BUILDFLAG(ENABLE_EXTENSIONS_CORE) |  #endif  // BUILDFLAG(ENABLE_EXTENSIONS_CORE) | ||||||
|   |   | ||||||
| @@ -582,7 +582,7 @@ index c95fca6d405cd..ecec59e7ee2b7 100644 | |||||||
|  #if BUILDFLAG(ENABLE_EXTENSIONS) |  #if BUILDFLAG(ENABLE_EXTENSIONS) | ||||||
|  #include "chrome/browser/accessibility/animation_policy_prefs.h" |  #include "chrome/browser/accessibility/animation_policy_prefs.h" | ||||||
|  #include "chrome/browser/apps/platform_apps/shortcut_manager.h" |  #include "chrome/browser/apps/platform_apps/shortcut_manager.h" | ||||||
| @@ -1842,6 +1847,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { | @@ -1830,6 +1835,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { | ||||||
|   |   | ||||||
|    // This is intentionally last. |    // This is intentionally last. | ||||||
|    RegisterLocalStatePrefsForMigration(registry); |    RegisterLocalStatePrefsForMigration(registry); | ||||||
| @@ -594,7 +594,7 @@ index c95fca6d405cd..ecec59e7ee2b7 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  // Register prefs applicable to all profiles. |  // Register prefs applicable to all profiles. | ||||||
| @@ -2281,6 +2291,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, | @@ -2271,6 +2281,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, | ||||||
|                                const std::string& locale) { |                                const std::string& locale) { | ||||||
|    RegisterProfilePrefs(registry, locale); |    RegisterProfilePrefs(registry, locale); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc | diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc | ||||||
| index 61bb1335729f4..bd8c6967a682a 100644 | index 99056d7aff8c7..2741155416953 100644 | ||||||
| --- chrome/browser/ui/browser_command_controller.cc | --- chrome/browser/ui/browser_command_controller.cc | ||||||
| +++ chrome/browser/ui/browser_command_controller.cc | +++ chrome/browser/ui/browser_command_controller.cc | ||||||
| @@ -427,6 +427,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( | @@ -441,6 +441,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( | ||||||
|    // choose to not implement CommandUpdaterDelegate inside this class and |    // choose to not implement CommandUpdaterDelegate inside this class and | ||||||
|    // therefore command_updater_ doesn't have the delegate set). |    // therefore command_updater_ doesn't have the delegate set). | ||||||
|    if (!SupportsCommand(id) || !IsCommandEnabled(id)) { |    if (!SupportsCommand(id) || !IsCommandEnabled(id)) { | ||||||
| @@ -10,7 +10,7 @@ index 61bb1335729f4..bd8c6967a682a 100644 | |||||||
|      return false; |      return false; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -444,6 +445,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( | @@ -458,6 +459,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( | ||||||
|    DCHECK(command_updater_.IsCommandEnabled(id)) |    DCHECK(command_updater_.IsCommandEnabled(id)) | ||||||
|        << "Invalid/disabled command " << id; |        << "Invalid/disabled command " << id; | ||||||
|   |   | ||||||
| @@ -24,7 +24,7 @@ index 61bb1335729f4..bd8c6967a682a 100644 | |||||||
|    // The order of commands in this switch statement must match the function |    // The order of commands in this switch statement must match the function | ||||||
|    // declaration order in browser.h! |    // declaration order in browser.h! | ||||||
|    switch (id) { |    switch (id) { | ||||||
| @@ -1231,11 +1239,13 @@ void BrowserCommandController::TabRestoreServiceLoaded( | @@ -1271,11 +1279,13 @@ void BrowserCommandController::TabRestoreServiceLoaded( | ||||||
|  // BrowserCommandController, private: |  // BrowserCommandController, private: | ||||||
|   |   | ||||||
|  bool BrowserCommandController::IsShowingMainUI() { |  bool BrowserCommandController::IsShowingMainUI() { | ||||||
| @@ -40,11 +40,27 @@ index 61bb1335729f4..bd8c6967a682a 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void BrowserCommandController::InitCommandState() { |  void BrowserCommandController::InitCommandState() { | ||||||
|  | @@ -1523,11 +1533,12 @@ void BrowserCommandController::InitCommandState() { | ||||||
|  |  #if BUILDFLAG(ENABLE_GLIC) | ||||||
|  |    // Glic commands. | ||||||
|  |    command_updater_.UpdateCommandEnabled( | ||||||
|  | -      IDC_GLIC_TOGGLE_PIN, glic::GlicEnabling::IsProfileEligible(profile())); | ||||||
|  | +      IDC_GLIC_TOGGLE_PIN, glic::GlicEnabling::IsEnabledForProfile(profile())); | ||||||
|  |    command_updater_.UpdateCommandEnabled( | ||||||
|  | -      IDC_OPEN_GLIC, glic::GlicEnabling::IsProfileEligible(profile())); | ||||||
|  | +      IDC_OPEN_GLIC, glic::GlicEnabling::IsEnabledForProfile(profile())); | ||||||
|  |    command_updater_.UpdateCommandEnabled( | ||||||
|  | -      IDC_GLIC_TOGGLE_FOCUS, glic::GlicEnabling::IsProfileEligible(profile())); | ||||||
|  | +      IDC_GLIC_TOGGLE_FOCUS, | ||||||
|  | +      glic::GlicEnabling::IsEnabledForProfile(profile())); | ||||||
|  |  #endif | ||||||
|  |   | ||||||
|  |    // Initialize other commands whose state changes based on various conditions. | ||||||
| diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc | diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc | ||||||
| index 2eb112147b64b..497e2be438367 100644 | index 3dc212eb62ae8..4191ffa5f52a8 100644 | ||||||
| --- chrome/browser/ui/toolbar/app_menu_model.cc | --- chrome/browser/ui/toolbar/app_menu_model.cc | ||||||
| +++ chrome/browser/ui/toolbar/app_menu_model.cc | +++ chrome/browser/ui/toolbar/app_menu_model.cc | ||||||
| @@ -730,10 +730,12 @@ FindAndEditSubMenuModel::FindAndEditSubMenuModel( | @@ -736,10 +736,12 @@ FindAndEditSubMenuModel::FindAndEditSubMenuModel( | ||||||
|      ui::SimpleMenuModel::Delegate* delegate) |      ui::SimpleMenuModel::Delegate* delegate) | ||||||
|      : SimpleMenuModel(delegate) { |      : SimpleMenuModel(delegate) { | ||||||
|    AddItemWithStringIdAndVectorIcon(this, IDC_FIND, IDS_FIND, kSearchMenuIcon); |    AddItemWithStringIdAndVectorIcon(this, IDC_FIND, IDS_FIND, kSearchMenuIcon); | ||||||
| @@ -57,7 +73,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  class SaveAndShareSubMenuModel : public ui::SimpleMenuModel { |  class SaveAndShareSubMenuModel : public ui::SimpleMenuModel { | ||||||
| @@ -798,6 +800,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel( | @@ -804,6 +806,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel( | ||||||
|    } |    } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -115,7 +131,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|  }  // namespace |  }  // namespace | ||||||
|   |   | ||||||
|  //////////////////////////////////////////////////////////////////////////////// |  //////////////////////////////////////////////////////////////////////////////// | ||||||
| @@ -1726,7 +1779,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const { | @@ -1748,7 +1801,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const { | ||||||
|    return false; |    return false; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -124,7 +140,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|    GlobalError* error = |    GlobalError* error = | ||||||
|        GlobalErrorServiceFactory::GetForProfile(browser_->profile()) |        GlobalErrorServiceFactory::GetForProfile(browser_->profile()) | ||||||
|            ->GetGlobalErrorByMenuItemCommandID(command_id); |            ->GetGlobalErrorByMenuItemCommandID(command_id); | ||||||
| @@ -1742,6 +1795,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const { | @@ -1764,6 +1817,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const { | ||||||
|    } |    } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -155,7 +171,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|  bool AppMenuModel::IsCommandIdAlerted(int command_id) const { |  bool AppMenuModel::IsCommandIdAlerted(int command_id) const { | ||||||
|    if (command_id == IDC_VIEW_PASSWORDS || |    if (command_id == IDC_VIEW_PASSWORDS || | ||||||
|        command_id == IDC_SHOW_PASSWORD_MANAGER) { |        command_id == IDC_SHOW_PASSWORD_MANAGER) { | ||||||
| @@ -1897,8 +1974,10 @@ void AppMenuModel::Build() { | @@ -1919,8 +1996,10 @@ void AppMenuModel::Build() { | ||||||
|                                     IDS_CLEAR_BROWSING_DATA, |                                     IDS_CLEAR_BROWSING_DATA, | ||||||
|                                     kTrashCanRefreshIcon); |                                     kTrashCanRefreshIcon); | ||||||
|   |   | ||||||
| @@ -166,7 +182,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|    AddSeparator(ui::NORMAL_SEPARATOR); |    AddSeparator(ui::NORMAL_SEPARATOR); | ||||||
|   |   | ||||||
|    AddItemWithStringIdAndVectorIcon(this, IDC_PRINT, IDS_PRINT, kPrintMenuIcon); |    AddItemWithStringIdAndVectorIcon(this, IDC_PRINT, IDS_PRINT, kPrintMenuIcon); | ||||||
| @@ -1997,6 +2076,11 @@ void AppMenuModel::Build() { | @@ -2028,6 +2107,11 @@ void AppMenuModel::Build() { | ||||||
|    } |    } | ||||||
|  #endif  // !BUILDFLAG(IS_CHROMEOS) |  #endif  // !BUILDFLAG(IS_CHROMEOS) | ||||||
|   |   | ||||||
| @@ -179,7 +195,7 @@ index 2eb112147b64b..497e2be438367 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git chrome/browser/ui/toolbar/app_menu_model.h chrome/browser/ui/toolbar/app_menu_model.h | diff --git chrome/browser/ui/toolbar/app_menu_model.h chrome/browser/ui/toolbar/app_menu_model.h | ||||||
| index f5f5d8c1a8918..bebb784115c87 100644 | index e65c121f225d5..5dddcf5d63555 100644 | ||||||
| --- chrome/browser/ui/toolbar/app_menu_model.h | --- chrome/browser/ui/toolbar/app_menu_model.h | ||||||
| +++ chrome/browser/ui/toolbar/app_menu_model.h | +++ chrome/browser/ui/toolbar/app_menu_model.h | ||||||
| @@ -232,6 +232,7 @@ class AppMenuModel : public ui::SimpleMenuModel, | @@ -232,6 +232,7 @@ class AppMenuModel : public ui::SimpleMenuModel, | ||||||
| @@ -200,7 +216,7 @@ index f5f5d8c1a8918..bebb784115c87 100644 | |||||||
|    // Adds actionable global error menu items to the menu. |    // Adds actionable global error menu items to the menu. | ||||||
|    // Examples: Extension permissions and sign in errors. |    // Examples: Extension permissions and sign in errors. | ||||||
| diff --git chrome/browser/ui/views/find_bar_host.cc chrome/browser/ui/views/find_bar_host.cc | diff --git chrome/browser/ui/views/find_bar_host.cc chrome/browser/ui/views/find_bar_host.cc | ||||||
| index f348f09b374e3..08c704336746e 100644 | index 603a95238c562..dd397451bed5a 100644 | ||||||
| --- chrome/browser/ui/views/find_bar_host.cc | --- chrome/browser/ui/views/find_bar_host.cc | ||||||
| +++ chrome/browser/ui/views/find_bar_host.cc | +++ chrome/browser/ui/views/find_bar_host.cc | ||||||
| @@ -608,6 +608,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) { | @@ -608,6 +608,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) { | ||||||
| @@ -219,7 +235,7 @@ index f348f09b374e3..08c704336746e 100644 | |||||||
|      return gfx::Rect(); |      return gfx::Rect(); | ||||||
|    } |    } | ||||||
| diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc | diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc | ||||||
| index 2e9c753a7da81..c628e1c945f30 100644 | index 55788d3552a4a..09e526e8e7cda 100644 | ||||||
| --- chrome/browser/ui/views/frame/browser_frame.cc | --- chrome/browser/ui/views/frame/browser_frame.cc | ||||||
| +++ chrome/browser/ui/views/frame/browser_frame.cc | +++ chrome/browser/ui/views/frame/browser_frame.cc | ||||||
| @@ -112,15 +112,25 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant( | @@ -112,15 +112,25 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant( | ||||||
| @@ -250,7 +266,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  BrowserFrame::~BrowserFrame() = default; |  BrowserFrame::~BrowserFrame() = default; | ||||||
| @@ -226,10 +236,20 @@ void BrowserFrame::LayoutWebAppWindowTitle( | @@ -228,10 +238,20 @@ void BrowserFrame::LayoutWebAppWindowTitle( | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  int BrowserFrame::GetTopInset() const { |  int BrowserFrame::GetTopInset() const { | ||||||
| @@ -271,7 +287,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|    browser_frame_view_->UpdateThrobber(running); |    browser_frame_view_->UpdateThrobber(running); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -238,6 +258,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const { | @@ -240,6 +260,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool BrowserFrame::UseCustomFrame() const { |  bool BrowserFrame::UseCustomFrame() const { | ||||||
| @@ -280,7 +296,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|    return native_browser_frame_->UseCustomFrame(); |    return native_browser_frame_->UseCustomFrame(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -252,20 +274,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { | @@ -254,20 +276,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const { | ||||||
|  void BrowserFrame::GetWindowPlacement( |  void BrowserFrame::GetWindowPlacement( | ||||||
|      gfx::Rect* bounds, |      gfx::Rect* bounds, | ||||||
|      ui::mojom::WindowShowState* show_state) const { |      ui::mojom::WindowShowState* show_state) const { | ||||||
| @@ -311,7 +327,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|    browser_frame_view_->OnBrowserViewInitViewsComplete(); |    browser_frame_view_->OnBrowserViewInitViewsComplete(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -365,6 +397,8 @@ ui::ColorProviderKey::ThemeInitializerSupplier* BrowserFrame::GetCustomTheme() | @@ -367,6 +399,8 @@ ui::ColorProviderKey::ThemeInitializerSupplier* BrowserFrame::GetCustomTheme() | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void BrowserFrame::OnNativeWidgetWorkspaceChanged() { |  void BrowserFrame::OnNativeWidgetWorkspaceChanged() { | ||||||
| @@ -320,7 +336,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|    chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); |    chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); | ||||||
|    chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), |    chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), | ||||||
|                                             IsVisibleOnAllWorkspaces()); |                                             IsVisibleOnAllWorkspaces()); | ||||||
| @@ -575,6 +609,13 @@ void BrowserFrame::SelectNativeTheme() { | @@ -577,6 +611,13 @@ void BrowserFrame::SelectNativeTheme() { | ||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -334,7 +350,7 @@ index 2e9c753a7da81..c628e1c945f30 100644 | |||||||
|    // Ignore the system theme for web apps with window-controls-overlay as the |    // Ignore the system theme for web apps with window-controls-overlay as the | ||||||
|    // display_override so the web contents can blend with the overlay by using |    // display_override so the web contents can blend with the overlay by using | ||||||
|    // the developer-provided theme color for a better experience. Context: |    // the developer-provided theme color for a better experience. Context: | ||||||
| @@ -640,5 +681,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( | @@ -642,5 +683,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool BrowserFrame::IsIncognitoBrowser() const { |  bool BrowserFrame::IsIncognitoBrowser() const { | ||||||
| @@ -397,10 +413,10 @@ index 3d8a15049d4d2..66c4789581fe1 100644 | |||||||
|    // regenerated. |    // regenerated. | ||||||
|    bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type); |    bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type); | ||||||
| diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc | diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc | ||||||
| index 1b68a93c6d849..4aefc07ba8b02 100644 | index ac0264a452780..1cb030a738ca8 100644 | ||||||
| --- chrome/browser/ui/views/frame/browser_view.cc | --- chrome/browser/ui/views/frame/browser_view.cc | ||||||
| +++ chrome/browser/ui/views/frame/browser_view.cc | +++ chrome/browser/ui/views/frame/browser_view.cc | ||||||
| @@ -356,10 +356,6 @@ using web_modal::WebContentsModalDialogHost; | @@ -363,10 +363,6 @@ using web_modal::WebContentsModalDialogHost; | ||||||
|   |   | ||||||
|  namespace { |  namespace { | ||||||
|   |   | ||||||
| @@ -408,10 +424,10 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
| -// locate this object using just the handle. | -// locate this object using just the handle. | ||||||
| -const char* const kBrowserViewKey = "__BROWSER_VIEW__"; | -const char* const kBrowserViewKey = "__BROWSER_VIEW__"; | ||||||
| - | - | ||||||
|  #if BUILDFLAG(IS_CHROMEOS) |  // The visible height of the shadow above the tabs. Clicks in this area are | ||||||
|  // UMA histograms that record animation smoothness for tab loading animation. |  // treated as clicks to the frame, rather than clicks to the tab. | ||||||
|  constexpr char kTabLoadingSmoothnessHistogramName[] = |  const int kTabShadowSize = 2; | ||||||
| @@ -770,6 +766,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate { | @@ -792,6 +788,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate { | ||||||
|      return browser_view_->frame()->GetTopInset() - browser_view_->y(); |      return browser_view_->frame()->GetTopInset() - browser_view_->y(); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -426,7 +442,7 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|    bool IsToolbarVisible() const override { |    bool IsToolbarVisible() const override { | ||||||
|      return browser_view_->IsToolbarVisible(); |      return browser_view_->IsToolbarVisible(); | ||||||
|    } |    } | ||||||
| @@ -921,11 +925,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver { | @@ -940,11 +944,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver { | ||||||
|  /////////////////////////////////////////////////////////////////////////////// |  /////////////////////////////////////////////////////////////////////////////// | ||||||
|  // BrowserView, public: |  // BrowserView, public: | ||||||
|   |   | ||||||
| @@ -449,8 +465,8 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|    SetShowIcon(::ShouldShowWindowIcon( |    SetShowIcon(::ShouldShowWindowIcon( | ||||||
|        browser_.get(), AppUsesWindowControlsOverlay(), AppUsesTabbed())); |        browser_.get(), AppUsesWindowControlsOverlay(), AppUsesTabbed())); | ||||||
|   |   | ||||||
| @@ -1067,8 +1081,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) | @@ -1097,8 +1111,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) | ||||||
|        watermark_view_)); |        contents_scrim_view_, nullptr, watermark_view_)); | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| -  toolbar_ = top_container_->AddChildView( | -  toolbar_ = top_container_->AddChildView( | ||||||
| @@ -467,7 +483,7 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|   |   | ||||||
|    contents_separator_ = |    contents_separator_ = | ||||||
|        top_container_->AddChildView(std::make_unique<ContentsSeparator>()); |        top_container_->AddChildView(std::make_unique<ContentsSeparator>()); | ||||||
| @@ -1146,7 +1167,9 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) | @@ -1164,18 +1185,22 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  BrowserView::~BrowserView() { |  BrowserView::~BrowserView() { | ||||||
| @@ -477,17 +493,32 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|   |   | ||||||
|    // Remove the layout manager to avoid dangling. This needs to be earlier than |    // Remove the layout manager to avoid dangling. This needs to be earlier than | ||||||
|    // other cleanups that destroy views referenced in the layout manager. |    // other cleanups that destroy views referenced in the layout manager. | ||||||
| @@ -1158,7 +1181,9 @@ BrowserView::~BrowserView() { |    SetLayoutManager(nullptr); | ||||||
|   |   | ||||||
|  | +  if (browser_) { | ||||||
|  |    auto* tab_search_toolbar_button_controller = | ||||||
|  |        browser_->GetFeatures().tab_search_toolbar_button_controller(); | ||||||
|  |    if (tab_search_toolbar_button_controller) { | ||||||
|  |      tab_search_bubble_host_->RemoveObserver( | ||||||
|  |          tab_search_toolbar_button_controller); | ||||||
|  |    } | ||||||
|  | +  } | ||||||
|  |   | ||||||
|  |    tab_search_bubble_host_.reset(); | ||||||
|  |   | ||||||
|  | @@ -1183,9 +1208,11 @@ BrowserView::~BrowserView() { | ||||||
|  |    // tabstrip model and the browser frame. | ||||||
|  |    top_controls_slide_controller_.reset(); | ||||||
|  |   | ||||||
|  | +  if (browser_) { | ||||||
|    // All the tabs should have been destroyed already. If we were closed by the |    // All the tabs should have been destroyed already. If we were closed by the | ||||||
|    // OS with some tabs than the NativeBrowserFrame should have destroyed them. |    // OS with some tabs than the NativeBrowserFrame should have destroyed them. | ||||||
| +  if (browser_) { |  | ||||||
|    DCHECK_EQ(0, browser_->tab_strip_model()->count()); |    DCHECK_EQ(0, browser_->tab_strip_model()->count()); | ||||||
| +  } | +  } | ||||||
|   |   | ||||||
|    // Stop the animation timer explicitly here to avoid running it in a nested |    // Stop the animation timer explicitly here to avoid running it in a nested | ||||||
|    // message loop, which may run by Browser destructor. |    // message loop, which may run by Browser destructor. | ||||||
| @@ -1167,17 +1192,18 @@ BrowserView::~BrowserView() { | @@ -1194,17 +1221,18 @@ BrowserView::~BrowserView() { | ||||||
|    // Immersive mode may need to reparent views before they are removed/deleted. |    // Immersive mode may need to reparent views before they are removed/deleted. | ||||||
|    immersive_mode_controller_.reset(); |    immersive_mode_controller_.reset(); | ||||||
|   |   | ||||||
| @@ -510,7 +541,7 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|   |   | ||||||
|    // These are raw pointers to child views, so they need to be set to null |    // These are raw pointers to child views, so they need to be set to null | ||||||
|    // before `RemoveAllChildViews()` is called to avoid dangling. |    // before `RemoveAllChildViews()` is called to avoid dangling. | ||||||
| @@ -1816,6 +1842,28 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const { | @@ -1865,6 +1893,28 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const { | ||||||
|        ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y()); |        ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y()); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -539,7 +570,7 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|  // static: |  // static: | ||||||
|  BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement( |  BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement( | ||||||
|      const gfx::Rect& contents_webview_bounds, |      const gfx::Rect& contents_webview_bounds, | ||||||
| @@ -2242,7 +2290,13 @@ void BrowserView::OnExclusiveAccessUserInput() { | @@ -2300,7 +2350,13 @@ void BrowserView::OnExclusiveAccessUserInput() { | ||||||
|   |   | ||||||
|  bool BrowserView::ShouldHideUIForFullscreen() const { |  bool BrowserView::ShouldHideUIForFullscreen() const { | ||||||
|    // Immersive mode needs UI for the slide-down top panel. |    // Immersive mode needs UI for the slide-down top panel. | ||||||
| @@ -554,37 +585,27 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|      return false; |      return false; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -3448,13 +3502,18 @@ views::View* BrowserView::GetTopContainer() { | @@ -3527,6 +3583,9 @@ views::View* BrowserView::GetLensOverlayView() { | ||||||
|  |  } | ||||||
|   |   | ||||||
|  DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() { |  DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() { | ||||||
|    if (base::FeatureList::IsEnabled(features::kPinnableDownloadsButton)) { | +  if (!browser_) { | ||||||
| +    if (!browser_) { | +    return nullptr; | ||||||
| +      return nullptr; | +  } | ||||||
| +    } |  | ||||||
|      if (auto* download_controller = |      if (auto* download_controller = | ||||||
|              browser_->GetFeatures().download_toolbar_ui_controller()) { |              browser_->GetFeatures().download_toolbar_ui_controller()) { | ||||||
|        return download_controller->bubble_controller(); |        return download_controller->bubble_controller(); | ||||||
|      } | @@ -4216,7 +4275,9 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() { | ||||||
|      return nullptr; |  | ||||||
|    } |  | ||||||
| -  DCHECK(toolbar_button_provider_); |  | ||||||
| +  if (!toolbar_button_provider_) { |  | ||||||
| +    return nullptr; |  | ||||||
| +  } |  | ||||||
|    if (auto* download_button = toolbar_button_provider_->GetDownloadButton()) { |  | ||||||
|      return static_cast<DownloadToolbarButtonView*>(download_button) |  | ||||||
|          ->bubble_controller(); |  | ||||||
| @@ -4103,7 +4162,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() { |  | ||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| -  overlay_view_->SetVisible(false); | +  if (overlay_view_) { | ||||||
| +  if (overlay_view_) |    overlay_view_->SetVisible(false); | ||||||
| +    overlay_view_->SetVisible(false); | +  } | ||||||
|    top_container()->DestroyLayer(); |    top_container()->DestroyLayer(); | ||||||
|    AddChildViewAt(top_container(), 0); |    AddChildViewAt(top_container(), 0); | ||||||
|    EnsureFocusOrder(); |    EnsureFocusOrder(); | ||||||
| @@ -4633,11 +4693,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) { | @@ -4754,11 +4815,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) { | ||||||
|  bool BrowserView::ShouldDescendIntoChildForEventHandling( |  bool BrowserView::ShouldDescendIntoChildForEventHandling( | ||||||
|      gfx::NativeView child, |      gfx::NativeView child, | ||||||
|      const gfx::Point& location) { |      const gfx::Point& location) { | ||||||
| @@ -625,7 +646,7 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|      // Draggable regions are defined relative to the web contents. |      // Draggable regions are defined relative to the web contents. | ||||||
|      gfx::Point point_in_contents_web_view_coords(location); |      gfx::Point point_in_contents_web_view_coords(location); | ||||||
|      views::View::ConvertPointToTarget(GetWidget()->GetRootView(), |      views::View::ConvertPointToTarget(GetWidget()->GetRootView(), | ||||||
| @@ -4646,7 +4733,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling( | @@ -4767,7 +4855,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling( | ||||||
|   |   | ||||||
|      // Draggable regions should be ignored for clicks into any browser view's |      // Draggable regions should be ignored for clicks into any browser view's | ||||||
|      // owned widgets, for example alerts, permission prompts or find bar. |      // owned widgets, for example alerts, permission prompts or find bar. | ||||||
| @@ -634,32 +655,33 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
|                 point_in_contents_web_view_coords.x(), |                 point_in_contents_web_view_coords.x(), | ||||||
|                 point_in_contents_web_view_coords.y()) || |                 point_in_contents_web_view_coords.y()) || | ||||||
|             WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords); |             WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords); | ||||||
| @@ -4760,8 +4847,10 @@ void BrowserView::Layout(PassKey) { | @@ -4999,8 +5087,11 @@ void BrowserView::Layout(PassKey) { | ||||||
|   |   | ||||||
|    // TODO(jamescook): Why was this in the middle of layout code? |    // TODO(jamescook): Why was this in the middle of layout code? | ||||||
|    toolbar_->location_bar()->omnibox_view()->SetFocusBehavior( |    toolbar_->location_bar()->omnibox_view()->SetFocusBehavior( | ||||||
| -      IsToolbarVisible() ? FocusBehavior::ALWAYS : FocusBehavior::NEVER); | -      IsToolbarVisible() ? FocusBehavior::ALWAYS : FocusBehavior::NEVER); | ||||||
| -  frame()->GetFrameView()->UpdateMinimumSize(); |  | ||||||
| +      (IsToolbarVisible() || browser_->toolbar_overridden()) ? | +      (IsToolbarVisible() || browser_->toolbar_overridden()) ? | ||||||
| +          FocusBehavior::ALWAYS : FocusBehavior::NEVER); | +          FocusBehavior::ALWAYS : FocusBehavior::NEVER); | ||||||
| +  if (frame()->GetFrameView()) | +  if (frame()->GetFrameView()) { | ||||||
| +    frame()->GetFrameView()->UpdateMinimumSize(); |    frame()->GetFrameView()->UpdateMinimumSize(); | ||||||
|  | +  } | ||||||
|   |   | ||||||
|    // Some of the situations when the BrowserView is laid out are: |    // Some of the situations when the BrowserView is laid out are: | ||||||
|    // - Enter/exit immersive fullscreen mode. |    // - Enter/exit immersive fullscreen mode. | ||||||
| @@ -4828,6 +4917,11 @@ void BrowserView::AddedToWidget() { | @@ -5067,6 +5158,12 @@ void BrowserView::AddedToWidget() { | ||||||
|    SetThemeProfileForWindow(GetNativeWindow(), browser_->profile()); |    SetThemeProfileForWindow(GetNativeWindow(), browser_->profile()); | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
| +  // This browser view may already have a custom button provider set (e.g the | +  // This browser view may already have a custom button provider set (e.g the | ||||||
| +  // hosted app frame). | +  // hosted app frame). | ||||||
| +  if (!toolbar_button_provider_) | +  if (!toolbar_button_provider_) { | ||||||
| +    SetToolbarButtonProvider(toolbar_); | +    SetToolbarButtonProvider(toolbar_); | ||||||
|  | +  } | ||||||
| + | + | ||||||
|    toolbar_->Init(); |    toolbar_->Init(); | ||||||
|   |   | ||||||
|    // TODO(pbos): Investigate whether the side panels should be creatable when |    if (GetIsNormalType()) { | ||||||
| @@ -4870,12 +4964,6 @@ void BrowserView::AddedToWidget() { | @@ -5123,12 +5220,6 @@ void BrowserView::AddedToWidget() { | ||||||
|   |   | ||||||
|    EnsureFocusOrder(); |    EnsureFocusOrder(); | ||||||
|   |   | ||||||
| @@ -669,53 +691,54 @@ index 1b68a93c6d849..4aefc07ba8b02 100644 | |||||||
| -    SetToolbarButtonProvider(toolbar_); | -    SetToolbarButtonProvider(toolbar_); | ||||||
| -  } | -  } | ||||||
| - | - | ||||||
|    if (download::IsDownloadBubbleEnabled() && |    if (download::IsDownloadBubbleEnabled()) { | ||||||
|        base::FeatureList::IsEnabled(features::kPinnableDownloadsButton)) { |  | ||||||
|      browser_->GetFeatures().download_toolbar_ui_controller()->Init(); |      browser_->GetFeatures().download_toolbar_ui_controller()->Init(); | ||||||
| @@ -4887,7 +4975,9 @@ void BrowserView::AddedToWidget() { |    } | ||||||
|  | @@ -5139,7 +5230,9 @@ void BrowserView::AddedToWidget() { | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    frame_->OnBrowserViewInitViewsComplete(); |    frame_->OnBrowserViewInitViewsComplete(); | ||||||
| -  frame_->GetFrameView()->UpdateMinimumSize(); |  | ||||||
| +  if (frame_->GetFrameView()) { | +  if (frame_->GetFrameView()) { | ||||||
| +    frame_->GetFrameView()->UpdateMinimumSize(); |    frame_->GetFrameView()->UpdateMinimumSize(); | ||||||
| +  } | +  } | ||||||
|    using_native_frame_ = frame_->ShouldUseNativeFrame(); |    using_native_frame_ = frame_->ShouldUseNativeFrame(); | ||||||
|   |   | ||||||
|    MaybeInitializeWebUITabStrip(); |    MaybeInitializeWebUITabStrip(); | ||||||
| @@ -5298,7 +5388,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) { | @@ -5556,7 +5649,9 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) { | ||||||
|    // Undo our anti-jankiness hacks and force a re-layout. |    // Undo our anti-jankiness hacks and force a re-layout. | ||||||
|    in_process_fullscreen_ = false; |    in_process_fullscreen_ = false; | ||||||
|    ToolbarSizeChanged(false); |    ToolbarSizeChanged(false); | ||||||
| -  frame_->GetFrameView()->OnFullscreenStateChanged(); | +  if (frame_->GetFrameView()) { | ||||||
| +  if (frame_->GetFrameView()) |    frame_->GetFrameView()->OnFullscreenStateChanged(); | ||||||
| +    frame_->GetFrameView()->OnFullscreenStateChanged(); | +  } | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) { |  void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) { | ||||||
| @@ -5802,6 +5893,8 @@ Profile* BrowserView::GetProfile() { | @@ -6060,7 +6155,9 @@ Profile* BrowserView::GetProfile() { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void BrowserView::UpdateUIForTabFullscreen() { |  void BrowserView::UpdateUIForTabFullscreen() { | ||||||
| +  if (!frame_->GetFrameView()) | +  if (frame()->GetFrameView()) { | ||||||
| +    return; |  | ||||||
|    frame()->GetFrameView()->UpdateFullscreenTopUI(); |    frame()->GetFrameView()->UpdateFullscreenTopUI(); | ||||||
|  | +  } | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -5831,6 +5924,8 @@ bool BrowserView::CanUserEnterFullscreen() const { |  WebContents* BrowserView::GetWebContentsForExclusiveAccess() { | ||||||
|  | @@ -6089,6 +6186,9 @@ bool BrowserView::CanUserEnterFullscreen() const { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool BrowserView::CanUserExitFullscreen() const { |  bool BrowserView::CanUserExitFullscreen() const { | ||||||
| +  if (!frame_->GetFrameView()) | +  if (!frame_->GetFrameView()) { | ||||||
| +    return true; | +    return true; | ||||||
|  | +  } | ||||||
|    return frame_->GetFrameView()->CanUserExitFullscreen(); |    return frame_->GetFrameView()->CanUserExitFullscreen(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h | diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h | ||||||
| index 621d3abcfbd83..13bc942b778ce 100644 | index 7a2f7b5d43762..ef55ed7e6cd43 100644 | ||||||
| --- chrome/browser/ui/views/frame/browser_view.h | --- chrome/browser/ui/views/frame/browser_view.h | ||||||
| +++ chrome/browser/ui/views/frame/browser_view.h | +++ chrome/browser/ui/views/frame/browser_view.h | ||||||
| @@ -147,11 +147,16 @@ class BrowserView : public BrowserWindow, | @@ -144,11 +144,16 @@ class BrowserView : public BrowserWindow, | ||||||
|    METADATA_HEADER(BrowserView, views::ClientView) |    METADATA_HEADER(BrowserView, views::ClientView) | ||||||
|   |   | ||||||
|   public: |   public: | ||||||
| @@ -732,7 +755,7 @@ index 621d3abcfbd83..13bc942b778ce 100644 | |||||||
|    void set_frame(BrowserFrame* frame) { |    void set_frame(BrowserFrame* frame) { | ||||||
|      frame_ = frame; |      frame_ = frame; | ||||||
|      paint_as_active_subscription_ = |      paint_as_active_subscription_ = | ||||||
| @@ -905,6 +910,10 @@ class BrowserView : public BrowserWindow, | @@ -911,6 +916,10 @@ class BrowserView : public BrowserWindow, | ||||||
|    void Copy(); |    void Copy(); | ||||||
|    void Paste(); |    void Paste(); | ||||||
|   |   | ||||||
| @@ -743,7 +766,7 @@ index 621d3abcfbd83..13bc942b778ce 100644 | |||||||
|   protected: |   protected: | ||||||
|    // Enumerates where the devtools are docked relative to the browser's main |    // Enumerates where the devtools are docked relative to the browser's main | ||||||
|    // web contents. |    // web contents. | ||||||
| @@ -928,6 +937,8 @@ class BrowserView : public BrowserWindow, | @@ -934,6 +943,8 @@ class BrowserView : public BrowserWindow, | ||||||
|        const gfx::Rect& contents_webview_bounds, |        const gfx::Rect& contents_webview_bounds, | ||||||
|        const gfx::Rect& local_webview_container_bounds); |        const gfx::Rect& local_webview_container_bounds); | ||||||
|   |   | ||||||
| @@ -753,10 +776,10 @@ index 621d3abcfbd83..13bc942b778ce 100644 | |||||||
|    // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate |    // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate | ||||||
|    // interface to keep these two classes decoupled and testable. |    // 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 | diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc | ||||||
| index 39f9345a8bf6a..ecbd2553d7c5b 100644 | index 7cfadb577326f..5d97370b499c7 100644 | ||||||
| --- chrome/browser/ui/views/frame/browser_view_layout.cc | --- chrome/browser/ui/views/frame/browser_view_layout.cc | ||||||
| +++ chrome/browser/ui/views/frame/browser_view_layout.cc | +++ chrome/browser/ui/views/frame/browser_view_layout.cc | ||||||
| @@ -52,6 +52,10 @@ | @@ -53,6 +53,10 @@ | ||||||
|  #include "ui/views/window/client_view.h" |  #include "ui/views/window/client_view.h" | ||||||
|  #include "ui/views/window/hit_test_utils.h" |  #include "ui/views/window/hit_test_utils.h" | ||||||
|   |   | ||||||
| @@ -767,7 +790,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|  using views::View; |  using views::View; | ||||||
|  using web_modal::ModalDialogHostObserver; |  using web_modal::ModalDialogHostObserver; | ||||||
|  using web_modal::WebContentsModalDialogHost; |  using web_modal::WebContentsModalDialogHost; | ||||||
| @@ -102,6 +106,10 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | @@ -108,6 +112,10 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | ||||||
|      observer_list_.Notify(&ModalDialogHostObserver::OnHostDestroying); |      observer_list_.Notify(&ModalDialogHostObserver::OnHostDestroying); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -778,7 +801,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|    void NotifyPositionRequiresUpdate() { |    void NotifyPositionRequiresUpdate() { | ||||||
|      observer_list_.Notify(&ModalDialogHostObserver::OnPositionRequiresUpdate); |      observer_list_.Notify(&ModalDialogHostObserver::OnPositionRequiresUpdate); | ||||||
|    } |    } | ||||||
| @@ -111,7 +119,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | @@ -117,7 +125,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | ||||||
|      views::View* view = browser_view_layout_->contents_container_; |      views::View* view = browser_view_layout_->contents_container_; | ||||||
|      gfx::Rect rect = view->ConvertRectToWidget(view->GetLocalBounds()); |      gfx::Rect rect = view->ConvertRectToWidget(view->GetLocalBounds()); | ||||||
|      const int middle_x = rect.x() + rect.width() / 2; |      const int middle_x = rect.x() + rect.width() / 2; | ||||||
| @@ -787,7 +810,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|      return gfx::Point(middle_x - size.width() / 2, top); |      return gfx::Point(middle_x - size.width() / 2, top); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -134,7 +142,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | @@ -140,7 +148,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | ||||||
|      // universally. |      // universally. | ||||||
|      views::View* view = browser_view_layout_->contents_container_; |      views::View* view = browser_view_layout_->contents_container_; | ||||||
|      gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); |      gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); | ||||||
| @@ -796,8 +819,8 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|      return gfx::Size(content_area.width(), content_area.bottom() - top); |      return gfx::Size(content_area.width(), content_area.bottom() - top); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -163,6 +171,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | @@ -169,6 +177,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews | ||||||
|      return host_widget ? host_widget->GetNativeView() : nullptr; |      return host_widget ? host_widget->GetNativeView() : gfx::NativeView(); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| +  int GetDialogTopY() const { | +  int GetDialogTopY() const { | ||||||
| @@ -810,7 +833,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|    // Add/remove observer. |    // Add/remove observer. | ||||||
|    void AddObserver(ModalDialogHostObserver* observer) override { |    void AddObserver(ModalDialogHostObserver* observer) override { | ||||||
|      observer_list_.AddObserver(observer); |      observer_list_.AddObserver(observer); | ||||||
| @@ -486,6 +501,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) { | @@ -362,6 +377,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) { | ||||||
|      exclusive_access_bubble->RepositionIfVisible(); |      exclusive_access_bubble->RepositionIfVisible(); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -819,7 +842,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|    // Adjust any hosted dialogs if the browser's dialog hosting bounds changed. |    // Adjust any hosted dialogs if the browser's dialog hosting bounds changed. | ||||||
|    const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()), |    const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()), | ||||||
|                                  dialog_host_->GetMaximumDialogSize()); |                                  dialog_host_->GetMaximumDialogSize()); | ||||||
| @@ -499,6 +516,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) { | @@ -375,6 +392,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) { | ||||||
|      latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen; |      latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen; | ||||||
|      dialog_host_->NotifyPositionRequiresUpdate(); |      dialog_host_->NotifyPositionRequiresUpdate(); | ||||||
|    } |    } | ||||||
| @@ -827,7 +850,7 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  gfx::Size BrowserViewLayout::GetPreferredSize( |  gfx::Size BrowserViewLayout::GetPreferredSize( | ||||||
| @@ -635,6 +653,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { | @@ -511,6 +529,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { | ||||||
|   |   | ||||||
|  int BrowserViewLayout::LayoutToolbar(int top) { |  int BrowserViewLayout::LayoutToolbar(int top) { | ||||||
|    TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar"); |    TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar"); | ||||||
| @@ -842,10 +865,10 @@ index 39f9345a8bf6a..ecbd2553d7c5b 100644 | |||||||
|    bool toolbar_visible = delegate_->IsToolbarVisible(); |    bool toolbar_visible = delegate_->IsToolbarVisible(); | ||||||
|    int height = toolbar_visible ? toolbar_->GetPreferredSize().height() : 0; |    int height = toolbar_visible ? toolbar_->GetPreferredSize().height() : 0; | ||||||
| diff --git chrome/browser/ui/views/frame/browser_view_layout.h chrome/browser/ui/views/frame/browser_view_layout.h | diff --git chrome/browser/ui/views/frame/browser_view_layout.h chrome/browser/ui/views/frame/browser_view_layout.h | ||||||
| index f5203245ab9ec..de060d33fcf16 100644 | index bab68486e2005..5e988918b9553 100644 | ||||||
| --- chrome/browser/ui/views/frame/browser_view_layout.h | --- chrome/browser/ui/views/frame/browser_view_layout.h | ||||||
| +++ chrome/browser/ui/views/frame/browser_view_layout.h | +++ chrome/browser/ui/views/frame/browser_view_layout.h | ||||||
| @@ -90,6 +90,8 @@ class BrowserViewLayout : public views::LayoutManager { | @@ -86,6 +86,8 @@ class BrowserViewLayout : public views::LayoutManager { | ||||||
|      contents_border_widget_ = contents_border_widget; |      contents_border_widget_ = contents_border_widget; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -854,7 +877,7 @@ index f5203245ab9ec..de060d33fcf16 100644 | |||||||
|    views::Widget* contents_border_widget() { return contents_border_widget_; } |    views::Widget* contents_border_widget() { return contents_border_widget_; } | ||||||
|   |   | ||||||
|    // Sets the bounds for the contents border. |    // Sets the bounds for the contents border. | ||||||
| @@ -186,7 +188,7 @@ class BrowserViewLayout : public views::LayoutManager { | @@ -176,7 +178,7 @@ class BrowserViewLayout : public views::LayoutManager { | ||||||
|    const raw_ptr<WebAppFrameToolbarView> web_app_frame_toolbar_; |    const raw_ptr<WebAppFrameToolbarView> web_app_frame_toolbar_; | ||||||
|    const raw_ptr<views::Label> web_app_window_title_; |    const raw_ptr<views::Label> web_app_window_title_; | ||||||
|    const raw_ptr<TabStripRegionView> tab_strip_region_view_; |    const raw_ptr<TabStripRegionView> tab_strip_region_view_; | ||||||
| @@ -876,13 +899,13 @@ index 451c5ad63337b..66f946c95b9b4 100644 | |||||||
|    virtual bool IsBookmarkBarVisible() const = 0; |    virtual bool IsBookmarkBarVisible() const = 0; | ||||||
|    virtual bool IsContentsSeparatorEnabled() const = 0; |    virtual bool IsContentsSeparatorEnabled() const = 0; | ||||||
| diff --git chrome/browser/ui/views/frame/contents_web_view.cc chrome/browser/ui/views/frame/contents_web_view.cc | diff --git chrome/browser/ui/views/frame/contents_web_view.cc chrome/browser/ui/views/frame/contents_web_view.cc | ||||||
| index 6bdd187588951..8ac385bcd0cb5 100644 | index 09de746cc67e4..6ddb95a4de303 100644 | ||||||
| --- chrome/browser/ui/views/frame/contents_web_view.cc | --- chrome/browser/ui/views/frame/contents_web_view.cc | ||||||
| +++ chrome/browser/ui/views/frame/contents_web_view.cc | +++ chrome/browser/ui/views/frame/contents_web_view.cc | ||||||
| @@ -29,6 +29,12 @@ ContentsWebView::ContentsWebView(content::BrowserContext* browser_context) | @@ -33,6 +33,12 @@ ContentsWebView::ContentsWebView(content::BrowserContext* browser_context) | ||||||
|    // Draws the ContentsWebView background. |    status_bubble_ = std::make_unique<StatusBubbleViews>(this); | ||||||
|    SetPaintToLayer(ui::LAYER_SOLID_COLOR); |    status_bubble_->Reposition(); | ||||||
|    SetProperty(views::kElementIdentifierKey, kContentsWebViewElementId); |    web_contents_close_handler_ = std::make_unique<WebContentsCloseHandler>(this); | ||||||
| + | + | ||||||
| +  // Mouse events on draggable regions will not be handled by the WebView. | +  // Mouse events on draggable regions will not be handled by the WebView. | ||||||
| +  // Avoid the resulting DCHECK in NativeViewHost::OnMousePressed by | +  // Avoid the resulting DCHECK in NativeViewHost::OnMousePressed by | ||||||
| @@ -893,10 +916,10 @@ index 6bdd187588951..8ac385bcd0cb5 100644 | |||||||
|   |   | ||||||
|  ContentsWebView::~ContentsWebView() = default; |  ContentsWebView::~ContentsWebView() = default; | ||||||
| diff --git chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | diff --git chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | ||||||
| index 8b0103c5920ef..adbb8eaa74885 100644 | index aacb186656d41..6987958bb6674 100644 | ||||||
| --- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | --- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | ||||||
| +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc | ||||||
| @@ -638,6 +638,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView( | @@ -650,6 +650,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView( | ||||||
|      frame_background_ = std::make_unique<views::FrameBackground>(); |      frame_background_ = std::make_unique<views::FrameBackground>(); | ||||||
|    } |    } | ||||||
|  #endif |  #endif | ||||||
| @@ -908,7 +931,7 @@ index 8b0103c5920ef..adbb8eaa74885 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() { |  PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() { | ||||||
| @@ -771,18 +776,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds( | @@ -783,18 +788,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds( | ||||||
|   |   | ||||||
|  int PictureInPictureBrowserFrameView::NonClientHitTest( |  int PictureInPictureBrowserFrameView::NonClientHitTest( | ||||||
|      const gfx::Point& point) { |      const gfx::Point& point) { | ||||||
| @@ -959,7 +982,7 @@ index 8b0103c5920ef..adbb8eaa74885 100644 | |||||||
|   |   | ||||||
|    // Allow dragging and resizing the window. |    // Allow dragging and resizing the window. | ||||||
|    int window_component = GetHTComponentForFrame( |    int window_component = GetHTComponentForFrame( | ||||||
| @@ -856,7 +885,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) { | @@ -868,7 +897,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) { | ||||||
|    gfx::Rect content_area = GetLocalBounds(); |    gfx::Rect content_area = GetLocalBounds(); | ||||||
|    content_area.Inset(FrameBorderInsets()); |    content_area.Inset(FrameBorderInsets()); | ||||||
|    gfx::Rect top_bar = content_area; |    gfx::Rect top_bar = content_area; | ||||||
| @@ -969,7 +992,7 @@ index 8b0103c5920ef..adbb8eaa74885 100644 | |||||||
|    top_bar_container_view_->SetBoundsRect(top_bar); |    top_bar_container_view_->SetBoundsRect(top_bar); | ||||||
|  #if !BUILDFLAG(IS_ANDROID) |  #if !BUILDFLAG(IS_ANDROID) | ||||||
|    if (auto_pip_setting_overlay_) { |    if (auto_pip_setting_overlay_) { | ||||||
| @@ -1406,7 +1436,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { | @@ -1418,7 +1448,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  int PictureInPictureBrowserFrameView::GetTopAreaHeight() const { |  int PictureInPictureBrowserFrameView::GetTopAreaHeight() const { | ||||||
| @@ -994,12 +1017,12 @@ index 33c6444869375..d74818698d81a 100644 | |||||||
|      LocationBarView* location_bar_view = browser_view_->GetLocationBarView(); |      LocationBarView* location_bar_view = browser_view_->GetLocationBarView(); | ||||||
|      CHECK(location_bar_view); |      CHECK(location_bar_view); | ||||||
| diff --git chrome/browser/ui/views/page_action/page_action_icon_controller.cc chrome/browser/ui/views/page_action/page_action_icon_controller.cc | diff --git chrome/browser/ui/views/page_action/page_action_icon_controller.cc chrome/browser/ui/views/page_action/page_action_icon_controller.cc | ||||||
| index a8c61cefa56be..7f40012829c5e 100644 | index c0d519f033713..6df5e004f43d2 100644 | ||||||
| --- chrome/browser/ui/views/page_action/page_action_icon_controller.cc | --- chrome/browser/ui/views/page_action/page_action_icon_controller.cc | ||||||
| +++ chrome/browser/ui/views/page_action/page_action_icon_controller.cc | +++ chrome/browser/ui/views/page_action/page_action_icon_controller.cc | ||||||
| @@ -120,6 +120,14 @@ void PageActionIconController::Init(const PageActionIconParams& params, | @@ -109,6 +109,14 @@ void PageActionIconController::Init(const PageActionIconParams& params, | ||||||
|          continue; |      if (IsPageActionMigrated(type)) { | ||||||
|        } |        continue; | ||||||
|      } |      } | ||||||
| + | + | ||||||
| +#if BUILDFLAG(ENABLE_CEF) | +#if BUILDFLAG(ENABLE_CEF) | ||||||
| @@ -1013,7 +1036,7 @@ index a8c61cefa56be..7f40012829c5e 100644 | |||||||
|        case PageActionIconType::kPaymentsOfferNotification: |        case PageActionIconType::kPaymentsOfferNotification: | ||||||
|          add_page_action_icon( |          add_page_action_icon( | ||||||
| diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | ||||||
| index 98d97b84906bd..d63bab08e8098 100644 | index 9454a78b72cc3..e3aab475b2465 100644 | ||||||
| --- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | --- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | ||||||
| +++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | +++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc | ||||||
| @@ -698,29 +698,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup( | @@ -698,29 +698,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup( | ||||||
| @@ -1059,7 +1082,7 @@ index 98d97b84906bd..d63bab08e8098 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc | diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc | ||||||
| index 0d912a7cbf371..4b0f539bc9916 100644 | index af3d65c89950b..f04c923a37be9 100644 | ||||||
| --- chrome/browser/ui/views/toolbar/toolbar_view.cc | --- chrome/browser/ui/views/toolbar/toolbar_view.cc | ||||||
| +++ chrome/browser/ui/views/toolbar/toolbar_view.cc | +++ chrome/browser/ui/views/toolbar/toolbar_view.cc | ||||||
| @@ -185,7 +185,7 @@ class TabstripLikeBackground : public views::Background { | @@ -185,7 +185,7 @@ class TabstripLikeBackground : public views::Background { | ||||||
| @@ -1112,7 +1135,7 @@ index 0d912a7cbf371..4b0f539bc9916 100644 | |||||||
|  #if defined(USE_AURA) |  #if defined(USE_AURA) | ||||||
|    // Avoid generating too many occlusion tracking calculation events before this |    // Avoid generating too many occlusion tracking calculation events before this | ||||||
|    // function returns. The occlusion status will be computed only once once this |    // function returns. The occlusion status will be computed only once once this | ||||||
| @@ -281,12 +297,12 @@ void ToolbarView::Init() { | @@ -281,7 +297,7 @@ void ToolbarView::Init() { | ||||||
|   |   | ||||||
|    auto location_bar = std::make_unique<LocationBarView>( |    auto location_bar = std::make_unique<LocationBarView>( | ||||||
|        browser_, browser_->profile(), browser_->command_controller(), this, |        browser_, browser_->profile(), browser_->command_controller(), this, | ||||||
| @@ -1121,13 +1144,7 @@ index 0d912a7cbf371..4b0f539bc9916 100644 | |||||||
|    // Make sure the toolbar shows by default. |    // Make sure the toolbar shows by default. | ||||||
|    size_animation_.Reset(1); |    size_animation_.Reset(1); | ||||||
|   |   | ||||||
|    std::unique_ptr<DownloadToolbarButtonView> download_button; | @@ -350,7 +366,8 @@ void ToolbarView::Init() { | ||||||
| -  if (download::IsDownloadBubbleEnabled() && |  | ||||||
| +  if (download::IsDownloadBubbleEnabled() && BUTTON_VISIBLE(kDownload) && |  | ||||||
|        !base::FeatureList::IsEnabled(features::kPinnableDownloadsButton)) { |  | ||||||
|      download_button = |  | ||||||
|          std::make_unique<DownloadToolbarButtonView>(browser_view_); |  | ||||||
| @@ -368,7 +384,8 @@ void ToolbarView::Init() { |  | ||||||
|    } |    } | ||||||
|    std::unique_ptr<media_router::CastToolbarButton> cast; |    std::unique_ptr<media_router::CastToolbarButton> cast; | ||||||
|    if (!base::FeatureList::IsEnabled(features::kPinnedCastButton)) { |    if (!base::FeatureList::IsEnabled(features::kPinnedCastButton)) { | ||||||
| @@ -1137,17 +1154,7 @@ index 0d912a7cbf371..4b0f539bc9916 100644 | |||||||
|        cast = media_router::CastToolbarButton::Create(browser_); |        cast = media_router::CastToolbarButton::Create(browser_); | ||||||
|      } |      } | ||||||
|    } |    } | ||||||
| @@ -382,7 +399,8 @@ void ToolbarView::Init() { | @@ -814,7 +831,8 @@ void ToolbarView::Layout(PassKey) { | ||||||
|   |  | ||||||
|    std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView> |  | ||||||
|        send_tab_to_self_button; |  | ||||||
| -  if (!browser_->profile()->IsOffTheRecord()) { |  | ||||||
| +  if (!browser_->profile()->IsOffTheRecord() && |  | ||||||
| +      BUTTON_VISIBLE(kSendTabToSelf)) { |  | ||||||
|      send_tab_to_self_button = |  | ||||||
|          std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>( |  | ||||||
|              browser_view_); |  | ||||||
| @@ -840,7 +858,8 @@ void ToolbarView::Layout(PassKey) { |  | ||||||
|   |   | ||||||
|    if (display_mode_ == DisplayMode::NORMAL) { |    if (display_mode_ == DisplayMode::NORMAL) { | ||||||
|      LayoutCommon(); |      LayoutCommon(); | ||||||
| @@ -1158,10 +1165,10 @@ index 0d912a7cbf371..4b0f539bc9916 100644 | |||||||
|   |   | ||||||
|    if (toolbar_controller_) { |    if (toolbar_controller_) { | ||||||
| diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h | diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h | ||||||
| index f1a6841c1ef40..fe88512c90c8e 100644 | index ed47967198d0a..681d20ade8433 100644 | ||||||
| --- chrome/browser/ui/views/toolbar/toolbar_view.h | --- chrome/browser/ui/views/toolbar/toolbar_view.h | ||||||
| +++ chrome/browser/ui/views/toolbar/toolbar_view.h | +++ chrome/browser/ui/views/toolbar/toolbar_view.h | ||||||
| @@ -100,7 +100,8 @@ class ToolbarView : public views::AccessiblePaneView, | @@ -97,7 +97,8 @@ class ToolbarView : public views::AccessiblePaneView, | ||||||
|    DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarElementId); |    DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarElementId); | ||||||
|    DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarContainerElementId); |    DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarContainerElementId); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/ui/views/sad_tab_view.cc chrome/browser/ui/views/sad_tab_view.cc | diff --git chrome/browser/ui/views/sad_tab_view.cc chrome/browser/ui/views/sad_tab_view.cc | ||||||
| index 6fdd6606c9eb5..88874797758c4 100644 | index 845dc1067447c..7927dd29fac6f 100644 | ||||||
| --- chrome/browser/ui/views/sad_tab_view.cc | --- chrome/browser/ui/views/sad_tab_view.cc | ||||||
| +++ chrome/browser/ui/views/sad_tab_view.cc | +++ chrome/browser/ui/views/sad_tab_view.cc | ||||||
| @@ -703,6 +703,11 @@ void SadTabView::OnBoundsChanged(const gfx::Rect& previous_bounds) { | @@ -707,6 +707,11 @@ void SadTabView::OnBoundsChanged(const gfx::Rect& previous_bounds) { | ||||||
|    title_->SizeToFit(max_width); |    title_->SizeToFit(max_width); | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git components/prefs/pref_service.h components/prefs/pref_service.h | diff --git components/prefs/pref_service.h components/prefs/pref_service.h | ||||||
| index f1856d6ee4419..413b77e80d84d 100644 | index 0a360f45e89d9..c88c7ea9177e5 100644 | ||||||
| --- components/prefs/pref_service.h | --- components/prefs/pref_service.h | ||||||
| +++ components/prefs/pref_service.h | +++ components/prefs/pref_service.h | ||||||
| @@ -52,6 +52,10 @@ namespace base { | @@ -52,6 +52,10 @@ namespace base { | ||||||
| @@ -13,7 +13,7 @@ index f1856d6ee4419..413b77e80d84d 100644 | |||||||
|  namespace prefs { |  namespace prefs { | ||||||
|  class ScopedDictionaryPrefUpdate; |  class ScopedDictionaryPrefUpdate; | ||||||
|  } |  } | ||||||
| @@ -441,6 +445,8 @@ class COMPONENTS_PREFS_EXPORT PrefService { | @@ -432,6 +436,8 @@ class COMPONENTS_PREFS_EXPORT PrefService { | ||||||
|    // declared as a friend, too. |    // declared as a friend, too. | ||||||
|    friend class PrefChangeRegistrar; |    friend class PrefChangeRegistrar; | ||||||
|    friend class subtle::PrefMemberBase; |    friend class subtle::PrefMemberBase; | ||||||
|   | |||||||
| @@ -1,21 +1,21 @@ | |||||||
| diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc | diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc | ||||||
| index e224ec0835bfa..87f18a56705d0 100644 | index a28237bf93ef4..9a01b185e76f4 100644 | ||||||
| --- content/browser/devtools/devtools_http_handler.cc | --- content/browser/devtools/devtools_http_handler.cc | ||||||
| +++ content/browser/devtools/devtools_http_handler.cc | +++ content/browser/devtools/devtools_http_handler.cc | ||||||
| @@ -593,7 +593,7 @@ void DevToolsHttpHandler::OnJsonRequest( | @@ -588,7 +588,7 @@ void DevToolsHttpHandler::OnJsonRequest( | ||||||
|      base::Value::Dict version; |      base::Value::Dict version; | ||||||
|      version.Set("Protocol-Version", DevToolsAgentHost::GetProtocolVersion()); |      version.Set("Protocol-Version", DevToolsAgentHost::GetProtocolVersion()); | ||||||
|      version.Set("WebKit-Version", GetWebKitVersion()); |      version.Set("WebKit-Version", embedder_support::GetWebKitVersion()); | ||||||
| -    version.Set("Browser", GetContentClient()->browser()->GetProduct()); | -    version.Set("Browser", GetContentClient()->browser()->GetProduct()); | ||||||
| +    version.Set("Browser", GetContentClient()->browser()->GetChromeProduct()); | +    version.Set("Browser", GetContentClient()->browser()->GetChromeProduct()); | ||||||
|      version.Set("User-Agent", GetContentClient()->browser()->GetUserAgent()); |      version.Set("User-Agent", GetContentClient()->browser()->GetUserAgent()); | ||||||
|      version.Set("V8-Version", V8_VERSION_STRING); |      version.Set("V8-Version", V8_VERSION_STRING); | ||||||
|      std::string host = info.GetHeaderValue("host"); |      std::string host = info.GetHeaderValue("host"); | ||||||
| diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc | diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc | ||||||
| index 8e47cbb36a8cb..5165aea10332e 100644 | index 085e9a60031ea..15e8ba49573e9 100644 | ||||||
| --- content/browser/loader/navigation_url_loader_impl.cc | --- content/browser/loader/navigation_url_loader_impl.cc | ||||||
| +++ content/browser/loader/navigation_url_loader_impl.cc | +++ content/browser/loader/navigation_url_loader_impl.cc | ||||||
| @@ -943,7 +943,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( | @@ -978,7 +978,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( | ||||||
|    mojo::PendingRemote<network::mojom::URLLoaderFactory> |    mojo::PendingRemote<network::mojom::URLLoaderFactory> | ||||||
|        terminal_external_protocol; |        terminal_external_protocol; | ||||||
|    bool handled = GetContentClient()->browser()->HandleExternalProtocol( |    bool handled = GetContentClient()->browser()->HandleExternalProtocol( | ||||||
| @@ -24,7 +24,7 @@ index 8e47cbb36a8cb..5165aea10332e 100644 | |||||||
|        frame_tree_node->frame_tree_node_id(), navigation_ui_data, |        frame_tree_node->frame_tree_node_id(), navigation_ui_data, | ||||||
|        request_info.is_primary_main_frame, |        request_info.is_primary_main_frame, | ||||||
|        frame_tree_node->IsInFencedFrameTree(), request_info.sandbox_flags, |        frame_tree_node->IsInFencedFrameTree(), request_info.sandbox_flags, | ||||||
| @@ -955,6 +955,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( | @@ -990,6 +990,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( | ||||||
|                  *request_info.initiator_document_token) |                  *request_info.initiator_document_token) | ||||||
|            : nullptr, |            : nullptr, | ||||||
|        request_info.isolation_info, &terminal_external_protocol); |        request_info.isolation_info, &terminal_external_protocol); | ||||||
| @@ -47,10 +47,10 @@ index 8e47cbb36a8cb..5165aea10332e 100644 | |||||||
|      return std::make_pair( |      return std::make_pair( | ||||||
|          /*is_cacheable=*/false, |          /*is_cacheable=*/false, | ||||||
| diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc | diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc | ||||||
| index eacc673508fde..86a9600c75188 100644 | index 47750f538148c..3260524e74306 100644 | ||||||
| --- content/public/browser/content_browser_client.cc | --- content/public/browser/content_browser_client.cc | ||||||
| +++ content/public/browser/content_browser_client.cc | +++ content/public/browser/content_browser_client.cc | ||||||
| @@ -1166,7 +1166,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( | @@ -1181,7 +1181,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( | ||||||
|  void ContentBrowserClient::OnNetworkServiceCreated( |  void ContentBrowserClient::OnNetworkServiceCreated( | ||||||
|      network::mojom::NetworkService* network_service) {} |      network::mojom::NetworkService* network_service) {} | ||||||
|   |   | ||||||
| @@ -59,7 +59,7 @@ index eacc673508fde..86a9600c75188 100644 | |||||||
|      BrowserContext* context, |      BrowserContext* context, | ||||||
|      bool in_memory, |      bool in_memory, | ||||||
|      const base::FilePath& relative_partition_path, |      const base::FilePath& relative_partition_path, | ||||||
| @@ -1175,6 +1175,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( | @@ -1190,6 +1190,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( | ||||||
|          cert_verifier_creation_params) { |          cert_verifier_creation_params) { | ||||||
|    network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); |    network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); | ||||||
|    network_context_params->accept_language = "en-us,en"; |    network_context_params->accept_language = "en-us,en"; | ||||||
| @@ -68,10 +68,10 @@ index eacc673508fde..86a9600c75188 100644 | |||||||
|   |   | ||||||
|  std::vector<base::FilePath> |  std::vector<base::FilePath> | ||||||
| diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h | diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h | ||||||
| index 9746621c4fa96..ef3fa93b6b917 100644 | index b7864a93b53a3..5b6174340e2cc 100644 | ||||||
| --- content/public/browser/content_browser_client.h | --- content/public/browser/content_browser_client.h | ||||||
| +++ content/public/browser/content_browser_client.h | +++ content/public/browser/content_browser_client.h | ||||||
| @@ -1360,6 +1360,12 @@ class CONTENT_EXPORT ContentBrowserClient { | @@ -1379,6 +1379,12 @@ class CONTENT_EXPORT ContentBrowserClient { | ||||||
|        bool opener_suppressed, |        bool opener_suppressed, | ||||||
|        bool* no_javascript_access); |        bool* no_javascript_access); | ||||||
|   |   | ||||||
| @@ -84,7 +84,7 @@ index 9746621c4fa96..ef3fa93b6b917 100644 | |||||||
|    // Allows the embedder to return a delegate for the SpeechRecognitionManager. |    // Allows the embedder to return a delegate for the SpeechRecognitionManager. | ||||||
|    // The delegate will be owned by the manager. It's valid to return nullptr. |    // The delegate will be owned by the manager. It's valid to return nullptr. | ||||||
|    virtual SpeechRecognitionManagerDelegate* |    virtual SpeechRecognitionManagerDelegate* | ||||||
| @@ -2211,7 +2217,7 @@ class CONTENT_EXPORT ContentBrowserClient { | @@ -2230,7 +2236,7 @@ class CONTENT_EXPORT ContentBrowserClient { | ||||||
|    // |    // | ||||||
|    // If |relative_partition_path| is the empty string, it means this needs to |    // If |relative_partition_path| is the empty string, it means this needs to | ||||||
|    // create the default NetworkContext for the BrowserContext. |    // create the default NetworkContext for the BrowserContext. | ||||||
| @@ -93,7 +93,7 @@ index 9746621c4fa96..ef3fa93b6b917 100644 | |||||||
|        BrowserContext* context, |        BrowserContext* context, | ||||||
|        bool in_memory, |        bool in_memory, | ||||||
|        const base::FilePath& relative_partition_path, |        const base::FilePath& relative_partition_path, | ||||||
| @@ -2437,6 +2443,22 @@ class CONTENT_EXPORT ContentBrowserClient { | @@ -2472,6 +2478,22 @@ class CONTENT_EXPORT ContentBrowserClient { | ||||||
|        const net::IsolationInfo& isolation_info, |        const net::IsolationInfo& isolation_info, | ||||||
|        mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory); |        mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory); | ||||||
|   |   | ||||||
| @@ -116,7 +116,7 @@ index 9746621c4fa96..ef3fa93b6b917 100644 | |||||||
|    // Creates an OverlayWindow to be used for video or Picture-in-Picture. |    // Creates an OverlayWindow to be used for video or Picture-in-Picture. | ||||||
|    // This window will house the content shown when in Picture-in-Picture mode. |    // This window will house the content shown when in Picture-in-Picture mode. | ||||||
|    // This will return a new OverlayWindow. |    // This will return a new OverlayWindow. | ||||||
| @@ -2502,6 +2524,10 @@ class CONTENT_EXPORT ContentBrowserClient { | @@ -2537,6 +2559,10 @@ class CONTENT_EXPORT ContentBrowserClient { | ||||||
|    // Used as part of the user agent string. |    // Used as part of the user agent string. | ||||||
|    virtual std::string GetProduct(); |    virtual std::string GetProduct(); | ||||||
|   |   | ||||||
| @@ -153,10 +153,10 @@ index 7a2d251ba2d13..68297ee6f118f 100644 | |||||||
|    // started. |    // started. | ||||||
|    virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} |    virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} | ||||||
| diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc | diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc | ||||||
| index eda1a7a3f65b8..90658c671b2da 100644 | index 0a5556cb6eac8..cecc0ae19bc62 100644 | ||||||
| --- content/renderer/render_thread_impl.cc | --- content/renderer/render_thread_impl.cc | ||||||
| +++ content/renderer/render_thread_impl.cc | +++ content/renderer/render_thread_impl.cc | ||||||
| @@ -589,6 +589,8 @@ void RenderThreadImpl::Init() { | @@ -593,6 +593,8 @@ void RenderThreadImpl::Init() { | ||||||
|        GetContentClient()->renderer()->CreateURLLoaderThrottleProvider( |        GetContentClient()->renderer()->CreateURLLoaderThrottleProvider( | ||||||
|            blink::URLLoaderThrottleProviderType::kFrame); |            blink::URLLoaderThrottleProviderType::kFrame); | ||||||
|   |   | ||||||
| @@ -166,10 +166,10 @@ index eda1a7a3f65b8..90658c671b2da 100644 | |||||||
|        base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver, |        base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver, | ||||||
|                            base::Unretained(this))); |                            base::Unretained(this))); | ||||||
| diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc | diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc | ||||||
| index 72a30a1711c15..1e9fcacf6c1bb 100644 | index c1d1c8a094a91..0978d3dba378f 100644 | ||||||
| --- content/renderer/renderer_blink_platform_impl.cc | --- content/renderer/renderer_blink_platform_impl.cc | ||||||
| +++ content/renderer/renderer_blink_platform_impl.cc | +++ content/renderer/renderer_blink_platform_impl.cc | ||||||
| @@ -1053,6 +1053,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { | @@ -1051,6 +1051,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { | ||||||
|   |   | ||||||
|  //------------------------------------------------------------------------------ |  //------------------------------------------------------------------------------ | ||||||
|   |   | ||||||
| @@ -186,10 +186,10 @@ index 72a30a1711c15..1e9fcacf6c1bb 100644 | |||||||
|  RendererBlinkPlatformImpl::CreateWebV8ValueConverter() { |  RendererBlinkPlatformImpl::CreateWebV8ValueConverter() { | ||||||
|    return std::make_unique<V8ValueConverterImpl>(); |    return std::make_unique<V8ValueConverterImpl>(); | ||||||
| diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h | diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h | ||||||
| index f726c03e34578..96bded19157a3 100644 | index ce5aee7746ba0..082fdfaab60de 100644 | ||||||
| --- content/renderer/renderer_blink_platform_impl.h | --- content/renderer/renderer_blink_platform_impl.h | ||||||
| +++ content/renderer/renderer_blink_platform_impl.h | +++ content/renderer/renderer_blink_platform_impl.h | ||||||
| @@ -249,6 +249,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { | @@ -251,6 +251,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { | ||||||
|    InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override; |    InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override; | ||||||
|  #endif  // BUILDFLAG(IS_ANDROID) |  #endif  // BUILDFLAG(IS_ANDROID) | ||||||
|   |   | ||||||
| @@ -200,7 +200,7 @@ index f726c03e34578..96bded19157a3 100644 | |||||||
|    // plus eTLD+1, such as https://google.com), or to a more specific origin. |    // plus eTLD+1, such as https://google.com), or to a more specific origin. | ||||||
|    void SetIsLockedToSite(); |    void SetIsLockedToSite(); | ||||||
| diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc | diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc | ||||||
| index 0c9cd70bbac8c..53fce2a4df907 100644 | index 0ac15538441aa..cc0f42fc3ebbd 100644 | ||||||
| --- content/shell/browser/shell_content_browser_client.cc | --- content/shell/browser/shell_content_browser_client.cc | ||||||
| +++ content/shell/browser/shell_content_browser_client.cc | +++ content/shell/browser/shell_content_browser_client.cc | ||||||
| @@ -816,7 +816,7 @@ void ShellContentBrowserClient::OnNetworkServiceCreated( | @@ -816,7 +816,7 @@ void ShellContentBrowserClient::OnNetworkServiceCreated( | ||||||
|   | |||||||
| @@ -108,18 +108,18 @@ index ffc5c37742800..82e1c22b0f073 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc | diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc | ||||||
| index 82e5123e35509..437c5d080cf24 100644 | index e81e89be0e190..a369b2086fa22 100644 | ||||||
| --- content/app/content_main_runner_impl.cc | --- content/app/content_main_runner_impl.cc | ||||||
| +++ content/app/content_main_runner_impl.cc | +++ content/app/content_main_runner_impl.cc | ||||||
| @@ -49,6 +49,7 @@ | @@ -50,6 +50,7 @@ | ||||||
|  #include "base/task/thread_pool/thread_pool_instance.h" |  #include "base/task/thread_pool/thread_pool_instance.h" | ||||||
|  #include "base/threading/hang_watcher.h" |  #include "base/threading/hang_watcher.h" | ||||||
|  #include "base/threading/platform_thread.h" |  #include "base/threading/platform_thread.h" | ||||||
| +#include "base/threading/thread_restrictions.h" | +#include "base/threading/thread_restrictions.h" | ||||||
|  #include "base/time/time.h" |  #include "base/time/time.h" | ||||||
|  #include "base/trace_event/trace_event.h" |  #include "base/trace_event/trace_event.h" | ||||||
|  #include "build/build_config.h" |  #include "build/branding_buildflags.h" | ||||||
| @@ -1336,6 +1337,11 @@ void ContentMainRunnerImpl::Shutdown() { | @@ -1338,6 +1339,11 @@ void ContentMainRunnerImpl::Shutdown() { | ||||||
|    is_shutdown_ = true; |    is_shutdown_ = true; | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -210,7 +210,7 @@ index 7c890b331be4a..75d22156605d3 100644 | |||||||
|   |   | ||||||
|  }  // namespace crash_reporter |  }  // namespace crash_reporter | ||||||
| diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc | diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc | ||||||
| index b63e5c28a63a6..3bf12a61a34d2 100644 | index 99218d8687f29..26dcd6cae208b 100644 | ||||||
| --- components/crash/core/app/crashpad.cc | --- components/crash/core/app/crashpad.cc | ||||||
| +++ components/crash/core/app/crashpad.cc | +++ components/crash/core/app/crashpad.cc | ||||||
| @@ -132,7 +132,8 @@ bool InitializeCrashpadImpl(bool initial_client, | @@ -132,7 +132,8 @@ bool InitializeCrashpadImpl(bool initial_client, | ||||||
|   | |||||||
| @@ -146,7 +146,7 @@ index 39b2de869d225..5a4e621c650ee 100644 | |||||||
|    struct Data; |    struct Data; | ||||||
|   |   | ||||||
| diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn | diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn | ||||||
| index 368fef0540317..d8ec71b69dc77 100644 | index 99f4701555ae9..446c77758540b 100644 | ||||||
| --- third_party/crashpad/crashpad/handler/BUILD.gn | --- third_party/crashpad/crashpad/handler/BUILD.gn | ||||||
| +++ third_party/crashpad/crashpad/handler/BUILD.gn | +++ third_party/crashpad/crashpad/handler/BUILD.gn | ||||||
| @@ -12,6 +12,7 @@ | @@ -12,6 +12,7 @@ | ||||||
| @@ -157,7 +157,7 @@ index 368fef0540317..d8ec71b69dc77 100644 | |||||||
|  import("../build/crashpad_buildconfig.gni") |  import("../build/crashpad_buildconfig.gni") | ||||||
|   |   | ||||||
|  static_library("handler") { |  static_library("handler") { | ||||||
| @@ -75,11 +76,23 @@ static_library("handler") { | @@ -73,11 +74,23 @@ static_library("handler") { | ||||||
|      "../minidump", |      "../minidump", | ||||||
|      "../snapshot", |      "../snapshot", | ||||||
|      "../tools:tool_support", |      "../tools:tool_support", | ||||||
|   | |||||||
| @@ -1,18 +1,18 @@ | |||||||
| diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc | diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc | ||||||
| index 64f9e50f60186..d97a8a461ffcb 100644 | index 941788ea3ea81..c98e054107123 100644 | ||||||
| --- components/embedder_support/user_agent_utils.cc | --- components/embedder_support/user_agent_utils.cc | ||||||
| +++ components/embedder_support/user_agent_utils.cc | +++ components/embedder_support/user_agent_utils.cc | ||||||
| @@ -21,6 +21,7 @@ | @@ -28,6 +28,7 @@ | ||||||
|  #include "base/version.h" |  | ||||||
|  #include "build/branding_buildflags.h" |  #include "build/branding_buildflags.h" | ||||||
|  #include "build/build_config.h" |  #include "build/build_config.h" | ||||||
|  |  #include "build/util/chromium_git_revision.h" | ||||||
| +#include "cef/libcef/features/features.h" | +#include "cef/libcef/features/features.h" | ||||||
|  #include "components/embedder_support/pref_names.h" |  #include "components/embedder_support/pref_names.h" | ||||||
|  #include "components/embedder_support/switches.h" |  #include "components/embedder_support/switches.h" | ||||||
|  #include "components/policy/core/common/policy_pref_names.h" |  #include "components/policy/core/common/policy_pref_names.h" | ||||||
| @@ -38,6 +39,10 @@ | @@ -56,6 +57,10 @@ | ||||||
|  #include "base/win/windows_version.h" |  #include <sys/utsname.h> | ||||||
|  #endif  // BUILDFLAG(IS_WIN) |  #endif | ||||||
|   |   | ||||||
| +#if BUILDFLAG(ENABLE_CEF) | +#if BUILDFLAG(ENABLE_CEF) | ||||||
| +constexpr char kUserAgentProductAndVersion[] = "user-agent-product"; | +constexpr char kUserAgentProductAndVersion[] = "user-agent-product"; | ||||||
| @@ -21,7 +21,7 @@ index 64f9e50f60186..d97a8a461ffcb 100644 | |||||||
|  namespace embedder_support { |  namespace embedder_support { | ||||||
|   |   | ||||||
|  namespace { |  namespace { | ||||||
| @@ -299,6 +304,13 @@ blink::UserAgentBrandList ShuffleBrandList( | @@ -465,6 +470,13 @@ std::string BuildOSCpuInfo( | ||||||
|   |   | ||||||
|  std::string GetProductAndVersion( |  std::string GetProductAndVersion( | ||||||
|      UserAgentReductionEnterprisePolicyState user_agent_reduction) { |      UserAgentReductionEnterprisePolicyState user_agent_reduction) { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git .gn .gn | diff --git .gn .gn | ||||||
| index 3f65718281973..66580417cc79e 100644 | index 54d2631ec2032..b5bc7d4e97a91 100644 | ||||||
| --- .gn | --- .gn | ||||||
| +++ .gn | +++ .gn | ||||||
| @@ -158,6 +158,8 @@ exec_script_allowlist = | @@ -159,6 +159,8 @@ exec_script_allowlist = | ||||||
|        "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", |        "//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn", | ||||||
|        "//chrome/version.gni", |        "//chrome/version.gni", | ||||||
|   |   | ||||||
| @@ -12,12 +12,12 @@ index 3f65718281973..66580417cc79e 100644 | |||||||
|        # https://crbug.com/474506. |        # https://crbug.com/474506. | ||||||
|        "//clank/java/BUILD.gn", |        "//clank/java/BUILD.gn", | ||||||
| diff --git BUILD.gn BUILD.gn | diff --git BUILD.gn BUILD.gn | ||||||
| index cf65a66212b8f..0a614a78f9907 100644 | index f7307e92c4e94..8d4a80cef7997 100644 | ||||||
| --- BUILD.gn | --- BUILD.gn | ||||||
| +++ BUILD.gn | +++ BUILD.gn | ||||||
| @@ -19,6 +19,7 @@ import("//build/config/sanitizers/sanitizers.gni") | @@ -19,6 +19,7 @@ import("//build/config/ui.gni") | ||||||
|  import("//build/config/ui.gni") |  | ||||||
|  import("//build/gn_logs.gni") |  import("//build/gn_logs.gni") | ||||||
|  |  import("//build/toolchain/rbe.gni") | ||||||
|  import("//build/util/generate_wrapper.gni") |  import("//build/util/generate_wrapper.gni") | ||||||
| +import("//cef/libcef/features/features.gni") | +import("//cef/libcef/features/features.gni") | ||||||
|  import("//chrome/enterprise_companion/buildflags.gni") |  import("//chrome/enterprise_companion/buildflags.gni") | ||||||
| @@ -78,18 +78,18 @@ index bd41166938952..fba7843d79796 100644 | |||||||
|   |   | ||||||
|  visual_studio_version_logs = [ "windows_sdk_version=${windows_sdk_version}" ] |  visual_studio_version_logs = [ "windows_sdk_version=${windows_sdk_version}" ] | ||||||
| diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni | diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni | ||||||
| index 8f146e28971a7..42d1674c280de 100644 | index f9741697fdc82..f956cc3421255 100644 | ||||||
| --- chrome/chrome_paks.gni | --- chrome/chrome_paks.gni | ||||||
| +++ chrome/chrome_paks.gni | +++ chrome/chrome_paks.gni | ||||||
| @@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni") | @@ -5,6 +5,7 @@ | ||||||
|  |  import("//ash/ambient/resources/resources.gni") | ||||||
|  import("//build/config/chrome_build.gni") |  import("//build/config/chrome_build.gni") | ||||||
|  import("//build/config/chromeos/ui_mode.gni") |  | ||||||
|  import("//build/config/locales.gni") |  import("//build/config/locales.gni") | ||||||
| +import("//cef/libcef/features/features.gni") | +import("//cef/libcef/features/features.gni") | ||||||
|  import("//chrome/browser/buildflags.gni") |  import("//chrome/browser/buildflags.gni") | ||||||
|  import("//chrome/common/features.gni") |  import("//chrome/common/features.gni") | ||||||
|  import("//components/compose/features.gni") |  import("//components/compose/features.gni") | ||||||
| @@ -480,6 +481,11 @@ template("chrome_extra_paks") { | @@ -478,6 +479,11 @@ template("chrome_extra_paks") { | ||||||
|        deps += [ "//components/headless/command_handler" ] |        deps += [ "//components/headless/command_handler" ] | ||||||
|      } |      } | ||||||
|   |   | ||||||
| @@ -102,18 +102,18 @@ index 8f146e28971a7..42d1674c280de 100644 | |||||||
|        sources += [ |        sources += [ | ||||||
|          "$root_gen_dir/chrome/extensions_resources.pak", |          "$root_gen_dir/chrome/extensions_resources.pak", | ||||||
| diff --git chrome/chrome_repack_locales.gni chrome/chrome_repack_locales.gni | diff --git chrome/chrome_repack_locales.gni chrome/chrome_repack_locales.gni | ||||||
| index c3b77e3653933..21f42ddf85a3b 100644 | index 3588fa340be0c..7fcb9072c2392 100644 | ||||||
| --- chrome/chrome_repack_locales.gni | --- chrome/chrome_repack_locales.gni | ||||||
| +++ chrome/chrome_repack_locales.gni | +++ chrome/chrome_repack_locales.gni | ||||||
| @@ -6,6 +6,7 @@ import("//build/config/chrome_build.gni") | @@ -5,6 +5,7 @@ | ||||||
|  import("//build/config/chromeos/ui_mode.gni") |  import("//build/config/chrome_build.gni") | ||||||
|  import("//build/config/features.gni") |  import("//build/config/features.gni") | ||||||
|  import("//build/config/ui.gni") |  import("//build/config/ui.gni") | ||||||
| +import("//cef/libcef/features/features.gni") | +import("//cef/libcef/features/features.gni") | ||||||
|  import("//extensions/buildflags/buildflags.gni") |  import("//extensions/buildflags/buildflags.gni") | ||||||
|  import("//tools/grit/repack.gni") |  import("//tools/grit/repack.gni") | ||||||
|   |   | ||||||
| @@ -106,6 +107,10 @@ template("chrome_repack_locales") { | @@ -104,6 +105,10 @@ template("chrome_repack_locales") { | ||||||
|        source_patterns += [ "${root_gen_dir}/components/strings/search_engine_descriptions_strings_" ] |        source_patterns += [ "${root_gen_dir}/components/strings/search_engine_descriptions_strings_" ] | ||||||
|        deps += [ "//components/strings:search_engine_descriptions_strings" ] |        deps += [ "//components/strings:search_engine_descriptions_strings" ] | ||||||
|      } |      } | ||||||
| @@ -125,7 +125,7 @@ index c3b77e3653933..21f42ddf85a3b 100644 | |||||||
|        source_patterns += |        source_patterns += | ||||||
|            [ "${root_gen_dir}/extensions/strings/extensions_strings_" ] |            [ "${root_gen_dir}/extensions/strings/extensions_strings_" ] | ||||||
| diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn | diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn | ||||||
| index be48771397da4..334808a723442 100644 | index 7e49b4e449981..b01e5db88a51e 100644 | ||||||
| --- chrome/installer/mini_installer/BUILD.gn | --- chrome/installer/mini_installer/BUILD.gn | ||||||
| +++ chrome/installer/mini_installer/BUILD.gn | +++ chrome/installer/mini_installer/BUILD.gn | ||||||
| @@ -7,6 +7,7 @@ import("//build/config/features.gni") | @@ -7,6 +7,7 @@ import("//build/config/features.gni") | ||||||
| @@ -136,9 +136,9 @@ index be48771397da4..334808a723442 100644 | |||||||
|  import("//chrome/process_version_rc_template.gni") |  import("//chrome/process_version_rc_template.gni") | ||||||
|  import("//third_party/dawn/scripts/dawn_features.gni") |  import("//third_party/dawn/scripts/dawn_features.gni") | ||||||
|  import("//third_party/ffmpeg/ffmpeg_options.gni") |  import("//third_party/ffmpeg/ffmpeg_options.gni") | ||||||
| @@ -145,11 +146,13 @@ action("mini_installer_archive") { | @@ -146,11 +147,13 @@ action("mini_installer_archive") { | ||||||
|    inputs = [ |  | ||||||
|      "$root_out_dir/chrome.dll", |      "$root_out_dir/chrome.dll", | ||||||
|  |      "$root_out_dir/chrome_elf.dll", | ||||||
|      "$root_out_dir/chrome.exe", |      "$root_out_dir/chrome.exe", | ||||||
| -    "$root_out_dir/locales/en-US.pak", | -    "$root_out_dir/locales/en-US.pak", | ||||||
|      "$root_out_dir/setup.exe", |      "$root_out_dir/setup.exe", | ||||||
| @@ -152,12 +152,12 @@ index be48771397da4..334808a723442 100644 | |||||||
|    outputs = [ |    outputs = [ | ||||||
|      "$root_out_dir/chrome.7z", |      "$root_out_dir/chrome.7z", | ||||||
| diff --git tools/grit/grit_args.gni tools/grit/grit_args.gni | diff --git tools/grit/grit_args.gni tools/grit/grit_args.gni | ||||||
| index 904edbc9fbf04..c6e830faa2556 100644 | index 8df7cb1eb8e8c..6c21b1aaa9286 100644 | ||||||
| --- tools/grit/grit_args.gni | --- tools/grit/grit_args.gni | ||||||
| +++ tools/grit/grit_args.gni | +++ tools/grit/grit_args.gni | ||||||
| @@ -5,7 +5,9 @@ | @@ -4,7 +4,9 @@ | ||||||
|  |   | ||||||
|  import("//build/config/chrome_build.gni") |  import("//build/config/chrome_build.gni") | ||||||
|  import("//build/config/chromeos/ui_mode.gni") |  | ||||||
|  import("//build/config/devtools.gni") |  import("//build/config/devtools.gni") | ||||||
| +import("//build/config/locales.gni") | +import("//build/config/locales.gni") | ||||||
|  import("//build/config/ui.gni") |  import("//build/config/ui.gni") | ||||||
| @@ -165,7 +165,7 @@ index 904edbc9fbf04..c6e830faa2556 100644 | |||||||
|   |   | ||||||
|  shared_intermediate_dir = rebase_path(root_gen_dir, root_build_dir) |  shared_intermediate_dir = rebase_path(root_gen_dir, root_build_dir) | ||||||
|  devtools_grd_path = "$shared_intermediate_dir/$devtools_grd_location" |  devtools_grd_path = "$shared_intermediate_dir/$devtools_grd_location" | ||||||
| @@ -37,6 +39,9 @@ _grit_defines = [ | @@ -36,6 +38,9 @@ _grit_defines = [ | ||||||
|    "use_titlecase=${is_mac}", |    "use_titlecase=${is_mac}", | ||||||
|   |   | ||||||
|    "is_desktop_android=${is_desktop_android}", |    "is_desktop_android=${is_desktop_android}", | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec | diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec | ||||||
| index b7c03fa573ff1..712412b50d4c1 100644 | index 2f5be98233528..283bf667b3fa9 100644 | ||||||
| --- tools/gritsettings/resource_ids.spec | --- tools/gritsettings/resource_ids.spec | ||||||
| +++ tools/gritsettings/resource_ids.spec | +++ tools/gritsettings/resource_ids.spec | ||||||
| @@ -1476,11 +1476,18 @@ | @@ -1504,11 +1504,18 @@ | ||||||
|    "<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": { |    "<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": { | ||||||
|      "META": {"sizes": {"messages": [2000],}}, |      "META": {"sizes": {"messages": [2000],}}, | ||||||
|      "messages": [10080], |      "messages": [10080], | ||||||
|   | |||||||
| @@ -1,13 +0,0 @@ | |||||||
| diff --git ui/gtk/gtk_compat.cc ui/gtk/gtk_compat.cc |  | ||||||
| index d93d9b94c7ba4..905583f1aa7ce 100644 |  | ||||||
| --- ui/gtk/gtk_compat.cc |  | ||||||
| +++ ui/gtk/gtk_compat.cc |  | ||||||
| @@ -127,7 +127,7 @@ bool LoadGtkImpl() { |  | ||||||
|    } |  | ||||||
|    auto env = base::Environment::Create(); |  | ||||||
|    const auto desktop = base::nix::GetDesktopEnvironment(env.get()); |  | ||||||
| -  if (desktop == base::nix::DESKTOP_ENVIRONMENT_GNOME) { |  | ||||||
| +  if (!gtk_version && desktop == base::nix::DESKTOP_ENVIRONMENT_GNOME) { |  | ||||||
|      // GNOME is currently the only desktop to support GTK4 starting with version |  | ||||||
|      // 42+. Try to match the loaded GTK version with the GNOME GTK version. |  | ||||||
|      // Checking the GNOME version is not necessary since GTK4 is available iff |  | ||||||
| @@ -67,7 +67,7 @@ index a28c128deecd3..e8c8a9825b0fe 100644 | |||||||
|   |   | ||||||
|    // GTK doesn't have a native high contrast setting.  Rather, it's implied by |    // GTK doesn't have a native high contrast setting.  Rather, it's implied by | ||||||
| diff --git ui/native_theme/native_theme.cc ui/native_theme/native_theme.cc | diff --git ui/native_theme/native_theme.cc ui/native_theme/native_theme.cc | ||||||
| index 95876b4040844..2f4480cacade6 100644 | index 3f8801c6042ef..c1bcab30a63aa 100644 | ||||||
| --- ui/native_theme/native_theme.cc | --- ui/native_theme/native_theme.cc | ||||||
| +++ ui/native_theme/native_theme.cc | +++ ui/native_theme/native_theme.cc | ||||||
| @@ -146,6 +146,7 @@ void NativeTheme::NotifyOnNativeThemeUpdated() { | @@ -146,6 +146,7 @@ void NativeTheme::NotifyOnNativeThemeUpdated() { | ||||||
| @@ -78,7 +78,7 @@ index 95876b4040844..2f4480cacade6 100644 | |||||||
|   |   | ||||||
|    RecordNumColorProvidersInitializedDuringOnNativeThemeUpdated( |    RecordNumColorProvidersInitializedDuringOnNativeThemeUpdated( | ||||||
|        color_provider_manager.num_providers_initialized() - |        color_provider_manager.num_providers_initialized() - | ||||||
| @@ -294,6 +295,13 @@ bool NativeTheme::IsForcedDarkMode() { | @@ -293,6 +294,13 @@ bool NativeTheme::IsForcedDarkMode() { | ||||||
|    return kIsForcedDarkMode; |    return kIsForcedDarkMode; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -93,10 +93,10 @@ index 95876b4040844..2f4480cacade6 100644 | |||||||
|    static bool kIsForcedHighContrast = |    static bool kIsForcedHighContrast = | ||||||
|        base::CommandLine::ForCurrentProcess()->HasSwitch( |        base::CommandLine::ForCurrentProcess()->HasSwitch( | ||||||
| diff --git ui/native_theme/native_theme.h ui/native_theme/native_theme.h | diff --git ui/native_theme/native_theme.h ui/native_theme/native_theme.h | ||||||
| index 4e825d649919c..ff1af10d30758 100644 | index 97cceb20da0fc..7c2282840ff56 100644 | ||||||
| --- ui/native_theme/native_theme.h | --- ui/native_theme/native_theme.h | ||||||
| +++ ui/native_theme/native_theme.h | +++ ui/native_theme/native_theme.h | ||||||
| @@ -636,6 +636,9 @@ class NATIVE_THEME_EXPORT NativeTheme { | @@ -636,6 +636,9 @@ class COMPONENT_EXPORT(NATIVE_THEME) NativeTheme { | ||||||
|    // Calculates and returns the use overlay scrollbar setting. |    // Calculates and returns the use overlay scrollbar setting. | ||||||
|    static bool CalculateUseOverlayScrollbar(); |    static bool CalculateUseOverlayScrollbar(); | ||||||
|   |   | ||||||
| @@ -107,10 +107,10 @@ index 4e825d649919c..ff1af10d30758 100644 | |||||||
|    explicit NativeTheme( |    explicit NativeTheme( | ||||||
|        bool should_only_use_dark_colors, |        bool should_only_use_dark_colors, | ||||||
| diff --git ui/native_theme/native_theme_mac.mm ui/native_theme/native_theme_mac.mm | diff --git ui/native_theme/native_theme_mac.mm ui/native_theme/native_theme_mac.mm | ||||||
| index 36d8e38eb0b07..0b96dd332363a 100644 | index e41728dd81663..a6396a778cae6 100644 | ||||||
| --- ui/native_theme/native_theme_mac.mm | --- ui/native_theme/native_theme_mac.mm | ||||||
| +++ ui/native_theme/native_theme_mac.mm | +++ ui/native_theme/native_theme_mac.mm | ||||||
| @@ -631,11 +631,15 @@ void NativeThemeMac::PaintSelectedMenuItem( | @@ -632,11 +632,15 @@ void NativeThemeMac::PaintSelectedMenuItem( | ||||||
|   |   | ||||||
|  void NativeThemeMac::InitializeDarkModeStateAndObserver() { |  void NativeThemeMac::InitializeDarkModeStateAndObserver() { | ||||||
|    __block auto theme = this; |    __block auto theme = this; | ||||||
| @@ -129,10 +129,10 @@ index 36d8e38eb0b07..0b96dd332363a 100644 | |||||||
|          theme->NotifyOnNativeThemeUpdated(); |          theme->NotifyOnNativeThemeUpdated(); | ||||||
|        }]; |        }]; | ||||||
| diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc | diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc | ||||||
| index 2b2a12cd9d1ac..00c034b7f81f7 100644 | index dcf2d14d92f8b..ec99022b1f2ae 100644 | ||||||
| --- ui/native_theme/native_theme_win.cc | --- ui/native_theme/native_theme_win.cc | ||||||
| +++ ui/native_theme/native_theme_win.cc | +++ ui/native_theme/native_theme_win.cc | ||||||
| @@ -685,7 +685,10 @@ bool NativeThemeWin::ShouldUseDarkColors() const { | @@ -693,7 +693,10 @@ bool NativeThemeWin::ShouldUseDarkColors() const { | ||||||
|    // Windows high contrast modes are entirely different themes, |    // Windows high contrast modes are entirely different themes, | ||||||
|    // so let them take priority over dark mode. |    // so let them take priority over dark mode. | ||||||
|    // ...unless --force-dark-mode was specified in which case caveat emptor. |    // ...unless --force-dark-mode was specified in which case caveat emptor. | ||||||
| @@ -144,7 +144,7 @@ index 2b2a12cd9d1ac..00c034b7f81f7 100644 | |||||||
|      return false; |      return false; | ||||||
|    } |    } | ||||||
|    return NativeTheme::ShouldUseDarkColors(); |    return NativeTheme::ShouldUseDarkColors(); | ||||||
| @@ -693,7 +696,7 @@ bool NativeThemeWin::ShouldUseDarkColors() const { | @@ -701,7 +704,7 @@ bool NativeThemeWin::ShouldUseDarkColors() const { | ||||||
|   |   | ||||||
|  NativeTheme::PreferredColorScheme |  NativeTheme::PreferredColorScheme | ||||||
|  NativeThemeWin::CalculatePreferredColorScheme() const { |  NativeThemeWin::CalculatePreferredColorScheme() const { | ||||||
| @@ -153,7 +153,7 @@ index 2b2a12cd9d1ac..00c034b7f81f7 100644 | |||||||
|      return NativeTheme::CalculatePreferredColorScheme(); |      return NativeTheme::CalculatePreferredColorScheme(); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -1679,9 +1682,10 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() { | @@ -1687,9 +1690,10 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void NativeThemeWin::UpdateDarkModeStatus() { |  void NativeThemeWin::UpdateDarkModeStatus() { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn | diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn | ||||||
| index 2f7f2a8f81ec0..6bea20e981df9 100644 | index 6207f4941839f..11d359dcab78c 100644 | ||||||
| --- ui/accessibility/platform/BUILD.gn | --- ui/accessibility/platform/BUILD.gn | ||||||
| +++ ui/accessibility/platform/BUILD.gn | +++ ui/accessibility/platform/BUILD.gn | ||||||
| @@ -342,6 +342,10 @@ component("platform") { | @@ -354,6 +354,10 @@ component("platform") { | ||||||
|        if (use_gio) { |        if (use_gio) { | ||||||
|          configs += [ "//build/linux:gio_config" ] |          configs += [ "//build/linux:gio_config" ] | ||||||
|        } |        } | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git ui/gtk/gtk_ui.cc ui/gtk/gtk_ui.cc | diff --git ui/gtk/gtk_ui.cc ui/gtk/gtk_ui.cc | ||||||
| index 4ce6508343bdf..7e161072d063f 100644 | index aba9091667b74..6921c64b60cad 100644 | ||||||
| --- ui/gtk/gtk_ui.cc | --- ui/gtk/gtk_ui.cc | ||||||
| +++ ui/gtk/gtk_ui.cc | +++ ui/gtk/gtk_ui.cc | ||||||
| @@ -31,6 +31,7 @@ | @@ -31,6 +31,7 @@ | ||||||
| @@ -10,7 +10,7 @@ index 4ce6508343bdf..7e161072d063f 100644 | |||||||
|  #include "chrome/browser/themes/theme_properties.h"  // nogncheck |  #include "chrome/browser/themes/theme_properties.h"  // nogncheck | ||||||
|  #include "third_party/skia/include/core/SkBitmap.h" |  #include "third_party/skia/include/core/SkBitmap.h" | ||||||
|  #include "third_party/skia/include/core/SkColor.h" |  #include "third_party/skia/include/core/SkColor.h" | ||||||
| @@ -252,10 +253,15 @@ bool GtkUi::Initialize() { | @@ -253,10 +254,15 @@ bool GtkUi::Initialize() { | ||||||
|    }; |    }; | ||||||
|   |   | ||||||
|    GtkSettings* settings = gtk_settings_get_default(); |    GtkSettings* settings = gtk_settings_get_default(); | ||||||
|   | |||||||
| @@ -100,7 +100,7 @@ index 3ab395e3b0b45..c012641a5dc7e 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git ui/linux/linux_ui.h ui/linux/linux_ui.h | diff --git ui/linux/linux_ui.h ui/linux/linux_ui.h | ||||||
| index 090e770ac2f8e..a57f9695bc377 100644 | index 15db1bd5271cd..cb2d4090c7655 100644 | ||||||
| --- ui/linux/linux_ui.h | --- ui/linux/linux_ui.h | ||||||
| +++ ui/linux/linux_ui.h | +++ ui/linux/linux_ui.h | ||||||
| @@ -20,6 +20,10 @@ | @@ -20,6 +20,10 @@ | ||||||
| @@ -114,9 +114,9 @@ index 090e770ac2f8e..a57f9695bc377 100644 | |||||||
|  // The main entrypoint into Linux toolkit specific code. GTK/QT code should only |  // The main entrypoint into Linux toolkit specific code. GTK/QT code should only | ||||||
|  // be executed behind this interface. |  // be executed behind this interface. | ||||||
|   |   | ||||||
| @@ -62,9 +66,27 @@ class TextEditCommandAuraLinux; | @@ -62,9 +66,27 @@ class WindowButtonOrderObserver; | ||||||
|  class WindowButtonOrderObserver; |  | ||||||
|  class WindowFrameProvider; |  class WindowFrameProvider; | ||||||
|  |  enum class TextEditCommand; | ||||||
|   |   | ||||||
| +class COMPONENT_EXPORT(LINUX_UI) PrintingContextLinuxDelegate { | +class COMPONENT_EXPORT(LINUX_UI) PrintingContextLinuxDelegate { | ||||||
| + public: | + public: | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc | diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc | ||||||
| index dab4e4299c95b..4a5dbf95d5be1 100644 | index 541f4be99633e..bbfda1b3d9b59 100644 | ||||||
| --- chrome/browser/ui/views/profiles/profile_menu_view_base.cc | --- chrome/browser/ui/views/profiles/profile_menu_view_base.cc | ||||||
| +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc | +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc | ||||||
| @@ -1231,8 +1231,8 @@ int ProfileMenuViewBase::GetMaxHeight() const { | @@ -1231,8 +1231,8 @@ int ProfileMenuViewBase::GetMaxHeight() const { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | diff --git content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | ||||||
| index d09df298697b9..2b5da8d0283af 100644 | index 22ee05153569d..e957efa72066d 100644 | ||||||
| --- content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | --- content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | ||||||
| +++ content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | +++ content/app_shim_remote_cocoa/render_widget_host_view_cocoa.mm | ||||||
| @@ -171,6 +171,13 @@ void ExtractUnderlines(NSAttributedString* string, | @@ -172,6 +172,13 @@ void ExtractUnderlines(NSAttributedString* string, | ||||||
|   |   | ||||||
|  // RenderWidgetHostViewCocoa --------------------------------------------------- |  // RenderWidgetHostViewCocoa --------------------------------------------------- | ||||||
|   |   | ||||||
| @@ -16,7 +16,7 @@ index d09df298697b9..2b5da8d0283af 100644 | |||||||
|  // Private methods: |  // Private methods: | ||||||
|  @interface RenderWidgetHostViewCocoa () |  @interface RenderWidgetHostViewCocoa () | ||||||
|   |   | ||||||
| @@ -789,6 +796,15 @@ void ExtractUnderlines(NSAttributedString* string, | @@ -774,6 +781,15 @@ void ExtractUnderlines(NSAttributedString* string, | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { |  - (BOOL)acceptsFirstMouse:(NSEvent*)theEvent { | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc | diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc | ||||||
| index 5b9e417927870..f74cf332e6093 100644 | index 1a263dc22f472..09fa613e35649 100644 | ||||||
| --- base/message_loop/message_pump_win.cc | --- base/message_loop/message_pump_win.cc | ||||||
| +++ base/message_loop/message_pump_win.cc | +++ base/message_loop/message_pump_win.cc | ||||||
| @@ -2,6 +2,7 @@ | @@ -2,6 +2,7 @@ | ||||||
| @@ -10,7 +10,7 @@ index 5b9e417927870..f74cf332e6093 100644 | |||||||
|  #include "base/message_loop/message_pump_win.h" |  #include "base/message_loop/message_pump_win.h" | ||||||
|   |   | ||||||
|  #include <windows.h> |  #include <windows.h> | ||||||
| @@ -584,7 +585,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() { | @@ -585,7 +586,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() { | ||||||
|                  ctx.event()->set_chrome_message_pump(); |                  ctx.event()->set_chrome_message_pump(); | ||||||
|              msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible); |              msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible); | ||||||
|            }); |            }); | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ index 37cb1dac49610..6e5989c73bf08 100644 | |||||||
|    virtual ~WebContentsView() = default; |    virtual ~WebContentsView() = default; | ||||||
|   |   | ||||||
| diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | ||||||
| index 16babdc7affda..1d6dc078bb902 100644 | index 60de0d74ee40f..ae66707e652be 100644 | ||||||
| --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | --- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | ||||||
| +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | +++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | ||||||
| @@ -226,6 +226,8 @@ void MimeHandlerViewGuest::CreateInnerPage( | @@ -226,6 +226,8 @@ void MimeHandlerViewGuest::CreateInnerPage( | ||||||
|   | |||||||
| @@ -184,7 +184,7 @@ index 3de514b2696ba..ac057000ea20b 100644 | |||||||
|   |   | ||||||
|    MessagePipeHandle handle() const { |    MessagePipeHandle handle() const { | ||||||
| diff --git mojo/public/cpp/bindings/lib/connector.cc mojo/public/cpp/bindings/lib/connector.cc | diff --git mojo/public/cpp/bindings/lib/connector.cc mojo/public/cpp/bindings/lib/connector.cc | ||||||
| index ffc753b121e53..f85b7e878588c 100644 | index 6127288d3fbbc..9713b21569bf3 100644 | ||||||
| --- mojo/public/cpp/bindings/lib/connector.cc | --- mojo/public/cpp/bindings/lib/connector.cc | ||||||
| +++ mojo/public/cpp/bindings/lib/connector.cc | +++ mojo/public/cpp/bindings/lib/connector.cc | ||||||
| @@ -438,6 +438,8 @@ void Connector::OnSyncHandleWatcherHandleReady(const char* interface_name, | @@ -438,6 +438,8 @@ void Connector::OnSyncHandleWatcherHandleReady(const char* interface_name, | ||||||
| @@ -197,7 +197,7 @@ index ffc753b121e53..f85b7e878588c 100644 | |||||||
|      // No more messages on the pipe and the peer is closed. |      // No more messages on the pipe and the peer is closed. | ||||||
|      HandleError(false /* force_pipe_reset */, false /* force_async_handler */); |      HandleError(false /* force_pipe_reset */, false /* force_async_handler */); | ||||||
| diff --git mojo/public/cpp/bindings/lib/interface_endpoint_client.cc mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | diff --git mojo/public/cpp/bindings/lib/interface_endpoint_client.cc mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | ||||||
| index 8001dffa21977..87e318fd1334e 100644 | index 9615abc747135..face0222f6023 100644 | ||||||
| --- mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | --- mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | ||||||
| +++ mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | +++ mojo/public/cpp/bindings/lib/interface_endpoint_client.cc | ||||||
| @@ -731,7 +731,8 @@ bool InterfaceEndpointClient::HandleIncomingMessage(Message* message) { | @@ -731,7 +731,8 @@ bool InterfaceEndpointClient::HandleIncomingMessage(Message* message) { | ||||||
|   | |||||||
| @@ -10,10 +10,10 @@ index aeb79b46f5d21..bd57e874c1240 100644 | |||||||
| +// This load will not send any cookies. For CEF usage. | +// This load will not send any cookies. For CEF usage. | ||||||
| +LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20) | +LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20) | ||||||
| diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc | diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc | ||||||
| index ae87ba4982d55..5b11c4d0043a4 100644 | index 271c601381a0d..0e22f8ea606e7 100644 | ||||||
| --- net/url_request/url_request_http_job.cc | --- net/url_request/url_request_http_job.cc | ||||||
| +++ net/url_request/url_request_http_job.cc | +++ net/url_request/url_request_http_job.cc | ||||||
| @@ -2080,7 +2080,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { | @@ -2106,7 +2106,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { | ||||||
|    // Read cookies whenever allow_credentials() is true, even if the PrivacyMode |    // Read cookies whenever allow_credentials() is true, even if the PrivacyMode | ||||||
|    // is being overridden by NetworkDelegate and will eventually block them, as |    // is being overridden by NetworkDelegate and will eventually block them, as | ||||||
|    // blocked cookies still need to be logged in that case. |    // blocked cookies still need to be logged in that case. | ||||||
| @@ -24,10 +24,10 @@ index ae87ba4982d55..5b11c4d0043a4 100644 | |||||||
|   |   | ||||||
|  bool URLRequestHttpJob::ShouldRecordPartitionedCookieUsage() const { |  bool URLRequestHttpJob::ShouldRecordPartitionedCookieUsage() const { | ||||||
| diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc | diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc | ||||||
| index babcf42e01be0..0938c85246f01 100644 | index 7d97d0fd5481b..307e5f2beb370 100644 | ||||||
| --- services/network/public/cpp/resource_request.cc | --- services/network/public/cpp/resource_request.cc | ||||||
| +++ services/network/public/cpp/resource_request.cc | +++ services/network/public/cpp/resource_request.cc | ||||||
| @@ -353,7 +353,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { | @@ -356,7 +356,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool ResourceRequest::SendsCookies() const { |  bool ResourceRequest::SendsCookies() const { | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								patch/patches/net_schemeful_site_408329644.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								patch/patches/net_schemeful_site_408329644.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | diff --git net/base/schemeful_site.cc net/base/schemeful_site.cc | ||||||
|  | index 4b9760d916213..87556e7e0dc99 100644 | ||||||
|  | --- net/base/schemeful_site.cc | ||||||
|  | +++ net/base/schemeful_site.cc | ||||||
|  | @@ -43,6 +43,13 @@ bool IsSameSiteInternal(const url::Origin& a, | ||||||
|  |      return true; | ||||||
|  |    } | ||||||
|  |   | ||||||
|  | +  // If host equality is false, then the only way the origins can be same site | ||||||
|  | +  // is if we have a standard scheme with a network host, which is the only case | ||||||
|  | +  // when SchemefulSite looks at the registerable domain. | ||||||
|  | +  if (!IsStandardSchemeWithNetworkHost(a.scheme())) { | ||||||
|  | +    return false; | ||||||
|  | +  } | ||||||
|  | + | ||||||
|  |    std::string_view b_site = GetDomainAndRegistryAsStringPiece( | ||||||
|  |        b, net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); | ||||||
|  |   | ||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc | diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc | ||||||
| index 746d983c20d36..87f42ccc9fec6 100644 | index 8bdef06e92c85..4821bbb7f53e2 100644 | ||||||
| --- net/url_request/url_request_job.cc | --- net/url_request/url_request_job.cc | ||||||
| +++ net/url_request/url_request_job.cc | +++ net/url_request/url_request_job.cc | ||||||
| @@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||||||
| @@ -27,7 +27,7 @@ index 746d983c20d36..87f42ccc9fec6 100644 | |||||||
|  }  // namespace |  }  // namespace | ||||||
|   |   | ||||||
|  // Each SourceStreams own the previous SourceStream in the chain, but the |  // Each SourceStreams own the previous SourceStream in the chain, but the | ||||||
| @@ -327,8 +338,7 @@ GURL URLRequestJob::ComputeReferrerForPolicy( | @@ -335,8 +346,7 @@ GURL URLRequestJob::ComputeReferrerForPolicy( | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    bool secure_referrer_but_insecure_destination = |    bool secure_referrer_but_insecure_destination = | ||||||
|   | |||||||
| @@ -56,10 +56,10 @@ index f1030a744809c..c222a209949e6 100644 | |||||||
|      return nullptr; |      return nullptr; | ||||||
|    } |    } | ||||||
| diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc | diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc | ||||||
| index f4475e34d3d6c..ad06b50a46a9d 100644 | index 573269ba54150..a51715e7dc6cc 100644 | ||||||
| --- content/browser/renderer_host/render_widget_host_impl.cc | --- content/browser/renderer_host/render_widget_host_impl.cc | ||||||
| +++ content/browser/renderer_host/render_widget_host_impl.cc | +++ content/browser/renderer_host/render_widget_host_impl.cc | ||||||
| @@ -3733,6 +3733,11 @@ void RenderWidgetHostImpl::StopFling() { | @@ -3718,6 +3718,11 @@ void RenderWidgetHostImpl::StopFling() { | ||||||
|    GetRenderInputRouter()->StopFling(); |    GetRenderInputRouter()->StopFling(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -72,7 +72,7 @@ index f4475e34d3d6c..ad06b50a46a9d 100644 | |||||||
|      uint16_t angle, |      uint16_t angle, | ||||||
|      display::mojom::ScreenOrientation type) { |      display::mojom::ScreenOrientation type) { | ||||||
| diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h | diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h | ||||||
| index 99fe44aab8599..5af702180004e 100644 | index c201cff9e5c3b..900af39ae4b09 100644 | ||||||
| --- content/browser/renderer_host/render_widget_host_impl.h | --- content/browser/renderer_host/render_widget_host_impl.h | ||||||
| +++ content/browser/renderer_host/render_widget_host_impl.h | +++ content/browser/renderer_host/render_widget_host_impl.h | ||||||
| @@ -843,6 +843,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl | @@ -843,6 +843,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl | ||||||
|   | |||||||
| @@ -24,10 +24,10 @@ index f51591d21a0ce..6393280a99f38 100644 | |||||||
|    Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture; |    Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture; | ||||||
|   |   | ||||||
| diff --git media/video/renderable_gpu_memory_buffer_video_frame_pool.cc media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | diff --git media/video/renderable_gpu_memory_buffer_video_frame_pool.cc media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | ||||||
| index 4f216eb88e51c..e216283028864 100644 | index 7c90eca71d395..9c40397be51f1 100644 | ||||||
| --- media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | --- media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | ||||||
| +++ media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | +++ media/video/renderable_gpu_memory_buffer_video_frame_pool.cc | ||||||
| @@ -194,7 +194,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat( | @@ -196,7 +196,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat( | ||||||
|  bool FrameResources::Initialize() { |  bool FrameResources::Initialize() { | ||||||
|    auto* context = pool_->GetContext(); |    auto* context = pool_->GetContext(); | ||||||
|   |   | ||||||
| @@ -36,7 +36,7 @@ index 4f216eb88e51c..e216283028864 100644 | |||||||
|  #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) |  #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) | ||||||
|        gfx::BufferUsage::SCANOUT_VEA_CPU_READ |        gfx::BufferUsage::SCANOUT_VEA_CPU_READ | ||||||
|  #else |  #else | ||||||
| @@ -208,6 +208,23 @@ bool FrameResources::Initialize() { | @@ -210,6 +210,23 @@ bool FrameResources::Initialize() { | ||||||
|    const gfx::Size buffer_size_in_pixels = |    const gfx::Size buffer_size_in_pixels = | ||||||
|        GetBufferSizeInPixelsForVideoPixelFormat(format_, coded_size_); |        GetBufferSizeInPixelsForVideoPixelFormat(format_, coded_size_); | ||||||
|   |   | ||||||
| @@ -60,7 +60,7 @@ index 4f216eb88e51c..e216283028864 100644 | |||||||
|    gpu::SharedImageUsageSet usage = |    gpu::SharedImageUsageSet usage = | ||||||
|  #if BUILDFLAG(IS_MAC) |  #if BUILDFLAG(IS_MAC) | ||||||
|        gpu::SHARED_IMAGE_USAGE_MACOS_VIDEO_TOOLBOX | |        gpu::SHARED_IMAGE_USAGE_MACOS_VIDEO_TOOLBOX | | ||||||
| @@ -248,7 +265,7 @@ bool FrameResources::Initialize() { | @@ -250,7 +267,7 @@ bool FrameResources::Initialize() { | ||||||
|        viz::GetSharedImageFormat(buffer_format); |        viz::GetSharedImageFormat(buffer_format); | ||||||
|   |   | ||||||
|    shared_image_ = |    shared_image_ = | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/printing/printer_query.cc chrome/browser/printing/printer_query.cc | diff --git chrome/browser/printing/printer_query.cc chrome/browser/printing/printer_query.cc | ||||||
| index 402be34ab888c..28769289c6b46 100644 | index 4f2e70c243550..59257dc71304b 100644 | ||||||
| --- chrome/browser/printing/printer_query.cc | --- chrome/browser/printing/printer_query.cc | ||||||
| +++ chrome/browser/printing/printer_query.cc | +++ chrome/browser/printing/printer_query.cc | ||||||
| @@ -124,6 +124,7 @@ PrinterQuery::PrinterQuery(content::GlobalRenderFrameHostId rfh_id) | @@ -125,6 +125,7 @@ PrinterQuery::PrinterQuery(content::GlobalRenderFrameHostId rfh_id) | ||||||
|        rfh_id_(rfh_id), |        rfh_id_(rfh_id), | ||||||
|        cookie_(PrintSettings::NewCookie()) { |        cookie_(PrintSettings::NewCookie()) { | ||||||
|    DCHECK_CURRENTLY_ON(content::BrowserThread::UI); |    DCHECK_CURRENTLY_ON(content::BrowserThread::UI); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc | diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc | ||||||
| index a387789fe4270..e5d9dc26601e8 100644 | index 6c1e46e58d975..dbf513a643697 100644 | ||||||
| --- content/browser/renderer_host/render_view_host_impl.cc | --- content/browser/renderer_host/render_view_host_impl.cc | ||||||
| +++ content/browser/renderer_host/render_view_host_impl.cc | +++ content/browser/renderer_host/render_view_host_impl.cc | ||||||
| @@ -762,6 +762,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { | @@ -762,6 +762,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc | diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc | ||||||
| index 9dcd953d2bcfe..35c0218ce4a84 100644 | index f43a7a7f0bba1..da904e0407475 100644 | ||||||
| --- ui/base/resource/resource_bundle.cc | --- ui/base/resource/resource_bundle.cc | ||||||
| +++ ui/base/resource/resource_bundle.cc | +++ ui/base/resource/resource_bundle.cc | ||||||
| @@ -948,6 +948,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate) | @@ -947,6 +947,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate) | ||||||
|      : delegate_(delegate), |      : delegate_(delegate), | ||||||
|        locale_resources_data_lock_(new base::Lock), |        locale_resources_data_lock_(new base::Lock), | ||||||
|        max_scale_factor_(k100Percent) { |        max_scale_factor_(k100Percent) { | ||||||
| @@ -15,7 +15,7 @@ index 9dcd953d2bcfe..35c0218ce4a84 100644 | |||||||
|    mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch( |    mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch( | ||||||
|        switches::kMangleLocalizedStrings); |        switches::kMangleLocalizedStrings); | ||||||
|  } |  } | ||||||
| @@ -957,6 +963,11 @@ ResourceBundle::~ResourceBundle() { | @@ -956,6 +962,11 @@ ResourceBundle::~ResourceBundle() { | ||||||
|    UnloadLocaleResources(); |    UnloadLocaleResources(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc | diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc | ||||||
| index 3db42c2bf2740..c83a8a0b8492e 100644 | index 7d8baae182adb..a9b5cb4c8b43d 100644 | ||||||
| --- content/browser/renderer_host/render_frame_host_impl.cc | --- content/browser/renderer_host/render_frame_host_impl.cc | ||||||
| +++ content/browser/renderer_host/render_frame_host_impl.cc | +++ content/browser/renderer_host/render_frame_host_impl.cc | ||||||
| @@ -9627,6 +9627,16 @@ void RenderFrameHostImpl::CreateNewWindow( | @@ -9654,6 +9654,16 @@ void RenderFrameHostImpl::CreateNewWindow( | ||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -19,7 +19,7 @@ index 3db42c2bf2740..c83a8a0b8492e 100644 | |||||||
|    // Otherwise, consume user activation before we proceed. In particular, it is |    // Otherwise, consume user activation before we proceed. In particular, it is | ||||||
|    // important to do this before we return from the |opener_suppressed| case |    // important to do this before we return from the |opener_suppressed| case | ||||||
|    // below. |    // below. | ||||||
| @@ -12017,6 +12027,7 @@ void RenderFrameHostImpl::CommitNavigation( | @@ -12061,6 +12071,7 @@ void RenderFrameHostImpl::CommitNavigation( | ||||||
|    auto browser_calc_origin_to_commit = |    auto browser_calc_origin_to_commit = | ||||||
|        navigation_request->GetOriginToCommitWithDebugInfo(); |        navigation_request->GetOriginToCommitWithDebugInfo(); | ||||||
|    if (!process_lock.is_error_page() && !is_mhtml_subframe && |    if (!process_lock.is_error_page() && !is_mhtml_subframe && | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py | diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py | ||||||
| index 927fce24fcdc6..834c84eae805e 100644 | index d6598893c06a6..0b1adcf999dac 100644 | ||||||
| --- build/toolchain/win/setup_toolchain.py | --- build/toolchain/win/setup_toolchain.py | ||||||
| +++ build/toolchain/win/setup_toolchain.py | +++ build/toolchain/win/setup_toolchain.py | ||||||
| @@ -166,13 +166,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store): | @@ -166,13 +166,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store): | ||||||
| @@ -26,7 +26,7 @@ index 927fce24fcdc6..834c84eae805e 100644 | |||||||
|      if (cpu != 'x64'): |      if (cpu != 'x64'): | ||||||
|        # x64 is default target CPU thus any other CPU requires a target set |        # x64 is default target CPU thus any other CPU requires a target set | ||||||
| diff --git build/vs_toolchain.py build/vs_toolchain.py | diff --git build/vs_toolchain.py build/vs_toolchain.py | ||||||
| index f0b8bacf57360..585e64876f44e 100755 | index e0f89a555492c..0f8dc1dbb3525 100755 | ||||||
| --- build/vs_toolchain.py | --- build/vs_toolchain.py | ||||||
| +++ build/vs_toolchain.py | +++ build/vs_toolchain.py | ||||||
| @@ -136,9 +136,16 @@ def SetEnvironmentAndGetRuntimeDllDirs(): | @@ -136,9 +136,16 @@ def SetEnvironmentAndGetRuntimeDllDirs(): | ||||||
|   | |||||||
| @@ -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 | diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc | ||||||
| index 1d08f25b91496..ecac98345a92c 100644 | index 5867fc3e77326..54ac130dea600 100644 | ||||||
| --- content/browser/renderer_host/render_widget_host_view_aura.cc | --- content/browser/renderer_host/render_widget_host_view_aura.cc | ||||||
| +++ content/browser/renderer_host/render_widget_host_view_aura.cc | +++ content/browser/renderer_host/render_widget_host_view_aura.cc | ||||||
| @@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||||||
| @@ -28,7 +28,7 @@ index 1d08f25b91496..ecac98345a92c 100644 | |||||||
|    SkColor color = *GetBackgroundColor(); |    SkColor color = *GetBackgroundColor(); | ||||||
|    window_->layer()->SetColor(color); |    window_->layer()->SetColor(color); | ||||||
|  } |  } | ||||||
| @@ -2649,6 +2654,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { | @@ -2664,6 +2669,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { | ||||||
|    window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor() |    window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor() | ||||||
|                                                    : SK_ColorWHITE); |                                                    : SK_ColorWHITE); | ||||||
|    UpdateFrameSinkIdRegistration(); |    UpdateFrameSinkIdRegistration(); | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git ui/display/screen.cc ui/display/screen.cc | diff --git ui/display/screen.cc ui/display/screen.cc | ||||||
| index 6fa7119d30df8..224d2113000fb 100644 | index a3accb800e24a..61d4b48d43707 100644 | ||||||
| --- ui/display/screen.cc | --- ui/display/screen.cc | ||||||
| +++ ui/display/screen.cc | +++ ui/display/screen.cc | ||||||
| @@ -108,13 +108,13 @@ base::TimeDelta Screen::CalculateIdleTime() const { | @@ -108,13 +108,13 @@ base::TimeDelta Screen::CalculateIdleTime() const { | ||||||
| @@ -19,10 +19,10 @@ index 6fa7119d30df8..224d2113000fb 100644 | |||||||
|   |   | ||||||
|  bool Screen::GetDisplayWithDisplayId(int64_t display_id, |  bool Screen::GetDisplayWithDisplayId(int64_t display_id, | ||||||
| diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc | diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc | ||||||
| index 0d277625e3b82..4e648418c360e 100644 | index 3a0dc73315d90..aa645eb1ba974 100644 | ||||||
| --- ui/display/win/screen_win.cc | --- ui/display/win/screen_win.cc | ||||||
| +++ ui/display/win/screen_win.cc | +++ ui/display/win/screen_win.cc | ||||||
| @@ -632,7 +632,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) { | @@ -633,7 +633,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) { | ||||||
|        gfx::PointF(pixel_bounds.origin()), screen_win_display)); |        gfx::PointF(pixel_bounds.origin()), screen_win_display)); | ||||||
|    const float scale_factor = |    const float scale_factor = | ||||||
|        1.0f / screen_win_display.display().device_scale_factor(); |        1.0f / screen_win_display.display().device_scale_factor(); | ||||||
| @@ -31,7 +31,7 @@ index 0d277625e3b82..4e648418c360e 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  // static |  // static | ||||||
| @@ -647,7 +647,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) { | @@ -648,7 +648,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) { | ||||||
|    const gfx::Point origin = |    const gfx::Point origin = | ||||||
|        display::win::DIPToScreenPoint(dip_bounds.origin(), screen_win_display); |        display::win::DIPToScreenPoint(dip_bounds.origin(), screen_win_display); | ||||||
|    const float scale_factor = screen_win_display.display().device_scale_factor(); |    const float scale_factor = screen_win_display.display().device_scale_factor(); | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc | diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc | ||||||
| index cd7ce8c483362..4e05ca9aa5896 100644 | index 274e997b7c3c4..fc2f8b5e17680 100644 | ||||||
| --- net/cookies/cookie_monster.cc | --- net/cookies/cookie_monster.cc | ||||||
| +++ net/cookies/cookie_monster.cc | +++ net/cookies/cookie_monster.cc | ||||||
| @@ -681,6 +681,25 @@ void CookieMonster::SetCookieableSchemes( | @@ -668,6 +668,25 @@ void CookieMonster::SetCookieableSchemes( | ||||||
|    MaybeRunCookieCallback(std::move(callback), true); |    MaybeRunCookieCallback(std::move(callback), true); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -29,10 +29,10 @@ index cd7ce8c483362..4e05ca9aa5896 100644 | |||||||
|  void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) { |  void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) { | ||||||
|    DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); |    DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); | ||||||
| diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h | diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h | ||||||
| index 18fed025ee0b2..8d7ed64030ad1 100644 | index 66fc28e1eae7c..243fd76546952 100644 | ||||||
| --- net/cookies/cookie_monster.h | --- net/cookies/cookie_monster.h | ||||||
| +++ net/cookies/cookie_monster.h | +++ net/cookies/cookie_monster.h | ||||||
| @@ -239,6 +239,8 @@ class NET_EXPORT CookieMonster : public CookieStore { | @@ -238,6 +238,8 @@ class NET_EXPORT CookieMonster : public CookieStore { | ||||||
|    CookieChangeDispatcher& GetChangeDispatcher() override; |    CookieChangeDispatcher& GetChangeDispatcher() override; | ||||||
|    void SetCookieableSchemes(const std::vector<std::string>& schemes, |    void SetCookieableSchemes(const std::vector<std::string>& schemes, | ||||||
|                              SetCookieableSchemesCallback callback) override; |                              SetCookieableSchemesCallback callback) override; | ||||||
| @@ -80,10 +80,10 @@ index 95f73bcb9fb40..e17a93f69c089 100644 | |||||||
|   |   | ||||||
|  void CookieManager::SetForceKeepSessionState() { |  void CookieManager::SetForceKeepSessionState() { | ||||||
| diff --git services/network/network_context.cc services/network/network_context.cc | diff --git services/network/network_context.cc services/network/network_context.cc | ||||||
| index ca2df1e67d756..d2e963efdf1d8 100644 | index 8014bb16d8108..bc8e80e9eb9c3 100644 | ||||||
| --- services/network/network_context.cc | --- services/network/network_context.cc | ||||||
| +++ services/network/network_context.cc | +++ services/network/network_context.cc | ||||||
| @@ -2785,22 +2785,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( | @@ -2821,22 +2821,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( | ||||||
|              pref_service.get(), network_service_->network_quality_estimator()); |              pref_service.get(), network_service_->network_quality_estimator()); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -127,10 +127,10 @@ index ca2df1e67d756..d2e963efdf1d8 100644 | |||||||
|    base::FilePath transport_security_persister_file_name; |    base::FilePath transport_security_persister_file_name; | ||||||
|    if (GetFullDataFilePath(params_->file_paths, |    if (GetFullDataFilePath(params_->file_paths, | ||||||
| diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom | diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom | ||||||
| index be45c88ba8571..536e92b4e9497 100644 | index a9c82bcf9a4eb..61afe5bf737ce 100644 | ||||||
| --- services/network/public/mojom/network_context.mojom | --- services/network/public/mojom/network_context.mojom | ||||||
| +++ services/network/public/mojom/network_context.mojom | +++ services/network/public/mojom/network_context.mojom | ||||||
| @@ -360,6 +360,9 @@ struct NetworkContextParams { | @@ -361,6 +361,9 @@ struct NetworkContextParams { | ||||||
|    // cookies. Otherwise it should be false. |    // cookies. Otherwise it should be false. | ||||||
|    bool persist_session_cookies = false; |    bool persist_session_cookies = false; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc | diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc | ||||||
| index 91b0547550e85..34972a982e866 100644 | index 861d6c3b3e71a..7db0effe43f45 100644 | ||||||
| --- content/browser/storage_partition_impl.cc | --- content/browser/storage_partition_impl.cc | ||||||
| +++ content/browser/storage_partition_impl.cc | +++ content/browser/storage_partition_impl.cc | ||||||
| @@ -3449,9 +3449,12 @@ void StoragePartitionImpl::InitNetworkContext() { | @@ -3504,9 +3504,12 @@ void StoragePartitionImpl::InitNetworkContext() { | ||||||
|    cert_verifier::mojom::CertVerifierCreationParamsPtr |    cert_verifier::mojom::CertVerifierCreationParamsPtr | ||||||
|        cert_verifier_creation_params = |        cert_verifier_creation_params = | ||||||
|            cert_verifier::mojom::CertVerifierCreationParams::New(); |            cert_verifier::mojom::CertVerifierCreationParams::New(); | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ index 0414d4c020839..62c4367b23d06 100644 | |||||||
|    if (crashed_overlay_view_.view() == crashed_overlay_view) { |    if (crashed_overlay_view_.view() == crashed_overlay_view) { | ||||||
|      return; |      return; | ||||||
| diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h | diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h | ||||||
| index de6fe5c099273..c34a2555b023d 100644 | index e34f94cec2d89..fcecfac138244 100644 | ||||||
| --- ui/views/controls/webview/webview.h | --- ui/views/controls/webview/webview.h | ||||||
| +++ ui/views/controls/webview/webview.h | +++ ui/views/controls/webview/webview.h | ||||||
| @@ -107,6 +107,10 @@ class WEBVIEW_EXPORT WebView : public View, | @@ -107,6 +107,10 @@ class WEBVIEW_EXPORT WebView : public View, | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h | diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h | ||||||
| index c428a5f8d79e8..47b076605604d 100644 | index 19e3f2fc7b3e0..c9469d3da6409 100644 | ||||||
| --- base/trace_event/builtin_categories.h | --- base/trace_event/builtin_categories.h | ||||||
| +++ base/trace_event/builtin_categories.h | +++ base/trace_event/builtin_categories.h | ||||||
| @@ -69,6 +69,8 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS( | @@ -69,6 +69,8 @@ PERFETTO_DEFINE_CATEGORIES_IN_NAMESPACE_WITH_ATTRS( | ||||||
|   | |||||||
| @@ -1,16 +1,16 @@ | |||||||
| diff --git BUILD.gn BUILD.gn | diff --git BUILD.gn BUILD.gn | ||||||
| index bc75d8130b4..f15faf2d9c5 100644 | index 9a2b2cdd94f..dd05f318329 100644 | ||||||
| --- BUILD.gn | --- BUILD.gn | ||||||
| +++ BUILD.gn | +++ BUILD.gn | ||||||
| @@ -11,6 +11,7 @@ import("//build/config/mips.gni") | @@ -12,6 +12,7 @@ import("//build/config/riscv.gni") | ||||||
|  import("//build/config/riscv.gni") |  import("//build/config/rust.gni") | ||||||
|  import("//build/config/sanitizers/sanitizers.gni") |  import("//build/config/sanitizers/sanitizers.gni") | ||||||
|  import("//build_overrides/build.gni") |  import("//build_overrides/build.gni") | ||||||
| +import("//cef/libcef/features/features.gni") | +import("//cef/libcef/features/features.gni") | ||||||
|  import("//third_party/icu/config.gni") |  import("//third_party/icu/config.gni") | ||||||
|   |   | ||||||
|  import("gni/snapshot_toolchain.gni") |  import("gni/snapshot_toolchain.gni") | ||||||
| @@ -484,6 +485,9 @@ declare_args() { | @@ -496,6 +497,9 @@ declare_args() { | ||||||
|    # Experimental testing mode where various limits are artificially set lower. |    # Experimental testing mode where various limits are artificially set lower. | ||||||
|    v8_lower_limits_mode = false |    v8_lower_limits_mode = false | ||||||
|   |   | ||||||
| @@ -20,7 +20,7 @@ index bc75d8130b4..f15faf2d9c5 100644 | |||||||
|    # Enables the use of partition_alloc as the default allocator for standalone |    # Enables the use of partition_alloc as the default allocator for standalone | ||||||
|    # V8. This should be used for benchmarking and testing purposes to more |    # V8. This should be used for benchmarking and testing purposes to more | ||||||
|    # closely mimic in-browser behavior. |    # closely mimic in-browser behavior. | ||||||
| @@ -849,6 +853,10 @@ config("internal_config") { | @@ -875,6 +879,10 @@ config("internal_config") { | ||||||
|      defines += [ "BUILDING_V8_SHARED" ] |      defines += [ "BUILDING_V8_SHARED" ] | ||||||
|    } |    } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git chrome/browser/ui/views/toolbar/app_menu.cc chrome/browser/ui/views/toolbar/app_menu.cc | diff --git chrome/browser/ui/views/toolbar/app_menu.cc chrome/browser/ui/views/toolbar/app_menu.cc | ||||||
| index 43e388d5517d1..b16a6961232fd 100644 | index 15a2e6f3eac5f..d1db608df307f 100644 | ||||||
| --- chrome/browser/ui/views/toolbar/app_menu.cc | --- chrome/browser/ui/views/toolbar/app_menu.cc | ||||||
| +++ chrome/browser/ui/views/toolbar/app_menu.cc | +++ chrome/browser/ui/views/toolbar/app_menu.cc | ||||||
| @@ -1044,7 +1044,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) { | @@ -1043,7 +1043,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) { | ||||||
|        host->button()->GetWidget(), host, |        host->button()->GetWidget(), host, | ||||||
|        host->button()->GetAnchorBoundsInScreen(), |        host->button()->GetAnchorBoundsInScreen(), | ||||||
|        views::MenuAnchorPosition::kTopRight, ui::mojom::MenuSourceType::kNone, |        views::MenuAnchorPosition::kTopRight, ui::mojom::MenuSourceType::kNone, | ||||||
| @@ -120,7 +120,7 @@ index 55d05c746eb00..7883a183f274d 100644 | |||||||
|   |   | ||||||
|  }  // namespace gfx |  }  // namespace gfx | ||||||
| diff --git ui/views/animation/ink_drop_host.h ui/views/animation/ink_drop_host.h | diff --git ui/views/animation/ink_drop_host.h ui/views/animation/ink_drop_host.h | ||||||
| index e5135719b8df9..fe88f01136990 100644 | index 26734958c1faa..10a5d50190834 100644 | ||||||
| --- ui/views/animation/ink_drop_host.h | --- ui/views/animation/ink_drop_host.h | ||||||
| +++ ui/views/animation/ink_drop_host.h | +++ ui/views/animation/ink_drop_host.h | ||||||
| @@ -194,6 +194,8 @@ class VIEWS_EXPORT InkDropHost { | @@ -194,6 +194,8 @@ class VIEWS_EXPORT InkDropHost { | ||||||
| @@ -133,10 +133,10 @@ index e5135719b8df9..fe88f01136990 100644 | |||||||
|    friend class test::InkDropHostTestApi; |    friend class test::InkDropHostTestApi; | ||||||
|   |   | ||||||
| diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc | diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc | ||||||
| index ccbd45bf8bba7..2a2f403e8fe01 100644 | index 74c21a8d33b5e..4dadf74b6097d 100644 | ||||||
| --- ui/views/controls/button/label_button.cc | --- ui/views/controls/button/label_button.cc | ||||||
| +++ ui/views/controls/button/label_button.cc | +++ ui/views/controls/button/label_button.cc | ||||||
| @@ -604,6 +604,12 @@ void LabelButton::OnThemeChanged() { | @@ -605,6 +605,12 @@ void LabelButton::OnThemeChanged() { | ||||||
|    SchedulePaint(); |    SchedulePaint(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -164,7 +164,7 @@ index 8efaccff40e09..e420e2f4e80ec 100644 | |||||||
|    LabelButtonImageContainer* image_container() { |    LabelButtonImageContainer* image_container() { | ||||||
|      return image_container_.get(); |      return image_container_.get(); | ||||||
| diff --git ui/views/controls/label.cc ui/views/controls/label.cc | diff --git ui/views/controls/label.cc ui/views/controls/label.cc | ||||||
| index af3ef923d50ce..263a178888e18 100644 | index 774640f711d13..54325afd0b1a5 100644 | ||||||
| --- ui/views/controls/label.cc | --- ui/views/controls/label.cc | ||||||
| +++ ui/views/controls/label.cc | +++ ui/views/controls/label.cc | ||||||
| @@ -56,12 +56,29 @@ enum LabelPropertyKey { | @@ -56,12 +56,29 @@ enum LabelPropertyKey { | ||||||
| @@ -254,10 +254,10 @@ index b4cb7c83a3e4c..562e096930147 100644 | |||||||
|    std::unique_ptr<SelectionController> selection_controller_; |    std::unique_ptr<SelectionController> selection_controller_; | ||||||
|   |   | ||||||
| diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc | diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc | ||||||
| index 6337d0d70f247..8ee49d582cbf8 100644 | index c5f3700f8f04b..84b0d56977dbd 100644 | ||||||
| --- ui/views/controls/menu/menu_controller.cc | --- ui/views/controls/menu/menu_controller.cc | ||||||
| +++ ui/views/controls/menu/menu_controller.cc | +++ ui/views/controls/menu/menu_controller.cc | ||||||
| @@ -588,7 +588,8 @@ void MenuController::Run(Widget* parent, | @@ -589,7 +589,8 @@ void MenuController::Run(Widget* parent, | ||||||
|                           ui::mojom::MenuSourceType source_type, |                           ui::mojom::MenuSourceType source_type, | ||||||
|                           bool context_menu, |                           bool context_menu, | ||||||
|                           bool is_nested_drag, |                           bool is_nested_drag, | ||||||
| @@ -267,7 +267,7 @@ index 6337d0d70f247..8ee49d582cbf8 100644 | |||||||
|    exit_type_ = ExitType::kNone; |    exit_type_ = ExitType::kNone; | ||||||
|    possible_drag_ = false; |    possible_drag_ = false; | ||||||
|    drag_in_progress_ = false; |    drag_in_progress_ = false; | ||||||
| @@ -657,6 +658,7 @@ void MenuController::Run(Widget* parent, | @@ -658,6 +659,7 @@ void MenuController::Run(Widget* parent, | ||||||
|      } |      } | ||||||
|   |   | ||||||
|      native_view_for_gestures_ = native_view_for_gestures; |      native_view_for_gestures_ = native_view_for_gestures; | ||||||
| @@ -275,7 +275,7 @@ index 6337d0d70f247..8ee49d582cbf8 100644 | |||||||
|   |   | ||||||
|      // Only create a MenuPreTargetHandler for non-nested menus. Nested menus |      // Only create a MenuPreTargetHandler for non-nested menus. Nested menus | ||||||
|      // will use the existing one. |      // will use the existing one. | ||||||
| @@ -2380,6 +2382,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { | @@ -2386,6 +2388,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) { | ||||||
|      params.do_capture = do_capture; |      params.do_capture = do_capture; | ||||||
|      params.native_view_for_gestures = native_view_for_gestures_; |      params.native_view_for_gestures = native_view_for_gestures_; | ||||||
|      params.owned_window_anchor = anchor; |      params.owned_window_anchor = anchor; | ||||||
| @@ -283,7 +283,7 @@ index 6337d0d70f247..8ee49d582cbf8 100644 | |||||||
|      if (item->GetParentMenuItem()) { |      if (item->GetParentMenuItem()) { | ||||||
|        params.context = item->GetWidget(); |        params.context = item->GetWidget(); | ||||||
|        // (crbug.com/1414232) The item to be open is a submenu. Make sure |        // (crbug.com/1414232) The item to be open is a submenu. Make sure | ||||||
| @@ -3091,7 +3094,11 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem( | @@ -3099,7 +3102,11 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem( | ||||||
|   |   | ||||||
|  void MenuController::OpenSubmenuChangeSelectionIfCan() { |  void MenuController::OpenSubmenuChangeSelectionIfCan() { | ||||||
|    MenuItemView* item = pending_state_.item; |    MenuItemView* item = pending_state_.item; | ||||||
| @@ -296,7 +296,7 @@ index 6337d0d70f247..8ee49d582cbf8 100644 | |||||||
|      return; |      return; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -3116,6 +3123,7 @@ void MenuController::CloseSubmenu() { | @@ -3124,6 +3131,7 @@ void MenuController::CloseSubmenu() { | ||||||
|    MenuItemView* item = state_.item; |    MenuItemView* item = state_.item; | ||||||
|    DCHECK(item); |    DCHECK(item); | ||||||
|    if (!item->GetParentMenuItem()) { |    if (!item->GetParentMenuItem()) { | ||||||
| @@ -367,10 +367,10 @@ index ea82da6dc2f45..575bd9484c2bf 100644 | |||||||
|    virtual int GetMaxWidthForMenu(MenuItemView* menu); |    virtual int GetMaxWidthForMenu(MenuItemView* menu); | ||||||
|   |   | ||||||
| diff --git ui/views/controls/menu/menu_host.cc ui/views/controls/menu/menu_host.cc | diff --git ui/views/controls/menu/menu_host.cc ui/views/controls/menu/menu_host.cc | ||||||
| index a462f65d2eb0e..4ae344a2b355a 100644 | index 84c5e0c9e5091..4d4cc966670e5 100644 | ||||||
| --- ui/views/controls/menu/menu_host.cc | --- ui/views/controls/menu/menu_host.cc | ||||||
| +++ ui/views/controls/menu/menu_host.cc | +++ ui/views/controls/menu/menu_host.cc | ||||||
| @@ -148,6 +148,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { | @@ -153,6 +153,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { | ||||||
|                                         : gfx::NativeWindow(); |                                         : gfx::NativeWindow(); | ||||||
|    params.bounds = init_params.bounds; |    params.bounds = init_params.bounds; | ||||||
|   |   | ||||||
| @@ -379,7 +379,7 @@ index a462f65d2eb0e..4ae344a2b355a 100644 | |||||||
|  #if defined(USE_AURA) |  #if defined(USE_AURA) | ||||||
|    params.init_properties_container.SetProperty(aura::client::kOwnedWindowAnchor, |    params.init_properties_container.SetProperty(aura::client::kOwnedWindowAnchor, | ||||||
|                                                 init_params.owned_window_anchor); |                                                 init_params.owned_window_anchor); | ||||||
| @@ -155,7 +157,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { | @@ -160,7 +162,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) { | ||||||
|    // If MenuHost has no parent widget, it needs to be marked |    // If MenuHost has no parent widget, it needs to be marked | ||||||
|    // Activatable, so that calling Show in ShowMenuHost will |    // Activatable, so that calling Show in ShowMenuHost will | ||||||
|    // get keyboard focus. |    // get keyboard focus. | ||||||
| @@ -403,7 +403,7 @@ index fc1d5fccc3845..c065cafcd537c 100644 | |||||||
|   |   | ||||||
|    explicit MenuHost(SubmenuView* submenu); |    explicit MenuHost(SubmenuView* submenu); | ||||||
| diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc | diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc | ||||||
| index 03dddd5040a34..442bbfdb3f6f5 100644 | index 75433da75bee3..351c209cb21c8 100644 | ||||||
| --- ui/views/controls/menu/menu_item_view.cc | --- ui/views/controls/menu/menu_item_view.cc | ||||||
| +++ ui/views/controls/menu/menu_item_view.cc | +++ ui/views/controls/menu/menu_item_view.cc | ||||||
| @@ -1158,6 +1158,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas, | @@ -1158,6 +1158,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas, | ||||||
| @@ -749,7 +749,7 @@ index da772edd48c00..43c930e932287 100644 | |||||||
|      std::optional<std::string> show_menu_host_duration_histogram) { |      std::optional<std::string> show_menu_host_duration_histogram) { | ||||||
|    RunMenu(parent, bounds.CenterPoint()); |    RunMenu(parent, bounds.CenterPoint()); | ||||||
| diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc | diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc | ||||||
| index 265c4713b41e0..8204af77e97fb 100644 | index e997f21d56ce8..ca69158a8dbfa 100644 | ||||||
| --- ui/views/controls/menu/menu_scroll_view_container.cc | --- ui/views/controls/menu/menu_scroll_view_container.cc | ||||||
| +++ ui/views/controls/menu/menu_scroll_view_container.cc | +++ ui/views/controls/menu/menu_scroll_view_container.cc | ||||||
| @@ -273,6 +273,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) | @@ -273,6 +273,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view) | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc | diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc | ||||||
| index ceafee88760f7..91f670e94a8e4 100644 | index 971a4ea58a9ee..6a4a457bc055b 100644 | ||||||
| --- ui/views/controls/textfield/textfield.cc | --- ui/views/controls/textfield/textfield.cc | ||||||
| +++ ui/views/controls/textfield/textfield.cc | +++ ui/views/controls/textfield/textfield.cc | ||||||
| @@ -3131,6 +3131,10 @@ void Textfield::OnEnabledChanged() { | @@ -3132,6 +3132,10 @@ void Textfield::OnEnabledChanged() { | ||||||
|    if (GetInputMethod()) { |    if (GetInputMethod()) { | ||||||
|      GetInputMethod()->OnTextInputTypeChanged(this); |      GetInputMethod()->OnTextInputTypeChanged(this); | ||||||
|    } |    } | ||||||
|   | |||||||
| @@ -23,10 +23,10 @@ index dc3a54ce29e7d..1a57a27234869 100644 | |||||||
|      case ui::mojom::WindowShowState::kEnd: |      case ui::mojom::WindowShowState::kEnd: | ||||||
|        return ui::mojom::WindowShowState::kNormal; |        return ui::mojom::WindowShowState::kNormal; | ||||||
| diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc | diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc | ||||||
| index 07dbfd4f78b3a..4769320389f9f 100644 | index cc8c871906054..7a1a6f8ae545c 100644 | ||||||
| --- components/sessions/core/session_service_commands.cc | --- components/sessions/core/session_service_commands.cc | ||||||
| +++ components/sessions/core/session_service_commands.cc | +++ components/sessions/core/session_service_commands.cc | ||||||
| @@ -171,9 +171,10 @@ enum PersistedWindowShowState { | @@ -172,9 +172,10 @@ enum PersistedWindowShowState { | ||||||
|    PERSISTED_SHOW_STATE_MAXIMIZED = 3, |    PERSISTED_SHOW_STATE_MAXIMIZED = 3, | ||||||
|    // SHOW_STATE_INACTIVE (4) never persisted. |    // SHOW_STATE_INACTIVE (4) never persisted. | ||||||
|    PERSISTED_SHOW_STATE_FULLSCREEN = 5, |    PERSISTED_SHOW_STATE_FULLSCREEN = 5, | ||||||
| @@ -40,7 +40,7 @@ index 07dbfd4f78b3a..4769320389f9f 100644 | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState |  // Assert to ensure PersistedWindowShowState is updated if ui::WindowShowState | ||||||
| @@ -191,6 +192,7 @@ PersistedWindowShowState ShowStateToPersistedShowState( | @@ -192,6 +193,7 @@ PersistedWindowShowState ShowStateToPersistedShowState( | ||||||
|      case ui::mojom::WindowShowState::kNormal: |      case ui::mojom::WindowShowState::kNormal: | ||||||
|        return PERSISTED_SHOW_STATE_NORMAL; |        return PERSISTED_SHOW_STATE_NORMAL; | ||||||
|      case ui::mojom::WindowShowState::kMinimized: |      case ui::mojom::WindowShowState::kMinimized: | ||||||
| @@ -80,7 +80,7 @@ index ce00b0540a7ac..21ce742e1406f 100644 | |||||||
|    if (!GetMouseWheelPhaseHandler()) |    if (!GetMouseWheelPhaseHandler()) | ||||||
|      return; |      return; | ||||||
| diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h | diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h | ||||||
| index 568a87065acb5..826b835d88a03 100644 | index d451701b81bf2..0b0e0eb5846e9 100644 | ||||||
| --- content/browser/renderer_host/render_widget_host_view_base.h | --- content/browser/renderer_host/render_widget_host_view_base.h | ||||||
| +++ content/browser/renderer_host/render_widget_host_view_base.h | +++ content/browser/renderer_host/render_widget_host_view_base.h | ||||||
| @@ -72,6 +72,7 @@ namespace content { | @@ -72,6 +72,7 @@ namespace content { | ||||||
| @@ -101,7 +101,7 @@ index 568a87065acb5..826b835d88a03 100644 | |||||||
|    // Identical to `CopyFromSurface()`, except that this method issues the |    // Identical to `CopyFromSurface()`, except that this method issues the | ||||||
|    // `viz::CopyOutputRequest` against the exact `viz::Surface` currently |    // `viz::CopyOutputRequest` against the exact `viz::Surface` currently | ||||||
|    // embedded by this View, while `CopyFromSurface()` may return a copy of any |    // embedded by this View, while `CopyFromSurface()` may return a copy of any | ||||||
| @@ -225,6 +229,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | @@ -226,6 +230,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | ||||||
|    // Called when screen information or native widget bounds change. |    // Called when screen information or native widget bounds change. | ||||||
|    virtual void UpdateScreenInfo(); |    virtual void UpdateScreenInfo(); | ||||||
|   |   | ||||||
| @@ -112,7 +112,7 @@ index 568a87065acb5..826b835d88a03 100644 | |||||||
|    // Called by the TextInputManager to notify the view about being removed from |    // Called by the TextInputManager to notify the view about being removed from | ||||||
|    // the list of registered views, i.e., TextInputManager is no longer tracking |    // the list of registered views, i.e., TextInputManager is no longer tracking | ||||||
|    // TextInputState from this view. The RWHV should reset |text_input_manager_| |    // TextInputState from this view. The RWHV should reset |text_input_manager_| | ||||||
| @@ -351,6 +359,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | @@ -352,6 +360,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | ||||||
|                             const gfx::Rect& bounds, |                             const gfx::Rect& bounds, | ||||||
|                             const gfx::Rect& anchor_rect) = 0; |                             const gfx::Rect& anchor_rect) = 0; | ||||||
|   |   | ||||||
| @@ -125,7 +125,7 @@ index 568a87065acb5..826b835d88a03 100644 | |||||||
|    // Indicates whether the page has finished loading. |    // Indicates whether the page has finished loading. | ||||||
|    virtual void SetIsLoading(bool is_loading) = 0; |    virtual void SetIsLoading(bool is_loading) = 0; | ||||||
|   |   | ||||||
| @@ -613,6 +627,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | @@ -620,6 +634,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | ||||||
|    // to all displays. |    // to all displays. | ||||||
|    gfx::Size system_cursor_size_; |    gfx::Size system_cursor_size_; | ||||||
|   |   | ||||||
| @@ -136,7 +136,7 @@ index 568a87065acb5..826b835d88a03 100644 | |||||||
|   private: |   private: | ||||||
|    FRIEND_TEST_ALL_PREFIXES( |    FRIEND_TEST_ALL_PREFIXES( | ||||||
|        BrowserSideFlingBrowserTest, |        BrowserSideFlingBrowserTest, | ||||||
| @@ -634,10 +652,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | @@ -641,10 +659,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase | ||||||
|   |   | ||||||
|    void SynchronizeVisualProperties(); |    void SynchronizeVisualProperties(); | ||||||
|   |   | ||||||
| @@ -196,7 +196,7 @@ index 41b34a27176a3..bdf5f9d4bb61e 100644 | |||||||
|    if (host_ && set_focus_on_mouse_down_or_key_event_) { |    if (host_ && set_focus_on_mouse_down_or_key_event_) { | ||||||
|      set_focus_on_mouse_down_or_key_event_ = false; |      set_focus_on_mouse_down_or_key_event_ = false; | ||||||
| diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h | diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h | ||||||
| index 027dd27577fdc..cee885246b3e1 100644 | index 1c6b2efc652ee..15003a27cd0db 100644 | ||||||
| --- content/public/browser/render_widget_host_view.h | --- content/public/browser/render_widget_host_view.h | ||||||
| +++ content/public/browser/render_widget_host_view.h | +++ content/public/browser/render_widget_host_view.h | ||||||
| @@ -255,6 +255,14 @@ class CONTENT_EXPORT RenderWidgetHostView { | @@ -255,6 +255,14 @@ class CONTENT_EXPORT RenderWidgetHostView { | ||||||
| @@ -246,24 +246,24 @@ index aeaf8e35f7eda..4b7cc3f03d3cf 100644 | |||||||
| +  [MinVersion=1] kEnd = 7, | +  [MinVersion=1] kEnd = 7, | ||||||
|  }; |  }; | ||||||
| diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc | diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc | ||||||
| index 5c4cdbd17a169..fe3460b63d3e6 100644 | index 8ddea1c9ed5ee..7e92ecf2c5a5f 100644 | ||||||
| --- ui/ozone/platform/x11/x11_window.cc | --- ui/ozone/platform/x11/x11_window.cc | ||||||
| +++ ui/ozone/platform/x11/x11_window.cc | +++ ui/ozone/platform/x11/x11_window.cc | ||||||
| @@ -1847,7 +1847,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) { | @@ -1834,7 +1834,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) { | ||||||
|    req.border_pixel = 0; |    req.border_pixel = 0; | ||||||
|   |   | ||||||
|    bounds_in_pixels_ = SanitizeBounds(bounds); |    last_set_bounds_px_ = SanitizeBounds(bounds); | ||||||
| -  req.parent = x_root_window_; | -  req.parent = x_root_window_; | ||||||
| +  req.parent = properties.parent_widget == gfx::kNullAcceleratedWidget ? | +  req.parent = properties.parent_widget == gfx::kNullAcceleratedWidget ? | ||||||
| +      x_root_window_ : static_cast<x11::Window>(properties.parent_widget); | +      x_root_window_ : static_cast<x11::Window>(properties.parent_widget); | ||||||
|    req.x = bounds_in_pixels_.x(); |    req.x = last_set_bounds_px_.x(); | ||||||
|    req.y = bounds_in_pixels_.y(); |    req.y = last_set_bounds_px_.y(); | ||||||
|    req.width = bounds_in_pixels_.width(); |    req.width = last_set_bounds_px_.width(); | ||||||
| diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc | diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc | ||||||
| index e31c5b4cb6726..1b724948c2868 100644 | index 077855979045d..69f369b06c29e 100644 | ||||||
| --- ui/views/widget/desktop_aura/desktop_screen_win.cc | --- ui/views/widget/desktop_aura/desktop_screen_win.cc | ||||||
| +++ ui/views/widget/desktop_aura/desktop_screen_win.cc | +++ ui/views/widget/desktop_aura/desktop_screen_win.cc | ||||||
| @@ -23,6 +23,8 @@ DesktopScreenWin::~DesktopScreenWin() { | @@ -27,6 +27,8 @@ DesktopScreenWin::~DesktopScreenWin() { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  HWND DesktopScreenWin::GetHWNDFromNativeWindow(gfx::NativeWindow window) const { |  HWND DesktopScreenWin::GetHWNDFromNativeWindow(gfx::NativeWindow window) const { | ||||||
| @@ -273,7 +273,7 @@ index e31c5b4cb6726..1b724948c2868 100644 | |||||||
|    return host ? host->GetAcceleratedWidget() : nullptr; |    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 | 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 75ac8668c6288..ae1be67adece5 100644 | index 9c68ea7230d52..183619ccdf3f6 100644 | ||||||
| --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc | --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc | ||||||
| +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc | +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc | ||||||
| @@ -193,6 +193,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop( | @@ -193,6 +193,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop( | ||||||
| @@ -337,10 +337,10 @@ index 5c57268b37e2a..e844ce5a4cd3a 100644 | |||||||
|    base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this}; |    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 | 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 e19eb0360e4ca..97422ae54acc4 100644 | index 649cff570ec92..94f4af1e91e19 100644 | ||||||
| --- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc | --- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc | ||||||
| +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc | +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc | ||||||
| @@ -274,8 +274,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { | @@ -280,8 +280,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { | ||||||
|    if (properties.parent_widget) { |    if (properties.parent_widget) { | ||||||
|      window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget( |      window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget( | ||||||
|          properties.parent_widget); |          properties.parent_widget); | ||||||
| @@ -352,10 +352,10 @@ index e19eb0360e4ca..97422ae54acc4 100644 | |||||||
|   |   | ||||||
|    // Calculate initial bounds. |    // 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 | 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 88d8d9985c6b4..899fd479eb1e4 100644 | index 82e6f7c91bac6..6b851e154e01b 100644 | ||||||
| --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc | --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc | ||||||
| +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc | +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc | ||||||
| @@ -21,6 +21,7 @@ | @@ -22,6 +22,7 @@ | ||||||
|  #include "ui/aura/client/aura_constants.h" |  #include "ui/aura/client/aura_constants.h" | ||||||
|  #include "ui/aura/client/cursor_client.h" |  #include "ui/aura/client/cursor_client.h" | ||||||
|  #include "ui/aura/client/focus_client.h" |  #include "ui/aura/client/focus_client.h" | ||||||
| @@ -363,7 +363,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|  #include "ui/aura/window_event_dispatcher.h" |  #include "ui/aura/window_event_dispatcher.h" | ||||||
|  #include "ui/base/class_property.h" |  #include "ui/base/class_property.h" | ||||||
|  #include "ui/base/cursor/cursor.h" |  #include "ui/base/cursor/cursor.h" | ||||||
| @@ -200,7 +201,10 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | @@ -199,7 +200,10 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | ||||||
|                          native_widget_delegate_.get()); |                          native_widget_delegate_.get()); | ||||||
|   |   | ||||||
|    HWND parent_hwnd = nullptr; |    HWND parent_hwnd = nullptr; | ||||||
| @@ -375,7 +375,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|      parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget(); |      parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget(); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -208,9 +212,18 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | @@ -207,9 +211,18 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | ||||||
|    has_non_client_view_ = Widget::RequiresNonClientView(params.type); |    has_non_client_view_ = Widget::RequiresNonClientView(params.type); | ||||||
|    z_order_ = params.EffectiveZOrderLevel(); |    z_order_ = params.EffectiveZOrderLevel(); | ||||||
|   |   | ||||||
| @@ -397,7 +397,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|    message_handler_->Init(parent_hwnd, pixel_bounds); |    message_handler_->Init(parent_hwnd, pixel_bounds); | ||||||
|   |   | ||||||
|    // If the Redirection Surface is removed, there needs to be a replacement |    // If the Redirection Surface is removed, there needs to be a replacement | ||||||
| @@ -246,6 +259,13 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | @@ -245,6 +258,13 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { | ||||||
|    InitHost(); |    InitHost(); | ||||||
|    window()->Show(); |    window()->Show(); | ||||||
|   |   | ||||||
| @@ -411,7 +411,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|    // Stack immediately above its parent so that it does not cover other |    // Stack immediately above its parent so that it does not cover other | ||||||
|    // root-level windows, with the exception of menus, to allow them to be |    // root-level windows, with the exception of menus, to allow them to be | ||||||
|    // displayed on top of other windows. |    // displayed on top of other windows. | ||||||
| @@ -1149,6 +1169,18 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) { | @@ -1178,6 +1198,18 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) { | ||||||
|   |   | ||||||
|    if (restored) { |    if (restored) { | ||||||
|      window()->Show(); |      window()->Show(); | ||||||
| @@ -430,7 +430,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|    } else { |    } else { | ||||||
|      window()->Hide(); |      window()->Hide(); | ||||||
|    } |    } | ||||||
| @@ -1170,11 +1202,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { | @@ -1199,11 +1231,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { |  void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { | ||||||
| @@ -448,7 +448,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { |  bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { | ||||||
| @@ -1183,6 +1219,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { | @@ -1212,6 +1248,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { | ||||||
|      return true; |      return true; | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -461,7 +461,7 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|    SendEventToSink(event); |    SendEventToSink(event); | ||||||
|    return event->handled(); |    return event->handled(); | ||||||
|  } |  } | ||||||
| @@ -1368,9 +1410,17 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) { | @@ -1397,9 +1439,17 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) { | ||||||
|    // positions in variable-DPI situations. See https://crbug.com/1224715 for |    // positions in variable-DPI situations. See https://crbug.com/1224715 for | ||||||
|    // details. |    // details. | ||||||
|    aura::Window* root = nullptr; |    aura::Window* root = nullptr; | ||||||
| @@ -481,10 +481,10 @@ index 88d8d9985c6b4..899fd479eb1e4 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
| diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h | 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 932351e288f37..7897f4b72f605 100644 | index 2ee5e4b4673f4..62a6776b27ad9 100644 | ||||||
| --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h | --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h | ||||||
| +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h | +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h | ||||||
| @@ -342,6 +342,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin : public DesktopWindowTreeHost, | @@ -345,6 +345,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin : public DesktopWindowTreeHost, | ||||||
|   |   | ||||||
|    base::ScopedObservation<Widget, WidgetObserver> widget_observation_{this}; |    base::ScopedObservation<Widget, WidgetObserver> widget_observation_{this}; | ||||||
|   |   | ||||||
| @@ -500,10 +500,10 @@ index 932351e288f37..7897f4b72f605 100644 | |||||||
|    // the implementation of ::ShowCursor() is based on a counter, so making this |    // the implementation of ::ShowCursor() is based on a counter, so making this | ||||||
|    // member static ensures that ::ShowCursor() is always called exactly once |    // member static ensures that ::ShowCursor() is always called exactly once | ||||||
| diff --git ui/views/widget/native_widget_mac.mm ui/views/widget/native_widget_mac.mm | diff --git ui/views/widget/native_widget_mac.mm ui/views/widget/native_widget_mac.mm | ||||||
| index 763fa6a33f80c..9ed70009fa879 100644 | index ac690f3f12836..9457f936fd96d 100644 | ||||||
| --- ui/views/widget/native_widget_mac.mm | --- ui/views/widget/native_widget_mac.mm | ||||||
| +++ ui/views/widget/native_widget_mac.mm | +++ ui/views/widget/native_widget_mac.mm | ||||||
| @@ -702,6 +702,7 @@ void NativeWidgetMac::Show(ui::mojom::WindowShowState show_state, | @@ -718,6 +718,7 @@ void NativeWidgetMac::Show(ui::mojom::WindowShowState show_state, | ||||||
|        break; |        break; | ||||||
|      case ui::mojom::WindowShowState::kMaximized: |      case ui::mojom::WindowShowState::kMaximized: | ||||||
|      case ui::mojom::WindowShowState::kFullscreen: |      case ui::mojom::WindowShowState::kFullscreen: | ||||||
| @@ -512,10 +512,10 @@ index 763fa6a33f80c..9ed70009fa879 100644 | |||||||
|        break; |        break; | ||||||
|      case ui::mojom::WindowShowState::kEnd: |      case ui::mojom::WindowShowState::kEnd: | ||||||
| diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc | diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc | ||||||
| index b3180ad15a658..34ca46a4db5bd 100644 | index b294759923814..719686b4db165 100644 | ||||||
| --- ui/views/widget/widget.cc | --- ui/views/widget/widget.cc | ||||||
| +++ ui/views/widget/widget.cc | +++ ui/views/widget/widget.cc | ||||||
| @@ -234,8 +234,8 @@ bool Widget::InitParams::ShouldInitAsHeadless() const { | @@ -231,8 +231,8 @@ bool Widget::InitParams::ShouldInitAsHeadless() const { | ||||||
|    return false; |    return false; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -526,7 +526,7 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void Widget::InitParams::SetParent(gfx::NativeView parent_view) { |  void Widget::InitParams::SetParent(gfx::NativeView parent_view) { | ||||||
| @@ -461,7 +461,8 @@ void Widget::Init(InitParams params) { | @@ -458,7 +458,8 @@ void Widget::Init(InitParams params) { | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    params.child |= (params.type == InitParams::TYPE_CONTROL); |    params.child |= (params.type == InitParams::TYPE_CONTROL); | ||||||
| @@ -536,7 +536,7 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|    is_headless_ = params.ShouldInitAsHeadless(); |    is_headless_ = params.ShouldInitAsHeadless(); | ||||||
|    is_autosized_ = params.autosize; |    is_autosized_ = params.autosize; | ||||||
|   |   | ||||||
| @@ -584,9 +585,14 @@ void Widget::Init(InitParams params) { | @@ -554,9 +555,14 @@ void Widget::Init(InitParams params) { | ||||||
|   |   | ||||||
|      if (show_state == ui::mojom::WindowShowState::kMaximized) { |      if (show_state == ui::mojom::WindowShowState::kMaximized) { | ||||||
|        Maximize(); |        Maximize(); | ||||||
| @@ -551,7 +551,7 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|      } |      } | ||||||
|   |   | ||||||
|  #if BUILDFLAG(IS_CHROMEOS) |  #if BUILDFLAG(IS_CHROMEOS) | ||||||
| @@ -600,7 +606,12 @@ void Widget::Init(InitParams params) { | @@ -569,7 +575,12 @@ void Widget::Init(InitParams params) { | ||||||
|    } else if (delegate) { |    } else if (delegate) { | ||||||
|      SetContentsView(delegate->TransferOwnershipOfContentsView()); |      SetContentsView(delegate->TransferOwnershipOfContentsView()); | ||||||
|      if (should_set_initial_bounds) { |      if (should_set_initial_bounds) { | ||||||
| @@ -565,7 +565,7 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|      } |      } | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -1924,10 +1935,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { | @@ -1917,10 +1928,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  gfx::Size Widget::GetMinimumSize() const { |  gfx::Size Widget::GetMinimumSize() const { | ||||||
| @@ -582,7 +582,7 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|    return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size(); |    return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size(); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2208,7 +2225,8 @@ bool Widget::SetInitialFocus(ui::mojom::WindowShowState show_state) { | @@ -2209,7 +2226,8 @@ bool Widget::SetInitialFocus(ui::mojom::WindowShowState show_state) { | ||||||
|    View* v = widget_delegate_->GetInitiallyFocusedView(); |    View* v = widget_delegate_->GetInitiallyFocusedView(); | ||||||
|    if (!focus_on_creation_ || |    if (!focus_on_creation_ || | ||||||
|        show_state == ui::mojom::WindowShowState::kInactive || |        show_state == ui::mojom::WindowShowState::kInactive || | ||||||
| @@ -593,10 +593,10 @@ index b3180ad15a658..34ca46a4db5bd 100644 | |||||||
|      // focus when the window is restored. |      // focus when the window is restored. | ||||||
|      if (v) { |      if (v) { | ||||||
| diff --git ui/views/widget/widget.h ui/views/widget/widget.h | diff --git ui/views/widget/widget.h ui/views/widget/widget.h | ||||||
| index 842ea6f7eb241..cfb72cea708f5 100644 | index 4d1c7d95c338b..f2b45e10dc831 100644 | ||||||
| --- ui/views/widget/widget.h | --- ui/views/widget/widget.h | ||||||
| +++ ui/views/widget/widget.h | +++ ui/views/widget/widget.h | ||||||
| @@ -410,6 +410,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | @@ -437,6 +437,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | ||||||
|      // setters above. |      // setters above. | ||||||
|      gfx::NativeView parent = gfx::NativeView(); |      gfx::NativeView parent = gfx::NativeView(); | ||||||
|   |   | ||||||
| @@ -605,7 +605,7 @@ index 842ea6f7eb241..cfb72cea708f5 100644 | |||||||
|      // Specifies the initial bounds of the Widget. Default is empty, which means |      // Specifies the initial bounds of the Widget. Default is empty, which means | ||||||
|      // the NativeWidget may specify a default size. If the parent is specified, |      // 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 |      // |bounds| is in the parent's coordinate system. If the parent is not | ||||||
| @@ -869,7 +871,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | @@ -892,7 +894,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, | ||||||
|    void SetVisible(bool visible); |    void SetVisible(bool visible); | ||||||
|   |   | ||||||
|    // Activates the widget, assuming it already exists and is visible. |    // Activates the widget, assuming it already exists and is visible. | ||||||
| @@ -615,10 +615,10 @@ index 842ea6f7eb241..cfb72cea708f5 100644 | |||||||
|    // Deactivates the widget, making the next window in the Z order the active |    // Deactivates the widget, making the next window in the Z order the active | ||||||
|    // window. |    // window. | ||||||
| diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h | diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h | ||||||
| index 75cc55b4f885c..5f20ca3197d5f 100644 | index 3936517a5d609..d5c2c2f9fadcd 100644 | ||||||
| --- ui/views/widget/widget_delegate.h | --- ui/views/widget/widget_delegate.h | ||||||
| +++ ui/views/widget/widget_delegate.h | +++ ui/views/widget/widget_delegate.h | ||||||
| @@ -415,6 +415,10 @@ class VIEWS_EXPORT WidgetDelegate { | @@ -418,6 +418,10 @@ class VIEWS_EXPORT WidgetDelegate { | ||||||
|    // Returns true if the title text should be centered. |    // Returns true if the title text should be centered. | ||||||
|    bool ShouldCenterWindowTitleText() const; |    bool ShouldCenterWindowTitleText() const; | ||||||
|   |   | ||||||
| @@ -630,24 +630,24 @@ index 75cc55b4f885c..5f20ca3197d5f 100644 | |||||||
|    bool enable_arrow_key_traversal() const { |    bool enable_arrow_key_traversal() const { | ||||||
|      return params_.enable_arrow_key_traversal; |      return params_.enable_arrow_key_traversal; | ||||||
| diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc | diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc | ||||||
| index d402e40e6f587..acf15597dab7f 100644 | index fe68bce38527b..c5fcee907f34f 100644 | ||||||
| --- ui/views/widget/widget_hwnd_utils.cc | --- ui/views/widget/widget_hwnd_utils.cc | ||||||
| +++ ui/views/widget/widget_hwnd_utils.cc | +++ ui/views/widget/widget_hwnd_utils.cc | ||||||
| @@ -77,7 +77,8 @@ void CalculateWindowStylesFromInitParams( | @@ -79,7 +79,8 @@ WindowStyles CalculateWindowStylesFromInitParams( | ||||||
|          *style &= static_cast<DWORD>(~(WS_THICKFRAME | WS_MAXIMIZEBOX)); |          styles.style &= static_cast<DWORD>(~(WS_THICKFRAME | WS_MAXIMIZEBOX)); | ||||||
|        } |        } | ||||||
|        if (params.remove_standard_frame) { |        if (params.remove_standard_frame) { | ||||||
| -        *style &= static_cast<DWORD>(~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX)); | -        styles.style &= static_cast<DWORD>(~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX)); | ||||||
| +        *style &= static_cast<DWORD>(~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX | | +        styles.style &= static_cast<DWORD>(~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX | | ||||||
| +                                       WS_CAPTION | WS_SYSMENU)); | +                                             WS_CAPTION | WS_SYSMENU)); | ||||||
|        } |        } | ||||||
|   |   | ||||||
|        if (native_widget_delegate->IsDialogBox()) { |        if (native_widget_delegate->IsDialogBox()) { | ||||||
| diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc | diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc | ||||||
| index a10d781e66741..5467f909f22ac 100644 | index a183cfe07b357..ac3929e2415a0 100644 | ||||||
| --- ui/views/win/hwnd_message_handler.cc | --- ui/views/win/hwnd_message_handler.cc | ||||||
| +++ ui/views/win/hwnd_message_handler.cc | +++ ui/views/win/hwnd_message_handler.cc | ||||||
| @@ -795,7 +795,11 @@ bool HWNDMessageHandler::IsVisible() const { | @@ -815,7 +815,11 @@ bool HWNDMessageHandler::IsVisible() const { | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool HWNDMessageHandler::IsActive() const { |  bool HWNDMessageHandler::IsActive() const { | ||||||
| @@ -660,7 +660,7 @@ index a10d781e66741..5467f909f22ac 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  bool HWNDMessageHandler::IsMinimized() const { |  bool HWNDMessageHandler::IsMinimized() const { | ||||||
| @@ -3243,10 +3247,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, | @@ -3283,10 +3287,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, | ||||||
|    } else if (event.type() == ui::EventType::kMousewheel) { |    } else if (event.type() == ui::EventType::kMousewheel) { | ||||||
|      ui::MouseWheelEvent mouse_wheel_event(msg); |      ui::MouseWheelEvent mouse_wheel_event(msg); | ||||||
|      // Reroute the mouse wheel to the window under the pointer if applicable. |      // Reroute the mouse wheel to the window under the pointer if applicable. | ||||||
|   | |||||||
| @@ -80,10 +80,10 @@ index 8af69cac78b74..9f74e511c263d 100644 | |||||||
|   private: |   private: | ||||||
|    const HWND hwnd_; |    const HWND hwnd_; | ||||||
| diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn | diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn | ||||||
| index b1cb8132b0e8d..5ebae5d34b2df 100644 | index 2abb9b96124ad..c85d92e72b849 100644 | ||||||
| --- components/viz/service/BUILD.gn | --- components/viz/service/BUILD.gn | ||||||
| +++ components/viz/service/BUILD.gn | +++ components/viz/service/BUILD.gn | ||||||
| @@ -266,6 +266,8 @@ viz_component("service") { | @@ -273,6 +273,8 @@ viz_component("service") { | ||||||
|      "transitions/surface_animation_manager.h", |      "transitions/surface_animation_manager.h", | ||||||
|      "transitions/transferable_resource_tracker.cc", |      "transitions/transferable_resource_tracker.cc", | ||||||
|      "transitions/transferable_resource_tracker.h", |      "transitions/transferable_resource_tracker.h", | ||||||
| @@ -134,10 +134,10 @@ index 07502f4ff2afd..cfcabb11cf001 100644 | |||||||
|    HWND child_hwnd; |    HWND child_hwnd; | ||||||
|    auto device = CreateSoftwareOutputDeviceWin( |    auto device = CreateSoftwareOutputDeviceWin( | ||||||
| diff --git components/viz/service/display_embedder/software_output_device_win.cc components/viz/service/display_embedder/software_output_device_win.cc | diff --git components/viz/service/display_embedder/software_output_device_win.cc components/viz/service/display_embedder/software_output_device_win.cc | ||||||
| index 4d6cc977ed500..22bab6eb2a5df 100644 | index f0aca972c4a81..87b40c9ded9df 100644 | ||||||
| --- components/viz/service/display_embedder/software_output_device_win.cc | --- components/viz/service/display_embedder/software_output_device_win.cc | ||||||
| +++ components/viz/service/display_embedder/software_output_device_win.cc | +++ components/viz/service/display_embedder/software_output_device_win.cc | ||||||
| @@ -149,8 +149,9 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated( | @@ -156,8 +156,9 @@ void SoftwareOutputDeviceWinProxy::EndPaintDelegated( | ||||||
|    if (!canvas_) |    if (!canvas_) | ||||||
|      return; |      return; | ||||||
|   |   | ||||||
| @@ -150,10 +150,10 @@ index 4d6cc977ed500..22bab6eb2a5df 100644 | |||||||
|   |   | ||||||
|    TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this); |    TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this); | ||||||
| diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc | diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc | ||||||
| index 378910976c702..8ab82e9c53e7e 100644 | index 7839f5afb9ac1..fbb798ec211f3 100644 | ||||||
| --- content/browser/compositor/viz_process_transport_factory.cc | --- content/browser/compositor/viz_process_transport_factory.cc | ||||||
| +++ content/browser/compositor/viz_process_transport_factory.cc | +++ content/browser/compositor/viz_process_transport_factory.cc | ||||||
| @@ -441,8 +441,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( | @@ -431,8 +431,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( | ||||||
|    mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private; |    mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private; | ||||||
|    root_params->display_private = |    root_params->display_private = | ||||||
|        display_private.BindNewEndpointAndPassReceiver(); |        display_private.BindNewEndpointAndPassReceiver(); | ||||||
| @@ -191,10 +191,10 @@ index 9cabc57b4a561..54a1515c6f689 100644 | |||||||
|    // For destroying the GL context/surface that draw to a platform window before |    // For destroying the GL context/surface that draw to a platform window before | ||||||
|    // the platform window is destroyed. |    // the platform window is destroyed. | ||||||
| diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom | diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom | ||||||
| index 7d19b6be8bb0e..5a54e67bf0018 100644 | index 3046e60995bce..2cc660b4d2d08 100644 | ||||||
| --- services/viz/privileged/mojom/compositing/display_private.mojom | --- services/viz/privileged/mojom/compositing/display_private.mojom | ||||||
| +++ services/viz/privileged/mojom/compositing/display_private.mojom | +++ services/viz/privileged/mojom/compositing/display_private.mojom | ||||||
| @@ -111,13 +111,15 @@ interface DisplayPrivate { | @@ -119,13 +119,15 @@ interface DisplayPrivate { | ||||||
|   |   | ||||||
|  // DisplayClient allows privileged clients to receive events from the Display. |  // DisplayClient allows privileged clients to receive events from the Display. | ||||||
|  interface DisplayClient { |  interface DisplayClient { | ||||||
| @@ -223,7 +223,7 @@ index 2f462f0deb5fc..695869b83cefa 100644 | |||||||
| +  Draw(gfx.mojom.Rect damage_rect) => (); | +  Draw(gfx.mojom.Rect damage_rect) => (); | ||||||
|  }; |  }; | ||||||
| diff --git ui/compositor/compositor.h ui/compositor/compositor.h | diff --git ui/compositor/compositor.h ui/compositor/compositor.h | ||||||
| index d353cd4613c73..9a6a181b7ed4d 100644 | index c802f9aae242c..a8b22d05aff27 100644 | ||||||
| --- ui/compositor/compositor.h | --- ui/compositor/compositor.h | ||||||
| +++ ui/compositor/compositor.h | +++ ui/compositor/compositor.h | ||||||
| @@ -34,7 +34,9 @@ | @@ -34,7 +34,9 @@ | ||||||
| @@ -236,7 +236,7 @@ index d353cd4613c73..9a6a181b7ed4d 100644 | |||||||
|  #include "mojo/public/cpp/bindings/associated_remote.h" |  #include "mojo/public/cpp/bindings/associated_remote.h" | ||||||
|  #include "mojo/public/cpp/bindings/pending_remote.h" |  #include "mojo/public/cpp/bindings/pending_remote.h" | ||||||
|  #include "services/viz/privileged/mojom/compositing/display_private.mojom.h" |  #include "services/viz/privileged/mojom/compositing/display_private.mojom.h" | ||||||
| @@ -155,6 +157,14 @@ class COMPOSITOR_EXPORT ExternalBeginFrameControllerClientFactory { | @@ -147,6 +149,14 @@ class COMPOSITOR_EXPORT ExternalBeginFrameControllerClientFactory { | ||||||
|    CreateExternalBeginFrameControllerClient() = 0; |    CreateExternalBeginFrameControllerClient() = 0; | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -251,7 +251,7 @@ index d353cd4613c73..9a6a181b7ed4d 100644 | |||||||
|  // Compositor object to take care of GPU painting. |  // Compositor object to take care of GPU painting. | ||||||
|  // A Browser compositor object is responsible for generating the final |  // A Browser compositor object is responsible for generating the final | ||||||
|  // displayable form of pixels comprising a single widget's contents. It draws an |  // displayable form of pixels comprising a single widget's contents. It draws an | ||||||
| @@ -198,6 +208,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, | @@ -190,6 +200,9 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, | ||||||
|    // Schedules a redraw of the layer tree associated with this compositor. |    // Schedules a redraw of the layer tree associated with this compositor. | ||||||
|    void ScheduleDraw(); |    void ScheduleDraw(); | ||||||
|   |   | ||||||
| @@ -261,7 +261,7 @@ index d353cd4613c73..9a6a181b7ed4d 100644 | |||||||
|    // Sets the root of the layer tree drawn by this Compositor. The root layer |    // 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 |    // 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 |    // is destroyed. NULL can be passed to reset the root layer, in which case the | ||||||
| @@ -616,6 +629,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, | @@ -629,6 +642,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, | ||||||
|        simple_begin_frame_observers_; |        simple_begin_frame_observers_; | ||||||
|    std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_; |    std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc | diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc | ||||||
| index b45b3210c9564..76b6c52347b73 100644 | index f80d8ecc385df..e8c41051b0fa4 100644 | ||||||
| --- content/browser/web_contents/web_contents_impl.cc | --- content/browser/web_contents/web_contents_impl.cc | ||||||
| +++ content/browser/web_contents/web_contents_impl.cc | +++ content/browser/web_contents/web_contents_impl.cc | ||||||
| @@ -3853,6 +3853,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, | @@ -3916,6 +3916,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, | ||||||
|        params.main_frame_name, GetOpener(), primary_main_frame_policy, |        params.main_frame_name, GetOpener(), primary_main_frame_policy, | ||||||
|        base::UnguessableToken::Create()); |        base::UnguessableToken::Create()); | ||||||
|   |   | ||||||
| @@ -15,7 +15,7 @@ index b45b3210c9564..76b6c52347b73 100644 | |||||||
|    std::unique_ptr<WebContentsViewDelegate> delegate = |    std::unique_ptr<WebContentsViewDelegate> delegate = | ||||||
|        GetContentClient()->browser()->GetWebContentsViewDelegate(this); |        GetContentClient()->browser()->GetWebContentsViewDelegate(this); | ||||||
|   |   | ||||||
| @@ -3863,6 +3869,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, | @@ -3926,6 +3932,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, | ||||||
|      view_ = CreateWebContentsView(this, std::move(delegate), |      view_ = CreateWebContentsView(this, std::move(delegate), | ||||||
|                                    &render_view_host_delegate_view_); |                                    &render_view_host_delegate_view_); | ||||||
|    } |    } | ||||||
| @@ -23,7 +23,7 @@ index b45b3210c9564..76b6c52347b73 100644 | |||||||
|    CHECK(render_view_host_delegate_view_); |    CHECK(render_view_host_delegate_view_); | ||||||
|    CHECK(view_.get()); |    CHECK(view_.get()); | ||||||
|   |   | ||||||
| @@ -4073,6 +4080,9 @@ void WebContentsImpl::RenderWidgetCreated( | @@ -4136,6 +4143,9 @@ void WebContentsImpl::RenderWidgetCreated( | ||||||
|                          "render_widget_host", render_widget_host); |                          "render_widget_host", render_widget_host); | ||||||
|    CHECK(!created_widgets_.contains(render_widget_host->GetFrameSinkId())); |    CHECK(!created_widgets_.contains(render_widget_host->GetFrameSinkId())); | ||||||
|    created_widgets_[render_widget_host->GetFrameSinkId()] = render_widget_host; |    created_widgets_[render_widget_host->GetFrameSinkId()] = render_widget_host; | ||||||
| @@ -33,7 +33,7 @@ index b45b3210c9564..76b6c52347b73 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  void WebContentsImpl::RenderWidgetDeleted( |  void WebContentsImpl::RenderWidgetDeleted( | ||||||
| @@ -4992,6 +5002,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( | @@ -5055,6 +5065,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( | ||||||
|      create_params.picture_in_picture_options = *(params.pip_options); |      create_params.picture_in_picture_options = *(params.pip_options); | ||||||
|    } |    } | ||||||
|   |   | ||||||
| @@ -49,7 +49,7 @@ index b45b3210c9564..76b6c52347b73 100644 | |||||||
|    // Check whether there is an available prerendered page for this navigation if |    // Check whether there is an available prerendered page for this navigation if | ||||||
|    // this is not for guest. If it exists, take WebContents pre-created for |    // this is not for guest. If it exists, take WebContents pre-created for | ||||||
|    // hosting the prerendered page instead of creating new WebContents. |    // hosting the prerendered page instead of creating new WebContents. | ||||||
| @@ -9660,6 +9679,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, | @@ -9764,6 +9783,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, | ||||||
|    } |    } | ||||||
|   |   | ||||||
|    CloseListenerManager::DidChangeFocusedFrame(this); |    CloseListenerManager::DidChangeFocusedFrame(this); | ||||||
| @@ -60,10 +60,10 @@ index b45b3210c9564..76b6c52347b73 100644 | |||||||
|   |   | ||||||
|  FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() { |  FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() { | ||||||
| diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h | diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h | ||||||
| index 4f3914d6936cb..8d06a209db635 100644 | index 4cf7eef3b54bb..620bfe54841d2 100644 | ||||||
| --- content/public/browser/web_contents.h | --- content/public/browser/web_contents.h | ||||||
| +++ content/public/browser/web_contents.h | +++ content/public/browser/web_contents.h | ||||||
| @@ -116,10 +116,12 @@ class BrowserPluginGuestDelegate; | @@ -119,10 +119,12 @@ class BrowserPluginGuestDelegate; | ||||||
|  class GuestPageHolder; |  class GuestPageHolder; | ||||||
|  class RenderFrameHost; |  class RenderFrameHost; | ||||||
|  class RenderViewHost; |  class RenderViewHost; | ||||||
| @@ -76,7 +76,7 @@ index 4f3914d6936cb..8d06a209db635 100644 | |||||||
|  class WebUI; |  class WebUI; | ||||||
|  struct DropData; |  struct DropData; | ||||||
|  struct MHTMLGenerationParams; |  struct MHTMLGenerationParams; | ||||||
| @@ -265,6 +267,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { | @@ -268,6 +270,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData { | ||||||
|      network::mojom::WebSandboxFlags starting_sandbox_flags = |      network::mojom::WebSandboxFlags starting_sandbox_flags = | ||||||
|          network::mojom::WebSandboxFlags::kNone; |          network::mojom::WebSandboxFlags::kNone; | ||||||
|   |   | ||||||
| @@ -88,10 +88,10 @@ index 4f3914d6936cb..8d06a209db635 100644 | |||||||
|      // the value that'll be returned by GetLastActiveTimeTicks(). If this is |      // the value that'll be returned by GetLastActiveTimeTicks(). If this is | ||||||
|      // left default initialized then the value is not passed on to the |      // left default initialized then the value is not passed on to the | ||||||
| diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h | diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h | ||||||
| index ac2e7cdceb13c..60b852155daa4 100644 | index da319cb207331..bcd4de085fa6b 100644 | ||||||
| --- content/public/browser/web_contents_delegate.h | --- content/public/browser/web_contents_delegate.h | ||||||
| +++ content/public/browser/web_contents_delegate.h | +++ content/public/browser/web_contents_delegate.h | ||||||
| @@ -100,9 +100,11 @@ class EyeDropperListener; | @@ -101,9 +101,11 @@ class EyeDropperListener; | ||||||
|  class FileSelectListener; |  class FileSelectListener; | ||||||
|  class JavaScriptDialogManager; |  class JavaScriptDialogManager; | ||||||
|  class RenderFrameHost; |  class RenderFrameHost; | ||||||
| @@ -103,7 +103,7 @@ index ac2e7cdceb13c..60b852155daa4 100644 | |||||||
|  struct ContextMenuParams; |  struct ContextMenuParams; | ||||||
|  struct DropData; |  struct DropData; | ||||||
|  struct MediaPlayerWatchTime; |  struct MediaPlayerWatchTime; | ||||||
| @@ -375,6 +377,14 @@ class CONTENT_EXPORT WebContentsDelegate { | @@ -376,6 +378,14 @@ class CONTENT_EXPORT WebContentsDelegate { | ||||||
|        const StoragePartitionConfig& partition_config, |        const StoragePartitionConfig& partition_config, | ||||||
|        SessionStorageNamespace* session_storage_namespace); |        SessionStorageNamespace* session_storage_namespace); | ||||||
|   |   | ||||||
| @@ -119,11 +119,11 @@ index ac2e7cdceb13c..60b852155daa4 100644 | |||||||
|    // typically happens when popups are created. |    // typically happens when popups are created. | ||||||
|    virtual void WebContentsCreated(WebContents* source_contents, |    virtual void WebContentsCreated(WebContents* source_contents, | ||||||
| diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h | diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h | ||||||
| index c6f536682a1fa..a80aab1eaf195 100644 | index 9f9f4cc755886..305095e5ef2f2 100644 | ||||||
| --- content/public/browser/web_contents_observer.h | --- content/public/browser/web_contents_observer.h | ||||||
| +++ content/public/browser/web_contents_observer.h | +++ content/public/browser/web_contents_observer.h | ||||||
| @@ -249,6 +249,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { | @@ -255,6 +255,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { | ||||||
|    // controlled by the capturing tab. |    // to forwardGestures(), whichever the case ends up being. | ||||||
|    virtual void OnCapturedSurfaceControl() {} |    virtual void OnCapturedSurfaceControl() {} | ||||||
|   |   | ||||||
| +  // This method is invoked when a RenderWidget is created. | +  // This method is invoked when a RenderWidget is created. | ||||||
| @@ -132,7 +132,7 @@ index c6f536682a1fa..a80aab1eaf195 100644 | |||||||
|    // This method is invoked when the `blink::WebView` of the current |    // This method is invoked when the `blink::WebView` of the current | ||||||
|    // RenderViewHost is ready, e.g. because we recreated it after a crash. |    // RenderViewHost is ready, e.g. because we recreated it after a crash. | ||||||
|    virtual void RenderViewReady() {} |    virtual void RenderViewReady() {} | ||||||
| @@ -943,6 +946,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { | @@ -949,6 +952,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { | ||||||
|    // WebContents has gained/lost focus. |    // WebContents has gained/lost focus. | ||||||
|    virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {} |    virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h | diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h | ||||||
| index 1e84e382f1f94..e0f147959244d 100644 | index 617b7a582f133..8abc1bf0e6366 100644 | ||||||
| --- third_party/blink/public/platform/platform.h | --- third_party/blink/public/platform/platform.h | ||||||
| +++ third_party/blink/public/platform/platform.h | +++ third_party/blink/public/platform/platform.h | ||||||
| @@ -842,6 +842,11 @@ class BLINK_PLATFORM_EXPORT Platform { | @@ -838,6 +838,11 @@ class BLINK_PLATFORM_EXPORT Platform { | ||||||
|    } |    } | ||||||
|  #endif |  #endif | ||||||
|   |   | ||||||
|   | |||||||
| @@ -11,10 +11,10 @@ index b1689844282d6..a8f3b3432517d 100644 | |||||||
|    // Cancels and hides the current popup (datetime, select...) if any. |    // Cancels and hides the current popup (datetime, select...) if any. | ||||||
|    virtual void CancelPagePopup() = 0; |    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 | diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc | ||||||
| index fd5c0566b6f51..7f891bb6040a5 100644 | index 1af1fa035b3da..f92d9b70fbd32 100644 | ||||||
| --- third_party/blink/renderer/core/exported/web_view_impl.cc | --- third_party/blink/renderer/core/exported/web_view_impl.cc | ||||||
| +++ third_party/blink/renderer/core/exported/web_view_impl.cc | +++ third_party/blink/renderer/core/exported/web_view_impl.cc | ||||||
| @@ -255,8 +255,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { | @@ -257,8 +257,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { | ||||||
|    g_should_use_external_popup_menus = use_external_popup_menus; |    g_should_use_external_popup_menus = use_external_popup_menus; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -30,7 +30,7 @@ index fd5c0566b6f51..7f891bb6040a5 100644 | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  namespace { |  namespace { | ||||||
| @@ -613,6 +618,7 @@ WebViewImpl::WebViewImpl( | @@ -615,6 +620,7 @@ WebViewImpl::WebViewImpl( | ||||||
|            blink::ZoomFactorToZoomLevel(kMinimumBrowserZoomFactor)), |            blink::ZoomFactorToZoomLevel(kMinimumBrowserZoomFactor)), | ||||||
|        maximum_zoom_level_( |        maximum_zoom_level_( | ||||||
|            blink::ZoomFactorToZoomLevel(kMaximumBrowserZoomFactor)), |            blink::ZoomFactorToZoomLevel(kMaximumBrowserZoomFactor)), | ||||||
| @@ -62,10 +62,10 @@ index 06f7cf79b4526..58ad11da45137 100644 | |||||||
|    gfx::Transform device_emulation_transform_; |    gfx::Transform 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 | diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc | ||||||
| index 1f966108642e8..3a549c0231f44 100644 | index e3888bb31414a..78dfff2048a67 100644 | ||||||
| --- third_party/blink/renderer/core/page/chrome_client_impl.cc | --- third_party/blink/renderer/core/page/chrome_client_impl.cc | ||||||
| +++ third_party/blink/renderer/core/page/chrome_client_impl.cc | +++ third_party/blink/renderer/core/page/chrome_client_impl.cc | ||||||
| @@ -971,7 +971,7 @@ PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, | @@ -1002,7 +1002,7 @@ PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, | ||||||
|                                             HTMLSelectElement& select) { |                                             HTMLSelectElement& select) { | ||||||
|    NotifyPopupOpeningObservers(); |    NotifyPopupOpeningObservers(); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -1228,9 +1228,7 @@ void SetupExecRequest(ExecMode mode, | |||||||
|               "' has been blocked by CORS policy: No " |               "' has been blocked by CORS policy: No " | ||||||
|               "'Access-Control-Allow-Origin' header is present on the " |               "'Access-Control-Allow-Origin' header is present on the " | ||||||
|               "requested " |               "requested " | ||||||
|               "resource. If an opaque response serves your needs, set the " |               "resource."); | ||||||
|               "request's mode to 'no-cors' to fetch the resource with CORS " |  | ||||||
|               "disabled."); |  | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } else if (mode == ExecMode::XHR) { |     } else if (mode == ExecMode::XHR) { | ||||||
| @@ -1284,9 +1282,7 @@ void SetupExecRequest(ExecMode mode, | |||||||
|             "' has been blocked by CORS policy: Response to preflight request " |             "' has been blocked by CORS policy: Response to preflight request " | ||||||
|             "doesn't pass access control check: No " |             "doesn't pass access control check: No " | ||||||
|             "'Access-Control-Allow-Origin' header is present on the requested " |             "'Access-Control-Allow-Origin' header is present on the requested " | ||||||
|             "resource. If an opaque response serves your needs, set the " |             "resource."); | ||||||
|             "request's mode to 'no-cors' to fetch the resource with CORS " |  | ||||||
|             "disabled."); |  | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -764,10 +764,7 @@ class PopupNavTestHandler : public TestHandler { | |||||||
|         mode_ == DESTROY_PARENT_DURING_CREATION_FORCE || |         mode_ == DESTROY_PARENT_DURING_CREATION_FORCE || | ||||||
|         mode_ == DESTROY_PARENT_AFTER_CREATION || |         mode_ == DESTROY_PARENT_AFTER_CREATION || | ||||||
|         mode_ == DESTROY_PARENT_AFTER_CREATION_FORCE) { |         mode_ == DESTROY_PARENT_AFTER_CREATION_FORCE) { | ||||||
|       // Timing of Alloy style browsers may not result in abort. |       // Timing may not result in abort. | ||||||
|       if (!use_alloy_style_browser()) { |  | ||||||
|         EXPECT_TRUE(got_on_before_popup_aborted_); |  | ||||||
|       } |  | ||||||
|     } else { |     } else { | ||||||
|       EXPECT_FALSE(got_on_before_popup_aborted_); |       EXPECT_FALSE(got_on_before_popup_aborted_); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -1498,8 +1498,7 @@ TEST(SchemeHandlerTest, CustomStandardFetchDifferentOrigin) { | |||||||
|       "Access to fetch at 'customstdfetch://test2/fetch.html' from origin " |       "Access to fetch at 'customstdfetch://test2/fetch.html' from origin " | ||||||
|       "'customstdfetch://test1' has been blocked by CORS policy: No " |       "'customstdfetch://test1' has been blocked by CORS policy: No " | ||||||
|       "'Access-Control-Allow-Origin' header is present on the requested " |       "'Access-Control-Allow-Origin' header is present on the requested " | ||||||
|       "resource. If an opaque response serves your needs, set the request's " |       "resource."); | ||||||
|       "mode to 'no-cors' to fetch the resource with CORS disabled."); |  | ||||||
|  |  | ||||||
|   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); |   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); | ||||||
|   handler->ExecuteTest(); |   handler->ExecuteTest(); | ||||||
| @@ -1737,9 +1736,7 @@ TEST(SchemeHandlerTest, HttpFetchDifferentOriginAsync) { | |||||||
|       "Access to fetch at 'https://test2/fetch.html' from origin " |       "Access to fetch at 'https://test2/fetch.html' from origin " | ||||||
|       "'https://test1' " |       "'https://test1' " | ||||||
|       "has been blocked by CORS policy: No 'Access-Control-Allow-Origin' " |       "has been blocked by CORS policy: No 'Access-Control-Allow-Origin' " | ||||||
|       "header is present on the requested resource. If an opaque response " |       "header is present on the requested resource."); | ||||||
|       "serves your needs, set the request's mode to 'no-cors' to fetch the " |  | ||||||
|       "resource with CORS disabled."); |  | ||||||
|  |  | ||||||
|   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); |   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); | ||||||
|   handler->ExecuteTest(); |   handler->ExecuteTest(); | ||||||
| @@ -2376,8 +2373,7 @@ TEST(SchemeHandlerTest, CustomStandardFetchDifferentOriginRedirect) { | |||||||
|       "'customstdfetch://test1/fetch.html') from origin " |       "'customstdfetch://test1/fetch.html') from origin " | ||||||
|       "'customstdfetch://test1' has been blocked by CORS policy: No " |       "'customstdfetch://test1' has been blocked by CORS policy: No " | ||||||
|       "'Access-Control-Allow-Origin' header is present on the requested " |       "'Access-Control-Allow-Origin' header is present on the requested " | ||||||
|       "resource. If an opaque response serves your needs, set the request's " |       "resource."); | ||||||
|       "mode to 'no-cors' to fetch the resource with CORS disabled."); |  | ||||||
|  |  | ||||||
|   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); |   CefRefPtr<TestSchemeHandler> handler = new TestSchemeHandler(&test_results); | ||||||
|   handler->ExecuteTest(); |   handler->ExecuteTest(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user