Update to Chromium version 133.0.6943.0 (#1402768)

This commit is contained in:
Marshall Greenblatt
2025-01-08 14:03:13 -05:00
parent 7588c9dcbf
commit 7be2558291
74 changed files with 694 additions and 680 deletions

View File

@ -1305,8 +1305,8 @@ make_pack_header("resources") {
"$root_gen_dir/third_party/blink/public/resources/grit/blink_image_resources.h",
"$root_gen_dir/third_party/blink/public/resources/grit/blink_resources.h",
"$root_gen_dir/ui/resources/grit/ui_resources.h",
"$root_gen_dir/ui/resources/grit/webui_resources.h",
"$root_gen_dir/ui/views/resources/grit/views_resources.h",
"$root_gen_dir/ui/webui/resources/grit/webui_resources.h",
]
deps = [
@ -1336,8 +1336,8 @@ make_pack_header("resources") {
"//third_party/blink/public:image_resources",
"//third_party/blink/public:resources",
"//ui/resources:ui_resources_grd",
"//ui/resources:webui_resources_grd",
"//ui/views/resources:resources_grd",
"//ui/webui/resources:resources_grit",
]
}

View File

@ -7,5 +7,5 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/133.0.6886.0'
'chromium_checkout': 'refs/tags/133.0.6943.0'
}

View File

@ -1,34 +1,41 @@
{
"hashes": {
"13300": {
"comment": "Added January 07, 2025.",
"linux": "f0b073047a026b83e911ba60aa1a83f036d31b0e",
"mac": "39c1f7df430aeaf39911147032b266416658c11d",
"universal": "dd40c0c97ba3f4a1f4ec53ff64d19fea30217d3d",
"windows": "4d97ebe2ed64b448b23625c6bd3943797ac3e137"
"comment": "Added January 08, 2025.",
"linux": "b28dd2bc398c54520f53918858d9859566133148",
"mac": "86f8d4989d208aac7dd3541bbc6ff88075616745",
"universal": "c14218e22e93d74f5027f1e0cbc86d6da98a0fac",
"windows": "da92cdf7a73d538aa6cfc4e29cf2a66934de01eb"
},
"13301": {
"comment": "Added January 07, 2025.",
"linux": "41f72b80f8a2d00ea8301cda42d37b8fdf0240a5",
"mac": "e44f5eb6d634f3d4353f52ff383bf213f3894bbd",
"universal": "f7edff150ad480bc2f5cfc85fd6bfa23fbc4a73f",
"windows": "130d2eed0662c065a1cee3c782a6d855c63d67e8"
"comment": "Added January 08, 2025.",
"linux": "e53cef3578ebd6a94d94e0565259fb2a995d26f7",
"mac": "14e6580ffb351e088f12dda8c7b814ceb69da858",
"universal": "53b9b1a678dbf6b53e3c0c42baf2b35641872e82",
"windows": "b8391372b2fc5f79d6b1587c4ba25790f037c130"
},
"13302": {
"comment": "Added January 07, 2025.",
"linux": "2ef9e3f071838f2d7705d144cf66e0f5ae69b32f",
"mac": "ec74fb1f9aff97f55882dbb35ba979934c8ab1a7",
"universal": "d9c1eedf985ddcd4e9df05f7664b111462d45626",
"windows": "f4d05b712907d8d64df80029d9e2e8edbee814ac"
"comment": "Added January 08, 2025.",
"linux": "9b659891361935e5b4bf8a6562826c86431bde12",
"mac": "00892ce55726d571257198e923f81dace7a9a699",
"universal": "960ead4be4a039fe627ae851e816e68795b638e8",
"windows": "328d094ce8bac0243ec1efe2fc3ba803d72b77f7"
},
"13303": {
"comment": "Added January 07, 2025.",
"linux": "397ad962a3049dad4b36b356c8d108f78603de60",
"mac": "f7a5c733b8c3cd6fa3a284ce9b307566c6aa5860",
"universal": "91d5546d2b3f601ab2453f218a7bd69d2fd39b1b",
"windows": "b24722530b6b77bd1a633af5d72088225468eee2"
"comment": "Added January 08, 2025.",
"linux": "087718083cd2da67c62b6288a4fe7ba632d113b6",
"mac": "4120f6e2c9a995e1c9fca90c9ab2c400507042e7",
"universal": "53c66d866967adc7449e48bb8e51946058b57245",
"windows": "5a403169280dc4c2f95354c05295adbdbb211c36"
},
"13304": {
"comment": "Added January 08, 2025.",
"linux": "01fa50f5adec33fd7e8ca6014a7ffcc61d400d16",
"mac": "3e8fe4fb648744f7463cc93cb2792a4257cf444b",
"universal": "add8483d49535805c27aa3e7411d6cd95f859d17",
"windows": "f9543142fec64abfb3b5b6229e1c482d7fc00d64"
}
},
"last": "13303",
"last": "13304",
"min": "13300"
}

View File

@ -35,6 +35,7 @@
#include <stddef.h>
#include <stdint.h>
#include "include/cef_api_hash.h"
#include "include/internal/cef_string.h"
#include "include/internal/cef_string_list.h"
#include "include/internal/cef_time.h"
@ -3492,7 +3493,10 @@ typedef enum {
CEF_CPAIT_LENS_OVERLAY,
CEF_CPAIT_DISCOUNTS,
CEF_CPAIT_OPTIMIZATION_GUIDE,
CEF_CPAIT_MAX_VALUE = CEF_CPAIT_OPTIMIZATION_GUIDE,
#if CEF_API_ADDED(13304)
CEF_CPAIT_COLLABORATION_MESSAGING,
#endif
CEF_CPAIT_LAST_VALUE,
} cef_chrome_page_action_icon_type_t;
///

View File

@ -1276,7 +1276,8 @@ bool AlloyBrowserHostImpl::IsBackForwardCacheSupported(
}
content::PreloadingEligibility AlloyBrowserHostImpl::IsPrerender2Supported(
content::WebContents& web_contents) {
content::WebContents& web_contents,
content::PreloadingTriggerType trigger_type) {
// Prerender is not supported in CEF. See issue #3664.
return content::PreloadingEligibility::kPreloadingDisabled;
}

View File

@ -272,7 +272,8 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
void ExitPictureInPicture() override;
bool IsBackForwardCacheSupported(content::WebContents& web_contents) override;
content::PreloadingEligibility IsPrerender2Supported(
content::WebContents& web_contents) override;
content::WebContents& web_contents,
content::PreloadingTriggerType trigger_type) override;
void DraggableRegionsChanged(
const std::vector<blink::mojom::DraggableRegionPtr>& regions,
content::WebContents* contents) override;

View File

@ -631,7 +631,9 @@ void CefBrowserInfoManager::RenderProcessHostDestroyed(
host->RemoveObserver(this);
const int render_process_id = host->GetID();
// TODO: Change to content::ChildProcessId usage once supported by
// GlobalRenderFrameHostToken. See https://crbug.com/379869738.
const int render_process_id = host->GetDeprecatedID();
DCHECK_GT(render_process_id, 0);
// Remove all pending requests that reference the destroyed host.

View File

@ -22,6 +22,8 @@ void CefBrowserManager::ExposeInterfacesToRenderer(
service_manager::BinderRegistry* registry,
blink::AssociatedInterfaceRegistry* associated_registry,
content::RenderProcessHost* host) {
// TODO: Change to content::ChildProcessId usage once supported by
// GlobalRenderFrameHostToken. See https://crbug.com/379869738.
registry->AddInterface<cef::mojom::BrowserManager>(base::BindRepeating(
[](int render_process_id,
mojo::PendingReceiver<cef::mojom::BrowserManager> receiver) {
@ -29,7 +31,7 @@ void CefBrowserManager::ExposeInterfacesToRenderer(
std::make_unique<CefBrowserManager>(render_process_id),
std::move(receiver));
},
host->GetID()));
host->GetDeprecatedID()));
}
// static

View File

