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:
Marshall Greenblatt
2025-04-02 17:58:21 -04:00
parent ef82e430b4
commit e7320793b6
88 changed files with 729 additions and 696 deletions

View File

@ -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'
} }

View File

@ -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;
/// ///

View File

@ -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;

View File

@ -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()),

View File

@ -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,
}; };

View File

@ -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_;

View File

@ -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);
} }

View File

@ -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;

View File

@ -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);

View File

@ -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 =

View File

@ -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;

View File

@ -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

View File

@ -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,

View 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) {

View File

@ -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)

View File

@ -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'
} }
] ]

View File

@ -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;
}; };

View File

@ -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" ]

View File

@ -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,

View File

@ -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() {

View File

@ -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()));

View File

@ -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" ]
} }

View File

@ -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" ]
} }

View File

@ -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)) {

View File

@ -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(

View File

@ -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;
} }

View File

@ -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 @@

View File

@ -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

View File

@ -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,

View File

@ -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 @@

View File

@ -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 ||

View File

@ -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(

View File

@ -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

View File

@ -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;

View File

@ -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);

View File

@ -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",

View File

@ -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 @@

View File

@ -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 @@

View File

@ -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[];

View File

@ -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) {

View File

@ -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);

View File

@ -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);

View File

@ -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);
} }

View File

@ -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;

View File

@ -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(

View File

@ -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;
} }

View File

@ -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,

View File

@ -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",

View File

@ -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) {

View File

@ -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}",

View File

@ -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],

View File

@ -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

View File

@ -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() {

View File

@ -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" ]
} }

View File

@ -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();

View File

@ -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:

View File

@ -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 {

View File

@ -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 {

View File

@ -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);
}); });

View File

@ -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(

View File

@ -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) {

View File

@ -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 {

View 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);

View File

@ -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 =

View File

@ -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

View File

@ -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_ =

View File

@ -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);

View File

@ -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 {

View File

@ -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();
} }

View File

@ -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 &&

View File

@ -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():

View File

@ -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();

View File

@ -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();

View File

@ -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;

View File

@ -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();

View File

@ -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,

View File

@ -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(

View File

@ -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" ]
} }

View File

@ -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)

View File

@ -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);
} }

View File

@ -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.

View File

@ -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_;

View File

@ -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) {}

View File

@ -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

View File

@ -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();

View File

@ -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.");
} }
} }
} }

View File

@ -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_);
} }

View File

@ -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();