@ -333,7 +333,7 @@ bool ChromeBrowserDelegate::IsAppMenuItemEnabled(int command_id) {
bool ChromeBrowserDelegate::IsPageActionIconVisible(
PageActionIconType icon_type) {
// Verify that our enum matches Chromium's values.
static_assert(static_cast<int>(CEF_CPAIT_MAX_VALUE) ==
static_assert(static_cast<int>(CEF_CPAIT_LAST_VALUE) - 1 ==
static_cast<int>(PageActionIconType::kMaxValue),
"enum mismatch");

View File

@ -1403,8 +1403,10 @@ std::unique_ptr<InterceptedRequestHandler> CreateInterceptedRequestHandler(
// Default to handlers for the same process in case |frame| doesn't have an
// associated CefBrowserHost.
content::GlobalRenderFrameHostId global_id(frame->GetProcess()->GetID(),
MSG_ROUTING_NONE);
// TODO: Change to content::ChildProcessId usage once supported by
// GlobalRenderFrameHostId. See https://crbug.com/379869738.
content::GlobalRenderFrameHostId global_id(
frame->GetProcess()->GetDeprecatedID(), MSG_ROUTING_NONE);
browserPtr = CefBrowserHostBase::GetBrowserForHost(frame);
if (browserPtr) {

View File

@ -36,10 +36,12 @@ scoped_refptr<URLLoaderFactoryGetter> URLLoaderFactoryGetter::Create(
network::URLLoaderFactoryBuilder factory_builder;
// TODO: Change to content::ChildProcessId usage once supported by
// WillCreateURLLoaderFactory. See https://crbug.com/379869738.
int render_process_id = -1;
if (render_frame_host) {
render_process_id = render_frame_host->GetProcess()->GetID();
render_process_id = render_frame_host->GetProcess()->GetDeprecatedID();
// Allow DevTools to potentially inject itself into the proxy pipe.
content::devtools_instrumentation::WillCreateURLLoaderFactoryParams::

View File

@ -1,8 +1,8 @@
diff --git base/command_line.cc base/command_line.cc
index 3631cee09fa31..475a144c1bb5b 100644
index 1f3627a128300..430b05e63b5c7 100644
--- base/command_line.cc
+++ base/command_line.cc
@@ -389,11 +389,10 @@ void CommandLine::AppendSwitchNative(std::string_view switch_string,
@@ -396,11 +396,10 @@ void CommandLine::AppendSwitchNative(std::string_view switch_string,
#if BUILDFLAG(ENABLE_COMMANDLINE_SEQUENCE_CHECKS)
sequence_checker_.Check();
#endif

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index 64189952b8b44..ef392991ed526 100644
index 5d8029ab4b82c..7c31237709944 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -42,6 +42,7 @@ import("//build/rust/rust_static_library.gni")
@ -10,7 +10,7 @@ index 64189952b8b44..ef392991ed526 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
@@ -1493,7 +1494,11 @@ component("base") {
@@ -1491,7 +1492,11 @@ component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@ -23,7 +23,7 @@ index 64189952b8b44..ef392991ed526 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -1935,6 +1940,12 @@ component("base") {
@@ -1941,6 +1946,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}
@ -37,7 +37,7 @@ index 64189952b8b44..ef392991ed526 100644
"cfgmgr32.lib",
"ntdll.lib",
diff --git base/allocator/dispatcher/dispatcher.cc base/allocator/dispatcher/dispatcher.cc
index 3dd632a89dc90..a64cd61ddb02b 100644
index f680f63cffc5b..9cb615bbc8a5a 100644
--- base/allocator/dispatcher/dispatcher.cc
+++ base/allocator/dispatcher/dispatcher.cc
@@ -8,6 +8,7 @@
@ -177,7 +177,7 @@ index af1d4f46d02c9..953585804c177 100644
#else
return base::FeatureList::IsEnabled(base::features::kUseRustJsonParser);
diff --git base/logging.cc base/logging.cc
index 59826a95b518e..d6728112294fd 100644
index b67b6fbf7e4e5..fc23ed1b4477d 100644
--- base/logging.cc
+++ base/logging.cc
@@ -60,6 +60,7 @@
@ -188,7 +188,7 @@ index 59826a95b518e..d6728112294fd 100644
#include "third_party/abseil-cpp/absl/base/internal/raw_logging.h"
#include "third_party/abseil-cpp/absl/cleanup/cleanup.h"
@@ -526,7 +527,7 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) {
@@ -538,7 +539,7 @@ bool BaseInitLoggingImpl(const LoggingSettings& settings) {
}
#endif
@ -244,10 +244,10 @@ index b198a7198aab9..01bc8e9b6ad1f 100644
public:
using result_type = uint64_t;
diff --git base/rand_util_win.cc base/rand_util_win.cc
index 9c2ae8389bfb2..e639a4d85b3dd 100644
index 0b772cbae8916..b19183b34d176 100644
--- base/rand_util_win.cc
+++ base/rand_util_win.cc
@@ -20,7 +20,11 @@
@@ -15,7 +15,11 @@
#include "base/check.h"
#include "base/feature_list.h"
@ -259,7 +259,7 @@ index 9c2ae8389bfb2..e639a4d85b3dd 100644
// Prototype for ProcessPrng.
// See: https://learn.microsoft.com/en-us/windows/win32/seccng/processprng
@@ -32,6 +36,7 @@ namespace base {
@@ -27,6 +31,7 @@ namespace base {
namespace internal {
@ -267,7 +267,7 @@ index 9c2ae8389bfb2..e639a4d85b3dd 100644
namespace {
// The BoringSSl helpers are duplicated in rand_util_fuchsia.cc and
@@ -53,6 +58,10 @@ bool UseBoringSSLForRandBytes() {
@@ -48,6 +53,10 @@ bool UseBoringSSLForRandBytes() {
return g_use_boringssl.load(std::memory_order_relaxed);
}
@ -278,7 +278,7 @@ index 9c2ae8389bfb2..e639a4d85b3dd 100644
} // namespace internal
namespace {
@@ -70,11 +79,13 @@ decltype(&ProcessPrng) GetProcessPrng() {
@@ -65,11 +74,13 @@ decltype(&ProcessPrng) GetProcessPrng() {
}
void RandBytesInternal(span<uint8_t> output, bool avoid_allocation) {
@ -317,7 +317,7 @@ index ea33ca66f384c..33f4cc76f76bd 100644
return lhs.token_ == rhs.token_;
#else
diff --git base/win/sid.cc base/win/sid.cc
index 2f250ba9bf79d..0af427e779266 100644
index 6b5d9b1e494b7..538c98d6676ad 100644
--- base/win/sid.cc
+++ base/win/sid.cc
@@ -29,12 +29,56 @@

View File

@ -1,5 +1,5 @@
diff --git base/test/BUILD.gn base/test/BUILD.gn
index ddf58b1d496e0..8a6c409b452f3 100644
index 37a7e20c415f7..5eef10ee45573 100644
--- base/test/BUILD.gn
+++ base/test/BUILD.gn
@@ -210,11 +210,6 @@ static_library("test_support") {
@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644
+
#endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_
diff --git content/shell/BUILD.gn content/shell/BUILD.gn
index 16f1d673591f4..4d485a4f6fd24 100644
index ce28d886a26d2..3d044d223fac5 100644
--- content/shell/BUILD.gn
+++ content/shell/BUILD.gn
@@ -916,7 +916,6 @@ if (is_mac) {
@@ -909,7 +909,6 @@ if (is_mac) {
# Specify a sensible install_name for static builds. The library is
# dlopen()ed so this is not used to resolve the module.
ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ]

View File

@ -1,8 +1,8 @@
diff --git base/task/thread_pool/thread_pool_impl.cc base/task/thread_pool/thread_pool_impl.cc
index 64c0f50323144..cc9a4b840bafa 100644
index 44872d0f8c7c4..a374b12919609 100644
--- base/task/thread_pool/thread_pool_impl.cc
+++ base/task/thread_pool/thread_pool_impl.cc
@@ -104,6 +104,10 @@ ThreadPoolImpl::ThreadPoolImpl(std::string_view histogram_label,
@@ -103,6 +103,10 @@ ThreadPoolImpl::ThreadPoolImpl(std::string_view histogram_label,
: kForegroundPoolEnvironmentParams.thread_type_hint,
task_tracker_->GetTrackedRef(), tracked_ref_factory_.GetTrackedRef());
}

View File

@ -1,8 +1,8 @@
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
index 0cc947d5ba1c6..4cb8ee3b1544b 100644
index aecccefd0dfa1..72c287317da0c 100644
--- content/browser/scheduler/browser_task_executor.cc
+++ content/browser/scheduler/browser_task_executor.cc
@@ -208,7 +208,7 @@ BrowserTaskExecutor::OnUserInputStart() {
@@ -207,7 +207,7 @@ BrowserTaskExecutor::OnUserInputStart() {
// static
void BrowserTaskExecutor::Shutdown() {

View File

@ -1,5 +1,5 @@
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
index d4d1572304587..35fa3abc12213 100644
index 01dab0910e066..4c6d6faae8ce9 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -2134,6 +2134,16 @@ bool ChildProcessSecurityPolicyImpl::PerformJailAndCitadelChecks(
@ -20,10 +20,10 @@ index d4d1572304587..35fa3abc12213 100644
// 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
index e919dcd7acf87..93fc464c57ca5 100644
index 5a95c24b9acc5..b8e93ae3b5881 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -8278,10 +8278,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
@@ -8243,10 +8243,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
bool use_opaque_origin =
(sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) ==
network::mojom::WebSandboxFlags::kOrigin;
@ -47,7 +47,7 @@ index e919dcd7acf87..93fc464c57ca5 100644
}
return origin_and_debug_info;
@@ -8389,11 +8401,20 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
@@ -8354,11 +8366,20 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
DetermineInitiatorRelationship(initiator_rfh,
frame_tree_node_->current_frame_host()));

View File

@ -1,5 +1,5 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 9c9f616b2a4e1..448cc18a076ac 100644
index 88109264ea962..6f7255b07f159 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -132,6 +132,9 @@ declare_args() {
@ -12,7 +12,7 @@ index 9c9f616b2a4e1..448cc18a076ac 100644
# Initialize all local variables with a pattern. This flag will fill
# uninitialized floating-point types (and 32-bit pointers) with 0xFF and the
# rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
@@ -2303,6 +2306,7 @@ config("export_dynamic") {
@@ -2315,6 +2318,7 @@ config("export_dynamic") {
# 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
config("thin_archive") {
@ -20,7 +20,7 @@ index 9c9f616b2a4e1..448cc18a076ac 100644
if ((is_apple && use_lld) || (is_linux && !is_clang)) {
# 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`.
@@ -2320,6 +2324,7 @@ config("thin_archive") {
@@ -2332,6 +2336,7 @@ config("thin_archive") {
} else if (is_win && use_lld) {
arflags = [ "/llvmlibthin" ]
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 5d5e14b0d8053..1f8101d8269e9 100644
index 968f2f959882a..96c32bd78f9b0 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -12,6 +12,7 @@ import("//build/config/compiler/pgo/pgo.gni")
@ -10,7 +10,7 @@ index 5d5e14b0d8053..1f8101d8269e9 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/browser/request_header_integrity/buildflags.gni")
@@ -1841,6 +1842,7 @@ static_library("browser") {
@@ -1811,6 +1812,7 @@ static_library("browser") {
"//build/config/compiler:compiler_buildflags",
"//build/config/linux/dbus:buildflags",
"//cc",
@ -18,7 +18,7 @@ index 5d5e14b0d8053..1f8101d8269e9 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2520,6 +2522,10 @@ static_library("browser") {
@@ -2496,6 +2498,10 @@ static_library("browser") {
sources += [ "net/net_error_diagnostics_dialog_stub.cc" ]
}

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/browser_about_handler.cc chrome/browser/browser_about_handler.cc
index 2480282a19d12..dbd1fbf8a15b5 100644
index 7603c2662b8dc..9a38d816bdc40 100644
--- chrome/browser/browser_about_handler.cc
+++ chrome/browser/browser_about_handler.cc
@@ -72,6 +72,9 @@ bool HandleNonNavigationAboutURL(const GURL& url) {
@@ -69,6 +69,9 @@ bool HandleNonNavigationAboutURL(const GURL& url) {
FROM_HERE, base::BindOnce(&chrome::AttemptExit));
return true;
}
@ -13,7 +13,7 @@ index 2480282a19d12..dbd1fbf8a15b5 100644
return false;
}
diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc
index 4aaba212926f4..e8aadb2c97fe9 100644
index 964c47b090cb1..1917dc314c3ae 100644
--- chrome/browser/devtools/devtools_window.cc
+++ chrome/browser/devtools/devtools_window.cc
@@ -38,6 +38,7 @@
@ -24,7 +24,7 @@ index 4aaba212926f4..e8aadb2c97fe9 100644
#include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
@@ -1221,6 +1222,13 @@ DevToolsWindow* DevToolsWindow::Create(
@@ -1220,6 +1221,13 @@ DevToolsWindow* DevToolsWindow::Create(
!browser->is_type_normal()) {
can_dock = false;
}
@ -38,7 +38,7 @@ index 4aaba212926f4..e8aadb2c97fe9 100644
}
// Create WebContents with devtools.
@@ -1680,9 +1688,13 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) {
@@ -1679,9 +1687,13 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) {
if (!inspected_web_contents ||
!inspected_web_contents->OpenURL(params,
/*navigation_handle_callback=*/{})) {
@ -52,7 +52,7 @@ index 4aaba212926f4..e8aadb2c97fe9 100644
}
}
@@ -1845,12 +1857,28 @@ void DevToolsWindow::CreateDevToolsBrowser() {
@@ -1844,12 +1856,28 @@ void DevToolsWindow::CreateDevToolsBrowser() {
Browser::CreationStatus::kOk) {
return;
}
@ -88,7 +88,7 @@ index 4aaba212926f4..e8aadb2c97fe9 100644
}
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 977b3222c8f7c..e5d36a4e5921e 100644
index c8b65faa2d65b..687f4cff4ea64 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/compiler/compiler.gni")
@ -99,7 +99,7 @@ index 977b3222c8f7c..e5d36a4e5921e 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/ash/components/assistant/assistant.gni")
@@ -303,6 +304,10 @@ static_library("ui") {
@@ -301,6 +302,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -110,7 +110,7 @@ index 977b3222c8f7c..e5d36a4e5921e 100644
public_deps = [
# WARNING WARNING WARNING
# New dependencies outside of //chrome/browser should be added to
@@ -331,6 +336,7 @@ static_library("ui") {
@@ -329,6 +334,7 @@ static_library("ui") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/linux/dbus:buildflags",
"//cc/paint",
@ -118,7 +118,7 @@ index 977b3222c8f7c..e5d36a4e5921e 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/app:chrome_dll_resources",
@@ -699,6 +705,13 @@ static_library("ui") {
@@ -696,6 +702,13 @@ static_library("ui") {
deps += [ "//components/plus_addresses/resources:vector_icons" ]
}
@ -132,7 +132,7 @@ index 977b3222c8f7c..e5d36a4e5921e 100644
# TODO(crbug.com/41437292): Remove this circular dependency.
# Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies".
# These are all-platform circular includes.
@@ -5487,6 +5500,7 @@ static_library("ui") {
@@ -5441,6 +5454,7 @@ static_library("ui") {
if (enable_printing) {
deps += [
"//components/printing/browser",
@ -141,10 +141,10 @@ index 977b3222c8f7c..e5d36a4e5921e 100644
]
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index a62c82aab7a35..cbd8c87aba959 100644
index e0582db3e8e88..1c61a24136933 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -269,6 +269,25 @@
@@ -270,6 +270,25 @@
#include "components/captive_portal/content/captive_portal_tab_helper.h"
#endif
@ -170,7 +170,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -558,6 +577,10 @@ Browser::Browser(const CreateParams& params)
@@ -565,6 +584,10 @@ Browser::Browser(const CreateParams& params)
type_(params.type),
profile_(params.profile),
window_(nullptr),
@ -181,10 +181,10 @@ index a62c82aab7a35..cbd8c87aba959 100644
tab_strip_model_delegate_(
std::make_unique<chrome::BrowserTabStripModelDelegate>(this)),
tab_strip_model_(std::make_unique<TabStripModel>(
@@ -788,6 +811,12 @@ Browser::~Browser() {
// away so they don't try and call back to us.
if (select_file_dialog_.get())
@@ -802,6 +825,12 @@ Browser::~Browser() {
if (select_file_dialog_.get()) {
select_file_dialog_->ListenerDestroyed();
}
+
+ // Clean up any objects attached via UserData before implicit destruction
+ // of CreateParams. Destruction of those objects may call into something
@ -194,7 +194,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
///////////////////////////////////////////////////////////////////////////////
@@ -1407,6 +1436,8 @@ void Browser::WindowFullscreenStateChanged() {
@@ -1409,6 +1438,8 @@ void Browser::WindowFullscreenStateChanged() {
->WindowFullscreenStateChanged();
command_controller_->FullscreenStateChanged();
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN);
@ -203,9 +203,9 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
void Browser::FullscreenTopUIStateChanged() {
@@ -1726,6 +1757,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
@@ -1742,6 +1773,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
return content::KeyboardEventProcessingResult::HANDLED;
}
+#if BUILDFLAG(ENABLE_CEF)
+ if (cef_browser_delegate_) {
@ -218,7 +218,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1733,8 +1772,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1749,8 +1788,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -239,10 +239,10 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
bool Browser::TabsNeedBeforeUnloadFired() const {
@@ -1826,9 +1875,14 @@ bool Browser::IsBackForwardCacheSupported(content::WebContents& web_contents) {
@@ -1845,9 +1894,14 @@ bool Browser::IsBackForwardCacheSupported(content::WebContents& web_contents) {
content::PreloadingEligibility Browser::IsPrerender2Supported(
content::WebContents& web_contents) {
content::WebContents& web_contents,
content::PreloadingTriggerType trigger_type) {
+#if BUILDFLAG(ENABLE_CEF)
+ // Prerender is not supported in CEF. See issue #3664.
+ return content::PreloadingEligibility::kPreloadingDisabled;
@ -254,7 +254,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
bool Browser::ShouldShowStaleContentOnEviction(content::WebContents* source) {
@@ -1888,6 +1942,14 @@ WebContents* Browser::OpenURLFromTab(
@@ -1910,6 +1964,14 @@ WebContents* Browser::OpenURLFromTab(
std::move(navigation_handle_callback));
}
@ -269,7 +269,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -2054,6 +2116,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -2083,6 +2145,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -278,17 +278,17 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -2082,6 +2146,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -2112,6 +2176,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
+ CALL_CEF_DELEGATE(UpdateTargetURL, source, url);
+
if (!GetStatusBubble())
if (!GetStatusBubble()) {
return;
@@ -2089,6 +2155,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@@ -2121,6 +2187,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
}
}
+bool Browser::DidAddMessageToConsole(
@ -305,7 +305,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) {
const ui::EventType type = event.type();
const bool exited = type == ui::EventType::kMouseExited;
@@ -2117,6 +2194,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
@@ -2149,6 +2226,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
return false;
}
@ -325,10 +325,10 @@ index a62c82aab7a35..cbd8c87aba959 100644
void Browser::BeforeUnloadFired(WebContents* web_contents,
bool proceed,
bool* proceed_to_fire_unload) {
@@ -2213,12 +2303,24 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// will later be inserted into this browser using Browser::Navigate via
// AddNewContents.
TabHelpers::AttachTabHelpers(new_contents);
@@ -2261,12 +2351,24 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// to track `new_contents` after it is added to its TabModel this override can
// be removed.
CreateSessionServiceTabHelper(new_contents);
+
+ CALL_CEF_DELEGATE(WebContentsCreated, source_contents,
+ opener_render_process_id, opener_render_frame_id,
@ -350,7 +350,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
// Don't show the page hung dialog when a HTML popup hangs because
// the dialog will take the focus and immediately close the popup.
RenderWidgetHostView* view = render_widget_host->GetView();
@@ -2231,6 +2333,13 @@ void Browser::RendererUnresponsive(
@@ -2279,6 +2381,13 @@ void Browser::RendererUnresponsive(
void Browser::RendererResponsive(
WebContents* source,
content::RenderWidgetHost* render_widget_host) {
@ -364,7 +364,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
RenderWidgetHostView* view = render_widget_host->GetView();
if (view && !render_widget_host->GetView()->IsHTMLFormPopup()) {
TabDialogs::FromWebContents(source)->HideHungRendererDialog(
@@ -2240,6 +2349,15 @@ void Browser::RendererResponsive(
@@ -2288,6 +2397,15 @@ void Browser::RendererResponsive(
content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager(
WebContents* source) {
@ -380,7 +380,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
return javascript_dialogs::TabModalDialogManager::FromWebContents(source);
}
@@ -2275,6 +2393,11 @@ void Browser::DraggableRegionsChanged(
@@ -2323,6 +2441,11 @@ void Browser::DraggableRegionsChanged(
if (app_controller_) {
app_controller_->DraggableRegionsChanged(regions, contents);
}
@ -392,7 +392,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
void Browser::DidFinishNavigation(
@@ -2355,11 +2478,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -2405,11 +2528,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id);
@ -408,7 +408,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2562,6 +2689,15 @@ void Browser::RequestMediaAccessPermission(
@@ -2619,6 +2746,15 @@ void Browser::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) {
@ -424,7 +424,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
const extensions::Extension* extension =
GetExtensionForOrigin(profile_, request.security_origin);
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
@@ -3114,9 +3250,10 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
@@ -3187,9 +3323,10 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
// Browser, Getters for UI (private):
StatusBubble* Browser::GetStatusBubble() {
@ -436,7 +436,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
// We hide the status bar for web apps windows as this matches native
@@ -3124,6 +3261,12 @@ StatusBubble* Browser::GetStatusBubble() {
@@ -3197,6 +3334,12 @@ StatusBubble* Browser::GetStatusBubble() {
// mode, as the minimal browser UI includes the status bar.
if (web_app::AppBrowserController::IsWebApp(this) &&
!app_controller()->HasMinimalUiButtons()) {
@ -449,7 +449,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
return nullptr;
}
@@ -3269,6 +3412,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -3346,6 +3489,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
web_contents_collection_.StopObserving(web_contents);
}
@ -458,7 +458,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
}
void Browser::TabDetachedAtImpl(content::WebContents* contents,
@@ -3426,6 +3571,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
@@ -3506,6 +3651,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
bool Browser::SupportsWindowFeatureImpl(WindowFeature feature,
bool check_can_support) const {
@ -474,7 +474,7 @@ index a62c82aab7a35..cbd8c87aba959 100644
case TYPE_NORMAL:
return NormalBrowserSupportsWindowFeature(feature, check_can_support);
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index 1455dcab97edb..eb86532470a75 100644
index 0ee8fee2166f0..cdbf89ce7088b 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -25,6 +25,7 @@
@ -539,7 +539,7 @@ index 1455dcab97edb..eb86532470a75 100644
// Get the FindBarController for this browser, creating it if it does not
// yet exist.
FindBarController* GetFindBarController();
@@ -964,10 +991,18 @@ class Browser : public TabStripModelObserver,
@@ -962,10 +989,18 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -558,7 +558,7 @@ index 1455dcab97edb..eb86532470a75 100644
void BeforeUnloadFired(content::WebContents* source,
bool proceed,
bool* proceed_to_fire_unload) override;
@@ -1306,6 +1341,10 @@ class Browser : public TabStripModelObserver,
@@ -1303,6 +1338,10 @@ class Browser : public TabStripModelObserver,
// This Browser's window.
raw_ptr<BrowserWindow, DanglingUntriaged> window_;
@ -569,7 +569,7 @@ index 1455dcab97edb..eb86532470a75 100644
std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_;
std::unique_ptr<TabStripModel> const tab_strip_model_;
@@ -1372,6 +1411,8 @@ class Browser : public TabStripModelObserver,
@@ -1369,6 +1408,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_;
@ -579,7 +579,7 @@ index 1455dcab97edb..eb86532470a75 100644
UnloadController unload_controller_;
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index d26f6e2bdefd8..6c37714cc328f 100644
index 819c44848e6ab..8e233a8b2d420 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -260,6 +260,10 @@ std::tuple<Browser*, int> GetBrowserAndTabForDisposition(
@ -613,7 +613,7 @@ index d26f6e2bdefd8..6c37714cc328f 100644
bool IsHostAllowedInIncognito(const GURL& url) {
diff --git chrome/browser/ui/browser_tabstrip.cc chrome/browser/ui/browser_tabstrip.cc
index 1f84235515463..82942fb06b5f3 100644
index f12ba73369a65..23c43dcb1dd24 100644
--- chrome/browser/ui/browser_tabstrip.cc
+++ chrome/browser/ui/browser_tabstrip.cc
@@ -33,9 +33,13 @@ content::WebContents* AddAndReturnTabAt(
@ -631,7 +631,7 @@ index 1f84235515463..82942fb06b5f3 100644
params.disposition = foreground ? WindowOpenDisposition::NEW_FOREGROUND_TAB
: WindowOpenDisposition::NEW_BACKGROUND_TAB;
params.tabstrip_index = idx;
@@ -84,6 +88,16 @@ content::WebContents* AddWebContents(
@@ -85,6 +89,16 @@ content::WebContents* AddWebContents(
// Can't create a new contents for the current tab - invalid case.
DCHECK(disposition != WindowOpenDisposition::CURRENT_TAB);

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 419bf206081ba..d0b299714a5eb 100644
index 3e36390382b9b..bf0aacb0eb08e 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -359,6 +359,18 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@ -21,7 +21,7 @@ index 419bf206081ba..d0b299714a5eb 100644
enum class UmaEnumIdLookupType {
GeneralEnumId,
ContextSpecificEnumId,
@@ -627,6 +639,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
@@ -629,6 +641,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
return 1;
}
@ -32,7 +32,7 @@ index 419bf206081ba..d0b299714a5eb 100644
id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id);
@@ -931,6 +947,14 @@ RenderViewContextMenu::RenderViewContextMenu(
@@ -919,6 +935,14 @@ RenderViewContextMenu::RenderViewContextMenu(
: nullptr;
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -47,7 +47,7 @@ index 419bf206081ba..d0b299714a5eb 100644
observers_.AddObserver(&autofill_context_menu_manager_);
}
@@ -1387,6 +1411,12 @@ void RenderViewContextMenu::InitMenu() {
@@ -1376,6 +1400,12 @@ void RenderViewContextMenu::InitMenu() {
autofill_client->HideAutofillSuggestions(
autofill::SuggestionHidingReason::kContextMenuOpened);
}
@ -60,7 +60,7 @@ index 419bf206081ba..d0b299714a5eb 100644
}
Profile* RenderViewContextMenu::GetProfile() const {
@@ -3656,6 +3686,26 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
@@ -3603,6 +3633,26 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb);
}
@ -88,10 +88,10 @@ index 419bf206081ba..d0b299714a5eb 100644
RenderViewContextMenu::GetHandlersForLinkUrl() {
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
index e31912f931c11..dac994a1958b1 100644
index a57ce5f206298..2b6fc94cca039 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -155,7 +155,21 @@ class RenderViewContextMenu
@@ -154,7 +154,21 @@ class RenderViewContextMenu
}
#endif
@ -113,7 +113,7 @@ index e31912f931c11..dac994a1958b1 100644
Profile* GetProfile() const;
// This may return nullptr (e.g. for WebUI dialogs). Virtual to allow tests to
@@ -481,6 +495,9 @@ class RenderViewContextMenu
@@ -475,6 +489,9 @@ class RenderViewContextMenu
// built.
bool is_protocol_submenu_valid_ = false;
@ -136,10 +136,10 @@ index cb51224f9892c..b5a3946999d8f 100644
private:
// RenderViewContextMenuViewsMac:
diff --git chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm
index 9070be4403de1..a449c46246acd 100644
index 5e266a42d3df6..e57211944d6a6 100644
--- chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm
+++ chrome/browser/ui/cocoa/renderer_context_menu/render_view_context_menu_mac_cocoa.mm
@@ -68,6 +68,10 @@ RenderViewContextMenuMacCocoa::~RenderViewContextMenuMacCocoa() {
@@ -70,6 +70,10 @@ RenderViewContextMenuMacCocoa::~RenderViewContextMenuMacCocoa() {
}
void RenderViewContextMenuMacCocoa::Show() {
@ -150,7 +150,7 @@ index 9070be4403de1..a449c46246acd 100644
views::Widget* widget = views::Widget::GetTopLevelWidgetForNativeView(
source_web_contents_->GetNativeView());
@@ -93,6 +97,10 @@ void RenderViewContextMenuMacCocoa::Show() {
@@ -95,6 +99,10 @@ void RenderViewContextMenuMacCocoa::Show() {
views::ElementTrackerViews::GetContextForWidget(widget));
}
@ -189,10 +189,10 @@ index 9f6c5fd44f206..dc50bc909897f 100644
runner_->Cancel();
}
diff --git chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
index a0a564cbef528..f804cffc6944f 100644
index 995a9c9c8ca22..b743c01bc6ebb 100644
--- chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
+++ chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
@@ -149,6 +149,9 @@ void RenderViewContextMenuViews::RunMenuAt(views::Widget* parent,
@@ -150,6 +150,9 @@ void RenderViewContextMenuViews::RunMenuAt(views::Widget* parent,
bool RenderViewContextMenuViews::GetAcceleratorForCommandId(
int command_id,
ui::Accelerator* accel) const {
@ -202,7 +202,7 @@ index a0a564cbef528..f804cffc6944f 100644
// There are no formally defined accelerators we can query so we assume
// that Ctrl+C, Ctrl+V, Ctrl+X, Ctrl-A, etc do what they normally do.
switch (command_id) {
@@ -383,6 +386,10 @@ void RenderViewContextMenuViews::AppendPlatformEditableItems() {
@@ -366,6 +369,10 @@ void RenderViewContextMenuViews::AppendPlatformEditableItems() {
}
void RenderViewContextMenuViews::Show() {
@ -210,10 +210,10 @@ index a0a564cbef528..f804cffc6944f 100644
+ return;
+ }
+
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode))
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode)) {
return;
@@ -425,6 +432,11 @@ void RenderViewContextMenuViews::Show() {
}
@@ -412,6 +419,11 @@ void RenderViewContextMenuViews::Show() {
}
}
@ -238,10 +238,10 @@ index 8433cdc9c88b7..aea62cda5cd22 100644
protected:
RenderViewContextMenuViews(content::RenderFrameHost& render_frame_host,
diff --git chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
index eb855deeb6040..3ff97b28fa4c6 100644
index d46f3ec0eec9c..c1e166725f526 100644
--- chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
+++ chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.cc
@@ -91,6 +91,10 @@ void ChromeWebContentsViewDelegateViews::ShowMenu(
@@ -92,6 +92,10 @@ void ChromeWebContentsViewDelegateViews::ShowMenu(
context_menu_->Show();
}
@ -253,7 +253,7 @@ index eb855deeb6040..3ff97b28fa4c6 100644
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) {
diff --git chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h
index 97c98c8738965..96c142806d7b2 100644
index 427c68bd89910..1632f7bbfd0c2 100644
--- chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h
+++ chrome/browser/ui/views/tab_contents/chrome_web_contents_view_delegate_views.h
@@ -55,6 +55,7 @@ class ChromeWebContentsViewDelegateViews
@ -277,10 +277,10 @@ index 07e5b3613a2df..293282690bd5a 100644
private:
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
index 0e2cf71973741..e8d9c38b49b6c 100644
index 065e21f80dbe5..013403577470c 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
@@ -131,6 +131,10 @@ void ChromeWebContentsViewDelegateViewsMac::ShowMenu(
@@ -133,6 +133,10 @@ void ChromeWebContentsViewDelegateViewsMac::ShowMenu(
context_menu_->Show();
}
@ -305,10 +305,10 @@ index 042428f77f4ad..e4efd98ca45d5 100644
raw_ptr<content::WebContents> web_contents_ = nullptr;
};
diff --git components/renderer_context_menu/render_view_context_menu_base.cc components/renderer_context_menu/render_view_context_menu_base.cc
index 2c4065b89fd0b..b978ebc839209 100644
index 10f9eecb49c31..64d6cc54f0940 100644
--- components/renderer_context_menu/render_view_context_menu_base.cc
+++ components/renderer_context_menu/render_view_context_menu_base.cc
@@ -396,6 +396,17 @@ bool RenderViewContextMenuBase::IsCommandIdChecked(int id) const {
@@ -395,6 +395,17 @@ bool RenderViewContextMenuBase::IsCommandIdChecked(int id) const {
return false;
}

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/chrome_javascript_app_modal_view_factory_views.cc chrome/browser/ui/views/chrome_javascript_app_modal_view_factory_views.cc
index b169371e4d42f..509e4bda85b47 100644
index cc58a303a78b6..7755e58c8651c 100644
--- chrome/browser/ui/views/chrome_javascript_app_modal_view_factory_views.cc
+++ chrome/browser/ui/views/chrome_javascript_app_modal_view_factory_views.cc
@@ -100,7 +100,7 @@ javascript_dialogs::AppModalDialogView* CreateViewsJavaScriptDialog(
@@ -99,7 +99,7 @@ javascript_dialogs::AppModalDialogView* CreateViewsJavaScriptDialog(
gfx::NativeWindow parent_window =
controller->web_contents()->GetTopLevelNativeWindow();
#if defined(USE_AURA)
@ -12,10 +12,10 @@ index b169371e4d42f..509e4bda85b47 100644
// on the screen, we can't actually attach to it.
parent_window = nullptr;
diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc
index 34567d0940948..420d15acad367 100644
index 6cea2c60b144f..7bae772782b71 100644
--- components/constrained_window/constrained_window_views.cc
+++ components/constrained_window/constrained_window_views.cc
@@ -102,10 +102,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver {
@@ -101,10 +101,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver {
gfx::Rect GetModalDialogBounds(views::Widget* widget,
web_modal::ModalDialogHost* dialog_host,
const gfx::Size& size) {
@ -36,7 +36,7 @@ index 34567d0940948..420d15acad367 100644
}
gfx::Point position = dialog_host->GetDialogPosition(size);
@@ -114,43 +121,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget,
@@ -113,43 +120,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget,
position.set_y(position.y() -
widget->non_client_view()->frame_view()->GetInsets().top());
@ -94,7 +94,7 @@ index 34567d0940948..420d15acad367 100644
}
void UpdateModalDialogPosition(views::Widget* widget,
@@ -161,15 +147,24 @@ void UpdateModalDialogPosition(views::Widget* widget,
@@ -160,15 +146,24 @@ void UpdateModalDialogPosition(views::Widget* widget,
return;
}
@ -121,7 +121,7 @@ index 34567d0940948..420d15acad367 100644
return;
}
@@ -299,8 +294,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
@@ -298,8 +293,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
gfx::NativeView parent_view =
parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : nullptr;
@ -136,7 +136,7 @@ index 34567d0940948..420d15acad367 100644
widget->SetNativeWindowProperty(
views::kWidgetIdentifierKey,
const_cast<void*>(kConstrainedWindowWidgetIdentifier));
@@ -317,8 +317,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
@@ -316,8 +316,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
return widget;
ModalDialogHost* host =
@ -146,7 +146,7 @@ index 34567d0940948..420d15acad367 100644
if (host) {
DCHECK_EQ(parent_view, host->GetHostView());
std::unique_ptr<ModalDialogHostObserver> observer =
@@ -335,11 +334,17 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
@@ -334,11 +333,17 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
views::Widget* ShowBrowserModal(std::unique_ptr<ui::DialogModel> dialog_model,
gfx::NativeWindow parent) {
@ -210,7 +210,7 @@ index 51ed6bcf6b540..c6e1161140655 100644
virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0;
// 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
index bc119f10f749e..d81c1ce4e786f 100644
index 8829ec9e33506..01277e6e7e5b8 100644
--- ui/views/window/dialog_delegate.cc
+++ ui/views/window/dialog_delegate.cc
@@ -87,10 +87,12 @@ DialogDelegate::DialogDelegate() {
@ -264,13 +264,13 @@ index bc119f10f749e..d81c1ce4e786f 100644
@@ -129,7 +134,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
params.bounds = bounds;
if (dialog)
if (dialog) {
- dialog->params_.custom_frame &= CanSupportCustomFrame(parent);
+ dialog->params_.custom_frame &= CanSupportCustomFrame(parent, parent_widget);
}
if (!dialog || dialog->use_custom_frame()) {
params.opacity = Widget::InitParams::WindowOpacity::kTranslucent;
@@ -142,6 +147,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
@@ -143,6 +148,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
}
params.context = context;
params.parent = 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
index c95b5e23f09b0..62c331a47ad2e 100644
index ca80263783e89..b0e3f15b824f5 100644
--- chrome/browser/download/chrome_download_manager_delegate.cc
+++ chrome/browser/download/chrome_download_manager_delegate.cc
@@ -31,6 +31,7 @@
@ -10,7 +10,7 @@ index c95b5e23f09b0..62c331a47ad2e 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/download/bubble/download_bubble_prefs.h"
#include "chrome/browser/download/download_core_service.h"
@@ -159,6 +160,10 @@
@@ -158,6 +159,10 @@
#include "chrome/browser/ash/policy/skyvault/skyvault_rename_handler.h"
#endif
@ -21,7 +21,7 @@ index c95b5e23f09b0..62c331a47ad2e 100644
using content::BrowserThread;
using content::DownloadManager;
using download::DownloadItem;
@@ -517,6 +522,11 @@ ChromeDownloadManagerDelegate::ChromeDownloadManagerDelegate(Profile* profile)
@@ -516,6 +521,11 @@ ChromeDownloadManagerDelegate::ChromeDownloadManagerDelegate(Profile* profile)
download_dialog_bridge_ = std::make_unique<DownloadDialogBridge>();
download_message_bridge_ = std::make_unique<DownloadMessageBridge>();
#endif
@ -33,7 +33,7 @@ index c95b5e23f09b0..62c331a47ad2e 100644
}
ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
@@ -576,6 +586,9 @@ void ChromeDownloadManagerDelegate::Shutdown() {
@@ -575,6 +585,9 @@ void ChromeDownloadManagerDelegate::Shutdown() {
download_manager_->RemoveObserver(this);
download_manager_ = nullptr;
}
@ -43,7 +43,7 @@ index c95b5e23f09b0..62c331a47ad2e 100644
}
void ChromeDownloadManagerDelegate::OnDownloadCanceledAtShutdown(
@@ -644,6 +657,12 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
@@ -643,6 +656,12 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
ReportPDFLoadStatus(PDFLoadStatus::kTriggeredNoGestureDriveByDownload);
}
@ -56,7 +56,7 @@ index c95b5e23f09b0..62c331a47ad2e 100644
DownloadTargetDeterminer::CompletionCallback target_determined_callback =
base::BindOnce(&ChromeDownloadManagerDelegate::OnDownloadTargetDetermined,
weak_ptr_factory_.GetWeakPtr(), download->GetId(),
@@ -1119,8 +1138,11 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) {
@@ -1118,8 +1137,11 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) {
Browser* browser =
web_contents ? chrome::FindBrowserWithTab(web_contents) : nullptr;
std::unique_ptr<chrome::ScopedTabbedBrowserDisplayer> browser_displayer;

View File

@ -34,10 +34,10 @@ index f61ec524109fe..92ca490728855 100644
WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc
index 708748407e8b8..9e91dd2b2f285 100644
index d19671bad0e0d..639a1737a0ef5 100644
--- chrome/browser/extensions/api/tabs/tabs_api.cc
+++ chrome/browser/extensions/api/tabs/tabs_api.cc
@@ -1643,7 +1643,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1674,7 +1674,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
return RespondNow(Error(ExtensionTabUtil::kTabStripNotEditableError));
}
@ -46,7 +46,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
tab_strip->ActivateTabAt(tab_index);
DCHECK_EQ(contents, tab_strip->GetActiveWebContents());
}
@@ -1657,7 +1657,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1688,7 +1688,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
}
bool highlighted = *params->update_properties.highlighted;
@ -55,7 +55,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
tab_strip->ToggleSelectionAt(tab_index);
}
}
@@ -1669,7 +1669,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1700,7 +1700,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
kCannotUpdateMuteCaptured, base::NumberToString(tab_id))));
}
@ -64,7 +64,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
int opener_id = *params->update_properties.opener_tab_id;
WebContents* opener_contents = nullptr;
if (opener_id == tab_id) {
@@ -1704,7 +1704,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1735,7 +1735,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
->SetAutoDiscardable(state);
}
@ -73,7 +73,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
// Bug fix for crbug.com/1197888. Don't let the extension update the tab if
// the user is dragging tabs.
if (!ExtensionTabUtil::IsTabStripEditable()) {
@@ -1725,7 +1725,8 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1756,7 +1756,8 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
// Navigate the tab to a new location if the url is different.
if (params->update_properties.url) {
std::string updated_url = *params->update_properties.url;
@ -83,7 +83,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
!IsURLAllowedInIncognito(GURL(updated_url))) {
return RespondNow(Error(ErrorUtils::FormatErrorMessage(
tabs_constants::kURLsNotAllowedInIncognitoError, updated_url)));
@@ -1740,7 +1741,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1771,7 +1772,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
return RespondNow(Error(std::move(error)));
}
@ -93,7 +93,7 @@ index 708748407e8b8..9e91dd2b2f285 100644
current_url, updated_url, js_callstack());
}
diff --git chrome/browser/extensions/extension_tab_util.cc chrome/browser/extensions/extension_tab_util.cc
index 621e65fdf7666..93ec54e632930 100644
index 704ad20866c37..081ef3bbf73cc 100644
--- chrome/browser/extensions/extension_tab_util.cc
+++ chrome/browser/extensions/extension_tab_util.cc
@@ -35,6 +35,7 @@
@ -104,8 +104,8 @@ index 621e65fdf7666..93ec54e632930 100644
#include "chrome/browser/browser_process.h" // nogncheck
#include "chrome/browser/extensions/browser_extension_window_controller.h"
#include "chrome/browser/extensions/chrome_extension_function_details.h"
@@ -80,6 +81,10 @@
#include "url/gurl.h"
@@ -81,6 +82,10 @@
#include "url/url_constants.h"
#endif
+#if BUILDFLAG(ENABLE_CEF)
@ -115,7 +115,7 @@ index 621e65fdf7666..93ec54e632930 100644
using content::NavigationEntry;
using content::WebContents;
using extensions::mojom::APIPermissionID;
@@ -731,6 +736,14 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
@@ -732,6 +737,14 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
}
}
@ -165,10 +165,10 @@ index 63848c93738ce..0358e098c7339 100644
// ones that need to call AttachTabHelpers; if you think you do, re-read the
// 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 74af36a74f108..a4e1885388d16 100644
index 2df9dfff43c9b..897738dfc8ddf 100644
--- chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
+++ chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
@@ -834,6 +834,10 @@ void DownloadToolbarButtonView::ShowPendingDownloadStartedAnimation() {
@@ -812,6 +812,10 @@ void DownloadToolbarButtonView::ShowPendingDownloadStartedAnimation() {
if (!gfx::Animation::ShouldRenderRichAnimation()) {
return;
}

View File

@ -33,10 +33,10 @@ index 2245c931fbe4f..761ea6b3a6afb 100644
~BrowserFrameMac() override;
diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm
index ad9fe12425ad6..fa5840643f3a4 100644
index b540a7a995fbc..e411aa8c235d9 100644
--- chrome/browser/ui/views/frame/browser_frame_mac.mm
+++ chrome/browser/ui/views/frame/browser_frame_mac.mm
@@ -184,7 +184,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() {
@@ -185,7 +185,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() {
void BrowserFrameMac::ValidateUserInterfaceItem(
int32_t tag,
remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) {
@ -52,7 +52,7 @@ index ad9fe12425ad6..fa5840643f3a4 100644
if (!chrome::SupportsCommand(browser, tag)) {
result->enable = false;
return;
@@ -307,8 +314,16 @@ bool BrowserFrameMac::WillExecuteCommand(
@@ -308,8 +315,16 @@ bool BrowserFrameMac::WillExecuteCommand(
int32_t command,
WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) {
@ -70,18 +70,15 @@ index ad9fe12425ad6..fa5840643f3a4 100644
if (is_before_first_responder) {
// The specification for this private extensions API is incredibly vague.
// For now, we avoid triggering chrome commands prior to giving the
@@ -340,11 +355,20 @@ bool BrowserFrameMac::ExecuteCommand(
@@ -341,13 +356,21 @@ bool BrowserFrameMac::ExecuteCommand(
int32_t command,
WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) {
- if (!WillExecuteCommand(command, window_open_disposition,
- is_before_first_responder))
- return false;
+ return ExecuteCommand(browser_view_->browser(), command,
+ window_open_disposition, is_before_first_responder);
+}
- Browser* browser = browser_view_->browser();
+
+// static
+bool BrowserFrameMac::ExecuteCommand(
+ Browser* browser,
@ -89,9 +86,12 @@ index ad9fe12425ad6..fa5840643f3a4 100644
+ WindowOpenDisposition window_open_disposition,
+ bool is_before_first_responder) {
+ if (!WillExecuteCommand(browser, command, window_open_disposition,
+ is_before_first_responder)) {
+ return false;
+ }
is_before_first_responder)) {
return false;
}
- Browser* browser = browser_view_->browser();
-
chrome::ExecuteCommandWithDisposition(browser, command,
window_open_disposition);
return true;

View File

@ -17,10 +17,10 @@ index fbce13c16ad10..0512b2f09937e 100644
std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt(
content::WebContents* web_contents,
diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc
index d2328bfa93afa..c80206aecbcbf 100644
index a5c99f86b52d2..f7e0241b6dc87 100644
--- chrome/browser/ui/views/permissions/permission_prompt_factory.cc
+++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc
@@ -222,11 +222,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
@@ -225,11 +225,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
}
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/bookmarks/bookmark_stats.cc chrome/browser/ui/bookmarks/bookmark_stats.cc
index bd47b3f13aa2a..0f4f3c47d2647 100644
index 6a1b3f5267b0d..d9cfa012c9756 100644
--- chrome/browser/ui/bookmarks/bookmark_stats.cc
+++ chrome/browser/ui/bookmarks/bookmark_stats.cc
@@ -21,7 +21,9 @@ bool IsBookmarkBarLocation(BookmarkLaunchLocation location) {
@ -14,7 +14,7 @@ index bd47b3f13aa2a..0f4f3c47d2647 100644
? profile_metrics::BrowserProfileType::kRegular
: profile_metrics::BrowserProfileType::kIncognito;
diff --git chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
index 3ac5ebf1b49b5..d41cffecb5603 100644
index 1efeddf9c4989..5792d489d189d 100644
--- chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
+++ chrome/browser/ui/views/incognito_clear_browsing_data_dialog.cc
@@ -32,7 +32,9 @@ IncognitoClearBrowsingDataDialog::IncognitoClearBrowsingDataDialog(
@ -29,10 +29,10 @@ index 3ac5ebf1b49b5..d41cffecb5603 100644
SetShowCloseButton(true);
diff --git chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
index caa20ec03434a..2a3ca921445c1 100644
index 1cf20c6206d60..9140d51cb79bd 100644
--- chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
+++ chrome/browser/ui/views/incognito_clear_browsing_data_dialog_coordinator.cc
@@ -26,6 +26,10 @@ void IncognitoClearBrowsingDataDialogCoordinator::Show(
@@ -27,6 +27,10 @@ void IncognitoClearBrowsingDataDialogCoordinator::Show(
->toolbar_button_provider()
->GetAvatarToolbarButton();
@ -44,7 +44,7 @@ index caa20ec03434a..2a3ca921445c1 100644
avatar_toolbar_button, GetBrowser().profile(), type);
DCHECK_EQ(nullptr, bubble_tracker_.view());
diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc
index 00510c991e657..830db4087c274 100644
index 3216e0a793c4a..6168afcbf507b 100644
--- chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -36,7 +36,9 @@
@ -59,10 +59,10 @@ index 00510c991e657..830db4087c274 100644
ax::mojom::NameFrom::kAttribute);
diff --git chrome/browser/ui/views/profiles/profile_menu_coordinator.cc chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
index 58026d48e15a6..acb3b51f86943 100644
index 51408a6d84f3a..0d4e3197f52e1 100644
--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
+++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
@@ -52,7 +52,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) {
@@ -56,7 +56,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) {
std::unique_ptr<ProfileMenuViewBase> bubble;
bool is_incognito = browser.profile()->IsIncognitoProfile();

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
index cf4597e671afe..a9693c4e10d8e 100644
index ecf5f7dd2b2b8..23775b4aa4d90 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -647,7 +647,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@@ -653,7 +653,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
#endif
if (!profile)
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
@ -14,7 +14,7 @@ index cf4597e671afe..a9693c4e10d8e 100644
}
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
index 0b37d2e8cc60f..0ed51eebe9f76 100644
index a490fefce8c79..2a066c47ef96d 100644
--- chrome/browser/profiles/profile.cc
+++ chrome/browser/profiles/profile.cc
@@ -84,6 +84,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
@ -85,10 +85,10 @@ index 2fe342e49d3c1..559b2a676dab5 100644
// 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
index 03ca7ab9c372a..524facb62c672 100644
index 22aa92b18ffe4..317185360e925 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -1041,7 +1041,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
@@ -1024,7 +1024,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
otr_profiles_[otr_profile_id] = std::move(otr_profile);

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index e75f7bc2c574f..9dc127066abd6 100644
index 89c2f12346bba..84c537aafb255 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -39,6 +39,7 @@ static_library("safe_browsing") {

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/startup/startup_browser_creator.cc chrome/browser/ui/startup/startup_browser_creator.cc
index 16f7438c6f112..c5568abce8917 100644
index d26f0998c81fc..098282f9ca599 100644
--- chrome/browser/ui/startup/startup_browser_creator.cc
+++ chrome/browser/ui/startup/startup_browser_creator.cc
@@ -607,6 +607,13 @@ std::optional<ash::KioskAppId> GetAppId(const base::CommandLine& command_line,
@@ -626,6 +626,13 @@ std::optional<ash::KioskAppId> GetAppId(const base::CommandLine& command_line,
}
#endif // BUILDFLAG(IS_CHROMEOS)
@ -16,7 +16,7 @@ index 16f7438c6f112..c5568abce8917 100644
} // namespace
StartupProfileMode StartupProfileModeFromReason(
@@ -1467,6 +1474,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile(
@@ -1500,6 +1507,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile(
{profile, mode}, last_opened_profiles);
}
@ -29,7 +29,7 @@ index 16f7438c6f112..c5568abce8917 100644
// static
void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
const base::CommandLine& command_line,
@@ -1476,6 +1489,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
@@ -1509,6 +1522,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
return;
}
@ -42,7 +42,7 @@ index 16f7438c6f112..c5568abce8917 100644
StartupProfileMode mode =
StartupProfileModeFromReason(profile_path_info.reason);
diff --git chrome/browser/ui/startup/startup_browser_creator.h chrome/browser/ui/startup/startup_browser_creator.h
index 37957dc632d0c..735819e9ceb10 100644
index a8c47297e36b7..5f0e5a4a98c81 100644
--- chrome/browser/ui/startup/startup_browser_creator.h
+++ chrome/browser/ui/startup/startup_browser_creator.h
@@ -9,6 +9,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/webui/about/about_ui.cc chrome/browser/ui/webui/about/about_ui.cc
index d8205f05e45fb..fd867040ec470 100644
index 4a28298d21ee8..b0044efb59bf5 100644
--- chrome/browser/ui/webui/about/about_ui.cc
+++ chrome/browser/ui/webui/about/about_ui.cc
@@ -90,6 +90,10 @@
@ -13,7 +13,7 @@ index d8205f05e45fb..fd867040ec470 100644
using content::BrowserThread;
namespace {
@@ -541,6 +545,11 @@ ChromeURLsUIConfig::CreateWebUIController(content::WebUI* web_ui,
@@ -537,6 +541,11 @@ ChromeURLsUIConfig::CreateWebUIController(content::WebUI* web_ui,
CreditsUIConfig::CreditsUIConfig()
: AboutUIConfigBase(chrome::kChromeUICreditsHost) {}
@ -25,7 +25,7 @@ index d8205f05e45fb..fd867040ec470 100644
#if !BUILDFLAG(IS_ANDROID)
TermsUIConfig::TermsUIConfig()
: AboutUIConfigBase(chrome::kChromeUITermsHost) {}
@@ -642,6 +651,16 @@ void AboutUIHTMLSource::StartDataRequest(
@@ -638,6 +647,16 @@ void AboutUIHTMLSource::StartDataRequest(
IDS_TERMS_HTML);
#endif
}
@ -43,7 +43,7 @@ index d8205f05e45fb..fd867040ec470 100644
FinishDataRequest(response, std::move(callback));
}
diff --git chrome/browser/ui/webui/about/about_ui.h chrome/browser/ui/webui/about/about_ui.h
index 1b8d354f098b8..e7ea1c3329918 100644
index 3f08e01880ef0..122cf9bacc2e3 100644
--- chrome/browser/ui/webui/about/about_ui.h
+++ chrome/browser/ui/webui/about/about_ui.h
@@ -11,6 +11,7 @@
@ -69,7 +69,7 @@ index 1b8d354f098b8..e7ea1c3329918 100644
// chrome://terms
class TermsUIConfig : public AboutUIConfigBase {
diff --git chrome/browser/ui/webui/chrome_web_ui_configs.cc chrome/browser/ui/webui/chrome_web_ui_configs.cc
index a2719d73bc701..3cc832d90e17a 100644
index c86664f532a5d..1465b151f8704 100644
--- chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ chrome/browser/ui/webui/chrome_web_ui_configs.cc
@@ -6,6 +6,7 @@
@ -80,7 +80,7 @@ index a2719d73bc701..3cc832d90e17a 100644
#include "chrome/browser/optimization_guide/optimization_guide_internals_ui.h"
#include "chrome/browser/ui/webui/about/about_ui.h"
#include "chrome/browser/ui/webui/accessibility/accessibility_ui.h"
@@ -210,6 +211,9 @@ void RegisterChromeWebUIConfigs() {
@@ -211,6 +212,9 @@ void RegisterChromeWebUIConfigs() {
map.AddWebUIConfig(std::make_unique<BluetoothInternalsUIConfig>());
map.AddWebUIConfig(std::make_unique<BrowsingTopicsInternalsUIConfig>());
map.AddWebUIConfig(std::make_unique<chromeos::DeviceLogUIConfig>());
@ -91,10 +91,10 @@ index a2719d73bc701..3cc832d90e17a 100644
map.AddWebUIConfig(std::make_unique<CrashesUIConfig>());
map.AddWebUIConfig(std::make_unique<commerce::CommerceInternalsUIConfig>());
diff --git chrome/common/webui_url_constants.cc chrome/common/webui_url_constants.cc
index b04b8dc5c8781..f002f6178775e 100644
index 506d4ea46d297..b11a7b0325dc5 100644
--- chrome/common/webui_url_constants.cc
+++ chrome/common/webui_url_constants.cc
@@ -96,6 +96,9 @@ base::span<const base::cstring_view> ChromeURLHosts() {
@@ -95,6 +95,9 @@ base::span<const base::cstring_view> ChromeURLHosts() {
kChromeUIHistoryHost,
history_clusters_internals::kChromeUIHistoryClustersInternalsHost,
kChromeUIInterstitialHost,
@ -105,7 +105,7 @@ index b04b8dc5c8781..f002f6178775e 100644
#if !BUILDFLAG(IS_ANDROID)
kChromeUIManagementHost,
diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h
index 5b811889ae545..a118638e7e629 100644
index a5e4b8cb32f40..5efd6d78c7dc9 100644
--- chrome/common/webui_url_constants.h
+++ chrome/common/webui_url_constants.h
@@ -17,6 +17,7 @@
@ -116,7 +116,7 @@ index 5b811889ae545..a118638e7e629 100644
#include "chrome/common/buildflags.h"
#include "components/signin/public/base/signin_buildflags.h"
#include "content/public/common/url_constants.h"
@@ -145,6 +146,10 @@ inline constexpr char kChromeUIInterstitialHost[] = "interstitials";
@@ -144,6 +145,10 @@ inline constexpr char kChromeUIInterstitialHost[] = "interstitials";
inline constexpr char kChromeUIInterstitialURL[] = "chrome://interstitials/";
inline constexpr char kChromeUIKillHost[] = "kill";
inline constexpr char kChromeUILauncherInternalsHost[] = "launcher-internals";

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/webui/version/version_handler.cc chrome/browser/ui/webui/version/version_handler.cc
index 3c684382f63ca..f560d3c181730 100644
index 2d8d97e4938cf..78bbdbaa8ad69 100644
--- chrome/browser/ui/webui/version/version_handler.cc
+++ chrome/browser/ui/webui/version/version_handler.cc
@@ -29,12 +29,23 @@
@ -27,10 +27,10 @@ index 3c684382f63ca..f560d3c181730 100644
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK);
@@ -50,6 +61,19 @@ void GetFilePaths(const base::FilePath& profile_path,
*profile_path_out = profile_path.LossyDisplayName();
else
@@ -52,6 +63,19 @@ void GetFilePaths(const base::FilePath& profile_path,
} else {
*profile_path_out = l10n_util::GetStringUTF16(IDS_VERSION_UI_PATH_NOTFOUND);
}
+
+#if BUILDFLAG(ENABLE_CEF)
+ base::FilePath module_path;
@ -47,7 +47,7 @@ index 3c684382f63ca..f560d3c181730 100644
}
} // namespace
@@ -121,23 +145,46 @@ void VersionHandler::HandleRequestPathInfo(const base::Value::List& args) {
@@ -123,23 +147,46 @@ void VersionHandler::HandleRequestPathInfo(const base::Value::List& args) {
// OnGotFilePaths.
std::u16string* exec_path_buffer = new std::u16string;
std::u16string* profile_path_buffer = new std::u16string;
@ -124,7 +124,7 @@ index 2f8162d7491d1..b00f0d5bf26ae 100644
// Factory for the creating refs in callbacks.
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
index 6893542161a55..42238d843ce33 100644
index e464e50866897..6c86e5096db3b 100644
--- chrome/browser/ui/webui/version/version_ui.cc
+++ chrome/browser/ui/webui/version/version_ui.cc
@@ -17,6 +17,7 @@
@ -180,7 +180,7 @@ index 6893542161a55..42238d843ce33 100644
#if BUILDFLAG(IS_MAC)
html_source->AddString(version_ui::kOSType, base::mac::GetOSDisplayName());
diff --git components/version_ui/BUILD.gn components/version_ui/BUILD.gn
index 913cf913dca7a..d79c330989149 100644
index 49f73fb885870..4f1c5fa814d5b 100644
--- components/version_ui/BUILD.gn
+++ components/version_ui/BUILD.gn
@@ -2,6 +2,8 @@
@ -192,7 +192,7 @@ index 913cf913dca7a..d79c330989149 100644
static_library("version_ui") {
sources = [
"version_handler_helper.cc",
@@ -17,4 +19,8 @@ static_library("version_ui") {
@@ -16,4 +18,8 @@ static_library("version_ui") {
"//components/variations/net",
"//components/variations/service",
]
@ -303,18 +303,18 @@ index ea5f11471acf2..f604065bbe8fe 100644
// <if expr="is_win">
diff --git components/version_ui/version_ui_constants.cc components/version_ui/version_ui_constants.cc
index 1054d152285f7..73bfbb8241a98 100644
index a4677847706a6..5ad9dc52045ce 100644
--- components/version_ui/version_ui_constants.cc
+++ components/version_ui/version_ui_constants.cc
@@ -6,6 +6,7 @@
@@ -5,6 +5,7 @@
#include "components/version_ui/version_ui_constants.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/features.h"
namespace version_ui {
@@ -92,4 +93,15 @@ const char kVersion[] = "version";
@@ -91,4 +92,15 @@ const char kVersion[] = "version";
const char kVersionModifier[] = "version_modifier";
const char kVersionProcessorVariation[] = "version_processor_variation";
@ -331,18 +331,18 @@ index 1054d152285f7..73bfbb8241a98 100644
+
} // namespace version_ui
diff --git components/version_ui/version_ui_constants.h components/version_ui/version_ui_constants.h
index 0d35047553461..a75ade64c81ad 100644
index 5d43d7626b3c3..c61eadf18e136 100644
--- components/version_ui/version_ui_constants.h
+++ components/version_ui/version_ui_constants.h
@@ -7,6 +7,7 @@
@@ -6,6 +6,7 @@
#define COMPONENTS_VERSION_UI_VERSION_UI_CONSTANTS_H_
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/features.h"
namespace version_ui {
@@ -94,6 +95,17 @@ extern const char kVersion[];
@@ -93,6 +94,17 @@ extern const char kVersion[];
extern const char kVersionModifier[];
extern const char kVersionProcessorVariation[];

View File

@ -1,5 +1,5 @@
diff --git chrome/common/features.gni chrome/common/features.gni
index fe2885e150688..e14778db14bad 100644
index 418e78ecb356b..8fe49cf32a374 100644
--- chrome/common/features.gni
+++ chrome/common/features.gni
@@ -7,6 +7,7 @@ import("//build/config/chromeos/ui_mode.gni")
@ -19,7 +19,7 @@ index fe2885e150688..e14778db14bad 100644
# Platforms for which Chrome supports a certificate management UI that
# shows the Chrome Root Store. This is specific to the v2 UI that is
@@ -67,11 +68,13 @@ declare_args() {
@@ -64,11 +65,13 @@ declare_args() {
# optimize_webui was moved to ui/base/ui_features.gni
}

View File

@ -1,5 +1,5 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 901809233186a..be847ede0827b 100644
index f8530b82f9fe4..ea235f7747807 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -42,6 +42,7 @@
@ -232,7 +232,7 @@ index 8f5c477acba39..ff2f90a8bf27b 100644
base::PathService::OverrideAndCreateIfNeeded(
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index efdb429cbe04e..17e949d631200 100644
index a6ecd483d6428..251faf73f46dd 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -52,6 +52,7 @@
@ -243,7 +243,7 @@ index efdb429cbe04e..17e949d631200 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -528,7 +529,7 @@ void ProcessSingletonNotificationCallbackImpl(
@@ -527,7 +528,7 @@ void ProcessSingletonNotificationCallbackImpl(
return;
}
@ -252,7 +252,7 @@ index efdb429cbe04e..17e949d631200 100644
// The uninstall command-line switch is handled by the origin process; see
// ChromeMainDelegate::PostEarlyInitialization(...). The other process won't
// be able to become the singleton process and will display a window asking
@@ -843,7 +844,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
@@ -842,7 +843,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
return content::RESULT_CODE_NORMAL_EXIT;
}
@ -261,7 +261,7 @@ index efdb429cbe04e..17e949d631200 100644
// If we are running stale binaries then relaunch and exit immediately.
if (upgrade_util::IsRunningOldChrome()) {
if (!upgrade_util::RelaunchChromeBrowser(
@@ -856,7 +857,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
@@ -855,7 +856,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
// result in browser startup bailing.
return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED;
}
@ -270,7 +270,7 @@ index efdb429cbe04e..17e949d631200 100644
return load_local_state_result;
}
@@ -961,7 +962,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
@@ -960,7 +961,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
browser_process_->local_state());
platform_management_service->RefreshCache(base::NullCallback());
@ -279,7 +279,7 @@ index efdb429cbe04e..17e949d631200 100644
if (first_run::IsChromeFirstRun()) {
bool stats_default;
if (GoogleUpdateSettings::GetCollectStatsConsentDefault(&stats_default)) {
@@ -974,7 +975,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
@@ -973,7 +974,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
: metrics::EnableMetricsDefault::OPT_IN);
}
}
@ -288,7 +288,7 @@ index efdb429cbe04e..17e949d631200 100644
std::string locale =
startup_data_->chrome_feature_list_creator()->actual_locale();
@@ -1007,6 +1008,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
@@ -1006,6 +1007,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
master_prefs_ = std::make_unique<first_run::MasterPrefs>();
@ -296,7 +296,7 @@ index efdb429cbe04e..17e949d631200 100644
std::unique_ptr<installer::InitialPreferences> installer_initial_prefs =
startup_data_->chrome_feature_list_creator()->TakeInitialPrefs();
if (!installer_initial_prefs)
@@ -1040,6 +1042,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
@@ -1039,6 +1041,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
master_prefs_->confirm_to_quit);
}
#endif // BUILDFLAG(IS_MAC)
@ -304,7 +304,7 @@ index efdb429cbe04e..17e949d631200 100644
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
return content::RESULT_CODE_NORMAL_EXIT;
}
@@ -1112,6 +1115,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
@@ -1111,6 +1114,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_process_->browser_policy_connector()->OnResourceBundleCreated();
@ -312,7 +312,7 @@ index efdb429cbe04e..17e949d631200 100644
// Android does first run in Java instead of native.
// Chrome OS has its own out-of-box-experience code.
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1133,6 +1137,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
@@ -1132,6 +1136,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -320,7 +320,7 @@ index efdb429cbe04e..17e949d631200 100644
#if BUILDFLAG(IS_MAC)
#if defined(ARCH_CPU_X86_64)
@@ -1504,6 +1509,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1503,6 +1508,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->PreMainMessageLoopRun();
#if BUILDFLAG(IS_WIN)
@ -328,7 +328,7 @@ index efdb429cbe04e..17e949d631200 100644
// If the command line specifies 'uninstall' then we need to work here
// unless we detect another chrome browser running.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kUninstall)) {
@@ -1515,6 +1521,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1514,6 +1520,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
return ChromeBrowserMainPartsWin::HandleIconsCommands(
*base::CommandLine::ForCurrentProcess());
}
@ -336,7 +336,7 @@ index efdb429cbe04e..17e949d631200 100644
ui::SelectFileDialog::SetFactory(
std::make_unique<ChromeSelectFileDialogFactory>());
@@ -1537,6 +1544,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1536,6 +1543,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // BUILDFLAG(CHROME_FOR_TESTING)
@ -344,7 +344,7 @@ index efdb429cbe04e..17e949d631200 100644
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMakeDefaultBrowser)) {
bool is_managed = g_browser_process->local_state()->IsManagedPreference(
@@ -1550,18 +1558,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1549,18 +1557,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
? static_cast<int>(content::RESULT_CODE_NORMAL_EXIT)
: static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED);
}
@ -367,7 +367,7 @@ index efdb429cbe04e..17e949d631200 100644
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
// Begin relaunch processing immediately if User Data migration is required
@@ -1600,7 +1612,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1599,7 +1611,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
@ -376,7 +376,7 @@ index efdb429cbe04e..17e949d631200 100644
// Check if there is any machine level Chrome installed on the current
// machine. If yes and the current Chrome process is user level, we do not
// allow the user level Chrome to run. So we notify the user and uninstall
@@ -1609,7 +1621,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1608,7 +1620,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// obtained but before potentially creating the first run sentinel).
if (ChromeBrowserMainPartsWin::CheckMachineLevelInstall())
return chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS;
@ -385,7 +385,7 @@ index efdb429cbe04e..17e949d631200 100644
// Desktop construction occurs here, (required before profile creation).
PreProfileInit();
@@ -1682,6 +1694,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1681,6 +1693,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Call `PostProfileInit()`and set it up for profiles created later.
profile_init_manager_ = std::make_unique<ProfileInitManager>(this, profile);
@ -393,7 +393,7 @@ index efdb429cbe04e..17e949d631200 100644
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
// Execute first run specific code after the PrefService has been initialized
// and preferences have been registered since some of the import code depends
@@ -1715,6 +1728,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1714,6 +1727,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
*base::CommandLine::ForCurrentProcess());
}
#endif // BUILDFLAG(IS_WIN)
@ -401,7 +401,7 @@ index efdb429cbe04e..17e949d631200 100644
// Configure modules that need access to resources.
net::NetModule::SetResourceProvider(ChromeNetResourceProvider);
@@ -1806,6 +1820,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1805,6 +1819,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
g_browser_process->profile_manager()->GetLastOpenedProfiles();
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -413,7 +413,7 @@ index efdb429cbe04e..17e949d631200 100644
// This step is costly.
if (browser_creator_->Start(*base::CommandLine::ForCurrentProcess(),
base::FilePath(), profile_info,
@@ -1838,11 +1857,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1837,11 +1856,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
@ -465,18 +465,18 @@ index e26e3625c99c8..c0d4a95607e37 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index e87d1bce19d63..43596857c5b8c 100644
index a1a8e77a2ef3f..cdbae8a69a450 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -48,6 +48,7 @@
@@ -47,6 +47,7 @@
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM
+#include "cef/libcef/features/features.h"
#include "chrome/browser/after_startup_task_utils.h"
#include "chrome/browser/ai/ai_manager.h"
#include "chrome/browser/app_mode/app_mode_utils.h"
@@ -1533,6 +1534,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
@@ -1493,6 +1494,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
}
ChromeContentBrowserClient::ChromeContentBrowserClient() {
@ -485,7 +485,7 @@ index e87d1bce19d63..43596857c5b8c 100644
#if BUILDFLAG(ENABLE_PLUGINS)
extra_parts_.push_back(
std::make_unique<ChromeContentBrowserClientPluginsPart>());
@@ -1570,6 +1573,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
@@ -1530,6 +1533,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
}
}
@ -497,7 +497,7 @@ index e87d1bce19d63..43596857c5b8c 100644
// static
void ChromeContentBrowserClient::RegisterLocalStatePrefs(
PrefRegistrySimple* registry) {
@@ -4041,30 +4049,25 @@ bool UpdatePreferredColorScheme(WebPreferences* web_prefs,
@@ -3940,30 +3948,25 @@ bool UpdatePreferredColorScheme(WebPreferences* web_prefs,
web_prefs->preferred_color_scheme;
}
#else
@ -545,7 +545,7 @@ index e87d1bce19d63..43596857c5b8c 100644
#endif // BUILDFLAG(IS_ANDROID)
// Reauth WebUI doesn't support dark mode yet because it shares the dialog
@@ -4820,9 +4823,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -4717,9 +4720,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
@ -557,8 +557,8 @@ index e87d1bce19d63..43596857c5b8c 100644
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6933,7 +6938,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
#endif
@@ -6783,7 +6788,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
}
}
-void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@ -566,7 +566,7 @@ index e87d1bce19d63..43596857c5b8c 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -6951,6 +6956,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@@ -6801,6 +6806,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale();
}
@ -575,7 +575,7 @@ index e87d1bce19d63..43596857c5b8c 100644
}
std::vector<base::FilePath>
@@ -8078,11 +8085,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
@@ -7911,11 +7918,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now();
const auto timeout = GetKeepaliveTimerTimeout(context);
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
@ -589,7 +589,7 @@ index e87d1bce19d63..43596857c5b8c 100644
FROM_HERE, keepalive_deadline_ - now,
base::BindOnce(
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
@@ -8104,7 +8111,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
@@ -7937,7 +7944,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
--num_keepalive_requests_;
if (num_keepalive_requests_ == 0) {
DVLOG(1) << "Stopping the keepalive timer";
@ -599,7 +599,7 @@ index e87d1bce19d63..43596857c5b8c 100644
// This deletes the keep alive handle attached to the timer function and
// unblock the shutdown sequence.
}
@@ -8279,7 +8287,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
@@ -8112,7 +8120,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
const auto now = base::TimeTicks::Now();
const auto then = keepalive_deadline_;
if (now < then) {
@ -609,10 +609,10 @@ index e87d1bce19d63..43596857c5b8c 100644
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
weak_factory_.GetWeakPtr(),
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index 7317a435cae03..ce4826d7a6276 100644
index 7e866a09fc060..0b7403c116151 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -156,6 +156,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -155,6 +155,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
~ChromeContentBrowserClient() override;
@ -621,7 +621,7 @@ index 7317a435cae03..ce4826d7a6276 100644
// 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
// functions are from chrome/ to chrome/ and don't involve content/ at all.
@@ -727,7 +729,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -721,7 +723,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
@ -630,7 +630,7 @@ index 7317a435cae03..ce4826d7a6276 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1309,7 +1311,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -1319,7 +1321,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0;
@ -640,7 +640,7 @@ index 7317a435cae03..ce4826d7a6276 100644
#endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 39ec9e16a28b1..4f4a0307f5a9f 100644
index 48d8f868628b1..c0e765902a76e 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -16,6 +16,7 @@
@ -662,7 +662,7 @@ index 39ec9e16a28b1..4f4a0307f5a9f 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1929,7 +1934,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1949,7 +1954,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_WIN)
@ -672,7 +672,7 @@ index 39ec9e16a28b1..4f4a0307f5a9f 100644
downgrade::RegisterPrefs(registry);
#endif
@@ -1988,6 +1994,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -2010,6 +2016,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
@ -684,7 +684,7 @@ index 39ec9e16a28b1..4f4a0307f5a9f 100644
}
// Register prefs applicable to all profiles.
@@ -2434,6 +2445,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2458,6 +2469,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& 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
index 3c9892007176f..2b119304bbe61 100644
index 6ebb06992652c..f3f058dddbc88 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -414,6 +414,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -421,6 +421,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
// choose to not implement CommandUpdaterDelegate inside this class and
// therefore command_updater_ doesn't have the delegate set).
if (!SupportsCommand(id) || !IsCommandEnabled(id)) {
@ -10,7 +10,7 @@ index 3c9892007176f..2b119304bbe61 100644
return false;
}
@@ -430,6 +431,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -438,6 +439,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
DCHECK(command_updater_.IsCommandEnabled(id))
<< "Invalid/disabled command " << id;
@ -24,7 +24,7 @@ index 3c9892007176f..2b119304bbe61 100644
// The order of commands in this switch statement must match the function
// declaration order in browser.h!
switch (id) {
@@ -1210,11 +1218,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
@@ -1224,11 +1232,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() {
@ -41,7 +41,7 @@ index 3c9892007176f..2b119304bbe61 100644
void BrowserCommandController::InitCommandState() {
diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc
index 2e2efe7e3e36e..8e7ee756c164d 100644
index b10f798217379..21ae3aae53e7f 100644
--- chrome/browser/ui/toolbar/app_menu_model.cc
+++ chrome/browser/ui/toolbar/app_menu_model.cc
@@ -734,10 +734,12 @@ FindAndEditSubMenuModel::FindAndEditSubMenuModel(
@ -93,7 +93,7 @@ index 2e2efe7e3e36e..8e7ee756c164d 100644
+ }
+ visible_ct = 0;
+ } else if (is_visible.Run(model->GetCommandIdAt(i))) {
+ last_separator = absl::nullopt;
+ last_separator = std::nullopt;
+ visible_ct++;
+
+ if (type == ui::MenuModel::TYPE_SUBMENU) {
@ -115,7 +115,7 @@ index 2e2efe7e3e36e..8e7ee756c164d 100644
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -1719,7 +1772,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
@@ -1731,7 +1784,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
return false;
}
@ -124,7 +124,7 @@ index 2e2efe7e3e36e..8e7ee756c164d 100644
GlobalError* error =
GlobalErrorServiceFactory::GetForProfile(browser_->profile())
->GetGlobalErrorByMenuItemCommandID(command_id);
@@ -1735,6 +1788,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
@@ -1747,6 +1800,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
}
}
@ -155,7 +155,7 @@ index 2e2efe7e3e36e..8e7ee756c164d 100644
bool AppMenuModel::IsCommandIdAlerted(int command_id) const {
if (command_id == IDC_VIEW_PASSWORDS ||
command_id == IDC_SHOW_PASSWORD_MANAGER) {
@@ -1891,8 +1968,10 @@ void AppMenuModel::Build() {
@@ -1902,8 +1979,10 @@ void AppMenuModel::Build() {
IDS_CLEAR_BROWSING_DATA,
kTrashCanRefreshIcon);
@ -166,7 +166,7 @@ index 2e2efe7e3e36e..8e7ee756c164d 100644
AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringIdAndVectorIcon(this, IDC_PRINT, IDS_PRINT, kPrintMenuIcon);
@@ -1988,6 +2067,11 @@ void AppMenuModel::Build() {
@@ -1999,6 +2078,11 @@ void AppMenuModel::Build() {
}
#endif // !BUILDFLAG(IS_CHROMEOS_ASH)
@ -200,10 +200,10 @@ index 84787f30b7b01..df979d0f711a0 100644
// Adds actionable global error menu items to the menu.
// 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
index 614be06c945a4..88c7567d9f55e 100644
index 38fe5a02de21d..2bd4508d5c024 100644
--- chrome/browser/ui/views/find_bar_host.cc
+++ chrome/browser/ui/views/find_bar_host.cc
@@ -590,6 +590,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) {
@@ -604,6 +604,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) {
// The BrowserView does Layout for the components that we care about
// positioning relative to, so we ask it to tell us where we should go.
gfx::Rect find_bar_bounds = browser_view_->GetFindBarBoundingBox();
@ -219,7 +219,7 @@ index 614be06c945a4..88c7567d9f55e 100644
return gfx::Rect();
}
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index e3aa84f1eb3f5..8ccf7604083fe 100644
index 806679c846f15..5c685e93631c8 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -112,15 +112,25 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant(
@ -320,7 +320,7 @@ index e3aa84f1eb3f5..8ccf7604083fe 100644
chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
IsVisibleOnAllWorkspaces());
@@ -572,6 +606,13 @@ void BrowserFrame::SelectNativeTheme() {
@@ -576,6 +610,13 @@ void BrowserFrame::SelectNativeTheme() {
return;
}
@ -334,7 +334,7 @@ index e3aa84f1eb3f5..8ccf7604083fe 100644
// 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
// the developer-provided theme color for a better experience. Context:
@@ -637,5 +678,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
@@ -641,5 +682,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
}
bool BrowserFrame::IsIncognitoBrowser() const {
@ -397,12 +397,12 @@ index 3d8a15049d4d2..66c4789581fe1 100644
// regenerated.
bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type);
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index 74e8fac8aa98c..6113937f860c4 100644
index d7096d08fca43..4b878694700ed 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -362,10 +362,6 @@ constexpr base::FeatureParam<base::TimeDelta> kLoadingTabAnimationFrameDelay = {
&kChangeFrameRateOfLoadingTabAnimation, "loading_tab_animation_frame_delay",
base::Milliseconds(30)};
@@ -351,10 +351,6 @@ using web_modal::WebContentsModalDialogHost;
namespace {
-// The name of a key to store on the window handle so that other code can
-// locate this object using just the handle.
@ -411,7 +411,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
#if BUILDFLAG(IS_CHROMEOS)
// UMA histograms that record animation smoothness for tab loading animation.
constexpr char kTabLoadingSmoothnessHistogramName[] =
@@ -765,6 +761,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
@@ -764,6 +760,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
return browser_view_->frame()->GetTopInset() - browser_view_->y();
}
@ -426,7 +426,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
bool IsToolbarVisible() const override {
return browser_view_->IsToolbarVisible();
}
@@ -916,11 +920,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
@@ -915,11 +919,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@ -446,10 +446,10 @@ index 74e8fac8aa98c..6113937f860c4 100644
+ DCHECK(!browser_);
+ browser_ = std::move(browser);
+
SetShowIcon(
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
SetShowIcon(::ShouldShowWindowIcon(
browser_.get(), AppUsesWindowControlsOverlay(), AppUsesTabbed()));
@@ -1022,8 +1036,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -1021,8 +1035,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_, watermark_view_));
@ -467,7 +467,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1113,7 +1134,9 @@ void BrowserView::ToggleCompactModeUI() {
@@ -1112,7 +1133,9 @@ void BrowserView::ToggleCompactModeUI() {
}
BrowserView::~BrowserView() {
@ -477,7 +477,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
// Destroy the top controls slide controller first as it depends on the
// tabstrip model and the browser frame.
@@ -1121,7 +1144,9 @@ BrowserView::~BrowserView() {
@@ -1120,7 +1143,9 @@ BrowserView::~BrowserView() {
// 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.
@ -487,7 +487,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
// Stop the animation timer explicitly here to avoid running it in a nested
// message loop, which may run by Browser destructor.
@@ -1130,17 +1155,18 @@ BrowserView::~BrowserView() {
@@ -1129,17 +1154,18 @@ BrowserView::~BrowserView() {
// Immersive mode may need to reparent views before they are removed/deleted.
immersive_mode_controller_.reset();
@ -510,7 +510,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
// These are raw pointers to child views, so they need to be set to null
// before `RemoveAllChildViews()` is called to avoid dangling.
@@ -1706,6 +1732,16 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
@@ -1713,6 +1739,16 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y());
}
@ -527,35 +527,35 @@ index 74e8fac8aa98c..6113937f860c4 100644
// static:
BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement(
const gfx::Rect& contents_webview_bounds,
@@ -2095,9 +2131,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
@@ -2113,7 +2149,13 @@ void BrowserView::OnExclusiveAccessUserInput() {
bool BrowserView::ShouldHideUIForFullscreen() const {
// Immersive mode needs UI for the slide-down top panel.
- if (immersive_mode_controller_->IsEnabled())
- if (immersive_mode_controller_->IsEnabled()) {
+ // Avoid callback into |immersive_mode_controller_| during construction.
+ // See CEF issue #3527.
+ if (immersive_mode_controller_ &&
+ immersive_mode_controller_->IsEnabled())
return false;
+ if (!frame_->GetFrameView())
+ if (immersive_mode_controller_ && immersive_mode_controller_->IsEnabled()) {
+ return false;
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
+ }
+
+ if (!frame_->GetFrameView()) {
return false;
}
@@ -3283,7 +3324,8 @@ views::View* BrowserView::GetTopContainer() {
@@ -3305,7 +3347,9 @@ views::View* BrowserView::GetTopContainer() {
}
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
- DCHECK(toolbar_button_provider_);
+ if (!toolbar_button_provider_)
+ if (!toolbar_button_provider_) {
+ return nullptr;
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
+ }
if (auto* download_button = toolbar_button_provider_->GetDownloadButton()) {
return download_button->bubble_controller();
return nullptr;
@@ -3872,7 +3914,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this)
}
@@ -3913,7 +3957,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
return;
}
- overlay_view_->SetVisible(false);
+ if (overlay_view_)
@ -563,7 +563,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -4363,11 +4406,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
@@ -4431,11 +4476,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
bool BrowserView::ShouldDescendIntoChildForEventHandling(
gfx::NativeView child,
const gfx::Point& location) {
@ -604,7 +604,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
// Draggable regions are defined relative to the web contents.
gfx::Point point_in_contents_web_view_coords(location);
views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
@@ -4376,7 +4446,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
@@ -4444,7 +4516,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
// Draggable regions should be ignored for clicks into any browser view's
// owned widgets, for example alerts, permission prompts or find bar.
@ -613,7 +613,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
point_in_contents_web_view_coords.x(),
point_in_contents_web_view_coords.y()) ||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
@@ -4487,8 +4557,10 @@ void BrowserView::Layout(PassKey) {
@@ -4558,8 +4630,10 @@ void BrowserView::Layout(PassKey) {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -626,7 +626,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
// Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode.
@@ -4554,6 +4626,11 @@ void BrowserView::AddedToWidget() {
@@ -4626,6 +4700,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@ -638,23 +638,25 @@ index 74e8fac8aa98c..6113937f860c4 100644
toolbar_->Init();
// TODO(pbos): Investigate whether the side panels should be creatable when
@@ -4596,13 +4673,9 @@ void BrowserView::AddedToWidget() {
@@ -4668,14 +4747,10 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
- // This browser view may already have a custom button provider set (e.g the
- // hosted app frame).
- if (!toolbar_button_provider_)
- if (!toolbar_button_provider_) {
- SetToolbarButtonProvider(toolbar_);
- }
-
frame_->OnBrowserViewInitViewsComplete();
- frame_->GetFrameView()->UpdateMinimumSize();
+ if (frame_->GetFrameView())
+ if (frame_->GetFrameView()) {
+ frame_->GetFrameView()->UpdateMinimumSize();
+ }
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -4984,7 +5057,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
@@ -5066,7 +5141,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@ -664,7 +666,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
}
void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) {
@@ -5468,6 +5542,8 @@ Profile* BrowserView::GetProfile() {
@@ -5562,6 +5638,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@ -673,7 +675,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -5494,6 +5570,8 @@ bool BrowserView::CanUserEnterFullscreen() const {
@@ -5591,6 +5669,8 @@ bool BrowserView::CanUserEnterFullscreen() const {
}
bool BrowserView::CanUserExitFullscreen() const {
@ -683,7 +685,7 @@ index 74e8fac8aa98c..6113937f860c4 100644
}
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 37ccc8d71c797..13bc19bc97264 100644
index 121c651acf814..9d9b86da4705a 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -138,11 +138,16 @@ class BrowserView : public BrowserWindow,
@ -703,7 +705,7 @@ index 37ccc8d71c797..13bc19bc97264 100644
void set_frame(BrowserFrame* frame) {
frame_ = frame;
paint_as_active_subscription_ =
@@ -858,6 +863,10 @@ class BrowserView : public BrowserWindow,
@@ -859,6 +864,10 @@ class BrowserView : public BrowserWindow,
void Copy();
void Paste();
@ -714,7 +716,7 @@ index 37ccc8d71c797..13bc19bc97264 100644
protected:
// Enumerates where the devtools are docked relative to the browser's main
// web contents.
@@ -881,6 +890,8 @@ class BrowserView : public BrowserWindow,
@@ -882,6 +891,8 @@ class BrowserView : public BrowserWindow,
const gfx::Rect& contents_webview_bounds,
const gfx::Rect& local_webview_container_bounds);
@ -724,7 +726,7 @@ index 37ccc8d71c797..13bc19bc97264 100644
// Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate
// interface to keep these two classes decoupled and testable.
diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc
index 38064da1c8818..98ecdff6ce089 100644
index 0c01106d900a3..42ce123ef2b01 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -53,6 +53,10 @@
@ -781,16 +783,16 @@ index 38064da1c8818..98ecdff6ce089 100644
// Add/remove observer.
void AddObserver(ModalDialogHostObserver* observer) override {
observer_list_.AddObserver(observer);
@@ -477,6 +492,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
if (exclusive_access_bubble)
@@ -480,6 +495,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
exclusive_access_bubble->RepositionIfVisible();
}
+ // Avoid unnecessary calls to UpdateDialogTopInsetInBrowserView().
+ if (dialog_host_->HasObservers()) {
// Adjust any hosted dialogs if the browser's dialog hosting bounds changed.
const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()),
dialog_host_->GetMaximumDialogSize());
@@ -490,6 +507,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
@@ -493,6 +510,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen;
dialog_host_->NotifyPositionRequiresUpdate();
}
@ -798,7 +800,7 @@ index 38064da1c8818..98ecdff6ce089 100644
}
gfx::Size BrowserViewLayout::GetPreferredSize(
@@ -631,6 +649,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
@@ -635,6 +653,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
int BrowserViewLayout::LayoutToolbar(int top) {
TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar");
@ -825,12 +827,12 @@ index 451c5ad63337b..66f946c95b9b4 100644
virtual bool IsBookmarkBarVisible() 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
index f4f145ae7cfae..14839f50ed2a6 100644
index 8249bfe911f1d..192365dbb651a 100644
--- chrome/browser/ui/views/frame/contents_web_view.cc
+++ chrome/browser/ui/views/frame/contents_web_view.cc
@@ -40,6 +40,12 @@ ContentsWebView::ContentsWebView(content::BrowserContext* browser_context)
// `glic_border_` should never receive input events.
glic_border_->SetCanProcessEventsWithinSubtree(false);
@@ -50,6 +50,12 @@ ContentsWebView::ContentsWebView(content::BrowserContext* browser_context)
glic_border_->SetCanProcessEventsWithinSubtree(false);
}
#endif
+
+ // Mouse events on draggable regions will not be handled by the WebView.
@ -842,10 +844,10 @@ index f4f145ae7cfae..14839f50ed2a6 100644
ContentsWebView::~ContentsWebView() {
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 961b599ffc364..92faacd1be534 100644
index dc6b96a941f2e..2a2dda8a12ad2 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
@@ -602,6 +602,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
@@ -603,6 +603,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
frame_background_ = std::make_unique<views::FrameBackground>();
}
#endif
@ -857,7 +859,7 @@ index 961b599ffc364..92faacd1be534 100644
}
PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() {
@@ -729,18 +734,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
@@ -730,18 +735,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
int PictureInPictureBrowserFrameView::NonClientHitTest(
const gfx::Point& point) {
@ -908,7 +910,7 @@ index 961b599ffc364..92faacd1be534 100644
// Allow dragging and resizing the window.
int window_component = GetHTComponentForFrame(
@@ -809,7 +838,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) {
@@ -813,7 +842,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) {
gfx::Rect content_area = GetLocalBounds();
content_area.Inset(FrameBorderInsets());
gfx::Rect top_bar = content_area;
@ -918,7 +920,7 @@ index 961b599ffc364..92faacd1be534 100644
top_bar_container_view_->SetBoundsRect(top_bar);
#if !BUILDFLAG(IS_ANDROID)
if (auto_pip_setting_overlay_) {
@@ -1349,7 +1379,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
@@ -1354,7 +1384,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
}
int PictureInPictureBrowserFrameView::GetTopAreaHeight() const {
@ -943,10 +945,10 @@ index 33c6444869375..d74818698d81a 100644
LocationBarView* location_bar_view = browser_view_->GetLocationBarView();
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
index 8654a377fbbd3..f996d5fa8caf3 100644
index 54b8559f2bc13..ff0e8b78a1626 100644
--- chrome/browser/ui/views/page_action/page_action_icon_controller.cc
+++ chrome/browser/ui/views/page_action/page_action_icon_controller.cc
@@ -98,6 +98,12 @@ void PageActionIconController::Init(const PageActionIconParams& params,
@@ -103,6 +103,12 @@ void PageActionIconController::Init(const PageActionIconParams& params,
};
for (PageActionIconType type : params.types_enabled) {
@ -960,10 +962,10 @@ index 8654a377fbbd3..f996d5fa8caf3 100644
case PageActionIconType::kPaymentsOfferNotification:
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
index c7ab9cfd1875b..426ece7031e0d 100644
index b4b61fdac8801..9f2735a83f380 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -621,29 +621,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
@@ -639,29 +639,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
}
bool BrowserTabStripController::IsFrameCondensed() const {
@ -1006,10 +1008,10 @@ index c7ab9cfd1875b..426ece7031e0d 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index f34f61e26192d..21183da4a4483 100644
index 693fcd880ac44..e67cd48e40a2d 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -186,7 +186,7 @@ class TabstripLikeBackground : public views::Background {
@@ -189,7 +189,7 @@ class TabstripLikeBackground : public views::Background {
void Paint(gfx::Canvas* canvas, views::View* view) const override {
bool painted = TopContainerBackground::PaintThemeCustomImage(canvas, view,
browser_view_);
@ -1018,9 +1020,9 @@ index f34f61e26192d..21183da4a4483 100644
SkColor frame_color =
browser_view_->frame()->GetFrameView()->GetFrameColor(
BrowserFrameActiveState::kUseCurrent);
@@ -217,12 +217,13 @@ END_METADATA
////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public:
@@ -223,12 +223,13 @@ END_METADATA
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ToolbarView, kToolbarElementId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(ToolbarView, kToolbarContainerElementId);
-ToolbarView::ToolbarView(Browser* browser, BrowserView* browser_view)
+ToolbarView::ToolbarView(Browser* browser, BrowserView* browser_view,
@ -1032,12 +1034,12 @@ index f34f61e26192d..21183da4a4483 100644
- display_mode_(GetDisplayMode(browser)) {
+ display_mode_(display_mode ? *display_mode : GetDisplayMode(browser)) {
SetID(VIEW_ID_TOOLBAR);
SetProperty(views::kElementIdentifierKey, kToolbarElementId);
container_view_ = AddChildView(std::make_unique<ContainerView>());
@@ -251,9 +252,24 @@ ToolbarView::~ToolbarView() {
for (const auto& view_and_command : GetViewCommandMap())
@@ -260,9 +261,24 @@ ToolbarView::~ToolbarView() {
for (const auto& view_and_command : GetViewCommandMap()) {
chrome::RemoveCommandObserver(browser_, view_and_command.second, this);
}
+
+ browser_view_->WillDestroyToolbar();
}
@ -1059,7 +1061,7 @@ index f34f61e26192d..21183da4a4483 100644
#if defined(USE_AURA)
// Avoid generating too many occlusion tracking calculation events before this
// function returns. The occlusion status will be computed only once once this
@@ -276,12 +292,12 @@ void ToolbarView::Init() {
@@ -285,12 +301,12 @@ void ToolbarView::Init() {
auto location_bar = std::make_unique<LocationBarView>(
browser_, browser_->profile(), browser_->command_controller(), this,
@ -1074,17 +1076,17 @@ index f34f61e26192d..21183da4a4483 100644
download_button =
std::make_unique<DownloadToolbarButtonView>(browser_view_);
}
@@ -363,7 +379,8 @@ void ToolbarView::Init() {
@@ -372,7 +388,8 @@ void ToolbarView::Init() {
std::unique_ptr<media_router::CastToolbarButton> cast;
if (!(features::IsToolbarPinningEnabled() &&
base::FeatureList::IsEnabled(features::kPinnedCastButton))) {
base::FeatureList::IsEnabled(features::kPinnedCastButton))) {
- if (media_router::MediaRouterEnabled(browser_->profile())) {
+ if (media_router::MediaRouterEnabled(browser_->profile()) &&
+ BUTTON_VISIBLE(kCast)) {
cast = media_router::CastToolbarButton::Create(browser_);
}
}
@@ -377,7 +394,8 @@ void ToolbarView::Init() {
@@ -386,7 +403,8 @@ void ToolbarView::Init() {
std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView>
send_tab_to_self_button;
@ -1094,7 +1096,7 @@ index f34f61e26192d..21183da4a4483 100644
send_tab_to_self_button =
std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>(
browser_view_);
@@ -837,7 +855,8 @@ void ToolbarView::Layout(PassKey) {
@@ -857,7 +875,8 @@ void ToolbarView::Layout(PassKey) {
if (display_mode_ == DisplayMode::NORMAL) {
LayoutCommon();
@ -1105,12 +1107,12 @@ index f34f61e26192d..21183da4a4483 100644
if (toolbar_controller_) {
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index 54a3847f9496c..fce14ce2d26cf 100644
index 8bac5ea80b3e5..cd55d2e3343f4 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -92,7 +92,8 @@ class ToolbarView : public views::AccessiblePaneView,
// needs to be displayed.
};
@@ -96,7 +96,8 @@ class ToolbarView : public views::AccessiblePaneView,
DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarElementId);
DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kToolbarContainerElementId);
- ToolbarView(Browser* browser, BrowserView* browser_view);
+ ToolbarView(Browser* browser, BrowserView* browser_view,

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/sad_tab_view.cc chrome/browser/ui/views/sad_tab_view.cc
index 4c0f4df68c943..45867d8e99adb 100644
index 7ce2012ec4756..9c88518fad933 100644
--- chrome/browser/ui/views/sad_tab_view.cc
+++ chrome/browser/ui/views/sad_tab_view.cc
@@ -699,6 +699,11 @@ void SadTabView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
@@ -703,6 +703,11 @@ void SadTabView::OnBoundsChanged(const gfx::Rect& previous_bounds) {
title_->SizeToFit(max_width);
}

View File

@ -1,5 +1,5 @@
diff --git ui/color/color_provider_manager.cc ui/color/color_provider_manager.cc
index 452f80c94d684..671f36923741d 100644
index aabe78905dc26..e75e6ab13d072 100644
--- ui/color/color_provider_manager.cc
+++ ui/color/color_provider_manager.cc
@@ -46,6 +46,15 @@ std::optional<GlobalManager>& GetGlobalManager() {
@ -18,12 +18,9 @@ index 452f80c94d684..671f36923741d 100644
ColorProviderManager::ColorProviderManager() {
ResetColorProviderInitializerList();
}
@@ -86,8 +95,19 @@ void ColorProviderManager::ResetColorProviderInitializerList() {
}
@@ -89,6 +98,16 @@ void ColorProviderManager::ResetColorProviderInitializerList() {
void ColorProviderManager::ResetColorProviderCache() {
- if (!color_providers_.empty())
+ if (!color_providers_.empty()) {
if (!color_providers_.empty()) {
color_providers_.clear();
+
+ for (ColorProviderManagerObserver& observer : observers_) {
@ -35,10 +32,9 @@ index 452f80c94d684..671f36923741d 100644
+void ColorProviderManager::AfterNativeThemeUpdated() {
+ for (ColorProviderManagerObserver& observer : observers_) {
+ observer.OnAfterNativeThemeUpdated();
+ }
}
}
void ColorProviderManager::AppendColorProviderInitializer(
diff --git ui/color/color_provider_manager.h ui/color/color_provider_manager.h
index 67341dd5fc3d6..ee70de7f7fd44 100644
--- ui/color/color_provider_manager.h

View File

@ -1,8 +1,8 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index c67463381a180..96471c063b8bf 100644
index 1e4c380032c3a..41e992e99a123 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -114,7 +114,7 @@ bool ApplyUserAgentMetadataOverrides(
@@ -116,7 +116,7 @@ bool ApplyUserAgentMetadataOverrides(
FrameTreeNode* frame_tree_node,
std::optional<blink::UserAgentMetadata>* override_out);
@ -55,7 +55,7 @@ index 09d80f2ba678d..5dbff44c280a1 100644
explicit SyntheticGestureTargetBase(RenderWidgetHostImpl* host);
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index 6ff75a6bb03e7..938113ef46a0d 100644
index 555c721f4db1d..515b9c7373a89 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -38,6 +38,7 @@ component("controller") {

View File

@ -12,10 +12,10 @@ index 8a8a0bdade6fe..59b9b4a7fe9da 100644
version.Set("V8-Version", V8_VERSION_STRING);
std::string host = info.GetHeaderValue("host");
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 4c616f376576a..a004e4df5d74e 100644
index e93fa14d97024..4d8289e154528 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -863,7 +863,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
@@ -921,7 +921,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
mojo::PendingRemote<network::mojom::URLLoaderFactory>
terminal_external_protocol;
bool handled = GetContentClient()->browser()->HandleExternalProtocol(
@ -24,7 +24,7 @@ index 4c616f376576a..a004e4df5d74e 100644
frame_tree_node->frame_tree_node_id(), navigation_ui_data,
request_info.is_primary_main_frame,
frame_tree_node->IsInFencedFrameTree(), request_info.sandbox_flags,
@@ -875,6 +875,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
@@ -933,6 +933,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
*request_info.initiator_document_token)
: nullptr,
request_info.isolation_info, &terminal_external_protocol);
@ -47,10 +47,10 @@ index 4c616f376576a..a004e4df5d74e 100644
return std::make_pair(
/*is_cacheable=*/false,
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index 65b0ed931a305..0a4fe6a251468 100644
index f252c048f288c..72c6569d6294a 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -1154,7 +1154,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
@@ -1155,7 +1155,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
void ContentBrowserClient::OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) {}
@ -59,7 +59,7 @@ index 65b0ed931a305..0a4fe6a251468 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1163,6 +1163,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
@@ -1164,6 +1164,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = "en-us,en";
@ -68,10 +68,10 @@ index 65b0ed931a305..0a4fe6a251468 100644
std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index cb48835fab356..946495ef0db71 100644
index 25a2aec8dc537..ecbbfe7d0a774 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -1359,6 +1359,12 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1351,6 +1351,12 @@ class CONTENT_EXPORT ContentBrowserClient {
bool opener_suppressed,
bool* no_javascript_access);
@ -84,7 +84,7 @@ index cb48835fab356..946495ef0db71 100644
// Allows the embedder to return a delegate for the SpeechRecognitionManager.
// The delegate will be owned by the manager. It's valid to return nullptr.
virtual SpeechRecognitionManagerDelegate*
@@ -2217,7 +2223,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2201,7 +2207,7 @@ class CONTENT_EXPORT ContentBrowserClient {
//
// If |relative_partition_path| is the empty string, it means this needs to
// create the default NetworkContext for the BrowserContext.
@ -93,7 +93,7 @@ index cb48835fab356..946495ef0db71 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -2444,6 +2450,22 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2428,6 +2434,22 @@ class CONTENT_EXPORT ContentBrowserClient {
const net::IsolationInfo& isolation_info,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -116,7 +116,7 @@ index cb48835fab356..946495ef0db71 100644
// 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 will return a new OverlayWindow.
@@ -2504,6 +2526,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2488,6 +2510,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -153,10 +153,10 @@ index 42c94f71f09cf..853c508260f08 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index db991c27ab5d8..f8c1aeaf934c4 100644
index e388b778c476f..a9f4346d31d03 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -594,6 +594,8 @@ void RenderThreadImpl::Init() {
@@ -592,6 +592,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType::kFrame);
@ -166,10 +166,10 @@ index db991c27ab5d8..f8c1aeaf934c4 100644
base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index e4b0cdb22340c..013c176bd72c6 100644
index 24ed2d721fa6b..0616c3b77b027 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1031,6 +1031,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -1043,6 +1043,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------
@ -186,10 +186,10 @@ index e4b0cdb22340c..013c176bd72c6 100644
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
return std::make_unique<V8ValueConverterImpl>();
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 17c01a1f03ad4..33a484f412bba 100644
index ced5bb344ec46..307d0a7a466f8 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -244,6 +244,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -246,6 +246,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override;
#endif // BUILDFLAG(IS_ANDROID)
@ -200,10 +200,10 @@ index 17c01a1f03ad4..33a484f412bba 100644
// plus eTLD+1, such as https://google.com), or to a more specific origin.
void SetIsLockedToSite();
diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc
index bb9c07e92da20..37c0801f489f9 100644
index 24e086b3379cb..743f87696ef1f 100644
--- content/shell/browser/shell_content_browser_client.cc
+++ content/shell/browser/shell_content_browser_client.cc
@@ -773,7 +773,7 @@ void ShellContentBrowserClient::OnNetworkServiceCreated(
@@ -772,7 +772,7 @@ void ShellContentBrowserClient::OnNetworkServiceCreated(
#endif
}
@ -212,7 +212,7 @@ index bb9c07e92da20..37c0801f489f9 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -782,6 +782,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
@@ -781,6 +781,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
ConfigureNetworkContextParamsForShell(context, network_context_params,
cert_verifier_creation_params);

View File

@ -1,5 +1,5 @@
diff --git base/process/set_process_title.cc base/process/set_process_title.cc
index 79ba3ac1913f8..46bcb4366d2f8 100644
index edd8c78fb1537..49622b9c05dc0 100644
--- base/process/set_process_title.cc
+++ base/process/set_process_title.cc
@@ -54,7 +54,7 @@ void SetProcessTitleFromCommandLine(const char** main_argv) {
@ -9,13 +9,13 @@ index 79ba3ac1913f8..46bcb4366d2f8 100644
- DCHECK_EQ(base::PlatformThread::CurrentId(), getpid());
+ // DCHECK_EQ(base::PlatformThread::CurrentId(), getpid());
if (main_argv)
if (main_argv) {
setproctitle_init(main_argv);
diff --git content/app/content_main.cc content/app/content_main.cc
index c37f18d794ae2..fd360f7698bcf 100644
index 6cb1ea690dce9..cfadae04565be 100644
--- content/app/content_main.cc
+++ content/app/content_main.cc
@@ -194,11 +194,8 @@ ContentMainParams::~ContentMainParams() = default;
@@ -193,16 +193,10 @@ ContentMainParams::~ContentMainParams() = default;
ContentMainParams::ContentMainParams(ContentMainParams&&) = default;
ContentMainParams& ContentMainParams::operator=(ContentMainParams&&) = default;
@ -27,11 +27,6 @@ index c37f18d794ae2..fd360f7698bcf 100644
+int ContentMainInitialize(ContentMainParams params,
+ ContentMainRunner* content_main_runner) {
base::FeatureList::FailOnFeatureAccessWithoutFeatureList();
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros is launched with inherited priority. Revert to normal priority
@@ -206,9 +203,6 @@ NO_STACK_PROTECTOR int RunContentProcess(
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kDefault);
#endif
int exit_code = -1;
-#if BUILDFLAG(IS_MAC)
- base::apple::ScopedNSAutoreleasePool autorelease_pool;
@ -39,7 +34,7 @@ index c37f18d794ae2..fd360f7698bcf 100644
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -287,7 +281,9 @@ NO_STACK_PROTECTOR int RunContentProcess(
@@ -281,7 +275,9 @@ NO_STACK_PROTECTOR int RunContentProcess(
// default, "C", locale.
setlocale(LC_NUMERIC, "C");
@ -50,7 +45,7 @@ index c37f18d794ae2..fd360f7698bcf 100644
#endif
#if BUILDFLAG(IS_WIN)
@@ -295,14 +291,6 @@ NO_STACK_PROTECTOR int RunContentProcess(
@@ -289,14 +285,6 @@ NO_STACK_PROTECTOR int RunContentProcess(
#endif
#if BUILDFLAG(IS_MAC)
@ -65,7 +60,7 @@ index c37f18d794ae2..fd360f7698bcf 100644
InitializeMac();
#endif
@@ -353,12 +341,44 @@ NO_STACK_PROTECTOR int RunContentProcess(
@@ -345,12 +333,44 @@ NO_STACK_PROTECTOR int RunContentProcess(
if (IsSubprocess())
CommonSubprocessInit();
@ -112,7 +107,7 @@ index c37f18d794ae2..fd360f7698bcf 100644
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 74d648de9172e..25be08486a085 100644
index 8c20f50669a20..8a2c458c1e2ef 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -52,6 +52,7 @@
@ -123,7 +118,7 @@ index 74d648de9172e..25be08486a085 100644
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@@ -1350,6 +1351,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1332,6 +1333,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}

View File

@ -224,7 +224,7 @@ index 14563198df62b..63b2c14420927 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/core/app/crashpad_linux.cc components/crash/core/app/crashpad_linux.cc
index aff834c0a9371..1eadd8bf1d421 100644
index 5d9b3bd5386ec..e5aee47e1942c 100644
--- components/crash/core/app/crashpad_linux.cc
+++ components/crash/core/app/crashpad_linux.cc
@@ -23,6 +23,7 @@
@ -235,7 +235,7 @@ index aff834c0a9371..1eadd8bf1d421 100644
#include "sandbox/linux/services/namespace_sandbox.h"
#include "third_party/crashpad/crashpad/client/crashpad_client.h"
#include "third_party/crashpad/crashpad/client/crashpad_info.h"
@@ -168,11 +169,10 @@ bool PlatformCrashpadInitialization(
@@ -164,11 +165,10 @@ bool PlatformCrashpadInitialization(
crash_reporter_client->GetCrashDumpLocation(database_path);
crash_reporter_client->GetCrashMetricsLocation(&metrics_path);
@ -250,7 +250,7 @@ index aff834c0a9371..1eadd8bf1d421 100644
// When --use-cros-crash-reporter is set (below), the handler passes dumps
// to ChromeOS's /sbin/crash_reporter which in turn passes the dump to
@@ -188,8 +188,8 @@ bool PlatformCrashpadInitialization(
@@ -184,8 +184,8 @@ bool PlatformCrashpadInitialization(
crash_reporter_client->GetProductInfo(&product_info);
std::map<std::string, std::string> annotations;
@ -261,7 +261,7 @@ index aff834c0a9371..1eadd8bf1d421 100644
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
// Empty means stable.
@@ -206,7 +206,20 @@ bool PlatformCrashpadInitialization(
@@ -202,7 +202,20 @@ bool PlatformCrashpadInitialization(
annotations["channel"] = product_info.channel;
}
@ -281,9 +281,9 @@ index aff834c0a9371..1eadd8bf1d421 100644
+#endif // defined(ARCH_CPU_ARM_FAMILY)
+ annotations["platform"] = platform;
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// "build_time_millis" is used on LaCros chrome to determine when to stop
@@ -251,6 +264,12 @@ bool PlatformCrashpadInitialization(
#if BUILDFLAG(IS_CHROMEOS_DEVICE)
// Chromium OS: save board and builder path for 'tast symbolize'.
@@ -239,6 +252,12 @@ bool PlatformCrashpadInitialization(
}
#endif

View File

@ -1,5 +1,5 @@
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
index a8cb8f5dfff83..c8ed0a8d39a26 100644
index 384a829d6a4f5..e1290c8446954 100644
--- components/embedder_support/user_agent_utils.cc
+++ components/embedder_support/user_agent_utils.cc
@@ -21,6 +21,7 @@
@ -21,7 +21,7 @@ index a8cb8f5dfff83..c8ed0a8d39a26 100644
namespace embedder_support {
namespace {
@@ -331,6 +336,14 @@ blink::UserAgentBrandList ShuffleBrandList(
@@ -321,6 +326,14 @@ blink::UserAgentBrandList ShuffleBrandList(
std::string GetProductAndVersion(
UserAgentReductionEnterprisePolicyState user_agent_reduction) {

View File

@ -12,7 +12,7 @@ index 44a11ec90ec9b..4c35b35a97f28 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index ebd779ebd4223..e46c99c460149 100644
index 09eeeee99b2e6..747d7f9e75d0e 100644
--- BUILD.gn
+++ BUILD.gn
@@ -19,6 +19,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@ -23,7 +23,7 @@ index ebd779ebd4223..e46c99c460149 100644
import("//chrome/enterprise_companion/buildflags.gni")
import("//components/enterprise/buildflags/buildflags.gni")
import("//components/nacl/features.gni")
@@ -291,6 +292,10 @@ group("gn_all") {
@@ -292,6 +293,10 @@ group("gn_all") {
deps += root_extra_deps
@ -78,7 +78,7 @@ index bd41166938952..fba7843d79796 100644
visual_studio_version_logs = [ "windows_sdk_version=${windows_sdk_version}" ]
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 53928b9d04267..74a16ee9466c8 100644
index 75a2ccaebf8b5..676f21d56caa2 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni")
@ -89,7 +89,7 @@ index 53928b9d04267..74a16ee9466c8 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//components/compose/features.gni")
@@ -476,6 +477,10 @@ template("chrome_extra_paks") {
@@ -480,6 +481,10 @@ template("chrome_extra_paks") {
]
deps += [ "//extensions:extensions_resources" ]
}
@ -151,23 +151,23 @@ index c490d199bf51e..4c0de0d7a0822 100644
outputs = [
"$root_out_dir/chrome.7z",
diff --git tools/grit/grit_args.gni tools/grit/grit_args.gni
index 5cf2768230fa5..f354073500d2c 100644
index 20b2ffa87c31a..0c919d103eab5 100644
--- tools/grit/grit_args.gni
+++ tools/grit/grit_args.gni
@@ -5,7 +5,9 @@
import("//build/config/chrome_build.gni")
@@ -6,7 +6,9 @@ import("//build/config/chrome_build.gni")
import("//build/config/chromeos/ui_mode.gni")
import("//build/config/devtools.gni")
import("//build/config/features.gni")
+import("//build/config/locales.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
shared_intermediate_dir = rebase_path(root_gen_dir, root_build_dir)
devtools_grd_path = "$shared_intermediate_dir/$devtools_grd_location"
@@ -38,6 +40,9 @@ _grit_defines = [
"use_titlecase=${is_mac}",
@@ -41,6 +43,9 @@ _grit_defines = [
"is_desktop_android=${is_desktop_android}",
"enable_glic=${enable_glic}",
+
+ "enable_cef=${enable_cef}",
+ "enable_pseudolocales=${enable_pseudolocales}",

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 8cc75da1353df..f8d45ba53bd95 100644
index 87dc2b6740a44..5319dd909a836 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -1403,11 +1403,20 @@
@@ -1415,11 +1415,20 @@
"<(SHARED_INTERMEDIATE_DIR)/third_party/blink/public/strings/permission_element_generated_strings.grd": {
"META": {"sizes": {"messages": [2000],}},
"messages": [10080],

View File

@ -1,5 +1,5 @@
diff --git base/win/dark_mode_support.cc base/win/dark_mode_support.cc
index 73d6ad5e9bb36..6c450e79c0f94 100644
index daecebb507070..aed51c2e6b06e 100644
--- base/win/dark_mode_support.cc
+++ base/win/dark_mode_support.cc
@@ -7,6 +7,7 @@
@ -10,7 +10,7 @@ index 73d6ad5e9bb36..6c450e79c0f94 100644
#include "base/native_library.h"
#include "base/win/win_util.h"
#include "base/win/windows_version.h"
@@ -89,11 +90,20 @@ const DarkModeSupport& GetDarkModeSupport() {
@@ -85,11 +86,20 @@ const DarkModeSupport& GetDarkModeSupport() {
return dark_mode_support;
}
@ -67,7 +67,7 @@ index 184939bdb8b3d..bb13d7c74e20b 100644
// 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
index 728069cfdba9a..3561f49631e5c 100644
index aa2d789b3aec5..f84090947a345 100644
--- ui/native_theme/native_theme.cc
+++ ui/native_theme/native_theme.cc
@@ -146,6 +146,7 @@ void NativeTheme::NotifyOnNativeThemeUpdated() {
@ -78,7 +78,7 @@ index 728069cfdba9a..3561f49631e5c 100644
RecordNumColorProvidersInitializedDuringOnNativeThemeUpdated(
color_provider_manager.num_providers_initialized() -
@@ -288,6 +289,13 @@ bool NativeTheme::IsForcedDarkMode() {
@@ -289,6 +290,13 @@ bool NativeTheme::IsForcedDarkMode() {
return kIsForcedDarkMode;
}
@ -93,10 +93,10 @@ index 728069cfdba9a..3561f49631e5c 100644
static bool kIsForcedHighContrast =
base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git ui/native_theme/native_theme.h ui/native_theme/native_theme.h
index b2a7455c7e005..77170b90189c8 100644
index 4c8e8c2b171fc..4c0ac7cfee394 100644
--- ui/native_theme/native_theme.h
+++ ui/native_theme/native_theme.h
@@ -610,6 +610,9 @@ class NATIVE_THEME_EXPORT NativeTheme {
@@ -624,6 +624,9 @@ class NATIVE_THEME_EXPORT NativeTheme {
// Calculates and returns the use overlay scrollbar setting.
static bool CalculateUseOverlayScrollbar();
@ -107,10 +107,10 @@ index b2a7455c7e005..77170b90189c8 100644
explicit NativeTheme(
bool should_only_use_dark_colors,
diff --git ui/native_theme/native_theme_mac.mm ui/native_theme/native_theme_mac.mm
index dc1224ca2fa27..b2a0ce01b4611 100644
index 36d8e38eb0b07..0b96dd332363a 100644
--- ui/native_theme/native_theme_mac.mm
+++ ui/native_theme/native_theme_mac.mm
@@ -585,11 +585,15 @@ void NativeThemeMac::PaintSelectedMenuItem(
@@ -631,11 +631,15 @@ void NativeThemeMac::PaintSelectedMenuItem(
void NativeThemeMac::InitializeDarkModeStateAndObserver() {
__block auto theme = this;
@ -129,30 +129,31 @@ index dc1224ca2fa27..b2a0ce01b4611 100644
theme->NotifyOnNativeThemeUpdated();
}];
diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc
index 1b098cbb291fe..fc8f22b7db5a3 100644
index d34f90e8a6b93..5d77885591ea2 100644
--- ui/native_theme/native_theme_win.cc
+++ ui/native_theme/native_theme_win.cc
@@ -676,14 +676,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
@@ -685,7 +685,10 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// Windows high contrast modes are entirely different themes,
// so let them take priority over dark mode.
// ...unless --force-dark-mode was specified in which case caveat emptor.
- if (InForcedColorsMode() && !IsForcedDarkMode())
- if (InForcedColorsMode() && !IsForcedDarkMode()) {
+ if (supports_windows_dark_mode_ && IsForcedDarkMode()) {
+ return true;
+ }
+ if (InForcedColorsMode())
+ if (InForcedColorsMode()) {
return false;
}
return NativeTheme::ShouldUseDarkColors();
}
@@ -693,7 +696,7 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
NativeTheme::PreferredColorScheme
NativeThemeWin::CalculatePreferredColorScheme() const {
- if (!InForcedColorsMode())
+ if (!InForcedColorsMode() || !supports_windows_dark_mode_)
- if (!InForcedColorsMode()) {
+ if (!InForcedColorsMode() || !supports_windows_dark_mode_) {
return NativeTheme::CalculatePreferredColorScheme();
}
// According to the spec, the preferred color scheme for web content is 'dark'
@@ -1653,8 +1656,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
@@ -1678,8 +1681,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
}
void NativeThemeWin::UpdateDarkModeStatus() {

View File

@ -25,10 +25,10 @@ index cdabcf3e5b2c7..2a12480efb68c 100644
if (base::PathExists(sandbox_candidate))
sandbox_binary = sandbox_candidate;
diff --git ui/ozone/common/egl_util.cc ui/ozone/common/egl_util.cc
index 021bcad8c3084..a37406d408718 100644
index c3879262996c5..955fd0a375f60 100644
--- ui/ozone/common/egl_util.cc
+++ ui/ozone/common/egl_util.cc
@@ -127,7 +127,7 @@ bool LoadDefaultEGLGLES2Bindings(
@@ -135,7 +135,7 @@ bool LoadDefaultEGLGLES2Bindings(
if (implementation.gl == gl::kGLImplementationEGLANGLE) {
base::FilePath module_path;
#if !BUILDFLAG(IS_FUCHSIA)

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index e588c950ab897..35e54c80d34eb 100644
index 5383396da441c..a53441bcd1c74 100644
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -1162,8 +1162,8 @@ int ProfileMenuViewBase::GetMaxHeight() const {
@@ -1198,8 +1198,8 @@ int ProfileMenuViewBase::GetMaxHeight() const {
->GetDisplayNearestPoint(anchor_rect.CenterPoint())
.work_area();
int available_space = screen_space.bottom() - anchor_rect.bottom();
@ -13,16 +13,16 @@ index e588c950ab897..35e54c80d34eb 100644
available_space =
std::max(available_space, anchor_rect.y() - screen_space.y());
#endif
diff --git ui/views/style/platform_style_mac.mm ui/views/style/platform_style_mac.mm
index 869d1f51700a1..ace1e3b9864be 100644
--- ui/views/style/platform_style_mac.mm
+++ ui/views/style/platform_style_mac.mm
@@ -43,7 +43,7 @@ const bool PlatformStyle::kTableViewSupportsKeyboardNavigationByCell = false;
const bool PlatformStyle::kTreeViewSelectionPaintsEntireRow = true;
const bool PlatformStyle::kUseRipples = false;
const bool PlatformStyle::kInactiveWidgetControlsAppearDisabled = true;
-const bool PlatformStyle::kAdjustBubbleIfOffscreen = true;
+const bool PlatformStyle::kAdjustBubbleIfOffscreen = false;
const View::FocusBehavior PlatformStyle::kDefaultFocusBehavior =
View::FocusBehavior::ACCESSIBLE_ONLY;
diff --git ui/views/style/platform_style.h ui/views/style/platform_style.h
index 59d9211565b48..63bc255add57f 100644
--- ui/views/style/platform_style.h
+++ ui/views/style/platform_style.h
@@ -77,7 +77,7 @@ class VIEWS_EXPORT PlatformStyle {
// Default setting at bubble creation time for whether arrow will be adjusted
// for bubbles going off-screen to bring more bubble area into view. Linux
// clips bubble windows that extend outside their parent window bounds.
- static constexpr bool kAdjustBubbleIfOffscreen = !BUILDFLAG(IS_LINUX);
+ static constexpr bool kAdjustBubbleIfOffscreen = BUILDFLAG(IS_WIN);
// Default focus behavior on the platform.
static constexpr View::FocusBehavior kDefaultFocusBehavior =

View File

@ -1,5 +1,5 @@
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 767c532efd6cf..365bc048bdedc 100644
index fc345ea0ae7a6..aedd501ab118e 100644
--- 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,

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index f28ebfee8218d..12f7539526c06 100644
index 5b9e417927870..f74cf332e6093 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@ -9,8 +9,8 @@ index f28ebfee8218d..12f7539526c06 100644
+#include "base/task/current_thread.h"
#include "base/message_loop/message_pump_win.h"
#include <winbase.h>
@@ -572,7 +573,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
#include <windows.h>
@@ -584,7 +585,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
ctx.event()->set_chrome_message_pump();
msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible);
});
@ -28,7 +28,7 @@ index f28ebfee8218d..12f7539526c06 100644
+ }
}
}
if (has_msg)
if (has_msg) {
diff --git base/task/current_thread.cc base/task/current_thread.cc
index 024422b65775b..773d856dff353 100644
--- base/task/current_thread.cc

View File

@ -1,8 +1,8 @@
diff --git components/metrics/persistent_system_profile.cc components/metrics/persistent_system_profile.cc
index 5f53ff21a358c..6d88415e889dd 100644
index 3cef1f28ccdb0..c91c9927436de 100644
--- components/metrics/persistent_system_profile.cc
+++ components/metrics/persistent_system_profile.cc
@@ -400,6 +400,10 @@ bool PersistentSystemProfile::GetSystemProfile(
@@ -401,6 +401,10 @@ bool PersistentSystemProfile::GetSystemProfile(
return true;
}

View File

@ -12,10 +12,10 @@ index 37cb1dac49610..6e5989c73bf08 100644
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
index ccaf9eee37f6f..cc78c1d432116 100644
index 4cd72afe01d78..36c9286631b94 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
@@ -225,6 +225,8 @@ void MimeHandlerViewGuest::CreateInnerPage(
@@ -226,6 +226,8 @@ void MimeHandlerViewGuest::CreateInnerPage(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;

View File

@ -77,7 +77,7 @@ index 0e0cad6032f6d..9dd09d26cdcc3 100644
} // namespace mojo
diff --git mojo/public/cpp/bindings/connector.h mojo/public/cpp/bindings/connector.h
index 332ab5c181ec5..4751eada85d07 100644
index 332ab5c181ec5..d4ccf2e023cd3 100644
--- mojo/public/cpp/bindings/connector.h
+++ mojo/public/cpp/bindings/connector.h
@@ -146,6 +146,11 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) Connector : public MessageReceiver {

View File

@ -10,10 +10,10 @@ index aeb79b46f5d21..bd57e874c1240 100644
+// This load will not send any cookies. For CEF usage.
+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
index 408edfb7578bb..c3e06bdbb4986 100644
index f40ce91873172..68f61469a62c2 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -2097,7 +2097,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
@@ -2098,7 +2098,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
// Read cookies whenever allow_credentials() is true, even if the PrivacyMode
// is being overridden by NetworkDelegate and will eventually block them, as
// blocked cookies still need to be logged in that case.
@ -24,10 +24,10 @@ index 408edfb7578bb..c3e06bdbb4986 100644
bool URLRequestHttpJob::ShouldRecordPartitionedCookieUsage() const {
diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc
index 38882b4053305..87fbb1dc27246 100644
index 677e8db211435..63bdec7d2b49a 100644
--- services/network/public/cpp/resource_request.cc
+++ services/network/public/cpp/resource_request.cc
@@ -345,7 +345,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {
@@ -346,7 +346,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {
}
bool ResourceRequest::SendsCookies() const {

View File

@ -1,8 +1,8 @@
diff --git net/test/embedded_test_server/embedded_test_server.cc net/test/embedded_test_server/embedded_test_server.cc
index e9517e3a17aba..7df1fb0a65309 100644
index 51ef03bcf6a24..f92ce7987cf37 100644
--- net/test/embedded_test_server/embedded_test_server.cc
+++ net/test/embedded_test_server/embedded_test_server.cc
@@ -1115,7 +1115,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWait(base::OnceClosure closure) {
@@ -1121,7 +1121,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWait(base::OnceClosure closure) {
if (!base::CurrentThread::Get())
temporary_loop = std::make_unique<base::SingleThreadTaskExecutor>();
@ -11,7 +11,7 @@ index e9517e3a17aba..7df1fb0a65309 100644
if (!io_thread_->task_runner()->PostTaskAndReply(
FROM_HERE, std::move(closure), run_loop.QuitClosure())) {
return false;
@@ -1142,7 +1142,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWaitWithResult(
@@ -1148,7 +1148,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWaitWithResult(
if (!base::CurrentThread::Get())
temporary_loop = std::make_unique<base::SingleThreadTaskExecutor>();

View File

@ -30,10 +30,10 @@ index 76057b3e50f78..d3b63a3b07805 100644
} // namespace input
diff --git components/input/render_input_router.h components/input/render_input_router.h
index 739d1f12ab1f5..e8abce61a7534 100644
index 469148c58889e..ec78b8abc9c05 100644
--- components/input/render_input_router.h
+++ components/input/render_input_router.h
@@ -67,6 +67,7 @@ class COMPONENT_EXPORT(INPUT) RenderInputRouter
@@ -68,6 +68,7 @@ class COMPONENT_EXPORT(INPUT) RenderInputRouter
InputRouter* input_router() { return input_router_.get(); }
RenderInputRouterDelegate* delegate() { return delegate_; }
@ -56,10 +56,10 @@ index f1030a744809c..c222a209949e6 100644
return nullptr;
}
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index 74f2e51c7fa80..178d5bf538031 100644
index 7ba8c01db7e93..0888ecebf8d6f 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -795,7 +795,7 @@ void RenderWidgetHostImpl::WasHidden() {
@@ -818,7 +818,7 @@ void RenderWidgetHostImpl::WasHidden() {
// Cancel pending pointer lock requests, unless there's an open user prompt.
// Prompts should remain open and functional across tab switches.
@ -68,7 +68,7 @@ index 74f2e51c7fa80..178d5bf538031 100644
RejectPointerLockOrUnlockIfNecessary(
blink::mojom::PointerLockResult::kWrongDocument);
}
@@ -3260,6 +3260,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
@@ -3289,6 +3289,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
}
}
@ -81,10 +81,10 @@ index 74f2e51c7fa80..178d5bf538031 100644
const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index ddfae2b85cb88..87797bf82b401 100644
index 56670ed68f85f..f4ec82b6c3941 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -842,6 +842,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -844,6 +844,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();

View File

@ -1,5 +1,5 @@
diff --git net/base/directory_lister.cc net/base/directory_lister.cc
index ae3a99f31e2ec..213cc33f2cc8e 100644
index 58cce49353856..33b00235918c3 100644
--- net/base/directory_lister.cc
+++ net/base/directory_lister.cc
@@ -200,7 +200,7 @@ void DirectoryLister::OnListFile(const DirectoryListerData& data) {
@ -12,7 +12,7 @@ index ae3a99f31e2ec..213cc33f2cc8e 100644
} // namespace net
diff --git net/base/directory_lister.h net/base/directory_lister.h
index 991d15b79878e..b4a5534ea2c87 100644
index 7dfb7f451e936..8d0d35e500fdc 100644
--- net/base/directory_lister.h
+++ net/base/directory_lister.h
@@ -133,7 +133,7 @@ class NET_EXPORT DirectoryLister {

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
index 4675bec818108..da09caea5cb13 100644
index 1dc919585dd11..d6f88bec40e96 100644
--- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc
@@ -751,6 +751,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const {

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
index 62105d8104721..e23c3b9758397 100644
index 6aef73a782904..226fdb101ac15 100644
--- content/browser/renderer_host/render_frame_host_impl.cc
+++ content/browser/renderer_host/render_frame_host_impl.cc
@@ -9147,6 +9147,16 @@ void RenderFrameHostImpl::CreateNewWindow(
@@ -9265,6 +9265,16 @@ void RenderFrameHostImpl::CreateNewWindow(
return;
}
@ -19,11 +19,11 @@ index 62105d8104721..e23c3b9758397 100644
// Otherwise, consume user activation before we proceed. In particular, it is
// important to do this before we return from the |opener_suppressed| case
// below.
@@ -11505,6 +11515,7 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -11612,6 +11622,7 @@ void RenderFrameHostImpl::CommitNavigation(
auto browser_calc_origin_to_commit =
navigation_request->GetOriginToCommitWithDebugInfo();
if (!process_lock.is_error_page() && !is_mhtml_subframe &&
+ common_params->url.IsStandard() &&
!policy->CanAccessOrigin(
GetProcess()->GetID(), browser_calc_origin_to_commit.first.value(),
ChildProcessSecurityPolicyImpl::AccessType::kCanCommitNewOrigin)) {
GetProcess()->GetDeprecatedID(),
browser_calc_origin_to_commit.first.value(),

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
index 9b258cb5dcbd0..7ebba152df594 100644
index 06686841d7394..eacc7a61749a1 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -6,6 +6,7 @@
@ -10,7 +10,7 @@ index 9b258cb5dcbd0..7ebba152df594 100644
#include <set>
#include <string_view>
#include <utility>
@@ -53,6 +54,7 @@
@@ -52,6 +53,7 @@
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/device_service.h"
#include "content/public/browser/render_view_host.h"
@ -18,7 +18,7 @@ index 9b258cb5dcbd0..7ebba152df594 100644
#include "content/public/common/page_visibility_state.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/public/common/input/web_input_event.h"
@@ -760,10 +762,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -753,10 +755,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
CHECK(GetBackgroundColor());
@ -35,7 +35,7 @@ index 9b258cb5dcbd0..7ebba152df594 100644
}
#if BUILDFLAG(IS_WIN)
@@ -2636,6 +2640,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2628,6 +2632,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor()
: SK_ColorWHITE);
UpdateFrameSinkIdRegistration();

View File

@ -1,8 +1,8 @@
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index 91e4285ece39b..3396389f35360 100644
index 7f03ff64090e5..a619186213674 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -631,6 +631,25 @@ void CookieMonster::SetCookieableSchemes(
@@ -632,6 +632,25 @@ void CookieMonster::SetCookieableSchemes(
MaybeRunCookieCallback(std::move(callback), true);
}
@ -29,7 +29,7 @@ index 91e4285ece39b..3396389f35360 100644
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
index 36b4e9b449a61..f66faec1bc8e4 100644
index 5a81a20072932..269d7904b0693 100644
--- net/cookies/cookie_monster.h
+++ net/cookies/cookie_monster.h
@@ -210,6 +210,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
@ -80,10 +80,10 @@ index 963ddd7d0fcce..81f37072b77fa 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 285d36e3da419..320e2f4ed0a0d 100644
index 8d2e38ac65ca8..58599658c2e0a 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2637,17 +2637,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2636,17 +2636,21 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}
@ -110,11 +110,11 @@ index 285d36e3da419..320e2f4ed0a0d 100644
+ builder.SetCookieStore(std::move(cookie_store));
+
if (base::FeatureList::IsEnabled(features::kPrivateStateTokens) ||
base::FeatureList::IsEnabled(features::kFledgePst)) {
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
base::FilePath trust_token_path;
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 32c82e61a37b4..be3f377f1f60e 100644
index 2ae706f12d920..83bad1d7c1155 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -367,6 +367,9 @@ struct NetworkContextParams {

View File

@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 5a3104a5bf5b7..42a6428bbec20 100644
index 3bbefc885c450..2b9d85c6c8948 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -3388,9 +3388,12 @@ void StoragePartitionImpl::InitNetworkContext() {
@@ -3412,9 +3412,12 @@ void StoragePartitionImpl::InitNetworkContext() {
cert_verifier::mojom::CertVerifierCreationParamsPtr
cert_verifier_creation_params =
cert_verifier::mojom::CertVerifierCreationParams::New();

View File

@ -1,5 +1,5 @@
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
index 73fdf31c0d277..e9abc3d664ca5 100644
index 3b8ddf4a4a16f..3d0e54baa1924 100644
--- ui/views/controls/webview/webview.cc
+++ ui/views/controls/webview/webview.cc
@@ -170,6 +170,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,

View File

@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index 59e484bd1e2e3..b47169ff79364 100644
index d10d536f1266a..5715d67aefbea 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -71,6 +71,8 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/views/chrome_views_delegate_linux.cc chrome/browser/ui/views/chrome_views_delegate_linux.cc
index 090cacaa913a3..da1ad444325ee 100644
index 9fc4b34838710..215eb51cd04d5 100644
--- chrome/browser/ui/views/chrome_views_delegate_linux.cc
+++ chrome/browser/ui/views/chrome_views_delegate_linux.cc
@@ -65,6 +65,8 @@ NativeWidgetType GetNativeWidgetTypeForInitParams(
@ -12,12 +12,12 @@ index 090cacaa913a3..da1ad444325ee 100644
params.type != views::Widget::InitParams::TYPE_TOOLTIP)
? NativeWidgetType::NATIVE_WIDGET_AURA
diff --git ui/views/test/desktop_test_views_delegate_aura.cc ui/views/test/desktop_test_views_delegate_aura.cc
index 110eab7eec92a..2bfc96b6c439d 100644
index 18281d9a30026..5e86ab38b9e35 100644
--- ui/views/test/desktop_test_views_delegate_aura.cc
+++ ui/views/test/desktop_test_views_delegate_aura.cc
@@ -27,7 +27,8 @@ void DesktopTestViewsDelegate::OnBeforeWidgetInit(
if (params->native_widget)
return;
}
- if (params->parent && params->type != views::Widget::InitParams::TYPE_MENU &&
+ if (params->parent && params->child &&

View File

@ -1,5 +1,5 @@
diff --git BUILD.gn BUILD.gn
index c5d180039d2..0068199adb1 100644
index f8a0507c92c..dc55d2379d2 100644
--- BUILD.gn
+++ BUILD.gn
@@ -11,6 +11,7 @@ import("//build/config/mips.gni")
@ -10,7 +10,7 @@ index c5d180039d2..0068199adb1 100644
import("//third_party/icu/config.gni")
import("gni/snapshot_toolchain.gni")
@@ -454,6 +455,9 @@ declare_args() {
@@ -467,6 +468,9 @@ declare_args() {
# Some fuzzers depend on fuzzing functionality linked into the v8 library.
# For binary size reasons this functionality is not always available.
v8_wasm_random_fuzzers = ""
@ -20,7 +20,7 @@ index c5d180039d2..0068199adb1 100644
}
# Derived defaults.
@@ -805,6 +809,10 @@ config("internal_config") {
@@ -820,6 +824,10 @@ config("internal_config") {
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
index b7dff19efeee6..2ff00fe179839 100644
index 5e2d67e449c1c..899cccce610e4 100644
--- chrome/browser/ui/views/toolbar/app_menu.cc
+++ chrome/browser/ui/views/toolbar/app_menu.cc
@@ -1043,7 +1043,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) {
@@ -1044,7 +1044,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) {
host->button()->GetWidget(), host,
host->button()->GetAnchorBoundsInScreen(),
views::MenuAnchorPosition::kTopRight, ui::mojom::MenuSourceType::kNone,
@ -120,7 +120,7 @@ index 624a22c8c5478..707aca5f8342a 100644
} // namespace gfx
diff --git ui/views/animation/ink_drop_host.h ui/views/animation/ink_drop_host.h
index c579f65dce9f0..a04e0d1f66aaa 100644
index e5135719b8df9..fe88f01136990 100644
--- ui/views/animation/ink_drop_host.h
+++ ui/views/animation/ink_drop_host.h
@@ -194,6 +194,8 @@ class VIEWS_EXPORT InkDropHost {
@ -133,10 +133,10 @@ index c579f65dce9f0..a04e0d1f66aaa 100644
friend class test::InkDropHostTestApi;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index f0ba9bff47d86..06d5803a77c3f 100644
index 07e805f154bd3..5bba98ef7d774 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -611,6 +611,12 @@ void LabelButton::OnThemeChanged() {
@@ -628,6 +628,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@ -150,12 +150,12 @@ index f0ba9bff47d86..06d5803a77c3f 100644
Button::StateChanged(old_state);
ResetLabelEnabledColor();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index 4a6ec6307fb8b..c01c1eb2f9853 100644
index fdfc7ccde54a6..5fc509b447d65 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -188,6 +188,9 @@ class VIEWS_EXPORT LabelButton : public Button,
// widget, and the parent of the containing widget.
ButtonState GetVisualState() const;
@@ -192,6 +192,9 @@ class VIEWS_EXPORT LabelButton : public Button,
return !!paint_as_active_subscription_;
}
+ // Sets the font list used by this button.
+ void SetFontList(const gfx::FontList& font_list);
@ -164,7 +164,7 @@ index 4a6ec6307fb8b..c01c1eb2f9853 100644
LabelButtonImageContainer* image_container() {
return image_container_.get();
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index f97a2d37d2ef5..6ef612c096dfb 100644
index ec4f1bf85c51e..6899f9b4ff955 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -52,12 +52,29 @@ enum LabelPropertyKey {
@ -197,7 +197,7 @@ index f97a2d37d2ef5..6ef612c096dfb 100644
} // namespace
namespace views {
@@ -532,6 +549,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
@@ -555,6 +572,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
OnDisplayTextTruncation();
}
@ -213,8 +213,8 @@ index f97a2d37d2ef5..6ef612c096dfb 100644
std::u16string Label::GetTooltipText() const {
return GetCachedTooltipText();
}
@@ -863,6 +889,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SelectRange(stored_selection_range_);
@@ -906,6 +932,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
}
}
+ if (draw_strings_flags_ != 0) {
@ -231,10 +231,10 @@ index f97a2d37d2ef5..6ef612c096dfb 100644
}
diff --git ui/views/controls/label.h ui/views/controls/label.h
index 7457d09c12b8c..8f320e892a571 100644
index 9bea99bc86fc3..91356c7109a06 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -246,6 +246,10 @@ class VIEWS_EXPORT Label : public View,
@@ -241,6 +241,10 @@ class VIEWS_EXPORT Label : public View,
gfx::ElideBehavior GetElideBehavior() const;
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
@ -245,7 +245,7 @@ index 7457d09c12b8c..8f320e892a571 100644
// Gets/Sets the custom local tooltip text. Default behavior for a label
// (single-line) is to show the full text if it is wider than its bounds.
// Calling this overrides the default behavior and lets you set a custom
@@ -548,6 +552,7 @@ class VIEWS_EXPORT Label : public View,
@@ -552,6 +556,7 @@ class VIEWS_EXPORT Label : public View,
int max_width_ = 0;
// This is used in single-line mode.
int max_width_single_line_ = 0;
@ -254,10 +254,10 @@ index 7457d09c12b8c..8f320e892a571 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 3a406a6489f42..e937ca0d2890e 100644
index 3c062fd914935..e46e4b83694cf 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -579,7 +579,8 @@ void MenuController::Run(Widget* parent,
@@ -589,7 +589,8 @@ void MenuController::Run(Widget* parent,
ui::mojom::MenuSourceType source_type,
bool context_menu,
bool is_nested_drag,
@ -267,15 +267,15 @@ index 3a406a6489f42..e937ca0d2890e 100644
exit_type_ = ExitType::kNone;
possible_drag_ = false;
drag_in_progress_ = false;
@@ -629,6 +630,7 @@ void MenuController::Run(Widget* parent,
owner_->AddObserver(this);
@@ -658,6 +659,7 @@ void MenuController::Run(Widget* parent,
}
native_view_for_gestures_ = native_view_for_gestures;
+ parent_widget_ = parent_widget;
// Only create a MenuPreTargetHandler for non-nested menus. Nested menus
// will use the existing one.
@@ -2279,6 +2281,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.native_view_for_gestures = native_view_for_gestures_;
params.owned_window_anchor = anchor;
@ -283,33 +283,27 @@ index 3a406a6489f42..e937ca0d2890e 100644
if (item->GetParentMenuItem()) {
params.context = item->GetWidget();
// (crbug.com/1414232) The item to be open is a submenu. Make sure
@@ -2972,8 +2975,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
@@ -3097,7 +3100,11 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
- if (!item->HasSubmenu() || !item->GetEnabled())
- if (!item->HasSubmenu() || !item->GetEnabled()) {
+ if (!item->HasSubmenu() || !item->GetEnabled() || !item->GetParentMenuItem()) {
+ MenuItemView* submenu_item =
+ item->GetParentMenuItem() ? item->GetParentMenuItem() : item;
+ submenu_item->GetDelegate()->OnUnhandledOpenSubmenu(submenu_item,
+ base::i18n::IsRTL());
return;
+ }
}
// Show the sub-menu.
SetSelection(item, SELECTION_OPEN_SUBMENU | SELECTION_UPDATE_IMMEDIATELY);
@@ -2993,8 +3001,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
@@ -3122,6 +3129,7 @@ void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
- if (!item->GetParentMenuItem())
+ if (!item->GetParentMenuItem()) {
if (!item->GetParentMenuItem()) {
+ item->GetDelegate()->OnUnhandledCloseSubmenu(item, base::i18n::IsRTL());
return;
+ }
if (item->SubmenuIsShowing())
SetSelection(item, SELECTION_UPDATE_IMMEDIATELY);
else if (item->GetParentMenuItem()->GetParentMenuItem())
}
if (item->SubmenuIsShowing()) {
diff --git ui/views/controls/menu/menu_controller.h ui/views/controls/menu/menu_controller.h
index 737b5dd9a243e..44b088afd01c8 100644
--- ui/views/controls/menu/menu_controller.h
@ -373,7 +367,7 @@ index ea82da6dc2f45..575bd9484c2bf 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_host.cc ui/views/controls/menu/menu_host.cc
index 4e87636d2778c..0492351fb3e01 100644
index a462f65d2eb0e..4ae344a2b355a 100644
--- 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) {
@ -389,12 +383,12 @@ index 4e87636d2778c..0492351fb3e01 100644
// If MenuHost has no parent widget, it needs to be marked
// Activatable, so that calling Show in ShowMenuHost will
// get keyboard focus.
- if (init_params.parent == nullptr)
- if (init_params.parent == nullptr) {
+ if (init_params.parent == nullptr &&
+ init_params.parent_widget == gfx::kNullAcceleratedWidget)
+ init_params.parent_widget == gfx::kNullAcceleratedWidget) {
params.activatable = Widget::InitParams::Activatable::kYes;
}
#if BUILDFLAG(IS_WIN)
diff --git ui/views/controls/menu/menu_host.h ui/views/controls/menu/menu_host.h
index fc1d5fccc3845..c065cafcd537c 100644
--- ui/views/controls/menu/menu_host.h
@ -409,10 +403,10 @@ index fc1d5fccc3845..c065cafcd537c 100644
explicit MenuHost(SubmenuView* submenu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index b4cd3e5a49763..992314f502a0f 100644
index 9e948231f2a57..f88c0a1cf2660 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1113,6 +1113,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1138,6 +1138,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
@ -428,7 +422,7 @@ index b4cd3e5a49763..992314f502a0f 100644
} else if (paint_as_selected) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == Type::kActionableSubMenu) {
@@ -1183,6 +1192,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
@@ -1208,6 +1217,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
}
SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const {
@ -573,10 +567,10 @@ index 87739aa15210f..e785faf160c2e 100644
}
diff --git ui/views/controls/menu/menu_runner.h ui/views/controls/menu/menu_runner.h
index 493fda82af500..38d3344d97074 100644
index c60b13df53aae..2e2b9174938f7 100644
--- ui/views/controls/menu/menu_runner.h
+++ ui/views/controls/menu/menu_runner.h
@@ -157,6 +157,8 @@ class VIEWS_EXPORT MenuRunner {
@@ -160,6 +160,8 @@ class VIEWS_EXPORT MenuRunner {
MenuAnchorPosition anchor,
ui::mojom::MenuSourceType source_type,
gfx::NativeView native_view_for_gestures = gfx::NativeView(),
@ -586,10 +580,10 @@ index 493fda82af500..38d3344d97074 100644
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt);
diff --git ui/views/controls/menu/menu_runner_impl.cc ui/views/controls/menu/menu_runner_impl.cc
index 13fd4d8b5b536..256b4af43b3ec 100644
index bf7f7c6d8d31e..b7054a59a8876 100644
--- ui/views/controls/menu/menu_runner_impl.cc
+++ ui/views/controls/menu/menu_runner_impl.cc
@@ -117,6 +117,7 @@ void MenuRunnerImpl::RunMenuAt(
@@ -119,6 +119,7 @@ void MenuRunnerImpl::RunMenuAt(
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
@ -597,7 +591,7 @@ index 13fd4d8b5b536..256b4af43b3ec 100644
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) {
closing_event_time_ = base::TimeTicks();
@@ -190,7 +191,7 @@ void MenuRunnerImpl::RunMenuAt(
@@ -193,7 +194,7 @@ void MenuRunnerImpl::RunMenuAt(
controller->Run(parent, button_controller, menu_.get(), bounds, anchor,
source_type, (run_types & MenuRunner::CONTEXT_MENU) != 0,
(run_types & MenuRunner::NESTED_DRAG) != 0,
@ -607,17 +601,17 @@ index 13fd4d8b5b536..256b4af43b3ec 100644
void MenuRunnerImpl::Cancel() {
diff --git ui/views/controls/menu/menu_runner_impl.h ui/views/controls/menu/menu_runner_impl.h
index 5dbd93d7ed343..b82c2beeef701 100644
index 539eb9e7294f9..9435bf2b08eb3 100644
--- ui/views/controls/menu/menu_runner_impl.h
+++ ui/views/controls/menu/menu_runner_impl.h
@@ -56,6 +56,7 @@ class VIEWS_EXPORT MenuRunnerImpl : public MenuRunnerImplInterface,
ui::mojom::MenuSourceType source_type = ui::mojom::MenuSourceType::kNone,
int32_t run_types = MenuRunner::NO_FLAGS,
gfx::NativeView native_view_for_gestures = {},
+ gfx::AcceleratedWidget parent_widget = gfx::kNullAcceleratedWidget,
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) override;
@@ -57,6 +57,7 @@ class VIEWS_EXPORT MenuRunnerImpl : public MenuRunnerImplInterface,
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_adapter.cc ui/views/controls/menu/menu_runner_impl_adapter.cc
index d23190775a306..8a1467a1f828f 100644
--- ui/views/controls/menu/menu_runner_impl_adapter.cc
@ -636,22 +630,22 @@ index d23190775a306..8a1467a1f828f 100644
void MenuRunnerImplAdapter::Cancel() {
diff --git ui/views/controls/menu/menu_runner_impl_adapter.h ui/views/controls/menu/menu_runner_impl_adapter.h
index 16c697fcceeff..c20377c8eb10b 100644
index 2390a23fb35fa..1dea074a16a58 100644
--- ui/views/controls/menu/menu_runner_impl_adapter.h
+++ ui/views/controls/menu/menu_runner_impl_adapter.h
@@ -47,6 +47,7 @@ class VIEWS_EXPORT MenuRunnerImplAdapter : public MenuRunnerImplInterface {
ui::mojom::MenuSourceType source_type = ui::mojom::MenuSourceType::kNone,
int32_t run_types = MenuRunner::NO_FLAGS,
gfx::NativeView native_view_for_gestures = {},
+ gfx::AcceleratedWidget parent_widget = gfx::kNullAcceleratedWidget,
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) override;
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.h ui/views/controls/menu/menu_runner_impl_cocoa.h
index e315ccc4cda65..8222030bd21f9 100644
index f5b0936aac647..20f476c9abd93 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.h
+++ ui/views/controls/menu/menu_runner_impl_cocoa.h
@@ -44,6 +44,7 @@ class VIEWS_EXPORT MenuRunnerImplCocoa : public MenuRunnerImplInterface {
@@ -45,6 +45,7 @@ class VIEWS_EXPORT MenuRunnerImplCocoa : public MenuRunnerImplInterface {
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
@ -660,10 +654,10 @@ index e315ccc4cda65..8222030bd21f9 100644
std::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.mm ui/views/controls/menu/menu_runner_impl_cocoa.mm
index 52f3f0bc7e703..cf0eec570bd1e 100644
index e1e3f0d4c54dd..f8afecca2016b 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.mm
+++ ui/views/controls/menu/menu_runner_impl_cocoa.mm
@@ -71,6 +71,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
@@ -72,6 +72,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
@ -672,18 +666,30 @@ index 52f3f0bc7e703..cf0eec570bd1e 100644
std::optional<std::string> show_menu_host_duration_histogram) {
DCHECK(!IsRunning());
diff --git ui/views/controls/menu/menu_runner_impl_interface.h ui/views/controls/menu/menu_runner_impl_interface.h
index 465f774e1ec90..c99b51b9f0eba 100644
index e217fa433b71e..45c46ad8de76a 100644
--- ui/views/controls/menu/menu_runner_impl_interface.h
+++ ui/views/controls/menu/menu_runner_impl_interface.h
@@ -50,6 +50,8 @@ class MenuRunnerImplInterface {
@@ -50,6 +50,7 @@ class MenuRunnerImplInterface {
ui::mojom::MenuSourceType source_type,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) = 0;
void RunMenuAt(
@@ -60,9 +61,11 @@ class MenuRunnerImplInterface {
ui::mojom::MenuSourceType source_type = ui::mojom::MenuSourceType::kNone,
int32_t run_types = MenuRunner::NO_FLAGS,
gfx::NativeView native_view_for_gestures = {},
+ gfx::AcceleratedWidget parent_widget =
+ gfx::kNullAcceleratedWidget,
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) = 0;
std::optional<gfx::RoundedCornersF> corners = std::nullopt) {
RunMenuAt(parent, button_controller, bounds, anchor, source_type, run_types,
- native_view_for_gestures, corners, std::nullopt);
+ native_view_for_gestures, parent_widget, corners, std::nullopt);
}
// Hides and cancels the menu.
diff --git ui/views/controls/menu/menu_runner_impl_mac.h ui/views/controls/menu/menu_runner_impl_mac.h
index 6b71a13002d27..da0d2bf4dc774 100644
--- ui/views/controls/menu/menu_runner_impl_mac.h
@ -743,10 +749,10 @@ index da772edd48c00..43c930e932287 100644
std::optional<std::string> show_menu_host_duration_histogram) {
RunMenu(parent, bounds.CenterPoint());
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 3dc4156dd046c..020f016ffc261 100644
index 1da213198d5de..9961b0c503f0a 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -266,6 +266,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@@ -272,6 +272,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
scroll_down_button_ = background_view_->AddChildView(
std::make_unique<MenuScrollButton>(content_view, false));

View File

@ -1,11 +1,11 @@
diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc
index 1991c859c67da..b955ffd4b6fd3 100644
index 33afc532a2929..bbc38834966c2 100644
--- ui/views/controls/textfield/textfield.cc
+++ ui/views/controls/textfield/textfield.cc
@@ -3033,6 +3033,10 @@ void Textfield::OnCursorBlinkTimerFired() {
void Textfield::OnEnabledChanged() {
if (GetInputMethod())
@@ -3130,6 +3130,10 @@ void Textfield::OnEnabledChanged() {
if (GetInputMethod()) {
GetInputMethod()->OnTextInputTypeChanged(this);
}
+ if (GetWidget()) {
+ SetColor(GetTextColor());
+ UpdateBackgroundColor();

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/extensions/api/sessions/sessions_api.cc chrome/browser/extensions/api/sessions/sessions_api.cc
index ea4123fa52305..aee79b9db521e 100644
index 25c3c2d6ed3af..0f7388e14ebe2 100644
--- chrome/browser/extensions/api/sessions/sessions_api.cc
+++ chrome/browser/extensions/api/sessions/sessions_api.cc
@@ -341,6 +341,7 @@ SessionsGetDevicesFunction::CreateWindowModel(
@ -11,7 +11,7 @@ index ea4123fa52305..aee79b9db521e 100644
break;
case ui::mojom::WindowShowState::kMaximized:
diff --git chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
index 60c1a8d04fdb6..728a44ee45ab7 100644
index dc3a54ce29e7d..1a57a27234869 100644
--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
+++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc
@@ -37,6 +37,7 @@ ui::mojom::WindowShowState ChromeNativeAppWindowViewsAura::GetRestorableState(
@ -49,7 +49,7 @@ index 2ef4f942b572c..144ae7facf733 100644
case ui::mojom::WindowShowState::kMaximized:
return PERSISTED_SHOW_STATE_MAXIMIZED;
diff --git components/sessions/core/tab_restore_service_impl.cc components/sessions/core/tab_restore_service_impl.cc
index 2da47939180ec..672c0cd69dbe2 100644
index a9e12ccf4cea8..5416d0a7fcbff 100644
--- components/sessions/core/tab_restore_service_impl.cc
+++ components/sessions/core/tab_restore_service_impl.cc
@@ -198,6 +198,7 @@ int SerializeWindowShowState(ui::mojom::WindowShowState show_state) {
@ -273,10 +273,10 @@ index e31c5b4cb6726..1b724948c2868 100644
return host ? host->GetAcceleratedWidget() : nullptr;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index 102fcca7507a4..ebc688c1744e2 100644
index e1c1215cc1088..9d4e900449146 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -191,6 +191,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
@@ -193,6 +193,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
return result;
}
@ -295,7 +295,7 @@ index 102fcca7507a4..ebc688c1744e2 100644
void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
// In Windows, the native events sent to chrome are separated into client
// and non-client versions of events, which we record on our LocatedEvent
@@ -326,6 +338,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
@@ -332,6 +344,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wayland_app_id = params.wayland_app_id;
@ -337,10 +337,10 @@ index 590f97eee1fda..3980e814e80b9 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
};
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 156cbebe16934..0ea0af09b36bd 100644
index d582318e8751f..fe1263da0ca91 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -269,8 +269,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
@@ -274,8 +274,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
if (properties.parent_widget) {
window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget(
properties.parent_widget);
@ -352,7 +352,7 @@ index 156cbebe16934..0ea0af09b36bd 100644
// Calculate initial bounds.
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 8a37f2e19d2c8..a0ec5975f1ecc 100644
index f144ed979f2de..487a39f1cd688 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -20,6 +20,7 @@
@ -363,19 +363,19 @@ index 8a37f2e19d2c8..a0ec5975f1ecc 100644
#include "ui/aura/window_event_dispatcher.h"
#include "ui/base/class_property.h"
#include "ui/base/cursor/cursor.h"
@@ -185,22 +186,42 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -186,7 +187,10 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_.get());
HWND parent_hwnd = nullptr;
- if (params.parent && params.parent->GetHost())
- if (params.parent && params.parent->GetHost()) {
+ if (params.parent_widget) {
+ parent_hwnd = params.parent_widget;
+ has_external_parent_ = true;
+ } else if (params.parent && params.parent->GetHost()) {
parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget();
+ }
}
remove_standard_frame_ = params.remove_standard_frame;
@@ -194,15 +198,31 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
z_order_ = params.EffectiveZOrderLevel();
@ -410,14 +410,10 @@ index 8a37f2e19d2c8..a0ec5975f1ecc 100644
// 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
// displayed on top of other windows.
@@ -1087,10 +1108,23 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) {
return;
}
@@ -1106,6 +1126,18 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) {
- if (restored)
+ if (restored) {
if (restored) {
window()->Show();
- else
+
+ if (initially_minimized_first_restore_pending_) {
+ initially_minimized_first_restore_pending_ = false;
@ -430,13 +426,10 @@ index 8a37f2e19d2c8..a0ec5975f1ecc 100644
+ EnableNativeWindowOcclusionTracking(this);
+ }
+ }
+ } else {
} else {
window()->Hide();
+ }
}
void DesktopWindowTreeHostWin::HandleClientSizeChanged(
@@ -1108,11 +1142,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
@@ -1127,11 +1159,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -454,9 +447,9 @@ index 8a37f2e19d2c8..a0ec5975f1ecc 100644
}
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
@@ -1120,6 +1158,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
if (ui::PlatformEventSource::ShouldIgnoreNativePlatformEvents())
@@ -1140,6 +1176,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
return true;
}
+ // See comments in CefBrowserPlatformDelegateNativeWin::SetFocus.
+ if (has_external_parent_ && CanActivate() && event->IsAnyButton() &&
@ -467,7 +460,7 @@ index 8a37f2e19d2c8..a0ec5975f1ecc 100644
SendEventToSink(event);
return event->handled();
}
@@ -1302,9 +1346,17 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) {
@@ -1325,9 +1367,17 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) {
// positions in variable-DPI situations. See https://crbug.com/1224715 for
// details.
aura::Window* root = nullptr;
@ -506,10 +499,10 @@ index 1e2c5bb35cc31..e73afc2d303ac 100644
// the implementation of ::ShowCursor() is based on a counter, so making this
// 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
index 928f50fe35775..423ebc5a0f025 100644
index 822d5bb122067..939808cbf5828 100644
--- ui/views/widget/native_widget_mac.mm
+++ ui/views/widget/native_widget_mac.mm
@@ -655,6 +655,7 @@ void NativeWidgetMac::Show(ui::mojom::WindowShowState show_state,
@@ -695,6 +695,7 @@ void NativeWidgetMac::Show(ui::mojom::WindowShowState show_state,
break;
case ui::mojom::WindowShowState::kMaximized:
case ui::mojom::WindowShowState::kFullscreen:
@ -518,10 +511,10 @@ index 928f50fe35775..423ebc5a0f025 100644
break;
case ui::mojom::WindowShowState::kEnd:
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 7c511bbd90683..a136232b55187 100644
index f1f9fb658e87d..8fad573ae8b71 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -425,7 +425,8 @@ void Widget::Init(InitParams params) {
@@ -440,7 +440,8 @@ void Widget::Init(InitParams params) {
}
params.child |= (params.type == InitParams::TYPE_CONTROL);
@ -531,7 +524,7 @@ index 7c511bbd90683..a136232b55187 100644
is_headless_ = params.ShouldInitAsHeadless();
is_autosized_ = params.autosize;
@@ -535,9 +536,14 @@ void Widget::Init(InitParams params) {
@@ -559,9 +560,14 @@ void Widget::Init(InitParams params) {
if (show_state == ui::mojom::WindowShowState::kMaximized) {
Maximize();
@ -546,7 +539,7 @@ index 7c511bbd90683..a136232b55187 100644
}
#if BUILDFLAG(IS_CHROMEOS)
@@ -551,7 +557,12 @@ void Widget::Init(InitParams params) {
@@ -575,7 +581,12 @@ void Widget::Init(InitParams params) {
} else if (delegate) {
SetContentsView(delegate->TransferOwnershipOfContentsView());
if (should_set_initial_bounds) {
@ -560,7 +553,7 @@ index 7c511bbd90683..a136232b55187 100644
}
}
@@ -1749,10 +1760,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
@@ -1867,10 +1878,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
}
gfx::Size Widget::GetMinimumSize() const {
@ -577,7 +570,7 @@ index 7c511bbd90683..a136232b55187 100644
return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size();
}
@@ -2004,7 +2021,8 @@ bool Widget::SetInitialFocus(ui::mojom::WindowShowState show_state) {
@@ -2141,7 +2158,8 @@ bool Widget::SetInitialFocus(ui::mojom::WindowShowState show_state) {
View* v = widget_delegate_->GetInitiallyFocusedView();
if (!focus_on_creation_ ||
show_state == ui::mojom::WindowShowState::kInactive ||
@ -586,9 +579,9 @@ index 7c511bbd90683..a136232b55187 100644
+ show_state == ui::mojom::WindowShowState::kHidden) {
// If not focusing the window now, tell the focus manager which view to
// focus when the window is restored.
if (v)
if (v) {
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 37358f90484ac..6bfc0e341a5ce 100644
index 3ce32a716cd6e..8e530e19e8a83 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -396,6 +396,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@ -600,7 +593,7 @@ index 37358f90484ac..6bfc0e341a5ce 100644
// Specifies the initial bounds of the Widget. Default is empty, which means
// 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
@@ -830,7 +832,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -841,7 +843,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void SetVisible(bool visible);
// Activates the widget, assuming it already exists and is visible.
@ -610,10 +603,10 @@ index 37358f90484ac..6bfc0e341a5ce 100644
// Deactivates the widget, making the next window in the Z order the active
// window.
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index 1c57bce35bcb7..4bb7c6f603062 100644
index 75cc55b4f885c..5f20ca3197d5f 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -404,6 +404,10 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -415,6 +415,10 @@ class VIEWS_EXPORT WidgetDelegate {
// Returns true if the title text should be centered.
bool ShouldCenterWindowTitleText() const;
@ -625,24 +618,24 @@ index 1c57bce35bcb7..4bb7c6f603062 100644
bool enable_arrow_key_traversal() const {
return params_.enable_arrow_key_traversal;
diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc
index f28c1d1fb5581..4e2390b94cbe9 100644
index fb8c20fc25367..fdefb30fc3666 100644
--- ui/views/widget/widget_hwnd_utils.cc
+++ ui/views/widget/widget_hwnd_utils.cc
@@ -64,7 +64,8 @@ void CalculateWindowStylesFromInitParams(
if (!widget_delegate->CanResize())
@@ -72,7 +72,8 @@ void CalculateWindowStylesFromInitParams(
*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));
+ *style &= static_cast<DWORD>(~(WS_MINIMIZEBOX | WS_MAXIMIZEBOX |
+ WS_CAPTION | WS_SYSMENU));
}
if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index 509bbf34ed99b..71c33ad95e880 100644
index 8ad389091ffad..80a11e306b18f 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -773,7 +773,11 @@ bool HWNDMessageHandler::IsVisible() const {
@@ -793,7 +793,11 @@ bool HWNDMessageHandler::IsVisible() const {
}
bool HWNDMessageHandler::IsActive() const {
@ -655,7 +648,7 @@ index 509bbf34ed99b..71c33ad95e880 100644
}
bool HWNDMessageHandler::IsMinimized() const {
@@ -3136,10 +3140,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3239,10 +3243,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::EventType::kMousewheel) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -80,7 +80,7 @@ index 8af69cac78b74..9f74e511c263d 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index 2fa9063bb7c2f..9a276ac5a1aca 100644
index f0b539738e504..1574ac0dbce11 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -269,6 +269,8 @@ viz_component("service") {
@ -150,10 +150,10 @@ index 796ae2688436e..37a3406790210 100644
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
index 6ad03ff41c8ae..5d1add76f8aff 100644
index c8986a3972555..21f6d118708e7 100644
--- content/browser/compositor/viz_process_transport_factory.cc
+++ content/browser/compositor/viz_process_transport_factory.cc
@@ -387,8 +387,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
@@ -386,8 +386,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
root_params->display_private =
display_private.BindNewEndpointAndPassReceiver();
@ -170,10 +170,10 @@ index 6ad03ff41c8ae..5d1add76f8aff 100644
compositor_data.display_client->GetBoundRemote(resize_task_runner_);
mojo::AssociatedRemote<viz::mojom::ExternalBeginFrameController>
diff --git mojo/public/cpp/bindings/sync_call_restrictions.h mojo/public/cpp/bindings/sync_call_restrictions.h
index 793fe1b921b05..161ce2335c265 100644
index 6fa09e8da85bf..86681950978e6 100644
--- mojo/public/cpp/bindings/sync_call_restrictions.h
+++ mojo/public/cpp/bindings/sync_call_restrictions.h
@@ -43,6 +43,7 @@ class Compositor;
@@ -38,6 +38,7 @@ class Compositor;
} // namespace ui
namespace viz {
@ -181,7 +181,7 @@ index 793fe1b921b05..161ce2335c265 100644
class GpuHostImpl;
class HostFrameSinkManager;
class HostGpuMemoryBufferManager;
@@ -125,6 +126,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions {
@@ -116,6 +117,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions {
// For preventing frame swaps of wrong size during resize on Windows.
// (https://crbug.com/811945)
friend class ui::Compositor;

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index c87953ecbdbc1..de575fec3e4c5 100644
index 5a683026aaa08..1bab3bb15cc67 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -3789,6 +3789,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3809,6 +3809,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -15,7 +15,7 @@ index c87953ecbdbc1..de575fec3e4c5 100644
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3799,6 +3805,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3819,6 +3825,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -23,7 +23,7 @@ index c87953ecbdbc1..de575fec3e4c5 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -3998,6 +4005,9 @@ void WebContentsImpl::RenderWidgetCreated(
@@ -4024,6 +4031,9 @@ void WebContentsImpl::RenderWidgetCreated(
"render_widget_host", render_widget_host);
CHECK(!created_widgets_.contains(render_widget_host->GetFrameSinkId()));
created_widgets_[render_widget_host->GetFrameSinkId()] = render_widget_host;
@ -33,7 +33,7 @@ index c87953ecbdbc1..de575fec3e4c5 100644
}
void WebContentsImpl::RenderWidgetDeleted(
@@ -4883,6 +4893,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4925,6 +4935,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
create_params.picture_in_picture_options = *(params.pip_options);
}
@ -49,7 +49,7 @@ index c87953ecbdbc1..de575fec3e4c5 100644
// 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
// hosting the prerendered page instead of creating new WebContents.
@@ -9422,6 +9441,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
@@ -9486,6 +9505,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
}
CloseListenerManager::DidChangeFocusedFrame(this);
@ -60,10 +60,10 @@ index c87953ecbdbc1..de575fec3e4c5 100644
FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() {
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index c601698c6032d..6f9ff4e57f592 100644
index e9c6a19ace431..398d7c806ed4d 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -113,10 +113,12 @@ class BrowserPluginGuestDelegate;
@@ -114,10 +114,12 @@ class BrowserPluginGuestDelegate;
class GuestPageHolder;
class RenderFrameHost;
class RenderViewHost;
@ -76,7 +76,7 @@ index c601698c6032d..6f9ff4e57f592 100644
class WebUI;
struct DropData;
struct MHTMLGenerationParams;
@@ -277,6 +279,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
@@ -278,6 +280,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone;
@ -88,10 +88,10 @@ index c601698c6032d..6f9ff4e57f592 100644
// the value that'll be returned by GetLastActiveTimeTicks(). If this is
// 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
index c0be779a4c1d8..02fda067754a0 100644
index 0bab4dd08a28d..5b4334dcef8d2 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -97,9 +97,11 @@ class EyeDropperListener;
@@ -98,9 +98,11 @@ class EyeDropperListener;
class FileSelectListener;
class JavaScriptDialogManager;
class RenderFrameHost;
@ -103,7 +103,7 @@ index c0be779a4c1d8..02fda067754a0 100644
struct ContextMenuParams;
struct DropData;
struct MediaPlayerWatchTime;
@@ -365,6 +367,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -366,6 +368,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const StoragePartitionConfig& partition_config,
SessionStorageNamespace* session_storage_namespace);
@ -119,7 +119,7 @@ index c0be779a4c1d8..02fda067754a0 100644
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
index bc246993906cd..40739daed7bf9 100644
index 5e73c1f7cce2f..818a27a47a3db 100644
--- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h
@@ -248,6 +248,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
@ -132,7 +132,7 @@ index bc246993906cd..40739daed7bf9 100644
// This method is invoked when the `blink::WebView` of the current
// RenderViewHost is ready, e.g. because we recreated it after a crash.
virtual void RenderViewReady() {}
@@ -939,6 +942,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
@@ -942,6 +945,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
// WebContents has gained/lost focus.
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
index 6bae009bb76ea..7ef6ace04ff1e 100644
index d4e60554211f1..3b1535e1b3207 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -808,6 +808,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -810,6 +810,11 @@ class BLINK_PLATFORM_EXPORT Platform {
}
#endif

View File

@ -11,7 +11,7 @@ index 083af135d890c..799ef161a493a 100644
// Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index c1aebbc3db3e2..e3e1412718fbf 100644
index 041ef7c3079f4..f209f54ba5b8f 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -257,8 +257,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -62,7 +62,7 @@ index 4f77ef1379390..9f4a3f4e10295 100644
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
index 4993d90d105b6..0aaa980d74853 100644
index 79ccb4e526071..9d5585032d1eb 100644
--- 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,

View File

@ -1,8 +1,8 @@
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
index 617103850407d..633805d2f7e8d 100644
index 1c3ead160e2aa..8762f9f0e5c8b 100644
--- sandbox/policy/win/sandbox_win.cc
+++ sandbox/policy/win/sandbox_win.cc
@@ -933,6 +933,17 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -928,6 +928,17 @@ ResultCode SandboxWin::StartSandboxedProcess(
const base::HandlesToInheritVector& handles_to_inherit,
SandboxDelegate* delegate,
StartSandboxedProcessCallback result_callback) {

View File

@ -1,10 +1,10 @@
diff --git base/time/time.h base/time/time.h
index 36b7d12bf5b8e..6b07c2bb11b4c 100644
index da5c4c967b4ac..769f856c220af 100644
--- base/time/time.h
+++ base/time/time.h
@@ -134,6 +134,13 @@ constexpr bool isnan(double d) {
}
} // namespace
+// Clang compiler is unable to eliminate a "dead" function call to an undefined
+// `std::_Literal_zero_is_expected()` function that MSVC uses to allow
@ -16,7 +16,7 @@ index 36b7d12bf5b8e..6b07c2bb11b4c 100644
// TimeDelta ------------------------------------------------------------------
class BASE_EXPORT TimeDelta {
@@ -320,8 +327,17 @@ class BASE_EXPORT TimeDelta {
@@ -322,8 +329,17 @@ class BASE_EXPORT TimeDelta {
// Comparison operators.
friend constexpr bool operator==(TimeDelta, TimeDelta) = default;
@ -34,7 +34,7 @@ index 36b7d12bf5b8e..6b07c2bb11b4c 100644
// Returns this delta, ceiled/floored/rounded-away-from-zero to the nearest
// multiple of |interval|.
@@ -472,8 +488,17 @@ class TimeBase {
@@ -480,8 +496,17 @@ class TimeBase {
// Comparison operators
friend constexpr bool operator==(const TimeBase&, const TimeBase&) = default;