Update to Chromium version 129.0.6668.0

- Mac: Minimum system version is now 11.0.
- Win: Windows SDK version is now 10.0.22621.2428.
This commit is contained in:
Nik Pavlov
2024-08-26 12:44:25 +00:00
committed by Marshall Greenblatt
parent 2cd405baac
commit af1f40a2d3
94 changed files with 875 additions and 763 deletions

View File

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

View File

@ -48,10 +48,9 @@
# libgtk3.0-dev (required by the cefclient target only) # libgtk3.0-dev (required by the cefclient target only)
# #
# - MacOS requirements: # - MacOS requirements:
# Xcode 12.2 to 15.0 building on MacOS 10.15.4 (Catalina) or newer. Only # Xcode 12.2 to 15.4 building on MacOS 11.0 (Big Sur) or newer. The Xcode
# 64-bit builds are supported. The Xcode command-line tools must also be # command-line tools must also be installed. Newer Xcode versions may not have
# installed. Newer Xcode versions may not have been been tested and are not # been been tested and are not recommended.
# recommended.
# #
# - Windows requirements: # - Windows requirements:
# Visual Studio 2022 building on Windows 10 or newer. Windows 10/11 64-bit is # Visual Studio 2022 building on Windows 10 or newer. Windows 10/11 64-bit is
@ -254,4 +253,4 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile")
else() else()
message(WARNING "Doxygen must be installed to generate API documentation.") message(WARNING "Doxygen must be installed to generate API documentation.")
endif() endif()
endif() endif()

View File

@ -2,7 +2,7 @@
# reserved. Use of this source code is governed by a BSD-style license that # reserved. Use of this source code is governed by a BSD-style license that
# can be found in the LICENSE file. # can be found in the LICENSE file.
MACOS_DEPLOYMENT_TARGET="10.15" MACOS_DEPLOYMENT_TARGET="11.0"
MACOS_BUNDLE_ID_BASE="org.cef" MACOS_BUNDLE_ID_BASE="org.cef"
CEF_FRAMEWORK_NAME="Chromium Embedded Framework" CEF_FRAMEWORK_NAME="Chromium Embedded Framework"

View File

@ -59,7 +59,7 @@ set(CEF_LIBCEF_DLL_WRAPPER_PATH "${_CEF_ROOT}/libcef_dll")
# Shared compiler/linker flags. # Shared compiler/linker flags.
list(APPEND CEF_COMPILER_DEFINES list(APPEND CEF_COMPILER_DEFINES
# Allow C++ programs to use stdint.h macros specified in the C99 standard that aren't # Allow C++ programs to use stdint.h macros specified in the C99 standard that aren't
# in the C++ standard (e.g. UINT8_MAX, INT64_MIN, etc) # in the C++ standard (e.g. UINT8_MAX, INT64_MIN, etc)
__STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS __STDC_CONSTANT_MACROS __STDC_FORMAT_MACROS
) )
@ -311,7 +311,7 @@ if(OS_MAC)
# Find the newest available base SDK. # Find the newest available base SDK.
execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND xcode-select --print-path OUTPUT_VARIABLE XCODE_PATH OUTPUT_STRIP_TRAILING_WHITESPACE)
foreach(OS_VERSION 14.2 14.0 10.15) foreach(OS_VERSION 14.2 14.0 11.0)
set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk") set(SDK "${XCODE_PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX${OS_VERSION}.sdk")
if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}") if(NOT "${CMAKE_OSX_SYSROOT}" AND EXISTS "${SDK}" AND IS_DIRECTORY "${SDK}")
set(CMAKE_OSX_SYSROOT ${SDK}) set(CMAKE_OSX_SYSROOT ${SDK})
@ -319,7 +319,7 @@ if(OS_MAC)
endforeach() endforeach()
# Target SDK. # Target SDK.
set(CEF_TARGET_SDK "10.15") set(CEF_TARGET_SDK "11.0")
list(APPEND CEF_COMPILER_FLAGS list(APPEND CEF_COMPILER_FLAGS
-mmacosx-version-min=${CEF_TARGET_SDK} -mmacosx-version-min=${CEF_TARGET_SDK}
) )

View File

@ -75,9 +75,11 @@ CefAudioCapturer::CefAudioCapturer(const CefAudioParameters& params,
channels_ = audio_params.channels(); channels_ = audio_params.channels();
audio_input_device_ = new media::AudioInputDevice( audio_input_device_ = new media::AudioInputDevice(
std::make_unique<mirroring::CapturedAudioInput>(base::BindRepeating( std::make_unique<mirroring::CapturedAudioInput>(
&StreamCreatorHelper, base::Unretained(browser_->web_contents()), base::BindRepeating(&StreamCreatorHelper,
base::Unretained(audio_stream_creator_.get()))), base::Unretained(browser_->web_contents()),
base::Unretained(audio_stream_creator_.get())),
observer_),
media::AudioInputDevice::kLoopback, media::AudioInputDevice::kLoopback,
media::AudioInputDevice::DeadStreamDetection::kEnabled); media::AudioInputDevice::DeadStreamDetection::kEnabled);

View File

@ -9,7 +9,9 @@
#include "cef/include/internal/cef_ptr.h" #include "cef/include/internal/cef_ptr.h"
#include "cef/include/internal/cef_types_wrappers.h" #include "cef/include/internal/cef_types_wrappers.h"
#include "components/mirroring/mojom/session_observer.mojom.h"
#include "media/base/audio_capturer_source.h" #include "media/base/audio_capturer_source.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace media { namespace media {
class AudioInputDevice; class AudioInputDevice;
@ -44,6 +46,7 @@ class CefAudioCapturer : public media::AudioCapturerSource::CaptureCallback {
CefRefPtr<CefAudioHandler> audio_handler_; CefRefPtr<CefAudioHandler> audio_handler_;
std::unique_ptr<CefAudioLoopbackStreamCreator> audio_stream_creator_; std::unique_ptr<CefAudioLoopbackStreamCreator> audio_stream_creator_;
scoped_refptr<media::AudioInputDevice> audio_input_device_; scoped_refptr<media::AudioInputDevice> audio_input_device_;
mojo::Remote<mirroring::mojom::SessionObserver> observer_;
bool capturing_ = false; bool capturing_ = false;
int channels_ = 0; int channels_ = 0;
}; };

View File

@ -17,8 +17,6 @@
#include "cef/libcef/browser/trace_subscriber.h" #include "cef/libcef/browser/trace_subscriber.h"
#include "cef/libcef/common/cef_switches.h" #include "cef/libcef/common/cef_switches.h"
#include "components/network_session_configurator/common/network_switches.h" #include "components/network_session_configurator/common/network_switches.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
#include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches.h"
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)

View File

@ -11,6 +11,7 @@
#include "base/functional/bind.h" #include "base/functional/bind.h"
#include "base/logging.h" #include "base/logging.h"
#include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "cef/libcef/browser/thread_util.h" #include "cef/libcef/browser/thread_util.h"
#include "cef/libcef/common/task_runner_impl.h" #include "cef/libcef/common/task_runner_impl.h"
#include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h" #include "third_party/blink/public/mojom/context_menu/context_menu.mojom.h"
@ -38,6 +39,10 @@ class CefSimpleMenuModel : public ui::MenuModel {
CefSimpleMenuModel& operator=(const CefSimpleMenuModel&) = delete; CefSimpleMenuModel& operator=(const CefSimpleMenuModel&) = delete;
// MenuModel methods. // MenuModel methods.
base::WeakPtr<MenuModel> AsWeakPtr() override {
return weak_ptr_factory_.GetWeakPtr();
}
size_t GetItemCount() const override { return impl_->GetCount(); } size_t GetItemCount() const override { return impl_->GetCount(); }
ItemType GetTypeAt(size_t index) const override { ItemType GetTypeAt(size_t index) const override {
@ -171,6 +176,7 @@ class CefSimpleMenuModel : public ui::MenuModel {
private: private:
raw_ptr<CefMenuModelImpl> impl_; raw_ptr<CefMenuModelImpl> impl_;
base::WeakPtrFactory<CefSimpleMenuModel> weak_ptr_factory_{this};
}; };
cef_menu_color_type_t GetMenuColorType(bool is_text, cef_menu_color_type_t GetMenuColorType(bool is_text,

View File

@ -52,8 +52,8 @@ void WriteTempFileAndView(const std::string& data) {
// program to open. // program to open.
tmp_file = tmp_file.AddExtension(L"txt"); tmp_file = tmp_file.AddExtension(L"txt");
int write_ct = base::WriteFile(tmp_file, data.c_str(), data.size()); const bool write_success = base::WriteFile(tmp_file, data);
DCHECK_EQ(static_cast<int>(data.size()), write_ct); DCHECK(write_success);
ui::win::OpenFileViaShell(tmp_file); ui::win::OpenFileViaShell(tmp_file);
} }

View File

@ -300,7 +300,7 @@ class CefBrowserURLRequest::Context
auto request_body = resource_request->request_body; auto request_body = resource_request->request_body;
resource_request->request_body = nullptr; resource_request->request_body = nullptr;
std::string content_type; std::optional<std::string> content_type;
std::string method = resource_request->method; std::string method = resource_request->method;
if (request_body) { if (request_body) {
if (method == "GET" || method == "HEAD") { if (method == "GET" || method == "HEAD") {
@ -312,8 +312,8 @@ class CefBrowserURLRequest::Context
request_->SetMethod(method); request_->SetMethod(method);
request_->SetReadOnly(true); request_->SetReadOnly(true);
} }
resource_request->headers.GetHeader(net::HttpRequestHeaders::kContentType, content_type = resource_request->headers.GetHeader(
&content_type); net::HttpRequestHeaders::kContentType);
} }
loader_ = network::SimpleURLLoader::Create(std::move(resource_request), loader_ = network::SimpleURLLoader::Create(std::move(resource_request),
@ -329,25 +329,30 @@ class CefBrowserURLRequest::Context
const auto& element = (*request_body->elements())[0]; const auto& element = (*request_body->elements())[0];
if (element.type() == network::DataElement::Tag::kFile) { if (element.type() == network::DataElement::Tag::kFile) {
const auto& file_element = element.As<network::DataElementFile>(); const auto& file_element = element.As<network::DataElementFile>();
if (content_type.empty()) { if (!content_type.has_value() || content_type->empty()) {
const auto& extension = file_element.path().Extension(); const auto& extension = file_element.path().Extension();
if (!extension.empty()) { if (!extension.empty()) {
// Requests should not block on the disk! On POSIX this goes to // Requests should not block on the disk! On POSIX this goes to
// disk. http://code.google.com/p/chromium/issues/detail?id=59849 // disk. http://code.google.com/p/chromium/issues/detail?id=59849
base::ScopedAllowBlockingForTesting allow_blocking; base::ScopedAllowBlockingForTesting allow_blocking;
// Also remove the leading period. // Also remove the leading period.
net::GetMimeTypeFromExtension(extension.substr(1), &content_type); std::string extension_content_type;
if (net::GetMimeTypeFromExtension(extension.substr(1),
&extension_content_type)) {
content_type = extension_content_type;
}
} }
} }
loader_->AttachFileForUpload(file_element.path(), content_type); loader_->AttachFileForUpload(file_element.path(),
content_type.value_or(std::string()));
} else if (element.type() == network::DataElement::Tag::kBytes) { } else if (element.type() == network::DataElement::Tag::kBytes) {
const auto& bytes_element = element.As<network::DataElementBytes>(); const auto& bytes_element = element.As<network::DataElementBytes>();
const auto& bytes = bytes_element.bytes(); const auto& bytes = bytes_element.bytes();
if (content_type.empty()) { if (!content_type.has_value() || content_type->empty()) {
content_type = net_service::kContentTypeApplicationFormURLEncoded; content_type = net_service::kContentTypeApplicationFormURLEncoded;
} }
loader_->AttachStringForUpload( loader_->AttachStringForUpload(
std::string(bytes_element.AsStringPiece()), content_type); std::string(bytes_element.AsStringPiece()), *content_type);
if (request_flags & UR_FLAG_REPORT_UPLOAD_PROGRESS) { if (request_flags & UR_FLAG_REPORT_UPLOAD_PROGRESS) {
// Report the expected upload data size. // Report the expected upload data size.

View File

@ -823,12 +823,12 @@ void InterceptedRequest::InterceptResponseReceived(
// Avoid incorrect replacement of 0 with nullptr. NOLINTNEXTLINE // Avoid incorrect replacement of 0 with nullptr. NOLINTNEXTLINE
current_response_->encoded_body_length = 0; current_response_->encoded_body_length = 0;
std::string origin; const auto origin =
if (request_.headers.GetHeader(net::HttpRequestHeaders::kOrigin, &origin) && request_.headers.GetHeader(net::HttpRequestHeaders::kOrigin);
origin != url::Origin().Serialize()) { if (origin && origin != url::Origin().Serialize()) {
// Allow redirects of cross-origin resource loads. // Allow redirects of cross-origin resource loads.
headers->AddHeader(network::cors::header_names::kAccessControlAllowOrigin, headers->AddHeader(network::cors::header_names::kAccessControlAllowOrigin,
origin); *origin);
} }
if (request_.credentials_mode == if (request_.credentials_mode ==

View File

@ -849,12 +849,11 @@ void StreamReaderURLLoader::CleanUp() {
bool StreamReaderURLLoader::ParseRange(const net::HttpRequestHeaders& headers) { bool StreamReaderURLLoader::ParseRange(const net::HttpRequestHeaders& headers) {
DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(thread_checker_.CalledOnValidThread());
std::string range_header; if (auto range_header = headers.GetHeader(net::HttpRequestHeaders::kRange)) {
if (headers.GetHeader(net::HttpRequestHeaders::kRange, &range_header)) {
// This loader only cares about the Range header so that we know how many // This loader only cares about the Range header so that we know how many
// bytes in the stream to skip and how many to read after that. // bytes in the stream to skip and how many to read after that.
std::vector<net::HttpByteRange> ranges; std::vector<net::HttpByteRange> ranges;
if (net::HttpUtil::ParseRangeHeader(range_header, &ranges)) { if (net::HttpUtil::ParseRangeHeader(*range_header, &ranges)) {
// In case of multi-range request only use the first range. // In case of multi-range request only use the first range.
// We don't support multirange requests. // We don't support multirange requests.
if (ranges.size() == 1) { if (ranges.size() == 1) {

View File

@ -21,9 +21,7 @@ void SavePdfFile(const CefString& path,
CEF_REQUIRE_BLOCKING(); CEF_REQUIRE_BLOCKING();
DCHECK_GT(data->size(), 0U); DCHECK_GT(data->size(), 0U);
const bool ok = const bool ok = base::WriteFile(path, *data);
base::WriteFile(path, reinterpret_cast<const char*>(data->data()),
data->size()) == static_cast<int>(data->size());
if (callback) { if (callback) {
CEF_POST_TASK(CEF_UIT, CEF_POST_TASK(CEF_UIT,

View File

@ -83,8 +83,7 @@ NativeWidgetMacNSWindow* CefNativeWidgetMac::CreateNSWindow(
const remote_cocoa::mojom::CreateWindowParams* params) { const remote_cocoa::mojom::CreateWindowParams* params) {
NSUInteger style_mask = NSUInteger style_mask =
NSWindowStyleMaskTitled | NSWindowStyleMaskMiniaturizable | NSWindowStyleMaskTitled | NSWindowStyleMaskMiniaturizable |
NSWindowStyleMaskClosable | NSWindowStyleMaskResizable | NSWindowStyleMaskClosable | NSWindowStyleMaskResizable;
NSWindowStyleMaskTexturedBackground;
const bool is_frameless = window_delegate_->IsFrameless(window_); const bool is_frameless = window_delegate_->IsFrameless(window_);
const auto accepts_first_mouse = window_delegate_->AcceptsFirstMouse(window_); const auto accepts_first_mouse = window_delegate_->AcceptsFirstMouse(window_);

View File

@ -22,6 +22,7 @@
#include "cef/libcef/browser/views/widget.h" #include "cef/libcef/browser/views/widget.h"
#include "cef/libcef/browser/views/window_impl.h" #include "cef/libcef/browser/views/window_impl.h"
#include "ui/base/hit_test.h" #include "ui/base/hit_test.h"
#include "ui/base/mojom/ui_base_types.mojom-shared.h"
#include "ui/display/screen.h" #include "ui/display/screen.h"
#include "ui/views/widget/widget.h" #include "ui/views/widget/widget.h"
#include "ui/views/window/native_frame_view.h" #include "ui/views/window/native_frame_view.h"
@ -507,7 +508,7 @@ void CefWindowView::CreateWidget(gfx::AcceleratedWidget parent_widget) {
// DesktopWindowTreeHostLinux::InitModalType). See the X11-specific // DesktopWindowTreeHostLinux::InitModalType). See the X11-specific
// implementation below that may work with some window managers. // implementation below that may work with some window managers.
if (cef_delegate()->IsWindowModalDialog(cef_window)) { if (cef_delegate()->IsWindowModalDialog(cef_window)) {
SetModalType(ui::MODAL_TYPE_WINDOW); SetModalType(ui::mojom::ModalType::kWindow);
} }
#endif #endif

View File

@ -739,5 +739,10 @@ patches = [
# linux: Fix cannot allocate memory in static TLS block in dlopen libcef.so # linux: Fix cannot allocate memory in static TLS block in dlopen libcef.so
# https://github.com/chromiumembedded/cef/issues/3616 # https://github.com/chromiumembedded/cef/issues/3616
'name': 'third_party_sentencepiece_3616' 'name': 'third_party_sentencepiece_3616'
},
{
# Windows: Add missing check in base/profiler/stack_copier.cc to fix
# compilation error of cef_sandbox.
'name': 'win_sandbox_stack_copier'
} }
] ]

View File

@ -1,5 +1,5 @@
diff --git base/command_line.cc base/command_line.cc diff --git base/command_line.cc base/command_line.cc
index 1e5e33b0c156d..be0ccb28fc627 100644 index 853a7fa23c725..33654c0b63dc1 100644
--- base/command_line.cc --- base/command_line.cc
+++ base/command_line.cc +++ base/command_line.cc
@@ -389,11 +389,10 @@ void CommandLine::AppendSwitchNative(std::string_view switch_string, @@ -389,11 +389,10 @@ void CommandLine::AppendSwitchNative(std::string_view switch_string,

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn diff --git base/BUILD.gn base/BUILD.gn
index 59f1502704eac..7e33aec70c24b 100644 index 2561c2726d27e..f666f5b804c4c 100644
--- base/BUILD.gn --- base/BUILD.gn
+++ base/BUILD.gn +++ base/BUILD.gn
@@ -41,6 +41,7 @@ import("//build/nocompile.gni") @@ -41,6 +41,7 @@ import("//build/nocompile.gni")
@ -10,7 +10,7 @@ index 59f1502704eac..7e33aec70c24b 100644
import("//testing/libfuzzer/fuzzer_test.gni") import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni") import("//testing/test.gni")
@@ -1521,7 +1522,11 @@ component("base") { @@ -1519,7 +1520,11 @@ component("base") {
"hash/md5_constexpr_internal.h", "hash/md5_constexpr_internal.h",
"hash/sha1.h", "hash/sha1.h",
] ]
@ -23,7 +23,7 @@ index 59f1502704eac..7e33aec70c24b 100644
sources += [ sources += [
"hash/md5_nacl.cc", "hash/md5_nacl.cc",
"hash/md5_nacl.h", "hash/md5_nacl.h",
@@ -1950,6 +1955,12 @@ component("base") { @@ -1942,6 +1947,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ] defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
} }

View File

@ -1,8 +1,8 @@
diff --git base/test/BUILD.gn base/test/BUILD.gn diff --git base/test/BUILD.gn base/test/BUILD.gn
index f7afbfba3f38b..0a40b88800afc 100644 index 911214ce799e0..82a59c4aa396d 100644
--- base/test/BUILD.gn --- base/test/BUILD.gn
+++ base/test/BUILD.gn +++ base/test/BUILD.gn
@@ -197,11 +197,6 @@ static_library("test_support") { @@ -199,11 +199,6 @@ static_library("test_support") {
if (enable_base_tracing) { if (enable_base_tracing) {
public_deps += [ "//third_party/perfetto:perfetto_test_support" ] public_deps += [ "//third_party/perfetto:perfetto_test_support" ]
@ -14,7 +14,7 @@ index f7afbfba3f38b..0a40b88800afc 100644
deps += [ deps += [
":amalgamated_perfetto_sql_stdlib", ":amalgamated_perfetto_sql_stdlib",
":gen_cc_chrome_track_event_descriptor", ":gen_cc_chrome_track_event_descriptor",
@@ -569,7 +564,7 @@ if (enable_base_tracing) { @@ -583,7 +578,7 @@ if (enable_base_tracing) {
# processor depends on dev_sqlite. The two share the same symbols but have # processor depends on dev_sqlite. The two share the same symbols but have
# different implementations, so we need to hide dev_sqlite in this shared # different implementations, so we need to hide dev_sqlite in this shared
# library even in non-component builds to prevent duplicate symbols. # library even in non-component builds to prevent duplicate symbols.
@ -23,7 +23,7 @@ index f7afbfba3f38b..0a40b88800afc 100644
if (is_ios) { if (is_ios) {
_target_type = "ios_framework_bundle" _target_type = "ios_framework_bundle"
} }
@@ -578,6 +573,8 @@ if (enable_base_tracing) { @@ -592,6 +587,8 @@ if (enable_base_tracing) {
defines = [ "TEST_TRACE_PROCESSOR_IMPL" ] defines = [ "TEST_TRACE_PROCESSOR_IMPL" ]
testonly = true testonly = true
sources = [ sources = [
@ -32,7 +32,7 @@ index f7afbfba3f38b..0a40b88800afc 100644
"test_trace_processor_export.h", "test_trace_processor_export.h",
"test_trace_processor_impl.cc", "test_trace_processor_impl.cc",
"test_trace_processor_impl.h", "test_trace_processor_impl.h",
@@ -595,33 +592,6 @@ if (enable_base_tracing) { @@ -609,33 +606,6 @@ if (enable_base_tracing) {
output_name = "TestTraceProcessor" output_name = "TestTraceProcessor"
bundle_deps_filter = [ "//third_party/icu:icudata" ] bundle_deps_filter = [ "//third_party/icu:icudata" ]
} }
@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644
+ +
#endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_ #endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_
diff --git content/shell/BUILD.gn content/shell/BUILD.gn diff --git content/shell/BUILD.gn content/shell/BUILD.gn
index 1cc29e1598bea..71accbbc8c91e 100644 index 9a7d9bf1ab786..e6dd973951c9b 100644
--- content/shell/BUILD.gn --- content/shell/BUILD.gn
+++ content/shell/BUILD.gn +++ content/shell/BUILD.gn
@@ -912,7 +912,6 @@ if (is_mac) { @@ -910,7 +910,6 @@ if (is_mac) {
# Specify a sensible install_name for static builds. The library is # Specify a sensible install_name for static builds. The library is
# dlopen()ed so this is not used to resolve the module. # dlopen()ed so this is not used to resolve the module.
ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ] ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ]

View File

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

View File

@ -1,29 +1,30 @@
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
index 214c70f690b18..7e481aee2a1ca 100644 index a5166365d192e..6ba33fc49d1a5 100644
--- content/browser/child_process_security_policy_impl.cc --- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc +++ content/browser/child_process_security_policy_impl.cc
@@ -2079,6 +2079,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessMaybeOpaqueOrigin( @@ -2083,6 +2083,17 @@ bool ChildProcessSecurityPolicyImpl::CanAccessMaybeOpaqueOrigin(
// DeclarativeApiTest.PersistRules. // DeclarativeApiTest.PersistRules.
if (actual_process_lock.matches_scheme(url::kDataScheme)) if (actual_process_lock.matches_scheme(url::kDataScheme))
return true; return true;
+ +
+ // Allow other schemes that are non-standard, non-local and WebSafe. + // Allow other schemes that are non-standard, non-local and WebSafe.
+ if (lock_url.is_valid() && + if (lock_url.is_valid() && !lock_url.IsStandard() &&
+ !lock_url.IsStandard() &&
+ !base::Contains(url::GetLocalSchemes(), + !base::Contains(url::GetLocalSchemes(),
+ lock_url.scheme_piece()) && + lock_url.scheme_piece())) {
+ base::Contains(schemes_okay_to_request_in_any_process_, + base::AutoLock schemes_lock(schemes_lock_);
+ lock_url.scheme())) { + if (base::Contains(schemes_okay_to_request_in_any_process_,
+ return true; + lock_url.scheme())) {
+ return true;
+ }
+ } + }
} }
// Make an exception to allow most visited tiles to commit in // Make an exception to allow most visited tiles to commit in
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
index fa22dada07038..470611958482f 100644 index 877d0240bc916..f122939b9870f 100644
--- content/browser/renderer_host/navigation_request.cc --- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc +++ content/browser/renderer_host/navigation_request.cc
@@ -8128,10 +8128,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo( @@ -8215,10 +8215,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
bool use_opaque_origin = bool use_opaque_origin =
(sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) == (sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) ==
network::mojom::WebSandboxFlags::kOrigin; network::mojom::WebSandboxFlags::kOrigin;
@ -41,13 +42,13 @@ index fa22dada07038..470611958482f 100644
+ +
if (use_opaque_origin) { if (use_opaque_origin) {
origin_and_debug_info = origin_and_debug_info =
std::make_pair(origin_and_debug_info.first.DeriveNewOpaqueOrigin(), std::pair(origin_and_debug_info.first.DeriveNewOpaqueOrigin(),
- origin_and_debug_info.second + ", sandbox_flags"); - origin_and_debug_info.second + ", sandbox_flags");
+ origin_and_debug_info.second); + origin_and_debug_info.second);
} }
return origin_and_debug_info; return origin_and_debug_info;
@@ -8239,6 +8251,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() { @@ -8326,6 +8338,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
DetermineInitiatorRelationship(initiator_rfh, DetermineInitiatorRelationship(initiator_rfh,
frame_tree_node_->current_frame_host())); frame_tree_node_->current_frame_host()));

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 5898b8c54bef2..b490e38838e41 100644 index 3b809a3c065f6..d9a5b328db5ed 100644
--- build/config/compiler/BUILD.gn --- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn +++ build/config/compiler/BUILD.gn
@@ -133,6 +133,9 @@ declare_args() { @@ -134,6 +134,9 @@ declare_args() {
# The cache can lead to non-determinism: https://crbug.com/1486045 # The cache can lead to non-determinism: https://crbug.com/1486045
thin_lto_enable_cache = true thin_lto_enable_cache = true
@ -12,7 +12,7 @@ index 5898b8c54bef2..b490e38838e41 100644
# Initialize all local variables with a pattern. This flag will fill # Initialize all local variables with a pattern. This flag will fill
# uninitialized floating-point types (and 32-bit pointers) with 0xFF and the # uninitialized floating-point types (and 32-bit pointers) with 0xFF and the
# rest with 0xAA. This makes behavior of uninitialized memory bugs consistent, # rest with 0xAA. This makes behavior of uninitialized memory bugs consistent,
@@ -2236,11 +2239,13 @@ config("export_dynamic") { @@ -2260,11 +2263,13 @@ config("export_dynamic") {
config("thin_archive") { config("thin_archive") {
# The macOS and iOS default linker ld64 does not support reading thin # The macOS and iOS default linker ld64 does not support reading thin
# archives. # archives.

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 7c6e3dea2fa88..8eded7f24dfc2 100644 index 59773d1765744..fded83a261c4b 100644
--- chrome/browser/BUILD.gn --- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn +++ chrome/browser/BUILD.gn
@@ -12,6 +12,7 @@ import("//build/config/compiler/pgo/pgo.gni") @@ -12,6 +12,7 @@ import("//build/config/compiler/pgo/pgo.gni")
@ -10,7 +10,7 @@ index 7c6e3dea2fa88..8eded7f24dfc2 100644
import("//chrome/browser/buildflags.gni") import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni") import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/browser/request_header_integrity/buildflags.gni") import("//chrome/browser/request_header_integrity/buildflags.gni")
@@ -2062,6 +2063,7 @@ static_library("browser") { @@ -1899,6 +1900,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags", "//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags", "//build/config/compiler:compiler_buildflags",
"//cc", "//cc",
@ -18,7 +18,7 @@ index 7c6e3dea2fa88..8eded7f24dfc2 100644
"//chrome:extra_resources", "//chrome:extra_resources",
"//chrome:resources", "//chrome:resources",
"//chrome:strings", "//chrome:strings",
@@ -2771,6 +2773,10 @@ static_library("browser") { @@ -2514,6 +2516,10 @@ static_library("browser") {
] ]
} }

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h
index 583dbb67a9def..c76c7984642a7 100644 index b7abca02f48f8..b595e9daa40eb 100644
--- chrome/browser/browser_process.h --- chrome/browser/browser_process.h
+++ chrome/browser/browser_process.h +++ chrome/browser/browser_process.h
@@ -212,9 +212,9 @@ class BrowserProcess { @@ -221,9 +221,9 @@ class BrowserProcess {
virtual DownloadStatusUpdater* download_status_updater() = 0; virtual DownloadStatusUpdater* download_status_updater() = 0;
virtual DownloadRequestLimiter* download_request_limiter() = 0; virtual DownloadRequestLimiter* download_request_limiter() = 0;
@ -14,7 +14,7 @@ index 583dbb67a9def..c76c7984642a7 100644
std::unique_ptr<BackgroundModeManager> manager) = 0; std::unique_ptr<BackgroundModeManager> manager) = 0;
#endif #endif
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index c37a02792e1ff..9002b26fd85f3 100644 index 126516f5d5c28..ed8c126e78156 100644
--- chrome/browser/browser_process_impl.cc --- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc +++ chrome/browser/browser_process_impl.cc
@@ -1111,18 +1111,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() { @@ -1111,18 +1111,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
@ -38,7 +38,7 @@ index c37a02792e1ff..9002b26fd85f3 100644
std::unique_ptr<BackgroundModeManager> manager) { std::unique_ptr<BackgroundModeManager> manager) {
background_mode_manager_ = std::move(manager); background_mode_manager_ = std::move(manager);
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
index 0baa5aac365c4..a31fd6207f99e 100644 index c73845ee5a52e..b60e60050666f 100644
--- chrome/browser/browser_process_impl.h --- chrome/browser/browser_process_impl.h
+++ chrome/browser/browser_process_impl.h +++ chrome/browser/browser_process_impl.h
@@ -193,8 +193,8 @@ class BrowserProcessImpl : public BrowserProcess, @@ -193,8 +193,8 @@ class BrowserProcessImpl : public BrowserProcess,

View File

@ -13,7 +13,7 @@ index 2480282a19d12..dbd1fbf8a15b5 100644
return false; return false;
} }
diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc
index 4acc7a7a3998c..d80104e8f5aa3 100644 index 9b388234f3dfe..95faf0c837833 100644
--- chrome/browser/devtools/devtools_window.cc --- chrome/browser/devtools/devtools_window.cc
+++ chrome/browser/devtools/devtools_window.cc +++ chrome/browser/devtools/devtools_window.cc
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
@ -24,7 +24,7 @@ index 4acc7a7a3998c..d80104e8f5aa3 100644
#include "chrome/browser/ui/browser_list.h" #include "chrome/browser/ui/browser_list.h"
#include "chrome/browser/ui/browser_tabstrip.h" #include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h" #include "chrome/browser/ui/browser_window.h"
@@ -1211,6 +1212,13 @@ DevToolsWindow* DevToolsWindow::Create( @@ -1225,6 +1226,13 @@ DevToolsWindow* DevToolsWindow::Create(
!browser->is_type_normal()) { !browser->is_type_normal()) {
can_dock = false; can_dock = false;
} }
@ -38,7 +38,7 @@ index 4acc7a7a3998c..d80104e8f5aa3 100644
} }
// Create WebContents with devtools. // Create WebContents with devtools.
@@ -1674,9 +1682,13 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) { @@ -1688,9 +1696,13 @@ void DevToolsWindow::OpenInNewTab(const GURL& url) {
if (!inspected_web_contents || if (!inspected_web_contents ||
!inspected_web_contents->OpenURL(params, !inspected_web_contents->OpenURL(params,
/*navigation_handle_callback=*/{})) { /*navigation_handle_callback=*/{})) {
@ -52,7 +52,7 @@ index 4acc7a7a3998c..d80104e8f5aa3 100644
} }
} }
@@ -1839,12 +1851,28 @@ void DevToolsWindow::CreateDevToolsBrowser() { @@ -1853,12 +1865,28 @@ void DevToolsWindow::CreateDevToolsBrowser() {
Browser::CreationStatus::kOk) { Browser::CreationStatus::kOk) {
return; return;
} }
@ -88,7 +88,7 @@ index 4acc7a7a3998c..d80104e8f5aa3 100644
} }
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index c54ec37e56ad7..fda899ec278ef 100644 index 94bcf99cf9e89..3e71e3189c290 100644
--- chrome/browser/ui/BUILD.gn --- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn +++ chrome/browser/ui/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/compiler/compiler.gni") @@ -8,6 +8,7 @@ import("//build/config/compiler/compiler.gni")
@ -99,7 +99,7 @@ index c54ec37e56ad7..fda899ec278ef 100644
import("//chrome/browser/buildflags.gni") import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni") import("//chrome/common/features.gni")
import("//chromeos/ash/components/assistant/assistant.gni") import("//chromeos/ash/components/assistant/assistant.gni")
@@ -417,6 +418,10 @@ static_library("ui") { @@ -409,6 +410,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors", "//build/config/compiler:wexit_time_destructors",
] ]
@ -110,7 +110,7 @@ index c54ec37e56ad7..fda899ec278ef 100644
public_deps = [ public_deps = [
# WARNING WARNING WARNING # WARNING WARNING WARNING
# New dependencies outside of //chrome/browser should be added to # New dependencies outside of //chrome/browser should be added to
@@ -438,6 +443,7 @@ static_library("ui") { @@ -434,6 +439,7 @@ static_library("ui") {
"//build:chromeos_buildflags", "//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags", "//build/config/chromebox_for_meetings:buildflags",
"//cc/paint", "//cc/paint",
@ -118,7 +118,7 @@ index c54ec37e56ad7..fda899ec278ef 100644
"//chrome:resources", "//chrome:resources",
"//chrome:strings", "//chrome:strings",
"//chrome/app:chrome_dll_resources", "//chrome/app:chrome_dll_resources",
@@ -739,6 +745,10 @@ static_library("ui") { @@ -744,6 +750,10 @@ static_library("ui") {
deps += [ "//components/plus_addresses/resources:vector_icons" ] deps += [ "//components/plus_addresses/resources:vector_icons" ]
} }
@ -128,8 +128,8 @@ index c54ec37e56ad7..fda899ec278ef 100644
+ +
# TODO(crbug.com/41437292): Remove this circular dependency. # TODO(crbug.com/41437292): Remove this circular dependency.
# Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies". # Any circular includes must depend on the target "//chrome/browser:browser_public_dependencies".
allow_circular_includes_from = [ # These are all-platform circular includes.
@@ -1540,7 +1550,6 @@ static_library("ui") { @@ -1528,7 +1538,6 @@ static_library("ui") {
"tabs/tab_menu_model_factory.h", "tabs/tab_menu_model_factory.h",
"tabs/tab_model.cc", "tabs/tab_model.cc",
"tabs/tab_model.h", "tabs/tab_model.h",
@ -137,16 +137,7 @@ index c54ec37e56ad7..fda899ec278ef 100644
"tabs/tab_network_state.h", "tabs/tab_network_state.h",
"tabs/tab_renderer_data.cc", "tabs/tab_renderer_data.cc",
"tabs/tab_renderer_data.h", "tabs/tab_renderer_data.h",
@@ -2323,6 +2332,8 @@ static_library("ui") { @@ -3236,8 +3245,6 @@ static_library("ui") {
"views/apps/app_dialog/app_local_block_dialog_view.h",
"views/apps/app_dialog/app_pause_dialog_view.cc",
"views/apps/app_dialog/app_pause_dialog_view.h",
+ "views/apps/app_dialog/app_uninstall_dialog_view.cc",
+ "views/apps/app_dialog/app_uninstall_dialog_view.h",
"views/apps/app_info_dialog/arc_app_info_links_panel.cc",
"views/apps/app_info_dialog/arc_app_info_links_panel.h",
"views/apps/chrome_app_window_client_views_chromeos.cc",
@@ -3875,8 +3886,6 @@ static_library("ui") {
"autofill/payments/webauthn_dialog_model.h", "autofill/payments/webauthn_dialog_model.h",
"autofill/payments/webauthn_dialog_model_observer.h", "autofill/payments/webauthn_dialog_model_observer.h",
"autofill/payments/webauthn_dialog_state.h", "autofill/payments/webauthn_dialog_state.h",
@ -155,16 +146,7 @@ index c54ec37e56ad7..fda899ec278ef 100644
"incognito_clear_browsing_data_dialog_interface.h", "incognito_clear_browsing_data_dialog_interface.h",
"passwords/password_cross_domain_confirmation_popup_controller_impl.cc", "passwords/password_cross_domain_confirmation_popup_controller_impl.cc",
"passwords/password_cross_domain_confirmation_popup_controller_impl.h", "passwords/password_cross_domain_confirmation_popup_controller_impl.h",
@@ -4758,8 +4767,6 @@ static_library("ui") { @@ -5875,6 +5882,7 @@ static_library("ui") {
"views/accessibility/theme_tracking_non_accessible_image_view.h",
"views/apps/app_dialog/app_dialog_view.cc",
"views/apps/app_dialog/app_dialog_view.h",
- "views/apps/app_dialog/app_uninstall_dialog_view.cc",
- "views/apps/app_dialog/app_uninstall_dialog_view.h",
"views/apps/app_info_dialog/app_info_dialog_container.cc",
"views/apps/app_info_dialog/app_info_dialog_container.h",
"views/apps/app_info_dialog/app_info_dialog_views.cc",
@@ -6578,6 +6585,7 @@ static_library("ui") {
if (enable_printing) { if (enable_printing) {
deps += [ deps += [
"//components/printing/browser", "//components/printing/browser",
@ -173,10 +155,10 @@ index c54ec37e56ad7..fda899ec278ef 100644
] ]
} }
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index 681fe10f28260..19a47e4a5bb22 100644 index dc07c5029aa49..57d979ff377d6 100644
--- chrome/browser/ui/browser.cc --- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc +++ chrome/browser/ui/browser.cc
@@ -271,6 +271,25 @@ @@ -272,6 +272,25 @@
#include "components/captive_portal/content/captive_portal_tab_helper.h" #include "components/captive_portal/content/captive_portal_tab_helper.h"
#endif #endif
@ -202,7 +184,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
#if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h" #include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif #endif
@@ -536,6 +555,10 @@ Browser::Browser(const CreateParams& params) @@ -537,6 +556,10 @@ Browser::Browser(const CreateParams& params)
type_(params.type), type_(params.type),
profile_(params.profile), profile_(params.profile),
window_(nullptr), window_(nullptr),
@ -213,7 +195,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
tab_strip_model_delegate_( tab_strip_model_delegate_(
std::make_unique<chrome::BrowserTabStripModelDelegate>(this)), std::make_unique<chrome::BrowserTabStripModelDelegate>(this)),
tab_strip_model_(std::make_unique<TabStripModel>( tab_strip_model_(std::make_unique<TabStripModel>(
@@ -769,6 +792,12 @@ Browser::~Browser() { @@ -775,6 +798,12 @@ Browser::~Browser() {
// away so they don't try and call back to us. // away so they don't try and call back to us.
if (select_file_dialog_.get()) if (select_file_dialog_.get())
select_file_dialog_->ListenerDestroyed(); select_file_dialog_->ListenerDestroyed();
@ -226,7 +208,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
@@ -1242,6 +1271,8 @@ void Browser::WindowFullscreenStateChanged() { @@ -1299,6 +1328,8 @@ void Browser::WindowFullscreenStateChanged() {
->WindowFullscreenStateChanged(); ->WindowFullscreenStateChanged();
command_controller_->FullscreenStateChanged(); command_controller_->FullscreenStateChanged();
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN); UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN);
@ -235,7 +217,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
void Browser::FullscreenTopUIStateChanged() { void Browser::FullscreenTopUIStateChanged() {
@@ -1615,6 +1646,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent( @@ -1672,6 +1703,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event)) if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED; return content::KeyboardEventProcessingResult::HANDLED;
@ -250,7 +232,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
return window()->PreHandleKeyboardEvent(event); return window()->PreHandleKeyboardEvent(event);
} }
@@ -1622,8 +1661,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source, @@ -1679,8 +1718,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) { const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window = DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source); DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -271,7 +253,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
bool Browser::TabsNeedBeforeUnloadFired() const { bool Browser::TabsNeedBeforeUnloadFired() const {
@@ -1785,6 +1834,14 @@ WebContents* Browser::OpenURLFromTab( @@ -1842,6 +1891,14 @@ WebContents* Browser::OpenURLFromTab(
} }
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -286,7 +268,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
NavigateParams nav_params(this, params.url, params.transition); NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params); nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source; nav_params.source_contents = source;
@@ -1947,6 +2004,8 @@ void Browser::LoadingStateChanged(WebContents* source, @@ -2005,6 +2062,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) { bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD); ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui); UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -295,7 +277,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
void Browser::CloseContents(WebContents* source) { void Browser::CloseContents(WebContents* source) {
@@ -1975,6 +2034,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) { @@ -2033,6 +2092,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
} }
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@ -304,7 +286,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
if (!GetStatusBubble()) if (!GetStatusBubble())
return; return;
@@ -1982,6 +2043,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { @@ -2040,6 +2101,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url); GetStatusBubble()->SetURL(url);
} }
@ -322,7 +304,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) { void Browser::ContentsMouseEvent(WebContents* source, const ui::Event& event) {
const ui::EventType type = event.type(); const ui::EventType type = event.type();
const bool exited = type == ui::EventType::kMouseExited; const bool exited = type == ui::EventType::kMouseExited;
@@ -2010,6 +2082,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) { @@ -2068,6 +2140,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
return false; return false;
} }
@ -342,7 +324,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
void Browser::BeforeUnloadFired(WebContents* web_contents, void Browser::BeforeUnloadFired(WebContents* web_contents,
bool proceed, bool proceed,
bool* proceed_to_fire_unload) { bool* proceed_to_fire_unload) {
@@ -2109,12 +2194,24 @@ void Browser::WebContentsCreated(WebContents* source_contents, @@ -2167,12 +2252,24 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// Make the tab show up in the task manager. // Make the tab show up in the task manager.
task_manager::WebContentsTags::CreateForTabContents(new_contents); task_manager::WebContentsTags::CreateForTabContents(new_contents);
@ -367,7 +349,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
// Don't show the page hung dialog when a HTML popup hangs because // Don't show the page hung dialog when a HTML popup hangs because
// the dialog will take the focus and immediately close the popup. // the dialog will take the focus and immediately close the popup.
RenderWidgetHostView* view = render_widget_host->GetView(); RenderWidgetHostView* view = render_widget_host->GetView();
@@ -2127,6 +2224,13 @@ void Browser::RendererUnresponsive( @@ -2185,6 +2282,13 @@ void Browser::RendererUnresponsive(
void Browser::RendererResponsive( void Browser::RendererResponsive(
WebContents* source, WebContents* source,
content::RenderWidgetHost* render_widget_host) { content::RenderWidgetHost* render_widget_host) {
@ -381,7 +363,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
RenderWidgetHostView* view = render_widget_host->GetView(); RenderWidgetHostView* view = render_widget_host->GetView();
if (view && !render_widget_host->GetView()->IsHTMLFormPopup()) { if (view && !render_widget_host->GetView()->IsHTMLFormPopup()) {
TabDialogs::FromWebContents(source)->HideHungRendererDialog( TabDialogs::FromWebContents(source)->HideHungRendererDialog(
@@ -2136,6 +2240,15 @@ void Browser::RendererResponsive( @@ -2194,6 +2298,15 @@ void Browser::RendererResponsive(
content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager( content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager(
WebContents* source) { WebContents* source) {
@ -397,7 +379,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
return javascript_dialogs::TabModalDialogManager::FromWebContents(source); return javascript_dialogs::TabModalDialogManager::FromWebContents(source);
} }
@@ -2171,6 +2284,11 @@ void Browser::DraggableRegionsChanged( @@ -2229,6 +2342,11 @@ void Browser::DraggableRegionsChanged(
if (app_controller_) { if (app_controller_) {
app_controller_->DraggableRegionsChanged(regions, contents); app_controller_->DraggableRegionsChanged(regions, contents);
} }
@ -409,7 +391,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
void Browser::DidFinishNavigation( void Browser::DidFinishNavigation(
@@ -2251,11 +2369,15 @@ void Browser::EnterFullscreenModeForTab( @@ -2309,11 +2427,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) { const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab( exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id); requesting_frame, options.display_id);
@ -425,7 +407,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) { bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2456,6 +2578,15 @@ void Browser::RequestMediaAccessPermission( @@ -2513,6 +2635,15 @@ void Browser::RequestMediaAccessPermission(
content::WebContents* web_contents, content::WebContents* web_contents,
const content::MediaStreamRequest& request, const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) { content::MediaResponseCallback callback) {
@ -441,20 +423,19 @@ index 681fe10f28260..19a47e4a5bb22 100644
const extensions::Extension* extension = const extensions::Extension* extension =
GetExtensionForOrigin(profile_, request.security_origin); GetExtensionForOrigin(profile_, request.security_origin);
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest( MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
@@ -2998,9 +3129,11 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) { @@ -3069,9 +3200,10 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
// Browser, Getters for UI (private): // Browser, Getters for UI (private):
StatusBubble* Browser::GetStatusBubble() { StatusBubble* Browser::GetStatusBubble() {
+ bool show_by_default = true; + bool show_by_default = true;
+
// For kiosk and exclusive app mode we want to always hide the status bubble. // For kiosk and exclusive app mode we want to always hide the status bubble.
if (chrome::IsRunningInAppMode()) { if (IsRunningInAppMode()) {
- return nullptr; - return nullptr;
+ show_by_default = false; + show_by_default = false;
} }
// We hide the status bar for web apps windows as this matches native // We hide the status bar for web apps windows as this matches native
@@ -3008,6 +3141,12 @@ StatusBubble* Browser::GetStatusBubble() { @@ -3079,6 +3211,12 @@ StatusBubble* Browser::GetStatusBubble() {
// mode, as the minimal browser UI includes the status bar. // mode, as the minimal browser UI includes the status bar.
if (web_app::AppBrowserController::IsWebApp(this) && if (web_app::AppBrowserController::IsWebApp(this) &&
!app_controller()->HasMinimalUiButtons()) { !app_controller()->HasMinimalUiButtons()) {
@ -467,7 +448,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
return nullptr; return nullptr;
} }
@@ -3157,6 +3296,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) { @@ -3228,6 +3366,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this); BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
web_contents_collection_.StopObserving(web_contents); web_contents_collection_.StopObserving(web_contents);
} }
@ -476,7 +457,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
} }
void Browser::TabDetachedAtImpl(content::WebContents* contents, void Browser::TabDetachedAtImpl(content::WebContents* contents,
@@ -3311,6 +3452,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature( @@ -3382,6 +3522,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
bool Browser::SupportsWindowFeatureImpl(WindowFeature feature, bool Browser::SupportsWindowFeatureImpl(WindowFeature feature,
bool check_can_support) const { bool check_can_support) const {
@ -492,7 +473,7 @@ index 681fe10f28260..19a47e4a5bb22 100644
case TYPE_NORMAL: case TYPE_NORMAL:
return NormalBrowserSupportsWindowFeature(feature, check_can_support); return NormalBrowserSupportsWindowFeature(feature, check_can_support);
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index cbc5ae1c02941..f0200afb918c1 100644 index 9081a0ed32b64..5fc21fd1c33a4 100644
--- chrome/browser/ui/browser.h --- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h +++ chrome/browser/ui/browser.h
@@ -24,6 +24,7 @@ @@ -24,6 +24,7 @@
@ -514,7 +495,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
#error This file should only be included on desktop. #error This file should only be included on desktop.
#endif #endif
@@ -376,6 +381,15 @@ class Browser : public TabStripModelObserver, @@ -335,6 +340,15 @@ class Browser : public TabStripModelObserver,
// Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE. // Document Picture in Picture options, specific to TYPE_PICTURE_IN_PICTURE.
std::optional<blink::mojom::PictureInPictureWindowOptions> pip_options; std::optional<blink::mojom::PictureInPictureWindowOptions> pip_options;
@ -530,7 +511,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
private: private:
friend class Browser; friend class Browser;
friend class WindowSizerChromeOSTest; friend class WindowSizerChromeOSTest;
@@ -457,6 +471,13 @@ class Browser : public TabStripModelObserver, @@ -416,6 +430,13 @@ class Browser : public TabStripModelObserver,
update_ui_immediately_for_testing_ = true; update_ui_immediately_for_testing_ = true;
} }
@ -544,7 +525,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
// Accessors //////////////////////////////////////////////////////////////// // Accessors ////////////////////////////////////////////////////////////////
const CreateParams& create_params() const { return create_params_; } const CreateParams& create_params() const { return create_params_; }
@@ -552,6 +573,12 @@ class Browser : public TabStripModelObserver, @@ -511,6 +532,12 @@ class Browser : public TabStripModelObserver,
base::WeakPtr<Browser> AsWeakPtr(); base::WeakPtr<Browser> AsWeakPtr();
base::WeakPtr<const Browser> AsWeakPtr() const; base::WeakPtr<const Browser> AsWeakPtr() const;
@ -557,7 +538,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
// Get the FindBarController for this browser, creating it if it does not // Get the FindBarController for this browser, creating it if it does not
// yet exist. // yet exist.
FindBarController* GetFindBarController(); FindBarController* GetFindBarController();
@@ -963,10 +990,18 @@ class Browser : public TabStripModelObserver, @@ -940,10 +967,18 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source, void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override; const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override; void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -576,7 +557,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
void BeforeUnloadFired(content::WebContents* source, void BeforeUnloadFired(content::WebContents* source,
bool proceed, bool proceed,
bool* proceed_to_fire_unload) override; bool* proceed_to_fire_unload) override;
@@ -1294,6 +1329,10 @@ class Browser : public TabStripModelObserver, @@ -1280,6 +1315,10 @@ class Browser : public TabStripModelObserver,
// This Browser's window. // This Browser's window.
raw_ptr<BrowserWindow, DanglingUntriaged> window_; raw_ptr<BrowserWindow, DanglingUntriaged> window_;
@ -587,7 +568,7 @@ index cbc5ae1c02941..f0200afb918c1 100644
std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_; std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_;
std::unique_ptr<TabStripModel> const tab_strip_model_; std::unique_ptr<TabStripModel> const tab_strip_model_;
@@ -1360,6 +1399,8 @@ class Browser : public TabStripModelObserver, @@ -1346,6 +1385,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_; const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_; bool initial_visible_on_all_workspaces_state_;
@ -597,10 +578,10 @@ index cbc5ae1c02941..f0200afb918c1 100644
UnloadController unload_controller_; UnloadController unload_controller_;
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index 1e4d7bc3a4c0a..9ac5f645e4591 100644 index 31e27cfa516bc..e98078bf64c61 100644
--- chrome/browser/ui/browser_navigator.cc --- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc +++ chrome/browser/ui/browser_navigator.cc
@@ -311,6 +311,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition( @@ -263,6 +263,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
browser_params.pip_options = pip_options; browser_params.pip_options = pip_options;
@ -611,7 +592,7 @@ index 1e4d7bc3a4c0a..9ac5f645e4591 100644
const BrowserWindow* const browser_window = params.browser->window(); const BrowserWindow* const browser_window = params.browser->window();
const gfx::NativeWindow native_window = const gfx::NativeWindow native_window =
browser_window ? browser_window->GetNativeWindow() browser_window ? browser_window->GetNativeWindow()
@@ -599,6 +603,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents( @@ -551,6 +555,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents = std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params); WebContents::Create(create_params);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index ec801ac598ed6..818c55412f280 100644 index aad2abb0c249a..09c7d5313dea0 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc --- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -350,6 +350,18 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() { @@ -354,6 +354,18 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
return callback.get(); return callback.get();
} }
@ -21,7 +21,7 @@ index ec801ac598ed6..818c55412f280 100644
enum class UmaEnumIdLookupType { enum class UmaEnumIdLookupType {
GeneralEnumId, GeneralEnumId,
ContextSpecificEnumId, ContextSpecificEnumId,
@@ -615,6 +627,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) { @@ -620,6 +632,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
return 1; return 1;
} }
@ -32,7 +32,7 @@ index ec801ac598ed6..818c55412f280 100644
id = CollapseCommandsForUMA(id); id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type); const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id); auto it = map.find(id);
@@ -881,6 +897,14 @@ RenderViewContextMenu::RenderViewContextMenu( @@ -896,6 +912,14 @@ RenderViewContextMenu::RenderViewContextMenu(
: nullptr; : nullptr;
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -47,7 +47,7 @@ index ec801ac598ed6..818c55412f280 100644
observers_.AddObserver(&autofill_context_menu_manager_); observers_.AddObserver(&autofill_context_menu_manager_);
} }
@@ -1342,6 +1366,12 @@ void RenderViewContextMenu::InitMenu() { @@ -1357,6 +1381,12 @@ void RenderViewContextMenu::InitMenu() {
autofill_client->HideAutofillSuggestions( autofill_client->HideAutofillSuggestions(
autofill::SuggestionHidingReason::kContextMenuOpened); autofill::SuggestionHidingReason::kContextMenuOpened);
} }
@ -60,7 +60,7 @@ index ec801ac598ed6..818c55412f280 100644
} }
Profile* RenderViewContextMenu::GetProfile() const { Profile* RenderViewContextMenu::GetProfile() const {
@@ -3615,6 +3645,26 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting( @@ -3639,6 +3669,26 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb); execute_plugin_action_callback_ = std::move(cb);
} }
@ -88,7 +88,7 @@ index ec801ac598ed6..818c55412f280 100644
RenderViewContextMenu::GetHandlersForLinkUrl() { RenderViewContextMenu::GetHandlersForLinkUrl() {
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers = custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
index 1fb447e87c1f9..7e530509425f4 100644 index f3abb9c4164f3..c4c14e820e566 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h --- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h +++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -153,7 +153,21 @@ class RenderViewContextMenu @@ -153,7 +153,21 @@ class RenderViewContextMenu
@ -113,7 +113,7 @@ index 1fb447e87c1f9..7e530509425f4 100644
Profile* GetProfile() const; Profile* GetProfile() const;
// This may return nullptr (e.g. for WebUI dialogs). Virtual to allow tests to // This may return nullptr (e.g. for WebUI dialogs). Virtual to allow tests to
@@ -475,6 +489,9 @@ class RenderViewContextMenu @@ -476,6 +490,9 @@ class RenderViewContextMenu
// built. // built.
bool is_protocol_submenu_valid_ = false; bool is_protocol_submenu_valid_ = false;
@ -189,7 +189,7 @@ index 9f6c5fd44f206..dc50bc909897f 100644
runner_->Cancel(); 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 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 c88a77a0b49e2..31b7224a36ae8 100644 index 5e34ee23fa791..36be094844276 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
+++ 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, @@ -149,6 +149,9 @@ void RenderViewContextMenuViews::RunMenuAt(views::Widget* parent,

View File

@ -161,7 +161,7 @@ index 49272553c7c53..5ba90c9a06ecf 100644
raw_ptr<content::WebContents, AcrossTasksDanglingUntriaged> source_contents_; raw_ptr<content::WebContents, AcrossTasksDanglingUntriaged> source_contents_;
}; };
diff --git ui/shell_dialogs/select_file_dialog.cc ui/shell_dialogs/select_file_dialog.cc diff --git ui/shell_dialogs/select_file_dialog.cc ui/shell_dialogs/select_file_dialog.cc
index 1bc5ddb0ab802..053916ea1c998 100644 index f9c0d03193a63..f32f02d216120 100644
--- ui/shell_dialogs/select_file_dialog.cc --- ui/shell_dialogs/select_file_dialog.cc
+++ ui/shell_dialogs/select_file_dialog.cc +++ ui/shell_dialogs/select_file_dialog.cc
@@ -88,8 +88,10 @@ void SelectFileDialog::SetFactory( @@ -88,8 +88,10 @@ void SelectFileDialog::SetFactory(
@ -178,7 +178,7 @@ index 1bc5ddb0ab802..053916ea1c998 100644
return CreateSelectFileDialog(listener, std::move(policy)); return CreateSelectFileDialog(listener, std::move(policy));
} }
diff --git ui/shell_dialogs/select_file_dialog.h ui/shell_dialogs/select_file_dialog.h diff --git ui/shell_dialogs/select_file_dialog.h ui/shell_dialogs/select_file_dialog.h
index ab916846f3776..70ac544ca6884 100644 index eb3d997598631..e3002e471e842 100644
--- ui/shell_dialogs/select_file_dialog.h --- ui/shell_dialogs/select_file_dialog.h
+++ ui/shell_dialogs/select_file_dialog.h +++ ui/shell_dialogs/select_file_dialog.h
@@ -96,7 +96,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -96,7 +96,8 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
@ -202,7 +202,7 @@ index ab916846f3776..70ac544ca6884 100644
// Specifies whether there will be a filter added for all files (i.e. *.*). // Specifies whether there will be a filter added for all files (i.e. *.*).
bool include_all_files = false; bool include_all_files = false;
@@ -220,6 +225,19 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -224,6 +229,19 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
const GURL* caller = nullptr); const GURL* caller = nullptr);
bool HasMultipleFileTypeChoices(); bool HasMultipleFileTypeChoices();
@ -222,7 +222,7 @@ index ab916846f3776..70ac544ca6884 100644
protected: protected:
friend class base::RefCountedThreadSafe<SelectFileDialog>; friend class base::RefCountedThreadSafe<SelectFileDialog>;
@@ -244,6 +262,11 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -248,6 +266,11 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
// The listener to be notified of selection completion. // The listener to be notified of selection completion.
raw_ptr<Listener> listener_; raw_ptr<Listener> listener_;
@ -234,7 +234,7 @@ index ab916846f3776..70ac544ca6884 100644
private: private:
// Tests if the file selection dialog can be displayed by // Tests if the file selection dialog can be displayed by
// testing if the AllowFileSelectionDialogs-Policy is // testing if the AllowFileSelectionDialogs-Policy is
@@ -256,8 +279,6 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog @@ -260,8 +283,6 @@ class SHELL_DIALOGS_EXPORT SelectFileDialog
// Returns true if the dialog has multiple file type choices. // Returns true if the dialog has multiple file type choices.
virtual bool HasMultipleFileTypeChoicesImpl() = 0; virtual bool HasMultipleFileTypeChoicesImpl() = 0;

View File

@ -12,10 +12,10 @@ index b169371e4d42f..509e4bda85b47 100644
// on the screen, we can't actually attach to it. // on the screen, we can't actually attach to it.
parent_window = nullptr; parent_window = nullptr;
diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc
index d0a13b1666772..2b604aa1da656 100644 index a1242433efd31..d649bebf32d2a 100644
--- components/constrained_window/constrained_window_views.cc --- components/constrained_window/constrained_window_views.cc
+++ components/constrained_window/constrained_window_views.cc +++ components/constrained_window/constrained_window_views.cc
@@ -100,10 +100,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver { @@ -101,10 +101,17 @@ class ModalDialogHostObserverViews : public ModalDialogHostObserver {
gfx::Rect GetModalDialogBounds(views::Widget* widget, gfx::Rect GetModalDialogBounds(views::Widget* widget,
web_modal::ModalDialogHost* dialog_host, web_modal::ModalDialogHost* dialog_host,
const gfx::Size& size) { const gfx::Size& size) {
@ -36,7 +36,7 @@ index d0a13b1666772..2b604aa1da656 100644
} }
gfx::Point position = dialog_host->GetDialogPosition(size); gfx::Point position = dialog_host->GetDialogPosition(size);
@@ -112,43 +119,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget, @@ -113,43 +120,22 @@ gfx::Rect GetModalDialogBounds(views::Widget* widget,
position.set_y(position.y() - position.set_y(position.y() -
widget->non_client_view()->frame_view()->GetInsets().top()); widget->non_client_view()->frame_view()->GetInsets().top());
@ -94,7 +94,7 @@ index d0a13b1666772..2b604aa1da656 100644
} }
void UpdateModalDialogPosition(views::Widget* widget, void UpdateModalDialogPosition(views::Widget* widget,
@@ -159,15 +145,24 @@ void UpdateModalDialogPosition(views::Widget* widget, @@ -160,15 +146,24 @@ void UpdateModalDialogPosition(views::Widget* widget,
return; return;
} }
@ -121,7 +121,7 @@ index d0a13b1666772..2b604aa1da656 100644
return; return;
} }
@@ -297,8 +292,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, @@ -298,8 +293,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
gfx::NativeView parent_view = gfx::NativeView parent_view =
parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : nullptr; parent ? CurrentBrowserModalClient()->GetDialogHostView(parent) : nullptr;
@ -136,7 +136,7 @@ index d0a13b1666772..2b604aa1da656 100644
widget->SetNativeWindowProperty( widget->SetNativeWindowProperty(
views::kWidgetIdentifierKey, views::kWidgetIdentifierKey,
const_cast<void*>(kConstrainedWindowWidgetIdentifier)); const_cast<void*>(kConstrainedWindowWidgetIdentifier));
@@ -315,8 +315,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog, @@ -316,8 +316,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
return widget; return widget;
ModalDialogHost* host = ModalDialogHost* host =
@ -146,7 +146,7 @@ index d0a13b1666772..2b604aa1da656 100644
if (host) { if (host) {
DCHECK_EQ(parent_view, host->GetHostView()); DCHECK_EQ(parent_view, host->GetHostView());
std::unique_ptr<ModalDialogHostObserver> observer = std::unique_ptr<ModalDialogHostObserver> observer =
@@ -333,11 +332,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, views::Widget* ShowBrowserModal(std::unique_ptr<ui::DialogModel> dialog_model,
gfx::NativeWindow parent) { gfx::NativeWindow parent) {
@ -164,8 +164,8 @@ index d0a13b1666772..2b604aa1da656 100644
- : nullptr); - : nullptr);
+ parent_view, parent_widget); + parent_view, parent_widget);
auto dialog = views::BubbleDialogModelHost::CreateModal( auto dialog = views::BubbleDialogModelHost::CreateModal(
std::move(dialog_model), ui::MODAL_TYPE_WINDOW, will_use_custom_frame); std::move(dialog_model), ui::mojom::ModalType::kWindow,
dialog->SetOwnedByWidget(true); will_use_custom_frame);
diff --git components/constrained_window/native_web_contents_modal_dialog_manager_views.cc components/constrained_window/native_web_contents_modal_dialog_manager_views.cc diff --git components/constrained_window/native_web_contents_modal_dialog_manager_views.cc components/constrained_window/native_web_contents_modal_dialog_manager_views.cc
index 2b495a8ab092c..01a28aca853d0 100644 index 2b495a8ab092c..01a28aca853d0 100644
--- components/constrained_window/native_web_contents_modal_dialog_manager_views.cc --- components/constrained_window/native_web_contents_modal_dialog_manager_views.cc
@ -210,10 +210,10 @@ index 51ed6bcf6b540..c6e1161140655 100644
virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0; virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0;
// Returns whether a dialog currently about to be shown should be activated. // Returns whether a dialog currently about to be shown should be activated.
diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc
index e1ac8ad60e63b..53816c9d82db0 100644 index c10c91a0d18eb..e66e2bfcf4ef5 100644
--- ui/views/window/dialog_delegate.cc --- ui/views/window/dialog_delegate.cc
+++ ui/views/window/dialog_delegate.cc +++ ui/views/window/dialog_delegate.cc
@@ -85,10 +85,12 @@ DialogDelegate::DialogDelegate() { @@ -86,10 +86,12 @@ DialogDelegate::DialogDelegate() {
// static // static
Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate,
gfx::NativeWindow context, gfx::NativeWindow context,
@ -228,7 +228,7 @@ index e1ac8ad60e63b..53816c9d82db0 100644
widget->Init(std::move(params)); widget->Init(std::move(params));
return widget; return widget;
} }
@@ -97,16 +99,18 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate, @@ -98,16 +100,18 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDelegate* delegate,
Widget* DialogDelegate::CreateDialogWidget( Widget* DialogDelegate::CreateDialogWidget(
std::unique_ptr<WidgetDelegate> delegate, std::unique_ptr<WidgetDelegate> delegate,
gfx::NativeWindow context, gfx::NativeWindow context,
@ -251,7 +251,7 @@ index e1ac8ad60e63b..53816c9d82db0 100644
#else #else
return true; return true;
#endif #endif
@@ -117,7 +121,8 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( @@ -118,7 +122,8 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
WidgetDelegate* delegate, WidgetDelegate* delegate,
gfx::NativeWindow context, gfx::NativeWindow context,
gfx::NativeView parent, gfx::NativeView parent,
@ -261,7 +261,7 @@ index e1ac8ad60e63b..53816c9d82db0 100644
DialogDelegate* dialog = delegate->AsDialogDelegate(); DialogDelegate* dialog = delegate->AsDialogDelegate();
views::Widget::InitParams params( views::Widget::InitParams params(
@@ -127,7 +132,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( @@ -128,7 +133,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
params.bounds = bounds; params.bounds = bounds;
if (dialog) if (dialog)
@ -270,19 +270,19 @@ index e1ac8ad60e63b..53816c9d82db0 100644
if (!dialog || dialog->use_custom_frame()) { if (!dialog || dialog->use_custom_frame()) {
params.opacity = Widget::InitParams::WindowOpacity::kTranslucent; params.opacity = Widget::InitParams::WindowOpacity::kTranslucent;
@@ -140,6 +145,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams( @@ -141,6 +146,7 @@ Widget::InitParams DialogDelegate::GetDialogWidgetInitParams(
} }
params.context = context; params.context = context;
params.parent = parent; params.parent = parent;
+ params.parent_widget = parent_widget; + params.parent_widget = parent_widget;
#if !BUILDFLAG(IS_APPLE) #if !BUILDFLAG(IS_APPLE)
// Web-modal (ui::MODAL_TYPE_CHILD) dialogs with parents are marked as child // Web-modal (ui::mojom::ModalType::kChild) dialogs with parents are marked as
// widgets to prevent top-level window behavior (independent movement, etc). // child widgets to prevent top-level window behavior (independent movement,
diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h
index e5e145be9e14a..6663b8645ae7d 100644 index 2e18d38c8a71a..9d79b5bc53f78 100644
--- ui/views/window/dialog_delegate.h --- ui/views/window/dialog_delegate.h
+++ ui/views/window/dialog_delegate.h +++ ui/views/window/dialog_delegate.h
@@ -99,13 +99,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { @@ -100,13 +100,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate {
// your use case. // your use case.
static Widget* CreateDialogWidget(std::unique_ptr<WidgetDelegate> delegate, static Widget* CreateDialogWidget(std::unique_ptr<WidgetDelegate> delegate,
gfx::NativeWindow context, gfx::NativeWindow context,
@ -304,7 +304,7 @@ index e5e145be9e14a..6663b8645ae7d 100644
// Returns the dialog widget InitParams for a given |context| or |parent|. // Returns the dialog widget InitParams for a given |context| or |parent|.
// If |bounds| is not empty, used to initially place the dialog, otherwise // If |bounds| is not empty, used to initially place the dialog, otherwise
@@ -113,7 +118,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate { @@ -114,7 +119,9 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate {
static Widget::InitParams GetDialogWidgetInitParams(WidgetDelegate* delegate, static Widget::InitParams GetDialogWidgetInitParams(WidgetDelegate* delegate,
gfx::NativeWindow context, gfx::NativeWindow context,
gfx::NativeView parent, gfx::NativeView parent,

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/download/chrome_download_manager_delegate.cc chrome/browser/download/chrome_download_manager_delegate.cc diff --git chrome/browser/download/chrome_download_manager_delegate.cc chrome/browser/download/chrome_download_manager_delegate.cc
index 1becf94d357e9..10c169b092a3d 100644 index e9f68185e59c8..24bd2abbde36b 100644
--- chrome/browser/download/chrome_download_manager_delegate.cc --- chrome/browser/download/chrome_download_manager_delegate.cc
+++ chrome/browser/download/chrome_download_manager_delegate.cc +++ chrome/browser/download/chrome_download_manager_delegate.cc
@@ -31,6 +31,7 @@ @@ -31,6 +31,7 @@
@ -21,7 +21,7 @@ index 1becf94d357e9..10c169b092a3d 100644
using content::BrowserThread; using content::BrowserThread;
using content::DownloadManager; using content::DownloadManager;
using download::DownloadItem; using download::DownloadItem;
@@ -513,6 +518,11 @@ ChromeDownloadManagerDelegate::ChromeDownloadManagerDelegate(Profile* profile) @@ -518,6 +523,11 @@ ChromeDownloadManagerDelegate::ChromeDownloadManagerDelegate(Profile* profile)
download_dialog_bridge_ = std::make_unique<DownloadDialogBridge>(); download_dialog_bridge_ = std::make_unique<DownloadDialogBridge>();
download_message_bridge_ = std::make_unique<DownloadMessageBridge>(); download_message_bridge_ = std::make_unique<DownloadMessageBridge>();
#endif #endif
@ -33,7 +33,7 @@ index 1becf94d357e9..10c169b092a3d 100644
} }
ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() { ChromeDownloadManagerDelegate::~ChromeDownloadManagerDelegate() {
@@ -572,6 +582,9 @@ void ChromeDownloadManagerDelegate::Shutdown() { @@ -577,6 +587,9 @@ void ChromeDownloadManagerDelegate::Shutdown() {
download_manager_->RemoveObserver(this); download_manager_->RemoveObserver(this);
download_manager_ = nullptr; download_manager_ = nullptr;
} }
@ -43,7 +43,7 @@ index 1becf94d357e9..10c169b092a3d 100644
} }
void ChromeDownloadManagerDelegate::OnDownloadCanceledAtShutdown( void ChromeDownloadManagerDelegate::OnDownloadCanceledAtShutdown(
@@ -640,6 +653,12 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget( @@ -645,6 +658,12 @@ bool ChromeDownloadManagerDelegate::DetermineDownloadTarget(
ReportPDFLoadStatus(PDFLoadStatus::kTriggeredNoGestureDriveByDownload); ReportPDFLoadStatus(PDFLoadStatus::kTriggeredNoGestureDriveByDownload);
} }
@ -56,7 +56,7 @@ index 1becf94d357e9..10c169b092a3d 100644
DownloadTargetDeterminer::CompletionCallback target_determined_callback = DownloadTargetDeterminer::CompletionCallback target_determined_callback =
base::BindOnce(&ChromeDownloadManagerDelegate::OnDownloadTargetDetermined, base::BindOnce(&ChromeDownloadManagerDelegate::OnDownloadTargetDetermined,
weak_ptr_factory_.GetWeakPtr(), download->GetId(), weak_ptr_factory_.GetWeakPtr(), download->GetId(),
@@ -1027,8 +1046,11 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) { @@ -1033,8 +1052,11 @@ void ChromeDownloadManagerDelegate::OpenDownload(DownloadItem* download) {
Browser* browser = Browser* browser =
web_contents ? chrome::FindBrowserWithTab(web_contents) : nullptr; web_contents ? chrome::FindBrowserWithTab(web_contents) : nullptr;
std::unique_ptr<chrome::ScopedTabbedBrowserDisplayer> browser_displayer; std::unique_ptr<chrome::ScopedTabbedBrowserDisplayer> browser_displayer;

View File

@ -34,10 +34,10 @@ index 4007e26f780c3..26d0d492cf176 100644
WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate( WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc
index 6e3aae787fc9d..67ea775042117 100644 index 723e68fdb68e0..604989e6bfd1a 100644
--- chrome/browser/extensions/api/tabs/tabs_api.cc --- chrome/browser/extensions/api/tabs/tabs_api.cc
+++ chrome/browser/extensions/api/tabs/tabs_api.cc +++ chrome/browser/extensions/api/tabs/tabs_api.cc
@@ -1553,7 +1553,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1552,7 +1552,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
if (DevToolsWindow::IsDevToolsWindow(contents)) if (DevToolsWindow::IsDevToolsWindow(contents))
return RespondNow(Error(tabs_constants::kNotAllowedForDevToolsError)); return RespondNow(Error(tabs_constants::kNotAllowedForDevToolsError));
@ -46,7 +46,7 @@ index 6e3aae787fc9d..67ea775042117 100644
return RespondNow(Error(tabs_constants::kNoCurrentWindowError)); return RespondNow(Error(tabs_constants::kNoCurrentWindowError));
web_contents_ = contents; web_contents_ = contents;
@@ -1577,7 +1577,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1576,7 +1576,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
return RespondNow(Error(tabs_constants::kTabStripNotEditableError)); return RespondNow(Error(tabs_constants::kTabStripNotEditableError));
} }
@ -55,7 +55,7 @@ index 6e3aae787fc9d..67ea775042117 100644
tab_strip->ActivateTabAt(tab_index); tab_strip->ActivateTabAt(tab_index);
DCHECK_EQ(contents, tab_strip->GetActiveWebContents()); DCHECK_EQ(contents, tab_strip->GetActiveWebContents());
} }
@@ -1591,7 +1591,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1590,7 +1590,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
} }
bool highlighted = *params->update_properties.highlighted; bool highlighted = *params->update_properties.highlighted;
@ -64,7 +64,7 @@ index 6e3aae787fc9d..67ea775042117 100644
tab_strip->ToggleSelectionAt(tab_index); tab_strip->ToggleSelectionAt(tab_index);
} }
} }
@@ -1604,7 +1604,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1603,7 +1603,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
base::NumberToString(tab_id)))); base::NumberToString(tab_id))));
} }
@ -73,7 +73,7 @@ index 6e3aae787fc9d..67ea775042117 100644
int opener_id = *params->update_properties.opener_tab_id; int opener_id = *params->update_properties.opener_tab_id;
WebContents* opener_contents = nullptr; WebContents* opener_contents = nullptr;
if (opener_id == tab_id) { if (opener_id == tab_id) {
@@ -1639,11 +1639,11 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1638,11 +1638,11 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
} }
const bool contents_in_an_uneditable_saved_group = const bool contents_in_an_uneditable_saved_group =
@ -87,7 +87,7 @@ index 6e3aae787fc9d..67ea775042117 100644
// Pinning will result in changes to the tabs index/group affiliation in // Pinning will result in changes to the tabs index/group affiliation in
// some cases, Throw an error if a tab is attempting to be pinned. // some cases, Throw an error if a tab is attempting to be pinned.
if (contents_in_an_uneditable_saved_group) { if (contents_in_an_uneditable_saved_group) {
@@ -1674,8 +1674,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1673,8 +1673,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
} }
std::string updated_url = *params->update_properties.url; std::string updated_url = *params->update_properties.url;
@ -99,7 +99,7 @@ index 6e3aae787fc9d..67ea775042117 100644
return RespondNow(Error(ErrorUtils::FormatErrorMessage( return RespondNow(Error(ErrorUtils::FormatErrorMessage(
tabs_constants::kURLsNotAllowedInIncognitoError, updated_url))); tabs_constants::kURLsNotAllowedInIncognitoError, updated_url)));
} }
@@ -1689,7 +1690,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() { @@ -1688,7 +1689,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
return RespondNow(Error(std::move(error))); return RespondNow(Error(std::move(error)));
} }
@ -109,7 +109,7 @@ index 6e3aae787fc9d..67ea775042117 100644
current_url, updated_url, js_callstack()); current_url, updated_url, js_callstack());
} }
diff --git chrome/browser/extensions/extension_tab_util.cc chrome/browser/extensions/extension_tab_util.cc diff --git chrome/browser/extensions/extension_tab_util.cc chrome/browser/extensions/extension_tab_util.cc
index a6b36f62fe03c..215caeb8f1315 100644 index 9d33f958ae540..40dc75ebc88b6 100644
--- chrome/browser/extensions/extension_tab_util.cc --- chrome/browser/extensions/extension_tab_util.cc
+++ chrome/browser/extensions/extension_tab_util.cc +++ chrome/browser/extensions/extension_tab_util.cc
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
@ -120,7 +120,7 @@ index a6b36f62fe03c..215caeb8f1315 100644
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/api/tab_groups/tab_groups_util.h" #include "chrome/browser/extensions/api/tab_groups/tab_groups_util.h"
#include "chrome/browser/extensions/api/tabs/tabs_constants.h" #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
@@ -73,6 +74,10 @@ @@ -72,6 +73,10 @@
#include "third_party/blink/public/common/features.h" #include "third_party/blink/public/common/features.h"
#include "url/gurl.h" #include "url/gurl.h"
@ -131,7 +131,7 @@ index a6b36f62fe03c..215caeb8f1315 100644
using content::NavigationEntry; using content::NavigationEntry;
using content::WebContents; using content::WebContents;
using extensions::mojom::APIPermissionID; using extensions::mojom::APIPermissionID;
@@ -764,6 +769,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id, @@ -758,6 +763,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
} }
} }

View File

@ -33,10 +33,10 @@ index decd0b51ddc3d..17fce2da6ad0e 100644
~BrowserFrameMac() override; ~BrowserFrameMac() override;
diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm diff --git chrome/browser/ui/views/frame/browser_frame_mac.mm chrome/browser/ui/views/frame/browser_frame_mac.mm
index 7b52e844d31d1..38862163b6698 100644 index 6763207c69ea5..c838a22f02387 100644
--- chrome/browser/ui/views/frame/browser_frame_mac.mm --- chrome/browser/ui/views/frame/browser_frame_mac.mm
+++ 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() { @@ -183,7 +183,14 @@ void BrowserFrameMac::OnWindowFullscreenTransitionComplete() {
void BrowserFrameMac::ValidateUserInterfaceItem( void BrowserFrameMac::ValidateUserInterfaceItem(
int32_t tag, int32_t tag,
remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) { remote_cocoa::mojom::ValidateUserInterfaceItemResult* result) {
@ -52,7 +52,7 @@ index 7b52e844d31d1..38862163b6698 100644
if (!chrome::SupportsCommand(browser, tag)) { if (!chrome::SupportsCommand(browser, tag)) {
result->enable = false; result->enable = false;
return; return;
@@ -305,8 +312,16 @@ bool BrowserFrameMac::WillExecuteCommand( @@ -306,8 +313,16 @@ bool BrowserFrameMac::WillExecuteCommand(
int32_t command, int32_t command,
WindowOpenDisposition window_open_disposition, WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) { bool is_before_first_responder) {
@ -70,7 +70,7 @@ index 7b52e844d31d1..38862163b6698 100644
if (is_before_first_responder) { if (is_before_first_responder) {
// The specification for this private extensions API is incredibly vague. // The specification for this private extensions API is incredibly vague.
// For now, we avoid triggering chrome commands prior to giving the // For now, we avoid triggering chrome commands prior to giving the
@@ -337,11 +352,20 @@ bool BrowserFrameMac::ExecuteCommand( @@ -338,11 +353,20 @@ bool BrowserFrameMac::ExecuteCommand(
int32_t command, int32_t command,
WindowOpenDisposition window_open_disposition, WindowOpenDisposition window_open_disposition,
bool is_before_first_responder) { bool is_before_first_responder) {

View File

@ -105,7 +105,7 @@ index d8fda08453256..466718e824503 100644
} }
diff --git chrome/browser/policy/chrome_browser_policy_connector.cc chrome/browser/policy/chrome_browser_policy_connector.cc diff --git chrome/browser/policy/chrome_browser_policy_connector.cc chrome/browser/policy/chrome_browser_policy_connector.cc
index 138ae48ca13c1..6d4e45a234a4e 100644 index b7dc08e42137f..50e196ff0251c 100644
--- chrome/browser/policy/chrome_browser_policy_connector.cc --- chrome/browser/policy/chrome_browser_policy_connector.cc
+++ chrome/browser/policy/chrome_browser_policy_connector.cc +++ chrome/browser/policy/chrome_browser_policy_connector.cc
@@ -13,11 +13,14 @@ @@ -13,11 +13,14 @@
@ -208,8 +208,8 @@ index 138ae48ca13c1..6d4e45a234a4e 100644
+ +
base::flat_set<std::string> base::flat_set<std::string>
ChromeBrowserPolicyConnector::device_affiliation_ids() const { ChromeBrowserPolicyConnector::device_affiliation_ids() const {
#if BUILDFLAG(IS_CHROMEOS_LACROS) if (!device_affiliation_ids_for_testing_.empty()) {
@@ -349,25 +424,22 @@ ChromeBrowserPolicyConnector::CreatePolicyProviders() { @@ -357,25 +432,22 @@ ChromeBrowserPolicyConnector::CreatePolicyProviders() {
std::unique_ptr<ConfigurationPolicyProvider> std::unique_ptr<ConfigurationPolicyProvider>
ChromeBrowserPolicyConnector::CreatePlatformProvider() { ChromeBrowserPolicyConnector::CreatePlatformProvider() {
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@ -244,7 +244,7 @@ index 138ae48ca13c1..6d4e45a234a4e 100644
auto loader = std::make_unique<PolicyLoaderMac>( auto loader = std::make_unique<PolicyLoaderMac>(
base::ThreadPool::CreateSequencedTaskRunner( base::ThreadPool::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::BEST_EFFORT}), {base::MayBlock(), base::TaskPriority::BEST_EFFORT}),
@@ -377,7 +449,7 @@ ChromeBrowserPolicyConnector::CreatePlatformProvider() { @@ -385,7 +457,7 @@ ChromeBrowserPolicyConnector::CreatePlatformProvider() {
std::move(loader)); std::move(loader));
#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) #elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
base::FilePath config_dir_path; base::FilePath config_dir_path;
@ -254,7 +254,7 @@ index 138ae48ca13c1..6d4e45a234a4e 100644
// If the folder containing the policy files doesn't exist, there's no need // If the folder containing the policy files doesn't exist, there's no need
// to have a provider for them. Note that in verified boot, the folder // to have a provider for them. Note that in verified boot, the folder
diff --git chrome/browser/policy/chrome_browser_policy_connector.h chrome/browser/policy/chrome_browser_policy_connector.h diff --git chrome/browser/policy/chrome_browser_policy_connector.h chrome/browser/policy/chrome_browser_policy_connector.h
index 8f90fe72995f3..4d818e1cc61c7 100644 index e4c6792766ae4..0a0c054d9e4d1 100644
--- chrome/browser/policy/chrome_browser_policy_connector.h --- chrome/browser/policy/chrome_browser_policy_connector.h
+++ chrome/browser/policy/chrome_browser_policy_connector.h +++ chrome/browser/policy/chrome_browser_policy_connector.h
@@ -28,6 +28,10 @@ @@ -28,6 +28,10 @@
@ -292,8 +292,8 @@ index 8f90fe72995f3..4d818e1cc61c7 100644
+#endif +#endif
+ +
virtual base::flat_set<std::string> device_affiliation_ids() const; virtual base::flat_set<std::string> device_affiliation_ids() const;
void SetDeviceAffiliatedIdsForTesting(
#if BUILDFLAG(IS_CHROMEOS_LACROS) const base::flat_set<std::string>& device_affiliation_ids);
diff --git chrome/browser/policy/policy_path_parser_mac.mm chrome/browser/policy/policy_path_parser_mac.mm diff --git chrome/browser/policy/policy_path_parser_mac.mm chrome/browser/policy/policy_path_parser_mac.mm
index 1a2e78c3472ec..5d1bd95a15113 100644 index 1a2e78c3472ec..5d1bd95a15113 100644
--- chrome/browser/policy/policy_path_parser_mac.mm --- chrome/browser/policy/policy_path_parser_mac.mm

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc diff --git chrome/browser/printing/print_backend_service_manager.cc chrome/browser/printing/print_backend_service_manager.cc
index aef82204869ce..b30d275c97ade 100644 index 8fe9a3e263964..548609bc78b33 100644
--- chrome/browser/printing/print_backend_service_manager.cc --- chrome/browser/printing/print_backend_service_manager.cc
+++ chrome/browser/printing/print_backend_service_manager.cc +++ chrome/browser/printing/print_backend_service_manager.cc
@@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr; @@ -75,7 +75,15 @@ PrintBackendServiceManager* g_print_backend_service_manager_singleton = nullptr;

View File

@ -59,7 +59,7 @@ index 791ab794c8750..ca9e0851e2689 100644
ax::mojom::NameFrom::kAttribute); ax::mojom::NameFrom::kAttribute);
diff --git chrome/browser/ui/views/profiles/profile_menu_coordinator.cc chrome/browser/ui/views/profiles/profile_menu_coordinator.cc diff --git chrome/browser/ui/views/profiles/profile_menu_coordinator.cc chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
index 38e38d6eabc85..0856ae8d5f5ff 100644 index ce7e02f549ab3..338af80de71d6 100644
--- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc --- chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
+++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc +++ chrome/browser/ui/views/profiles/profile_menu_coordinator.cc
@@ -56,7 +56,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) { @@ -56,7 +56,9 @@ void ProfileMenuCoordinator::Show(bool is_source_accelerator) {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
index 3a1fe80217915..43001575fceb6 100644 index 5420ca8496773..74bdd5aa84c31 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc --- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc +++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -658,7 +658,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile( @@ -658,7 +658,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@ -14,7 +14,7 @@ index 3a1fe80217915..43001575fceb6 100644
} }
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
index 5b20629062d21..852e39bd8421e 100644 index e2db3688e3e0b..1772107cbdfc9 100644
--- chrome/browser/profiles/profile.cc --- chrome/browser/profiles/profile.cc
+++ chrome/browser/profiles/profile.cc +++ chrome/browser/profiles/profile.cc
@@ -91,6 +91,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky @@ -91,6 +91,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
@ -85,10 +85,10 @@ index 02454f4e780b5..4641f33c26f5f 100644
// Returns whether the user has signed in this profile to an account. // Returns whether the user has signed in this profile to an account.
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index df8be30cd11b3..9248af3a7c131 100644 index f64a27cfcb5c0..93d0670fa9455 100644
--- chrome/browser/profiles/profile_impl.cc --- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc +++ chrome/browser/profiles/profile_impl.cc
@@ -1036,7 +1036,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id, @@ -1038,7 +1038,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
otr_profiles_[otr_profile_id] = std::move(otr_profile); otr_profiles_[otr_profile_id] = std::move(otr_profile);

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 66e7ef9749ecc..3f7f440643257 100644 index 75934762c580c..8081201acf5a1 100644
--- chrome/browser/safe_browsing/BUILD.gn --- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn +++ chrome/browser/safe_browsing/BUILD.gn
@@ -36,6 +36,7 @@ static_library("safe_browsing") { @@ -36,6 +36,7 @@ static_library("safe_browsing") {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/startup/startup_browser_creator.cc chrome/browser/ui/startup/startup_browser_creator.cc diff --git chrome/browser/ui/startup/startup_browser_creator.cc chrome/browser/ui/startup/startup_browser_creator.cc
index 8740af9bc6cd6..d23a0527420a7 100644 index 5286333070206..a25b8fd2c61b1 100644
--- chrome/browser/ui/startup/startup_browser_creator.cc --- chrome/browser/ui/startup/startup_browser_creator.cc
+++ chrome/browser/ui/startup/startup_browser_creator.cc +++ chrome/browser/ui/startup/startup_browser_creator.cc
@@ -606,6 +606,13 @@ std::optional<ash::KioskAppId> GetAppId(const base::CommandLine& command_line, @@ -606,6 +606,13 @@ std::optional<ash::KioskAppId> GetAppId(const base::CommandLine& command_line,
@ -16,7 +16,7 @@ index 8740af9bc6cd6..d23a0527420a7 100644
} // namespace } // namespace
StartupProfileMode StartupProfileModeFromReason( StartupProfileMode StartupProfileModeFromReason(
@@ -1494,6 +1501,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile( @@ -1503,6 +1510,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile(
{profile, mode}, last_opened_profiles); {profile, mode}, last_opened_profiles);
} }
@ -29,7 +29,7 @@ index 8740af9bc6cd6..d23a0527420a7 100644
// static // static
void StartupBrowserCreator::ProcessCommandLineAlreadyRunning( void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
const base::CommandLine& command_line, const base::CommandLine& command_line,
@@ -1503,6 +1516,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning( @@ -1512,6 +1525,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
return; return;
} }

View File

@ -1,16 +1,8 @@
diff --git chrome/browser/ui/webui/about/about_ui.cc chrome/browser/ui/webui/about/about_ui.cc diff --git chrome/browser/ui/webui/about/about_ui.cc chrome/browser/ui/webui/about/about_ui.cc
index 93efcb5a7edc0..f1cb0c791adf6 100644 index 63e740fe81847..ea422ae7bbda4 100644
--- chrome/browser/ui/webui/about/about_ui.cc --- chrome/browser/ui/webui/about/about_ui.cc
+++ chrome/browser/ui/webui/about/about_ui.cc +++ chrome/browser/ui/webui/about/about_ui.cc
@@ -35,6 +35,7 @@ @@ -92,6 +92,10 @@
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/about_flags.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
@@ -92,6 +93,10 @@
#include "chrome/common/webui_url_constants.h" #include "chrome/common/webui_url_constants.h"
#endif // BUILDFLAG(IS_CHROMEOS) #endif // BUILDFLAG(IS_CHROMEOS)
@ -21,7 +13,19 @@ index 93efcb5a7edc0..f1cb0c791adf6 100644
using content::BrowserThread; using content::BrowserThread;
namespace { namespace {
@@ -695,6 +700,16 @@ void AboutUIHTMLSource::StartDataRequest( @@ -624,6 +628,11 @@ ChromeURLsUIConfig::ChromeURLsUIConfig()
CreditsUIConfig::CreditsUIConfig()
: AboutUIConfigBase(chrome::kChromeUICreditsHost) {}
+#if BUILDFLAG(ENABLE_CEF)
+ChromeUILicenseConfig::ChromeUILicenseConfig()
+ : AboutUIConfigBase(chrome::kChromeUILicenseHost) {}
+#endif
+
#if !BUILDFLAG(IS_ANDROID)
TermsUIConfig::TermsUIConfig()
: AboutUIConfigBase(chrome::kChromeUITermsHost) {}
@@ -725,6 +734,16 @@ void AboutUIHTMLSource::StartDataRequest(
IDS_TERMS_HTML); IDS_TERMS_HTML);
#endif #endif
} }
@ -38,8 +42,56 @@ index 93efcb5a7edc0..f1cb0c791adf6 100644
FinishDataRequest(response, std::move(callback)); FinishDataRequest(response, std::move(callback));
} }
diff --git chrome/browser/ui/webui/about/about_ui.h chrome/browser/ui/webui/about/about_ui.h
index 6548d519c3da9..645163f69f822 100644
--- chrome/browser/ui/webui/about/about_ui.h
+++ chrome/browser/ui/webui/about/about_ui.h
@@ -11,6 +11,7 @@
#include "base/memory/raw_ptr.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
#include "content/public/browser/url_data_source.h"
#include "content/public/browser/web_ui_controller.h"
#include "content/public/browser/webui_config.h"
@@ -42,6 +43,13 @@ class CreditsUIConfig : public AboutUIConfigBase {
CreditsUIConfig();
};
+#if BUILDFLAG(ENABLE_CEF)
+class ChromeUILicenseConfig : public AboutUIConfigBase {
+ public:
+ ChromeUILicenseConfig();
+};
+#endif
+
#if !BUILDFLAG(IS_ANDROID)
// 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 07e648356a5fb..b284630f01b3a 100644
--- chrome/browser/ui/webui/chrome_web_ui_configs.cc
+++ chrome/browser/ui/webui/chrome_web_ui_configs.cc
@@ -6,6 +6,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/ui/webui/about/about_ui.h"
#include "chrome/browser/ui/webui/accessibility/accessibility_ui.h"
#include "chrome/browser/ui/webui/autofill_and_password_manager_internals/autofill_internals_ui.h"
@@ -74,6 +75,9 @@ void RegisterChromeWebUIConfigs() {
map.AddWebUIConfig(std::make_unique<AutofillInternalsUIConfig>());
map.AddWebUIConfig(std::make_unique<BrowsingTopicsInternalsUIConfig>());
map.AddWebUIConfig(std::make_unique<ChromeURLsUIConfig>());
+#if BUILDFLAG(ENABLE_CEF)
+ map.AddWebUIConfig(std::make_unique<ChromeUILicenseConfig>());
+#endif
map.AddWebUIConfig(std::make_unique<ComponentsUIConfig>());
map.AddWebUIConfig(std::make_unique<CreditsUIConfig>());
map.AddWebUIConfig(std::make_unique<DataSharingInternalsUIConfig>());
diff --git chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc diff --git chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
index 39e7681c0c708..95c3f21fc22b4 100644 index af6d877f601d2..03c53be62e560 100644
--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc --- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
@ -50,17 +102,7 @@ index 39e7681c0c708..95c3f21fc22b4 100644
#include "chrome/browser/about_flags.h" #include "chrome/browser/about_flags.h"
#include "chrome/browser/buildflags.h" #include "chrome/browser/buildflags.h"
#include "chrome/browser/commerce/shopping_service_factory.h" #include "chrome/browser/commerce/shopping_service_factory.h"
@@ -385,6 +386,9 @@ bool IsAboutUI(const GURL& url) { @@ -980,6 +981,9 @@ ChromeWebUIControllerFactory::GetListOfAcceptableURLs() {
|| url.host_piece() == chrome::kChromeUIOSCreditsHost ||
url.host_piece() == chrome::kChromeUIBorealisCreditsHost ||
url.host_piece() == chrome::kChromeUICrostiniCreditsHost
+#endif
+#if BUILDFLAG(ENABLE_CEF)
+ || url.host_piece() == chrome::kChromeUILicenseHost
#endif
); // NOLINT
}
@@ -1000,6 +1004,9 @@ ChromeWebUIControllerFactory::GetListOfAcceptableURLs() {
GURL(chrome::kChromeUIGpuURL), GURL(chrome::kChromeUIGpuURL),
GURL(chrome::kChromeUIHistogramsURL), GURL(chrome::kChromeUIHistogramsURL),
GURL(chrome::kChromeUIInspectURL), GURL(chrome::kChromeUIInspectURL),
@ -85,7 +127,7 @@ index 248b6795e8cbe..c957f9d55613d 100644
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
kChromeUIManagementHost, kChromeUIManagementHost,
diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h diff --git chrome/common/webui_url_constants.h chrome/common/webui_url_constants.h
index 70e366e816db5..87ec49d6b6636 100644 index 52672e0274345..cdcaf3deb3c32 100644
--- chrome/common/webui_url_constants.h --- chrome/common/webui_url_constants.h
+++ chrome/common/webui_url_constants.h +++ chrome/common/webui_url_constants.h
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@

View File

@ -124,10 +124,10 @@ index 2f8162d7491d1..b00f0d5bf26ae 100644
// Factory for the creating refs in callbacks. // Factory for the creating refs in callbacks.
base::WeakPtrFactory<VersionHandler> weak_ptr_factory_{this}; base::WeakPtrFactory<VersionHandler> weak_ptr_factory_{this};
diff --git chrome/browser/ui/webui/version/version_ui.cc chrome/browser/ui/webui/version/version_ui.cc diff --git chrome/browser/ui/webui/version/version_ui.cc chrome/browser/ui/webui/version/version_ui.cc
index 6e205bf700de2..c281769b5cb5c 100644 index f12ad5b23e75c..0f07abc1b85f5 100644
--- chrome/browser/ui/webui/version/version_ui.cc --- chrome/browser/ui/webui/version/version_ui.cc
+++ chrome/browser/ui/webui/version/version_ui.cc +++ chrome/browser/ui/webui/version/version_ui.cc
@@ -17,6 +17,7 @@ @@ -22,6 +22,7 @@
#include "base/time/time.h" #include "base/time/time.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
@ -135,7 +135,7 @@ index 6e205bf700de2..c281769b5cb5c 100644
#include "chrome/browser/browser_process_impl.h" #include "chrome/browser/browser_process_impl.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/webui/version/version_handler.h" #include "chrome/browser/ui/webui/version/version_handler.h"
@@ -64,6 +65,10 @@ @@ -69,6 +70,10 @@
#include "chrome/browser/ui/webui/version/version_util_win.h" #include "chrome/browser/ui/webui/version/version_util_win.h"
#endif #endif
@ -146,7 +146,7 @@ index 6e205bf700de2..c281769b5cb5c 100644
using content::WebUIDataSource; using content::WebUIDataSource;
namespace { namespace {
@@ -84,6 +89,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { @@ -89,6 +94,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) {
{version_ui::kCommandLineName, IDS_VERSION_UI_COMMAND_LINE}, {version_ui::kCommandLineName, IDS_VERSION_UI_COMMAND_LINE},
{version_ui::kExecutablePathName, IDS_VERSION_UI_EXECUTABLE_PATH}, {version_ui::kExecutablePathName, IDS_VERSION_UI_EXECUTABLE_PATH},
{version_ui::kProfilePathName, IDS_VERSION_UI_PROFILE_PATH}, {version_ui::kProfilePathName, IDS_VERSION_UI_PROFILE_PATH},
@ -157,7 +157,7 @@ index 6e205bf700de2..c281769b5cb5c 100644
{version_ui::kVariationsName, IDS_VERSION_UI_VARIATIONS}, {version_ui::kVariationsName, IDS_VERSION_UI_VARIATIONS},
{version_ui::kVariationsCmdName, IDS_VERSION_UI_VARIATIONS_CMD}, {version_ui::kVariationsCmdName, IDS_VERSION_UI_VARIATIONS_CMD},
{version_ui::kVariationsSeedName, IDS_VERSION_UI_VARIATIONS_SEED_NAME}, {version_ui::kVariationsSeedName, IDS_VERSION_UI_VARIATIONS_SEED_NAME},
@@ -121,6 +130,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) { @@ -126,6 +135,10 @@ void CreateAndAddVersionUIDataSource(Profile* profile) {
IDR_PRODUCT_LOGO_WHITE); IDR_PRODUCT_LOGO_WHITE);
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
html_source->SetDefaultResource(IDR_VERSION_UI_ABOUT_VERSION_HTML); html_source->SetDefaultResource(IDR_VERSION_UI_ABOUT_VERSION_HTML);
@ -168,7 +168,7 @@ index 6e205bf700de2..c281769b5cb5c 100644
} }
std::string GetProductModifier() { std::string GetProductModifier() {
@@ -241,6 +254,10 @@ void VersionUI::AddVersionDetailStrings(content::WebUIDataSource* html_source) { @@ -246,6 +259,10 @@ void VersionUI::AddVersionDetailStrings(content::WebUIDataSource* html_source) {
// blank. // blank.
html_source->AddString(version_ui::kExecutablePath, std::string()); html_source->AddString(version_ui::kExecutablePath, std::string());
html_source->AddString(version_ui::kProfilePath, std::string()); html_source->AddString(version_ui::kProfilePath, std::string());

View File

@ -1,5 +1,5 @@
diff --git chrome/common/features.gni chrome/common/features.gni diff --git chrome/common/features.gni chrome/common/features.gni
index bcc0da3ae5a96..87617098debd3 100644 index a584f49ecfb1b..fdc7eceb76024 100644
--- chrome/common/features.gni --- chrome/common/features.gni
+++ chrome/common/features.gni +++ chrome/common/features.gni
@@ -7,6 +7,7 @@ import("//build/config/chromeos/ui_mode.gni") @@ -7,6 +7,7 @@ import("//build/config/chromeos/ui_mode.gni")
@ -8,8 +8,8 @@ index bcc0da3ae5a96..87617098debd3 100644
import("//build/config/features.gni") import("//build/config/features.gni")
+import("//cef/libcef/features/features.gni") +import("//cef/libcef/features/features.gni")
import("//components/compose/features.gni") import("//components/compose/features.gni")
import("//components/feed/features.gni")
import("//components/nacl/features.gni") import("//components/nacl/features.gni")
import("//components/safe_browsing/buildflags.gni")
@@ -31,7 +32,7 @@ assert(use_blink, "Chromium without blink shouldn't use anything in //chrome") @@ -31,7 +32,7 @@ assert(use_blink, "Chromium without blink shouldn't use anything in //chrome")
declare_args() { declare_args() {
# Enables the build to have logging enabled by default. # Enables the build to have logging enabled by default.
@ -17,9 +17,9 @@ index bcc0da3ae5a96..87617098debd3 100644
- chrome_enable_logging_by_default = is_debug - chrome_enable_logging_by_default = is_debug
+ chrome_enable_logging_by_default = is_debug || enable_cef + chrome_enable_logging_by_default = is_debug || enable_cef
# Platforms where Chrome x509 server certificate enterprise policies are # Platforms for which Chrome supports a certificate management UI that
# supported. This must must match the supported_on/future_on list of the # shows the Chrome Root Store. This is specific to the v2 UI that is
@@ -95,11 +96,13 @@ declare_args() { @@ -63,11 +64,13 @@ declare_args() {
# optimize_webui was moved to ui/base/ui_features.gni # optimize_webui was moved to ui/base/ui_features.gni
} }

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 84c9ef58f085a..0d7b8d423c917 100644 index 3b8b9a9eb5cbf..0fcb797674fc4 100644
--- chrome/renderer/BUILD.gn --- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn +++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
@ -10,7 +10,7 @@ index 84c9ef58f085a..0d7b8d423c917 100644
import("//chrome/common/features.gni") import("//chrome/common/features.gni")
import("//components/nacl/features.gni") import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni") import("//components/offline_pages/buildflags/features.gni")
@@ -127,6 +128,7 @@ static_library("renderer") { @@ -128,6 +129,7 @@ static_library("renderer") {
deps = [ deps = [
"//base/allocator:buildflags", "//base/allocator:buildflags",
"//build:chromeos_buildflags", "//build:chromeos_buildflags",

View File

@ -1,8 +1,8 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index cda3db439e32a..b9ba41139eccb 100644 index 67428f15a7c50..4e418019327e6 100644
--- chrome/app/chrome_main_delegate.cc --- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc +++ chrome/app/chrome_main_delegate.cc
@@ -37,6 +37,7 @@ @@ -42,6 +42,7 @@
#include "base/trace_event/trace_event_impl.h" #include "base/trace_event/trace_event_impl.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
@ -10,26 +10,26 @@ index cda3db439e32a..b9ba41139eccb 100644
#include "chrome/browser/buildflags.h" #include "chrome/browser/buildflags.h"
#include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_resource_bundle_helper.h" #include "chrome/browser/chrome_resource_bundle_helper.h"
@@ -606,6 +607,7 @@ struct MainFunction { @@ -611,6 +612,7 @@ struct MainFunction {
int (*function)(content::MainFunctionParams); int (*function)(content::MainFunctionParams);
}; };
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// Initializes the user data dir. Must be called before InitializeLocalState(). // Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) { void InitializeUserDataDir(base::CommandLine* command_line) {
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -689,6 +691,7 @@ void InitializeUserDataDir(base::CommandLine* command_line) { @@ -694,6 +696,7 @@ void InitializeUserDataDir(base::CommandLine* command_line) {
command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir); command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir);
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
} }
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
// If Lacros was prelaunched at login screen, this method blocks waiting // If Lacros was prelaunched at login screen, this method blocks waiting
@@ -850,6 +853,10 @@ ChromeMainDelegate::~ChromeMainDelegate() { @@ -855,6 +858,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
ChromeMainDelegate::~ChromeMainDelegate() = default; ChromeMainDelegate::~ChromeMainDelegate() = default;
#endif // !BUILDFLAG(IS_ANDROID) #endif // !BUILDFLAG(IS_ANDROID)
+void ChromeMainDelegate::CleanupOnUIThread() { +void ChromeMainDelegate::CleanupOnUIThread() {
+ memory_system_.reset(); + memory_system_.reset();
+} +}
@ -37,17 +37,17 @@ index cda3db439e32a..b9ba41139eccb 100644
std::optional<int> ChromeMainDelegate::PostEarlyInitialization( std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
InvokedIn invoked_in) { InvokedIn invoked_in) {
DUMP_WILL_BE_CHECK(base::ThreadPoolInstance::Get()); DUMP_WILL_BE_CHECK(base::ThreadPoolInstance::Get());
@@ -875,7 +882,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization( @@ -880,7 +887,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// future session's metrics. // future session's metrics.
DeferBrowserMetrics(user_data_dir); DeferBrowserMetrics(user_data_dir);
-#if BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// In the case the process is not the singleton process, the uninstall tasks // In the case the process is not the singleton process, the uninstall tasks
// need to be executed here. A window will be displayed asking to close all // need to be executed here. A window will be displayed asking to close all
// running instances. // running instances.
@@ -1035,7 +1042,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization( @@ -1040,7 +1047,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// Initializes the resource bundle and determines the locale. // Initializes the resource bundle and determines the locale.
std::string actual_locale = LoadLocalState( std::string actual_locale = LoadLocalState(
- chrome_feature_list_creator, invoked_in_browser->is_running_test); - chrome_feature_list_creator, invoked_in_browser->is_running_test);
@ -55,25 +55,25 @@ index cda3db439e32a..b9ba41139eccb 100644
+ invoked_in_browser->is_running_test); + invoked_in_browser->is_running_test);
chrome_feature_list_creator->SetApplicationLocale(actual_locale); chrome_feature_list_creator->SetApplicationLocale(actual_locale);
chrome_feature_list_creator->OverrideCachedUIStrings(); chrome_feature_list_creator->OverrideCachedUIStrings();
@@ -1052,6 +1060,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization( @@ -1057,6 +1065,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
new net::NetworkChangeNotifierFactoryAndroid()); new net::NetworkChangeNotifierFactoryAndroid());
#endif #endif
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
+ // Avoid CEF crash with multi-threaded-message-loop. + // Avoid CEF crash with multi-threaded-message-loop.
if (base::FeatureList::IsEnabled( if (base::FeatureList::IsEnabled(
features::kWriteBasicSystemProfileToPersistentHistogramsFile)) { features::kWriteBasicSystemProfileToPersistentHistogramsFile)) {
bool record = true; bool record = true;
@@ -1062,6 +1072,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization( @@ -1067,6 +1077,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
if (record) if (record)
chrome_content_browser_client_->startup_data()->RecordCoreSystemProfile(); chrome_content_browser_client_->startup_data()->RecordCoreSystemProfile();
} }
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_ANDROID)
UmaSessionStats::OnStartup(); UmaSessionStats::OnStartup();
@@ -1099,8 +1110,8 @@ bool ChromeMainDelegate::ShouldInitializeMojo(InvokedIn invoked_in) { @@ -1104,8 +1115,8 @@ bool ChromeMainDelegate::ShouldInitializeMojo(InvokedIn invoked_in) {
void ChromeMainDelegate::CreateThreadPool(std::string_view name) { void ChromeMainDelegate::CreateThreadPool(std::string_view name) {
base::ThreadPoolInstance::Create(name); base::ThreadPoolInstance::Create(name);
// `ChromeMainDelegateAndroid::PreSandboxStartup` creates the profiler a little // `ChromeMainDelegateAndroid::PreSandboxStartup` creates the profiler a little
@ -84,89 +84,89 @@ index cda3db439e32a..b9ba41139eccb 100644
// Start the sampling profiler as early as possible - namely, once the thread // Start the sampling profiler as early as possible - namely, once the thread
// pool has been created. // pool has been created.
sampling_profiler_ = std::make_unique<MainThreadStackSamplingProfiler>(); sampling_profiler_ = std::make_unique<MainThreadStackSamplingProfiler>();
@@ -1512,6 +1523,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1517,6 +1528,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type = std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType); command_line.GetSwitchValueASCII(switches::kProcessType);
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
crash_reporter::InitializeCrashKeys(); crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_POSIX) #if BUILDFLAG(IS_POSIX)
@@ -1522,6 +1534,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1527,6 +1539,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type); InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line); SetUpInstallerPreferences(command_line);
#endif #endif
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
child_process_logging::Init(); child_process_logging::Init();
@@ -1533,6 +1546,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1538,6 +1551,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
base::CPU cpu_info; base::CPU cpu_info;
#endif #endif
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// Initialize the user data dir for any process type that needs it. // Initialize the user data dir for any process type that needs it.
bool initialize_user_data_dir = chrome::ProcessNeedsProfileDir(process_type); bool initialize_user_data_dir = chrome::ProcessNeedsProfileDir(process_type);
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -1544,6 +1558,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1549,6 +1563,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
if (initialize_user_data_dir) { if (initialize_user_data_dir) {
InitializeUserDataDir(base::CommandLine::ForCurrentProcess()); InitializeUserDataDir(base::CommandLine::ForCurrentProcess());
} }
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
// Generate shared resource file only on browser process. This is to avoid // Generate shared resource file only on browser process. This is to avoid
@@ -1702,7 +1717,8 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1707,7 +1722,8 @@ void ChromeMainDelegate::PreSandboxStartup() {
#else #else
const std::string loaded_locale = const std::string loaded_locale =
ui::ResourceBundle::InitSharedInstanceWithLocale( ui::ResourceBundle::InitSharedInstanceWithLocale(
- locale, nullptr, ui::ResourceBundle::LOAD_COMMON_RESOURCES); - locale, nullptr, ui::ResourceBundle::LOAD_COMMON_RESOURCES);
+ locale, GetResourceBundleDelegate(), + locale, GetResourceBundleDelegate(),
+ ui::ResourceBundle::LOAD_COMMON_RESOURCES); + ui::ResourceBundle::LOAD_COMMON_RESOURCES);
base::FilePath resources_pack_path; base::FilePath resources_pack_path;
base::PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path); base::PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path);
@@ -1732,6 +1748,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1737,6 +1753,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale; CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
} }
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote(). // Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess && if (process_type != switches::kZygoteProcess &&
@@ -1768,6 +1785,7 @@ void ChromeMainDelegate::PreSandboxStartup() { @@ -1773,6 +1790,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
// After all the platform Breakpads have been initialized, store the command // After all the platform Breakpads have been initialized, store the command
// line for crash reporting. // line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line); crash_keys::SetCrashKeysFromCommandLine(command_line);
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(ENABLE_PDF) #if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData(); MaybePatchGdiGetFontData();
@@ -1895,6 +1913,7 @@ void ChromeMainDelegate::ZygoteForked() { @@ -1900,6 +1918,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler(); SetUpProfilingShutdownHandler();
} }
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets // Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner. // this up for the browser process in a different manner.
const base::CommandLine* command_line = const base::CommandLine* command_line =
@@ -1907,6 +1926,7 @@ void ChromeMainDelegate::ZygoteForked() { @@ -1912,6 +1931,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process. // Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line); crash_keys::SetCrashKeysFromCommandLine(*command_line);
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
} }
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -2015,6 +2035,7 @@ void ChromeMainDelegate::InitializeMemorySystem() { @@ -2020,6 +2040,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
: memory_system::DispatcherParameters:: : memory_system::DispatcherParameters::
AllocationTraceRecorderInclusion::kIgnore; AllocationTraceRecorderInclusion::kIgnore;
+ memory_system_ = std::make_unique<memory_system::MemorySystem>(); + memory_system_ = std::make_unique<memory_system::MemorySystem>();
memory_system::Initializer() memory_system::Initializer()
.SetGwpAsanParameters(gwp_asan_boost_sampling, process_type) .SetGwpAsanParameters(gwp_asan_boost_sampling, process_type)
.SetProfilingClientParameters(chrome::GetChannel(), .SetProfilingClientParameters(chrome::GetChannel(),
@@ -2022,5 +2043,5 @@ void ChromeMainDelegate::InitializeMemorySystem() { @@ -2027,5 +2048,5 @@ void ChromeMainDelegate::InitializeMemorySystem() {
.SetDispatcherParameters(memory_system::DispatcherParameters:: .SetDispatcherParameters(memory_system::DispatcherParameters::
PoissonAllocationSamplerInclusion::kEnforce, PoissonAllocationSamplerInclusion::kEnforce,
allocation_recorder_inclusion, process_type) allocation_recorder_inclusion, process_type)
@ -182,22 +182,22 @@ index 521d5710b6387..8a5f3e6a312d2 100644
#include "components/memory_system/memory_system.h" #include "components/memory_system/memory_system.h"
#include "content/public/app/content_main_delegate.h" #include "content/public/app/content_main_delegate.h"
+#include "ui/base/resource/resource_bundle.h" +#include "ui/base/resource/resource_bundle.h"
namespace base { namespace base {
class CommandLine; class CommandLine;
@@ -55,6 +56,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate { @@ -55,6 +56,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate {
~ChromeMainDelegate() override; ~ChromeMainDelegate() override;
+ virtual void CleanupOnUIThread(); + virtual void CleanupOnUIThread();
+ +
protected: protected:
// content::ContentMainDelegate: // content::ContentMainDelegate:
std::optional<int> BasicStartupComplete() override; std::optional<int> BasicStartupComplete() override;
@@ -99,13 +102,17 @@ class ChromeMainDelegate : public content::ContentMainDelegate { @@ -99,13 +102,17 @@ class ChromeMainDelegate : public content::ContentMainDelegate {
void InitializeMemorySystem(); void InitializeMemorySystem();
+ virtual ui::ResourceBundle::Delegate* GetResourceBundleDelegate() { + virtual ui::ResourceBundle::Delegate* GetResourceBundleDelegate() {
+ return nullptr; + return nullptr;
+ } + }
@ -205,12 +205,12 @@ index 521d5710b6387..8a5f3e6a312d2 100644
std::unique_ptr<ChromeContentBrowserClient> chrome_content_browser_client_; std::unique_ptr<ChromeContentBrowserClient> chrome_content_browser_client_;
std::unique_ptr<ChromeContentUtilityClient> chrome_content_utility_client_; std::unique_ptr<ChromeContentUtilityClient> chrome_content_utility_client_;
std::unique_ptr<tracing::TracingSamplerProfiler> tracing_sampler_profiler_; std::unique_ptr<tracing::TracingSamplerProfiler> tracing_sampler_profiler_;
ChromeContentClient chrome_content_client_; ChromeContentClient chrome_content_client_;
- memory_system::MemorySystem memory_system_; - memory_system::MemorySystem memory_system_;
+ std::unique_ptr<memory_system::MemorySystem> memory_system_; + std::unique_ptr<memory_system::MemorySystem> memory_system_;
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
std::unique_ptr<chromeos::LacrosService> lacros_service_; std::unique_ptr<chromeos::LacrosService> lacros_service_;
diff --git chrome/app_shim/BUILD.gn chrome/app_shim/BUILD.gn diff --git chrome/app_shim/BUILD.gn chrome/app_shim/BUILD.gn
@ -239,19 +239,19 @@ index ac1361bd6bc2e..a303ca169c7f7 100644
#include "chrome/app_shim/app_shim_delegate.h" #include "chrome/app_shim/app_shim_delegate.h"
@@ -171,7 +172,9 @@ int APP_SHIM_ENTRY_POINT_NAME(const app_mode::ChromeAppModeInfo* info) { @@ -171,7 +172,9 @@ int APP_SHIM_ENTRY_POINT_NAME(const app_mode::ChromeAppModeInfo* info) {
base::FilePath(info->user_data_dir).DirName().DirName().DirName(); base::FilePath(info->user_data_dir).DirName().DirName().DirName();
// TODO(crbug.com/40807881): Specify `user_data_dir` to CrashPad. // TODO(crbug.com/40807881): Specify `user_data_dir` to CrashPad.
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
ChromeCrashReporterClient::Create(); ChromeCrashReporterClient::Create();
+#endif +#endif
crash_reporter::InitializeCrashpad(true, "app_shim"); crash_reporter::InitializeCrashpad(true, "app_shim");
base::PathService::OverrideAndCreateIfNeeded( base::PathService::OverrideAndCreateIfNeeded(
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index 3bd823dc11c54..c8ac6d01a4d94 100644 index bf8c5df67c1e3..61bf28f46b423 100644
--- chrome/browser/chrome_browser_main.cc --- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc +++ chrome/browser/chrome_browser_main.cc
@@ -52,6 +52,7 @@ @@ -53,6 +53,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
#include "cc/base/switches.h" #include "cc/base/switches.h"
@ -259,60 +259,60 @@ index 3bd823dc11c54..c8ac6d01a4d94 100644
#include "chrome/browser/about_flags.h" #include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h" #include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h" #include "chrome/browser/after_startup_task_utils.h"
@@ -533,7 +534,7 @@ void ProcessSingletonNotificationCallbackImpl( @@ -529,7 +530,7 @@ void ProcessSingletonNotificationCallbackImpl(
return; return;
} }
-#if BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// The uninstall command-line switch is handled by the origin process; see // The uninstall command-line switch is handled by the origin process; see
// ChromeMainDelegate::PostEarlyInitialization(...). The other process won't // ChromeMainDelegate::PostEarlyInitialization(...). The other process won't
// be able to become the singleton process and will display a window asking // be able to become the singleton process and will display a window asking
@@ -837,7 +838,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() { @@ -833,7 +834,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
return content::RESULT_CODE_NORMAL_EXIT; return content::RESULT_CODE_NORMAL_EXIT;
} }
-#if BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// If we are running stale binaries then relaunch and exit immediately. // If we are running stale binaries then relaunch and exit immediately.
if (upgrade_util::IsRunningOldChrome()) { if (upgrade_util::IsRunningOldChrome()) {
if (!upgrade_util::RelaunchChromeBrowser( if (!upgrade_util::RelaunchChromeBrowser(
@@ -850,7 +851,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() { @@ -846,7 +847,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
// result in browser startup bailing. // result in browser startup bailing.
return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED; return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED;
} }
-#endif // BUILDFLAG(IS_WIN) -#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
return load_local_state_result; return load_local_state_result;
} }
@@ -960,7 +961,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded( @@ -956,7 +957,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
browser_process_->local_state()); browser_process_->local_state());
platform_management_service->RefreshCache(base::NullCallback()); platform_management_service->RefreshCache(base::NullCallback());
-#if BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
if (first_run::IsChromeFirstRun()) { if (first_run::IsChromeFirstRun()) {
bool stats_default; bool stats_default;
if (GoogleUpdateSettings::GetCollectStatsConsentDefault(&stats_default)) { if (GoogleUpdateSettings::GetCollectStatsConsentDefault(&stats_default)) {
@@ -973,7 +974,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded( @@ -969,7 +970,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
: metrics::EnableMetricsDefault::OPT_IN); : metrics::EnableMetricsDefault::OPT_IN);
} }
} }
-#endif // BUILDFLAG(IS_WIN) -#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
std::string locale = std::string locale =
startup_data_->chrome_feature_list_creator()->actual_locale(); startup_data_->chrome_feature_list_creator()->actual_locale();
@@ -1006,6 +1007,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() { @@ -1002,6 +1003,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
master_prefs_ = std::make_unique<first_run::MasterPrefs>(); master_prefs_ = std::make_unique<first_run::MasterPrefs>();
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
std::unique_ptr<installer::InitialPreferences> installer_initial_prefs = std::unique_ptr<installer::InitialPreferences> installer_initial_prefs =
startup_data_->chrome_feature_list_creator()->TakeInitialPrefs(); startup_data_->chrome_feature_list_creator()->TakeInitialPrefs();
if (!installer_initial_prefs) if (!installer_initial_prefs)
@@ -1039,6 +1041,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() { @@ -1035,6 +1037,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
master_prefs_->confirm_to_quit); master_prefs_->confirm_to_quit);
} }
#endif // BUILDFLAG(IS_MAC) #endif // BUILDFLAG(IS_MAC)
@ -320,57 +320,57 @@ index 3bd823dc11c54..c8ac6d01a4d94 100644
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
return content::RESULT_CODE_NORMAL_EXIT; return content::RESULT_CODE_NORMAL_EXIT;
} }
@@ -1100,6 +1103,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { @@ -1096,6 +1099,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_process_->browser_policy_connector()->OnResourceBundleCreated(); browser_process_->browser_policy_connector()->OnResourceBundleCreated();
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// Android does first run in Java instead of native. // Android does first run in Java instead of native.
// Chrome OS has its own out-of-box-experience code. // Chrome OS has its own out-of-box-experience code.
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1121,6 +1125,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { @@ -1117,6 +1121,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
} }
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
#if defined(ARCH_CPU_X86_64) #if defined(ARCH_CPU_X86_64)
@@ -1483,6 +1488,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1479,6 +1484,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->PreMainMessageLoopRun(); browser_process_->PreMainMessageLoopRun();
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// If the command line specifies 'uninstall' then we need to work here // If the command line specifies 'uninstall' then we need to work here
// unless we detect another chrome browser running. // unless we detect another chrome browser running.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kUninstall)) { if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kUninstall)) {
@@ -1494,6 +1500,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1490,6 +1496,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
return ChromeBrowserMainPartsWin::HandleIconsCommands( return ChromeBrowserMainPartsWin::HandleIconsCommands(
*base::CommandLine::ForCurrentProcess()); *base::CommandLine::ForCurrentProcess());
} }
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
ui::SelectFileDialog::SetFactory( ui::SelectFileDialog::SetFactory(
std::make_unique<ChromeSelectFileDialogFactory>()); std::make_unique<ChromeSelectFileDialogFactory>());
@@ -1519,6 +1526,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1515,6 +1522,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
} }
#endif // BUILDFLAG(CHROME_FOR_TESTING) #endif // BUILDFLAG(CHROME_FOR_TESTING)
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
if (base::CommandLine::ForCurrentProcess()->HasSwitch( if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMakeDefaultBrowser)) { switches::kMakeDefaultBrowser)) {
bool is_managed = g_browser_process->local_state()->IsManagedPreference( bool is_managed = g_browser_process->local_state()->IsManagedPreference(
@@ -1532,18 +1540,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1528,18 +1536,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
? static_cast<int>(content::RESULT_CODE_NORMAL_EXIT) ? static_cast<int>(content::RESULT_CODE_NORMAL_EXIT)
: static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED); : static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED);
} }
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if defined(USE_AURA) #if defined(USE_AURA)
// Make sure aura::Env has been initialized. // Make sure aura::Env has been initialized.
CHECK(aura::Env::GetInstance()); CHECK(aura::Env::GetInstance());
#endif // defined(USE_AURA) #endif // defined(USE_AURA)
+ +
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@ -380,44 +380,44 @@ index 3bd823dc11c54..c8ac6d01a4d94 100644
return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED; return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED;
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING) #if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
// Begin relaunch processing immediately if User Data migration is required // Begin relaunch processing immediately if User Data migration is required
@@ -1582,7 +1594,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1578,7 +1590,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
} }
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// Check if there is any machine level Chrome installed on the current // 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 // 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 // allow the user level Chrome to run. So we notify the user and uninstall
@@ -1591,7 +1603,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1587,7 +1599,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// obtained but before potentially creating the first run sentinel). // obtained but before potentially creating the first run sentinel).
if (ChromeBrowserMainPartsWin::CheckMachineLevelInstall()) if (ChromeBrowserMainPartsWin::CheckMachineLevelInstall())
return chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS; return chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS;
-#endif // BUILDFLAG(IS_WIN) -#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF) +#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// Desktop construction occurs here, (required before profile creation). // Desktop construction occurs here, (required before profile creation).
PreProfileInit(); PreProfileInit();
@@ -1666,6 +1678,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1660,6 +1672,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Call `PostProfileInit()`and set it up for profiles created later. // Call `PostProfileInit()`and set it up for profiles created later.
profile_init_manager_ = std::make_unique<ProfileInitManager>(this, profile); profile_init_manager_ = std::make_unique<ProfileInitManager>(this, profile);
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
// Execute first run specific code after the PrefService has been initialized // Execute first run specific code after the PrefService has been initialized
// and preferences have been registered since some of the import code depends // and preferences have been registered since some of the import code depends
@@ -1705,6 +1718,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1699,6 +1712,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
*base::CommandLine::ForCurrentProcess()); *base::CommandLine::ForCurrentProcess());
} }
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
+#endif // !BUILDFLAG(ENABLE_CEF) +#endif // !BUILDFLAG(ENABLE_CEF)
// Configure modules that need access to resources. // Configure modules that need access to resources.
net::NetModule::SetResourceProvider(ChromeNetResourceProvider); net::NetModule::SetResourceProvider(ChromeNetResourceProvider);
@@ -1796,6 +1810,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1790,6 +1804,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
g_browser_process->profile_manager()->GetLastOpenedProfiles(); g_browser_process->profile_manager()->GetLastOpenedProfiles();
} }
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -429,8 +429,8 @@ index 3bd823dc11c54..c8ac6d01a4d94 100644
// This step is costly. // This step is costly.
if (browser_creator_->Start(*base::CommandLine::ForCurrentProcess(), if (browser_creator_->Start(*base::CommandLine::ForCurrentProcess(),
base::FilePath(), profile_info, base::FilePath(), profile_info,
@@ -1828,11 +1847,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() { @@ -1822,11 +1841,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer // Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess. // ownership of the browser's lifetime to the BrowserProcess.
+ // CEF with the Chrome runtime will create and manage its own RunLoop. + // CEF with the Chrome runtime will create and manage its own RunLoop.
@ -443,9 +443,9 @@ index 3bd823dc11c54..c8ac6d01a4d94 100644
+ +
browser_creator_.reset(); browser_creator_.reset();
#endif // !BUILDFLAG(IS_ANDROID) #endif // !BUILDFLAG(IS_ANDROID)
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index 9a8dfdb6bc3ce..5981a8a0fae38 100644 index e26e3625c99c8..c0d4a95607e37 100644
--- chrome/browser/chrome_browser_main_mac.mm --- chrome/browser/chrome_browser_main_mac.mm
+++ chrome/browser/chrome_browser_main_mac.mm +++ chrome/browser/chrome_browser_main_mac.mm
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
@ -456,35 +456,35 @@ index 9a8dfdb6bc3ce..5981a8a0fae38 100644
#import "chrome/browser/app_controller_mac.h" #import "chrome/browser/app_controller_mac.h"
#include "chrome/browser/apps/app_shim/app_shim_listener.h" #include "chrome/browser/apps/app_shim/app_shim_listener.h"
#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process.h"
@@ -124,6 +125,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { @@ -125,6 +126,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
} }
#endif // !BUILDFLAG(CHROME_FOR_TESTING) #endif // !BUILDFLAG(CHROME_FOR_TESTING)
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// Create the app delegate by requesting the shared AppController. // Create the app delegate by requesting the shared AppController.
CHECK_EQ(nil, NSApp.delegate); CHECK_EQ(nil, NSApp.delegate);
AppController* app_controller = AppController.sharedController; AppController* app_controller = AppController.sharedController;
@@ -132,6 +134,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() { @@ -133,6 +135,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
chrome::BuildMainMenu(NSApp, app_controller, chrome::BuildMainMenu(NSApp, app_controller,
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false); l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false);
[app_controller mainMenuCreated]; [app_controller mainMenuCreated];
+#endif // BUILDFLAG(ENABLE_CEF) +#endif // BUILDFLAG(ENABLE_CEF)
ui::WarmScreenCapture(); ui::WarmScreenCapture();
@@ -172,5 +175,7 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile, @@ -187,5 +190,7 @@ void ChromeBrowserMainPartsMac::PostMainMessageLoopRun() {
} }
void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() { void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() {
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
[AppController.sharedController didEndMainMessageLoop]; [AppController.sharedController didEndMainMessageLoop];
+#endif +#endif
} }
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 4b8cf312d4ca4..ef3c7e5e372b4 100644 index 4db37945148cb..56a31fecf00a2 100644
--- chrome/browser/chrome_content_browser_client.cc --- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc +++ chrome/browser/chrome_content_browser_client.cc
@@ -46,6 +46,7 @@ @@ -48,6 +48,7 @@
#include "build/build_config.h" #include "build/build_config.h"
#include "build/chromeos_buildflags.h" #include "build/chromeos_buildflags.h"
#include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM #include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM
@ -492,19 +492,19 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
#include "chrome/browser/after_startup_task_utils.h" #include "chrome/browser/after_startup_task_utils.h"
#include "chrome/browser/ai/ai_manager_keyed_service_factory.h" #include "chrome/browser/ai/ai_manager_keyed_service_factory.h"
#include "chrome/browser/app_mode/app_mode_utils.h" #include "chrome/browser/app_mode/app_mode_utils.h"
@@ -1518,6 +1519,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() { @@ -1543,6 +1544,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
} }
ChromeContentBrowserClient::ChromeContentBrowserClient() { ChromeContentBrowserClient::ChromeContentBrowserClient() {
+ keepalive_timer_.reset(new base::OneShotTimer()); + keepalive_timer_.reset(new base::OneShotTimer());
+ +
#if BUILDFLAG(ENABLE_PLUGINS) #if BUILDFLAG(ENABLE_PLUGINS)
extra_parts_.push_back( extra_parts_.push_back(
std::make_unique<ChromeContentBrowserClientPluginsPart>()); std::make_unique<ChromeContentBrowserClientPluginsPart>());
@@ -1555,6 +1558,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() { @@ -1580,6 +1583,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
} }
} }
+void ChromeContentBrowserClient::CleanupOnUIThread() { +void ChromeContentBrowserClient::CleanupOnUIThread() {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ keepalive_timer_.reset(); + keepalive_timer_.reset();
@ -513,7 +513,7 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
// static // static
void ChromeContentBrowserClient::RegisterLocalStatePrefs( void ChromeContentBrowserClient::RegisterLocalStatePrefs(
PrefRegistrySimple* registry) { PrefRegistrySimple* registry) {
@@ -3890,28 +3898,25 @@ bool UpdatePreferredColorScheme(WebPreferences* web_prefs, @@ -3956,28 +3964,25 @@ bool UpdatePreferredColorScheme(WebPreferences* web_prefs,
web_prefs->preferred_color_scheme; web_prefs->preferred_color_scheme;
} }
#else #else
@ -543,7 +543,7 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
+ ? ui::NativeTheme::PreferredColorScheme::kLight + ? ui::NativeTheme::PreferredColorScheme::kLight
+ : ui::NativeTheme::PreferredColorScheme::kDark; + : ui::NativeTheme::PreferredColorScheme::kDark;
} }
- // Update based on the ColorProvider associated with `web_contents`. Depends - // Update based on the ColorProvider associated with `web_contents`. Depends
- // on the browser color mode settings and whether the user profile has set a - // on the browser color mode settings and whether the user profile has set a
- // custom coloring for the browser ui. - // custom coloring for the browser ui.
@ -557,52 +557,53 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
+ web_prefs->preferred_root_scrollbar_color_scheme = + web_prefs->preferred_root_scrollbar_color_scheme =
+ ToBlinkPreferredColorScheme(preferred_color_scheme); + ToBlinkPreferredColorScheme(preferred_color_scheme);
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
// Reauth WebUI doesn't support dark mode yet because it shares the dialog // Reauth WebUI doesn't support dark mode yet because it shares the dialog
@@ -4693,9 +4698,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated( @@ -4748,9 +4753,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite); &search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
+#if !BUILDFLAG(ENABLE_CEF) +#if !BUILDFLAG(ENABLE_CEF)
// chrome: & friends. // chrome: & friends.
handler->AddHandlerPair(&ChromeContentBrowserClient::HandleWebUI, handler->AddHandlerPair(&ChromeContentBrowserClient::HandleWebUI,
&ChromeContentBrowserClient::HandleWebUIReverse); &ChromeContentBrowserClient::HandleWebUIReverse);
+#endif +#endif
} }
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6794,7 +6801,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated( @@ -6877,7 +6884,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
#endif #endif
} }
-void ChromeContentBrowserClient::ConfigureNetworkContextParams( -void ChromeContentBrowserClient::ConfigureNetworkContextParams(
+bool ChromeContentBrowserClient::ConfigureNetworkContextParams( +bool ChromeContentBrowserClient::ConfigureNetworkContextParams(
content::BrowserContext* context, content::BrowserContext* context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
@@ -6812,6 +6819,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams( @@ -6895,6 +6902,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale(); network_context_params->accept_language = GetApplicationLocale();
} }
+ +
+ return true; + return true;
} }
std::vector<base::FilePath> std::vector<base::FilePath>
@@ -7929,10 +7938,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted( @@ -8047,11 +8056,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now(); const auto now = base::TimeTicks::Now();
const auto timeout = GetKeepaliveTimerTimeout(context); const auto timeout = GetKeepaliveTimerTimeout(context);
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout); keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
- if (keepalive_deadline_ > now && !keepalive_timer_.IsRunning()) { - if (keepalive_deadline_ > now && !keepalive_timer_.IsRunning()) {
+ if (keepalive_deadline_ > now && !keepalive_timer_->IsRunning()) { + if (keepalive_deadline_ > now && !keepalive_timer_->IsRunning()) {
DVLOG(1) << "Starting a keepalive timer(" << timeout.InSecondsF() if (!KeepAliveRegistry::GetInstance()->IsShuttingDown()) {
<< " seconds)"; DVLOG(1) << "Starting a keepalive timer(" << timeout.InSecondsF()
- keepalive_timer_.Start( << " seconds)";
+ keepalive_timer_->Start( - keepalive_timer_.Start(
FROM_HERE, keepalive_deadline_ - now, + keepalive_timer_->Start(
base::BindOnce( FROM_HERE, keepalive_deadline_ - now,
&ChromeContentBrowserClient::OnKeepaliveTimerFired, base::BindOnce(
@@ -7951,7 +7960,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() { &ChromeContentBrowserClient::OnKeepaliveTimerFired,
@@ -8073,7 +8082,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
--num_keepalive_requests_; --num_keepalive_requests_;
if (num_keepalive_requests_ == 0) { if (num_keepalive_requests_ == 0) {
DVLOG(1) << "Stopping the keepalive timer"; DVLOG(1) << "Stopping the keepalive timer";
@ -612,7 +613,7 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
// This deletes the keep alive handle attached to the timer function and // This deletes the keep alive handle attached to the timer function and
// unblock the shutdown sequence. // unblock the shutdown sequence.
} }
@@ -8100,7 +8110,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired( @@ -8237,7 +8247,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
const auto now = base::TimeTicks::Now(); const auto now = base::TimeTicks::Now();
const auto then = keepalive_deadline_; const auto then = keepalive_deadline_;
if (now < then) { if (now < then) {
@ -622,19 +623,19 @@ index 4b8cf312d4ca4..ef3c7e5e372b4 100644
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired, base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
weak_factory_.GetWeakPtr(), weak_factory_.GetWeakPtr(),
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index be75c2ce84ba4..f76963b5023ef 100644 index 355d347c1ae84..8b1eb079ab348 100644
--- chrome/browser/chrome_content_browser_client.h --- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h +++ chrome/browser/chrome_content_browser_client.h
@@ -150,6 +150,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { @@ -151,6 +151,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
~ChromeContentBrowserClient() override; ~ChromeContentBrowserClient() override;
+ virtual void CleanupOnUIThread(); + virtual void CleanupOnUIThread();
+ +
// TODO(crbug.com/41356866): This file is about calls from content/ out // TODO(crbug.com/41356866): This file is about calls from content/ out
// to chrome/ to get values or notify about events, but both of these // to chrome/ to get values or notify about events, but both of these
// functions are from chrome/ to chrome/ and don't involve content/ at all. // functions are from chrome/ to chrome/ and don't involve content/ at all.
@@ -705,7 +707,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { @@ -707,7 +709,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override; override;
void OnNetworkServiceCreated( void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override; network::mojom::NetworkService* network_service) override;
@ -643,17 +644,17 @@ index be75c2ce84ba4..f76963b5023ef 100644
content::BrowserContext* context, content::BrowserContext* context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
@@ -1248,7 +1250,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient { @@ -1255,7 +1257,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0; uint64_t num_keepalive_requests_ = 0;
- base::OneShotTimer keepalive_timer_; - base::OneShotTimer keepalive_timer_;
+ std::unique_ptr<base::OneShotTimer> keepalive_timer_; + std::unique_ptr<base::OneShotTimer> keepalive_timer_;
base::TimeTicks keepalive_deadline_; base::TimeTicks keepalive_deadline_;
#endif #endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 0f37944dfa465..6d36a31dff18c 100644 index 812bb38a0c53e..5fc84ff4b855e 100644
--- chrome/browser/prefs/browser_prefs.cc --- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc +++ chrome/browser/prefs/browser_prefs.cc
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
@ -664,10 +665,10 @@ index 0f37944dfa465..6d36a31dff18c 100644
#include "chrome/browser/about_flags.h" #include "chrome/browser/about_flags.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h" #include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/invert_bubble_prefs.h" #include "chrome/browser/accessibility/invert_bubble_prefs.h"
@@ -204,6 +205,10 @@ @@ -205,6 +206,10 @@
#include "chrome/browser/background/background_mode_manager.h" #include "chrome/browser/background/background_mode_manager.h"
#endif #endif
+#if BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/browser/prefs/browser_prefs.h" +#include "cef/libcef/browser/prefs/browser_prefs.h"
+#endif +#endif
@ -675,18 +676,18 @@ index 0f37944dfa465..6d36a31dff18c 100644
#if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h" #include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h" #include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1694,7 +1699,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { @@ -1731,7 +1736,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_WIN) #endif // BUILDFLAG(IS_WIN)
-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) -#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \ +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \
+ BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING) + BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
downgrade::RegisterPrefs(registry); downgrade::RegisterPrefs(registry);
#endif #endif
@@ -1747,6 +1753,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) { @@ -1784,6 +1790,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last. // This is intentionally last.
RegisterLocalStatePrefsForMigration(registry); RegisterLocalStatePrefsForMigration(registry);
+ +
@ -695,12 +696,12 @@ index 0f37944dfa465..6d36a31dff18c 100644
+ browser_prefs::RegisterLocalStatePrefs(registry); + browser_prefs::RegisterLocalStatePrefs(registry);
+#endif +#endif
} }
// Register prefs applicable to all profiles. // Register prefs applicable to all profiles.
@@ -2199,6 +2210,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry, @@ -2233,6 +2244,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& locale) { const std::string& locale) {
RegisterProfilePrefs(registry, locale); RegisterProfilePrefs(registry, locale);
+#if BUILDFLAG(ENABLE_CEF) +#if BUILDFLAG(ENABLE_CEF)
+ browser_prefs::RegisterProfilePrefs(registry); + browser_prefs::RegisterProfilePrefs(registry);
+#endif +#endif

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index 0108532731b73..ddfcc75ae9801 100644 index c49b266e288ca..d1f9a1ab1e26d 100644
--- chrome/browser/ui/browser_command_controller.cc --- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc +++ chrome/browser/ui/browser_command_controller.cc
@@ -412,6 +412,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( @@ -413,6 +413,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
// choose to not implement CommandUpdaterDelegate inside this class and // choose to not implement CommandUpdaterDelegate inside this class and
// therefore command_updater_ doesn't have the delegate set). // therefore command_updater_ doesn't have the delegate set).
if (!SupportsCommand(id) || !IsCommandEnabled(id)) { if (!SupportsCommand(id) || !IsCommandEnabled(id)) {
@ -10,7 +10,7 @@ index 0108532731b73..ddfcc75ae9801 100644
return false; return false;
} }
@@ -428,6 +429,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition( @@ -429,6 +430,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
DCHECK(command_updater_.IsCommandEnabled(id)) DCHECK(command_updater_.IsCommandEnabled(id))
<< "Invalid/disabled command " << id; << "Invalid/disabled command " << id;
@ -24,7 +24,7 @@ index 0108532731b73..ddfcc75ae9801 100644
// The order of commands in this switch statement must match the function // The order of commands in this switch statement must match the function
// declaration order in browser.h! // declaration order in browser.h!
switch (id) { switch (id) {
@@ -1217,11 +1225,13 @@ void BrowserCommandController::TabRestoreServiceLoaded( @@ -1221,11 +1229,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private: // BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() { bool BrowserCommandController::IsShowingMainUI() {
@ -41,10 +41,10 @@ index 0108532731b73..ddfcc75ae9801 100644
void BrowserCommandController::InitCommandState() { void BrowserCommandController::InitCommandState() {
diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc
index 28f18cbca8a49..31cec595eab48 100644 index 54b5fca016876..60138e6a13473 100644
--- chrome/browser/ui/toolbar/app_menu_model.cc --- chrome/browser/ui/toolbar/app_menu_model.cc
+++ chrome/browser/ui/toolbar/app_menu_model.cc +++ chrome/browser/ui/toolbar/app_menu_model.cc
@@ -715,10 +715,12 @@ FindAndEditSubMenuModel::FindAndEditSubMenuModel( @@ -723,10 +723,12 @@ FindAndEditSubMenuModel::FindAndEditSubMenuModel(
ui::SimpleMenuModel::Delegate* delegate) ui::SimpleMenuModel::Delegate* delegate)
: SimpleMenuModel(delegate) { : SimpleMenuModel(delegate) {
AddItemWithStringIdAndVectorIcon(this, IDC_FIND, IDS_FIND, kSearchMenuIcon); AddItemWithStringIdAndVectorIcon(this, IDC_FIND, IDS_FIND, kSearchMenuIcon);
@ -57,7 +57,7 @@ index 28f18cbca8a49..31cec595eab48 100644
} }
class SaveAndShareSubMenuModel : public ui::SimpleMenuModel { class SaveAndShareSubMenuModel : public ui::SimpleMenuModel {
@@ -783,6 +785,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel( @@ -791,6 +793,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel(
} }
} }
@ -115,7 +115,7 @@ index 28f18cbca8a49..31cec595eab48 100644
} // namespace } // namespace
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
@@ -1676,7 +1729,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const { @@ -1687,7 +1740,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
return false; return false;
} }
@ -124,7 +124,7 @@ index 28f18cbca8a49..31cec595eab48 100644
GlobalError* error = GlobalError* error =
GlobalErrorServiceFactory::GetForProfile(browser_->profile()) GlobalErrorServiceFactory::GetForProfile(browser_->profile())
->GetGlobalErrorByMenuItemCommandID(command_id); ->GetGlobalErrorByMenuItemCommandID(command_id);
@@ -1692,6 +1745,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const { @@ -1703,6 +1756,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
} }
} }
@ -155,7 +155,7 @@ index 28f18cbca8a49..31cec595eab48 100644
bool AppMenuModel::IsCommandIdAlerted(int command_id) const { bool AppMenuModel::IsCommandIdAlerted(int command_id) const {
if (command_id == IDC_VIEW_PASSWORDS || if (command_id == IDC_VIEW_PASSWORDS ||
command_id == IDC_SHOW_PASSWORD_MANAGER) { command_id == IDC_SHOW_PASSWORD_MANAGER) {
@@ -1854,8 +1931,10 @@ void AppMenuModel::Build() { @@ -1865,8 +1942,10 @@ void AppMenuModel::Build() {
IDS_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA,
kTrashCanRefreshIcon); kTrashCanRefreshIcon);
@ -166,7 +166,7 @@ index 28f18cbca8a49..31cec595eab48 100644
AddSeparator(ui::NORMAL_SEPARATOR); AddSeparator(ui::NORMAL_SEPARATOR);
AddItemWithStringIdAndVectorIcon(this, IDC_PRINT, IDS_PRINT, kPrintMenuIcon); AddItemWithStringIdAndVectorIcon(this, IDC_PRINT, IDS_PRINT, kPrintMenuIcon);
@@ -1967,6 +2046,11 @@ void AppMenuModel::Build() { @@ -1981,6 +2060,11 @@ void AppMenuModel::Build() {
} }
#endif // !BUILDFLAG(IS_CHROMEOS_ASH) #endif // !BUILDFLAG(IS_CHROMEOS_ASH)
@ -179,10 +179,10 @@ index 28f18cbca8a49..31cec595eab48 100644
} }
diff --git chrome/browser/ui/toolbar/app_menu_model.h chrome/browser/ui/toolbar/app_menu_model.h diff --git chrome/browser/ui/toolbar/app_menu_model.h chrome/browser/ui/toolbar/app_menu_model.h
index 3451f237e2df0..dfcc57b661a45 100644 index 426ca35c4c814..247cfd2d99731 100644
--- chrome/browser/ui/toolbar/app_menu_model.h --- chrome/browser/ui/toolbar/app_menu_model.h
+++ chrome/browser/ui/toolbar/app_menu_model.h +++ chrome/browser/ui/toolbar/app_menu_model.h
@@ -233,6 +233,7 @@ class AppMenuModel : public ui::SimpleMenuModel, @@ -232,6 +232,7 @@ class AppMenuModel : public ui::SimpleMenuModel,
void ExecuteCommand(int command_id, int event_flags) override; void ExecuteCommand(int command_id, int event_flags) override;
bool IsCommandIdChecked(int command_id) const override; bool IsCommandIdChecked(int command_id) const override;
bool IsCommandIdEnabled(int command_id) const override; bool IsCommandIdEnabled(int command_id) const override;
@ -190,7 +190,7 @@ index 3451f237e2df0..dfcc57b661a45 100644
bool IsCommandIdAlerted(int command_id) const override; bool IsCommandIdAlerted(int command_id) const override;
bool IsElementIdAlerted(ui::ElementIdentifier element_id) const override; bool IsElementIdAlerted(ui::ElementIdentifier element_id) const override;
bool GetAcceleratorForCommandId(int command_id, bool GetAcceleratorForCommandId(int command_id,
@@ -273,6 +274,8 @@ class AppMenuModel : public ui::SimpleMenuModel, @@ -272,6 +273,8 @@ class AppMenuModel : public ui::SimpleMenuModel,
void LogSafetyHubInteractionMetrics(safety_hub::SafetyHubModuleType sh_module, void LogSafetyHubInteractionMetrics(safety_hub::SafetyHubModuleType sh_module,
int event_flags); int event_flags);
@ -200,7 +200,7 @@ index 3451f237e2df0..dfcc57b661a45 100644
// Adds actionable global error menu items to the menu. // Adds actionable global error menu items to the menu.
// Examples: Extension permissions and sign in errors. // Examples: Extension permissions and sign in errors.
diff --git chrome/browser/ui/views/find_bar_host.cc chrome/browser/ui/views/find_bar_host.cc diff --git chrome/browser/ui/views/find_bar_host.cc chrome/browser/ui/views/find_bar_host.cc
index 86fad4ad36024..8ca6f3e0eb42f 100644 index 81455e1765477..7357122b31b1d 100644
--- chrome/browser/ui/views/find_bar_host.cc --- chrome/browser/ui/views/find_bar_host.cc
+++ chrome/browser/ui/views/find_bar_host.cc +++ chrome/browser/ui/views/find_bar_host.cc
@@ -583,6 +583,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) { @@ -583,6 +583,14 @@ gfx::Rect FindBarHost::GetDialogPosition(gfx::Rect avoid_overlapping_rect) {
@ -219,7 +219,7 @@ index 86fad4ad36024..8ca6f3e0eb42f 100644
return gfx::Rect(); return gfx::Rect();
} }
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index 19343898d78d9..9b974442606b4 100644 index ddf91f2444718..59a6057bda9f3 100644
--- chrome/browser/ui/views/frame/browser_frame.cc --- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc +++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -114,15 +114,25 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant( @@ -114,15 +114,25 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant(
@ -320,7 +320,7 @@ index 19343898d78d9..9b974442606b4 100644
chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace()); chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(), chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
IsVisibleOnAllWorkspaces()); IsVisibleOnAllWorkspaces());
@@ -572,6 +606,13 @@ void BrowserFrame::SelectNativeTheme() { @@ -573,6 +607,13 @@ void BrowserFrame::SelectNativeTheme() {
return; return;
} }
@ -334,7 +334,7 @@ index 19343898d78d9..9b974442606b4 100644
// Ignore the system theme for web apps with window-controls-overlay as the // Ignore the system theme for web apps with window-controls-overlay as the
// display_override so the web contents can blend with the overlay by using // display_override so the web contents can blend with the overlay by using
// the developer-provided theme color for a better experience. Context: // the developer-provided theme color for a better experience. Context:
@@ -637,5 +678,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( @@ -638,5 +679,8 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
} }
bool BrowserFrame::IsIncognitoBrowser() const { bool BrowserFrame::IsIncognitoBrowser() const {
@ -397,25 +397,21 @@ index 14a8a70d853f6..bf81594947886 100644
// regenerated. // regenerated.
bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type); bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type);
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index ab37088b71722..f4e1786b902c9 100644 index 79a944bab28e1..1c236bd829c05 100644
--- chrome/browser/ui/views/frame/browser_view.cc --- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc +++ chrome/browser/ui/views/frame/browser_view.cc
@@ -354,11 +354,10 @@ using content::WebContents; @@ -366,10 +366,6 @@ constexpr base::FeatureParam<base::TimeDelta> kLoadingTabAnimationFrameDelay = {
using input::NativeWebKeyboardEvent; &kChangeFrameRateOfLoadingTabAnimation, "loading_tab_animation_frame_delay",
using web_modal::WebContentsModalDialogHost; base::Milliseconds(30)};
-namespace {
+// static
+const char BrowserView::kBrowserViewKey[] = "__BROWSER_VIEW__";
-// The name of a key to store on the window handle so that other code can -// The name of a key to store on the window handle so that other code can
-// locate this object using just the handle. -// locate this object using just the handle.
-const char* const kBrowserViewKey = "__BROWSER_VIEW__"; -const char* const kBrowserViewKey = "__BROWSER_VIEW__";
+namespace { -
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation. // UMA histograms that record animation smoothness for tab loading animation.
@@ -698,6 +697,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate { constexpr char kTabLoadingSmoothnessHistogramName[] =
@@ -708,6 +704,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
return browser_view_->frame()->GetTopInset() - browser_view_->y(); return browser_view_->frame()->GetTopInset() - browser_view_->y();
} }
@ -430,7 +426,7 @@ index ab37088b71722..f4e1786b902c9 100644
bool IsToolbarVisible() const override { bool IsToolbarVisible() const override {
return browser_view_->IsToolbarVisible(); return browser_view_->IsToolbarVisible();
} }
@@ -849,11 +856,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver { @@ -859,11 +863,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// BrowserView, public: // BrowserView, public:
@ -453,7 +449,7 @@ index ab37088b71722..f4e1786b902c9 100644
SetShowIcon( SetShowIcon(
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay())); ::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
@@ -948,8 +965,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) @@ -953,8 +967,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>( contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_, watermark_view_)); devtools_web_view_, contents_web_view_, watermark_view_));
@ -471,7 +467,7 @@ index ab37088b71722..f4e1786b902c9 100644
contents_separator_ = contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>()); top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1016,7 +1040,9 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser) @@ -1035,7 +1056,9 @@ void BrowserView::ToggleCompactModeUI() {
} }
BrowserView::~BrowserView() { BrowserView::~BrowserView() {
@ -481,7 +477,7 @@ index ab37088b71722..f4e1786b902c9 100644
// Destroy the top controls slide controller first as it depends on the // Destroy the top controls slide controller first as it depends on the
// tabstrip model and the browser frame. // tabstrip model and the browser frame.
@@ -1024,7 +1050,9 @@ BrowserView::~BrowserView() { @@ -1043,7 +1066,9 @@ BrowserView::~BrowserView() {
// All the tabs should have been destroyed already. If we were closed by the // All the tabs should have been destroyed already. If we were closed by the
// OS with some tabs than the NativeBrowserFrame should have destroyed them. // OS with some tabs than the NativeBrowserFrame should have destroyed them.
@ -491,7 +487,7 @@ index ab37088b71722..f4e1786b902c9 100644
// Stop the animation timer explicitly here to avoid running it in a nested // Stop the animation timer explicitly here to avoid running it in a nested
// message loop, which may run by Browser destructor. // message loop, which may run by Browser destructor.
@@ -1033,17 +1061,18 @@ BrowserView::~BrowserView() { @@ -1052,17 +1077,18 @@ BrowserView::~BrowserView() {
// Immersive mode may need to reparent views before they are removed/deleted. // Immersive mode may need to reparent views before they are removed/deleted.
immersive_mode_controller_.reset(); immersive_mode_controller_.reset();
@ -512,9 +508,9 @@ index ab37088b71722..f4e1786b902c9 100644
} }
+ } + }
#if BUILDFLAG(ENTERPRISE_WATERMARK)
// `watermark_view_` is a raw pointer to a child view, so it needs to be set // `watermark_view_` is a raw pointer to a child view, so it needs to be set
@@ -1604,6 +1633,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const { // to null before `RemoveAllChildViews()` is called to avoid dangling.
@@ -1622,6 +1648,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y()); ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y());
} }
@ -528,7 +524,7 @@ index ab37088b71722..f4e1786b902c9 100644
// static: // static:
BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement( BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement(
const gfx::Rect& contents_webview_bounds, const gfx::Rect& contents_webview_bounds,
@@ -2028,9 +2064,14 @@ void BrowserView::OnExclusiveAccessUserInput() { @@ -2036,9 +2069,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
bool BrowserView::ShouldHideUIForFullscreen() const { bool BrowserView::ShouldHideUIForFullscreen() const {
// Immersive mode needs UI for the slide-down top panel. // Immersive mode needs UI for the slide-down top panel.
@ -544,7 +540,7 @@ index ab37088b71722..f4e1786b902c9 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen(); return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
} }
@@ -3242,7 +3283,8 @@ views::View* BrowserView::GetTopContainer() { @@ -3212,7 +3250,8 @@ views::View* BrowserView::GetTopContainer() {
} }
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() { DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
@ -554,7 +550,7 @@ index ab37088b71722..f4e1786b902c9 100644
if (auto* download_button = toolbar_button_provider_->GetDownloadButton()) if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
return download_button->bubble_controller(); return download_button->bubble_controller();
return nullptr; return nullptr;
@@ -3797,7 +3839,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() { @@ -3767,7 +3806,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this) if (top_container()->parent() == this)
return; return;
@ -564,7 +560,7 @@ index ab37088b71722..f4e1786b902c9 100644
top_container()->DestroyLayer(); top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0); AddChildViewAt(top_container(), 0);
EnsureFocusOrder(); EnsureFocusOrder();
@@ -4280,11 +4323,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) { @@ -4254,11 +4294,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
bool BrowserView::ShouldDescendIntoChildForEventHandling( bool BrowserView::ShouldDescendIntoChildForEventHandling(
gfx::NativeView child, gfx::NativeView child,
const gfx::Point& location) { const gfx::Point& location) {
@ -605,7 +601,7 @@ index ab37088b71722..f4e1786b902c9 100644
// Draggable regions are defined relative to the web contents. // Draggable regions are defined relative to the web contents.
gfx::Point point_in_contents_web_view_coords(location); gfx::Point point_in_contents_web_view_coords(location);
views::View::ConvertPointToTarget(GetWidget()->GetRootView(), views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
@@ -4293,7 +4363,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling( @@ -4267,7 +4334,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
// Draggable regions should be ignored for clicks into any browser view's // Draggable regions should be ignored for clicks into any browser view's
// owned widgets, for example alerts, permission prompts or find bar. // owned widgets, for example alerts, permission prompts or find bar.
@ -614,7 +610,7 @@ index ab37088b71722..f4e1786b902c9 100644
point_in_contents_web_view_coords.x(), point_in_contents_web_view_coords.x(),
point_in_contents_web_view_coords.y()) || point_in_contents_web_view_coords.y()) ||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords); WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
@@ -4404,8 +4474,10 @@ void BrowserView::Layout(PassKey) { @@ -4378,8 +4445,10 @@ void BrowserView::Layout(PassKey) {
// TODO(jamescook): Why was this in the middle of layout code? // TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior( toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -627,7 +623,7 @@ index ab37088b71722..f4e1786b902c9 100644
// Some of the situations when the BrowserView is laid out are: // Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode. // - Enter/exit immersive fullscreen mode.
@@ -4471,6 +4543,11 @@ void BrowserView::AddedToWidget() { @@ -4445,6 +4514,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile()); SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif #endif
@ -639,7 +635,7 @@ index ab37088b71722..f4e1786b902c9 100644
toolbar_->Init(); toolbar_->Init();
// TODO(pbos): Investigate whether the side panels should be creatable when // TODO(pbos): Investigate whether the side panels should be creatable when
@@ -4512,13 +4589,9 @@ void BrowserView::AddedToWidget() { @@ -4487,13 +4561,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder(); EnsureFocusOrder();
@ -655,7 +651,7 @@ index ab37088b71722..f4e1786b902c9 100644
using_native_frame_ = frame_->ShouldUseNativeFrame(); using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip(); MaybeInitializeWebUITabStrip();
@@ -4886,7 +4959,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) { @@ -4857,7 +4927,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
// Undo our anti-jankiness hacks and force a re-layout. // Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false; in_process_fullscreen_ = false;
ToolbarSizeChanged(false); ToolbarSizeChanged(false);
@ -665,7 +661,7 @@ index ab37088b71722..f4e1786b902c9 100644
} }
void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) { void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) {
@@ -5387,6 +5461,8 @@ Profile* BrowserView::GetProfile() { @@ -5361,6 +5432,8 @@ Profile* BrowserView::GetProfile() {
} }
void BrowserView::UpdateUIForTabFullscreen() { void BrowserView::UpdateUIForTabFullscreen() {
@ -674,7 +670,7 @@ index ab37088b71722..f4e1786b902c9 100644
frame()->GetFrameView()->UpdateFullscreenTopUI(); frame()->GetFrameView()->UpdateFullscreenTopUI();
} }
@@ -5409,6 +5485,8 @@ void BrowserView::HideDownloadShelf() { @@ -5383,6 +5456,8 @@ void BrowserView::HideDownloadShelf() {
} }
bool BrowserView::CanUserExitFullscreen() const { bool BrowserView::CanUserExitFullscreen() const {
@ -684,10 +680,10 @@ index ab37088b71722..f4e1786b902c9 100644
} }
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 89816fdfe6b77..8974f7ca4ae31 100644 index bff67fba31480..bf3c87a126457 100644
--- chrome/browser/ui/views/frame/browser_view.h --- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h +++ chrome/browser/ui/views/frame/browser_view.h
@@ -143,11 +143,16 @@ class BrowserView : public BrowserWindow, @@ -137,11 +137,16 @@ class BrowserView : public BrowserWindow,
METADATA_HEADER(BrowserView, views::ClientView) METADATA_HEADER(BrowserView, views::ClientView)
public: public:
@ -699,14 +695,14 @@ index 89816fdfe6b77..8974f7ca4ae31 100644
~BrowserView() override; ~BrowserView() override;
+ // Key used to bind BrowserView to the Widget with which it is associated. + // Key used to bind BrowserView to the Widget with which it is associated.
+ static const char kBrowserViewKey[]; + static constexpr char kBrowserViewKey[] = "__BROWSER_VIEW__";
+ +
void set_frame(BrowserFrame* frame) { void set_frame(BrowserFrame* frame) {
frame_ = frame; frame_ = frame;
paint_as_active_subscription_ = paint_as_active_subscription_ =
@@ -852,6 +857,10 @@ class BrowserView : public BrowserWindow, @@ -825,6 +830,10 @@ class BrowserView : public BrowserWindow,
base::WeakPtr<content::WebContents> expected_web_contents, void ApplyScreenshotSettings(bool allow);
const enterprise_data_protection::UrlSettings& settings); #endif
+ // Called during Toolbar destruction to remove dependent objects that have + // Called during Toolbar destruction to remove dependent objects that have
+ // dangling references. + // dangling references.
@ -715,7 +711,7 @@ index 89816fdfe6b77..8974f7ca4ae31 100644
protected: protected:
// Enumerates where the devtools are docked relative to the browser's main // Enumerates where the devtools are docked relative to the browser's main
// web contents. // web contents.
@@ -875,6 +884,8 @@ class BrowserView : public BrowserWindow, @@ -848,6 +857,8 @@ class BrowserView : public BrowserWindow,
const gfx::Rect& contents_webview_bounds, const gfx::Rect& contents_webview_bounds,
const gfx::Rect& local_webview_container_bounds); const gfx::Rect& local_webview_container_bounds);
@ -725,10 +721,10 @@ index 89816fdfe6b77..8974f7ca4ae31 100644
// Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate // Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate
// interface to keep these two classes decoupled and testable. // interface to keep these two classes decoupled and testable.
diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc
index 96b489221fb3a..b372f67cd5c92 100644 index 7359b0457bf17..e661e2af050f0 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc --- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc +++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -48,6 +48,10 @@ @@ -53,6 +53,10 @@
#include "ui/views/window/client_view.h" #include "ui/views/window/client_view.h"
#include "ui/views/window/hit_test_utils.h" #include "ui/views/window/hit_test_utils.h"
@ -739,7 +735,7 @@ index 96b489221fb3a..b372f67cd5c92 100644
using views::View; using views::View;
using web_modal::ModalDialogHostObserver; using web_modal::ModalDialogHostObserver;
using web_modal::WebContentsModalDialogHost; using web_modal::WebContentsModalDialogHost;
@@ -92,6 +96,10 @@ class BrowserViewLayout::WebContentsModalDialogHostViews @@ -104,6 +108,10 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
observer.OnHostDestroying(); observer.OnHostDestroying();
} }
@ -750,7 +746,7 @@ index 96b489221fb3a..b372f67cd5c92 100644
void NotifyPositionRequiresUpdate() { void NotifyPositionRequiresUpdate() {
for (ModalDialogHostObserver& observer : observer_list_) for (ModalDialogHostObserver& observer : observer_list_)
observer.OnPositionRequiresUpdate(); observer.OnPositionRequiresUpdate();
@@ -102,7 +110,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews @@ -114,7 +122,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
views::View* view = browser_view_layout_->contents_container_; views::View* view = browser_view_layout_->contents_container_;
gfx::Rect rect = view->ConvertRectToWidget(view->GetLocalBounds()); gfx::Rect rect = view->ConvertRectToWidget(view->GetLocalBounds());
const int middle_x = rect.x() + rect.width() / 2; const int middle_x = rect.x() + rect.width() / 2;
@ -759,16 +755,16 @@ index 96b489221fb3a..b372f67cd5c92 100644
return gfx::Point(middle_x - size.width() / 2, top); return gfx::Point(middle_x - size.width() / 2, top);
} }
@@ -117,7 +125,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews @@ -151,7 +159,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
gfx::Size GetMaximumDialogSize() override { // universally.
views::View* view = browser_view_layout_->contents_container_; views::View* view = browser_view_layout_->contents_container_;
gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds()); gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds());
- const int top = browser_view_layout_->dialog_top_y_; - const int top = browser_view_layout_->dialog_top_y_;
+ const int top = GetDialogTopY(); + const int top = GetDialogTopY();
return gfx::Size(content_area.width(), content_area.bottom() - top); return gfx::Size(content_area.width(), content_area.bottom() - top);
#endif
} }
@@ -181,6 +189,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
@@ -132,6 +140,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
return host_widget ? host_widget->GetNativeView() : nullptr; return host_widget ? host_widget->GetNativeView() : nullptr;
} }
@ -782,7 +778,7 @@ index 96b489221fb3a..b372f67cd5c92 100644
// Add/remove observer. // Add/remove observer.
void AddObserver(ModalDialogHostObserver* observer) override { void AddObserver(ModalDialogHostObserver* observer) override {
observer_list_.AddObserver(observer); observer_list_.AddObserver(observer);
@@ -442,6 +457,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) { @@ -502,6 +517,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
if (exclusive_access_bubble) if (exclusive_access_bubble)
exclusive_access_bubble->RepositionIfVisible(); exclusive_access_bubble->RepositionIfVisible();
@ -791,7 +787,7 @@ index 96b489221fb3a..b372f67cd5c92 100644
// Adjust any hosted dialogs if the browser's dialog hosting bounds changed. // Adjust any hosted dialogs if the browser's dialog hosting bounds changed.
const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()), const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()),
dialog_host_->GetMaximumDialogSize()); dialog_host_->GetMaximumDialogSize());
@@ -455,6 +472,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) { @@ -515,6 +532,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen; latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen;
dialog_host_->NotifyPositionRequiresUpdate(); dialog_host_->NotifyPositionRequiresUpdate();
} }
@ -799,7 +795,7 @@ index 96b489221fb3a..b372f67cd5c92 100644
} }
gfx::Size BrowserViewLayout::GetPreferredSize( gfx::Size BrowserViewLayout::GetPreferredSize(
@@ -590,6 +608,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) { @@ -656,6 +674,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
int BrowserViewLayout::LayoutToolbar(int top) { int BrowserViewLayout::LayoutToolbar(int top) {
TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar"); TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar");
@ -843,10 +839,10 @@ index 71445bfab1824..c77750ea2a820 100644
ContentsWebView::~ContentsWebView() { 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 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 5778e6329ad87..9c594b43d16cd 100644 index 9dddf71ef05bd..18c43631ea288 100644
--- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc --- chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
+++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc +++ chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
@@ -609,6 +609,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView( @@ -619,6 +619,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
return window->GetProperty(chromeos::kWindowStateTypeKey); return window->GetProperty(chromeos::kWindowStateTypeKey);
}))); })));
#endif #endif
@ -858,7 +854,7 @@ index 5778e6329ad87..9c594b43d16cd 100644
} }
PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() { PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() {
@@ -736,18 +741,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds( @@ -746,18 +751,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
int PictureInPictureBrowserFrameView::NonClientHitTest( int PictureInPictureBrowserFrameView::NonClientHitTest(
const gfx::Point& point) { const gfx::Point& point) {
@ -909,7 +905,7 @@ index 5778e6329ad87..9c594b43d16cd 100644
// Allow dragging and resizing the window. // Allow dragging and resizing the window.
int window_component = GetHTComponentForFrame( int window_component = GetHTComponentForFrame(
@@ -816,7 +845,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) { @@ -826,7 +855,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) {
gfx::Rect content_area = GetLocalBounds(); gfx::Rect content_area = GetLocalBounds();
content_area.Inset(FrameBorderInsets()); content_area.Inset(FrameBorderInsets());
gfx::Rect top_bar = content_area; gfx::Rect top_bar = content_area;
@ -919,7 +915,7 @@ index 5778e6329ad87..9c594b43d16cd 100644
top_bar_container_view_->SetBoundsRect(top_bar); top_bar_container_view_->SetBoundsRect(top_bar);
#if !BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID)
if (auto_pip_setting_overlay_) { if (auto_pip_setting_overlay_) {
@@ -1315,7 +1345,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const { @@ -1371,7 +1401,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
} }
int PictureInPictureBrowserFrameView::GetTopAreaHeight() const { int PictureInPictureBrowserFrameView::GetTopAreaHeight() const {
@ -961,10 +957,10 @@ index 0bd4cfc52548b..8515cec793563 100644
case PageActionIconType::kPaymentsOfferNotification: case PageActionIconType::kPaymentsOfferNotification:
add_page_action_icon( add_page_action_icon(
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
index 28cff32121b69..443e43779e8f5 100644 index f4c711f411689..be422635719db 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc --- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc +++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -606,29 +606,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup( @@ -600,29 +600,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
} }
bool BrowserTabStripController::IsFrameCondensed() const { bool BrowserTabStripController::IsFrameCondensed() const {
@ -1007,10 +1003,10 @@ index 28cff32121b69..443e43779e8f5 100644
} }
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index 0ef2fcb160af2..010279ae8e5dc 100644 index 577215577d9ac..a390c9f279f76 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc --- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc +++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -192,7 +192,7 @@ class TabstripLikeBackground : public views::Background { @@ -195,7 +195,7 @@ class TabstripLikeBackground : public views::Background {
void Paint(gfx::Canvas* canvas, views::View* view) const override { void Paint(gfx::Canvas* canvas, views::View* view) const override {
bool painted = TopContainerBackground::PaintThemeCustomImage(canvas, view, bool painted = TopContainerBackground::PaintThemeCustomImage(canvas, view,
browser_view_); browser_view_);
@ -1019,7 +1015,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
SkColor frame_color = SkColor frame_color =
browser_view_->frame()->GetFrameView()->GetFrameColor( browser_view_->frame()->GetFrameView()->GetFrameColor(
BrowserFrameActiveState::kUseCurrent); BrowserFrameActiveState::kUseCurrent);
@@ -223,12 +223,13 @@ END_METADATA @@ -226,12 +226,13 @@ END_METADATA
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public: // ToolbarView, public:
@ -1035,7 +1031,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
SetID(VIEW_ID_TOOLBAR); SetID(VIEW_ID_TOOLBAR);
container_view_ = AddChildView(std::make_unique<ContainerView>()); container_view_ = AddChildView(std::make_unique<ContainerView>());
@@ -255,9 +256,24 @@ ToolbarView::~ToolbarView() { @@ -260,9 +261,24 @@ ToolbarView::~ToolbarView() {
for (const auto& view_and_command : GetViewCommandMap()) for (const auto& view_and_command : GetViewCommandMap())
chrome::RemoveCommandObserver(browser_, view_and_command.second, this); chrome::RemoveCommandObserver(browser_, view_and_command.second, this);
@ -1060,7 +1056,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
#if defined(USE_AURA) #if defined(USE_AURA)
// Avoid generating too many occlusion tracking calculation events before this // Avoid generating too many occlusion tracking calculation events before this
// function returns. The occlusion status will be computed only once once this // function returns. The occlusion status will be computed only once once this
@@ -280,12 +296,12 @@ void ToolbarView::Init() { @@ -285,12 +301,12 @@ void ToolbarView::Init() {
auto location_bar = std::make_unique<LocationBarView>( auto location_bar = std::make_unique<LocationBarView>(
browser_, browser_->profile(), browser_->command_controller(), this, browser_, browser_->profile(), browser_->command_controller(), this,
@ -1075,7 +1071,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
download_button = download_button =
std::make_unique<DownloadToolbarButtonView>(browser_view_); std::make_unique<DownloadToolbarButtonView>(browser_view_);
} }
@@ -365,8 +381,10 @@ void ToolbarView::Init() { @@ -370,8 +386,10 @@ void ToolbarView::Init() {
toolbar_divider = std::make_unique<views::View>(); toolbar_divider = std::make_unique<views::View>();
} }
std::unique_ptr<media_router::CastToolbarButton> cast; std::unique_ptr<media_router::CastToolbarButton> cast;
@ -1087,7 +1083,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
std::unique_ptr<MediaToolbarButtonView> media_button; std::unique_ptr<MediaToolbarButtonView> media_button;
if (base::FeatureList::IsEnabled(media::kGlobalMediaControls)) { if (base::FeatureList::IsEnabled(media::kGlobalMediaControls)) {
@@ -376,7 +394,8 @@ void ToolbarView::Init() { @@ -381,7 +399,8 @@ void ToolbarView::Init() {
std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView> std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView>
send_tab_to_self_button; send_tab_to_self_button;
@ -1097,7 +1093,7 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
send_tab_to_self_button = send_tab_to_self_button =
std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>( std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>(
browser_view_); browser_view_);
@@ -810,7 +829,8 @@ void ToolbarView::Layout(PassKey) { @@ -838,7 +857,8 @@ void ToolbarView::Layout(PassKey) {
if (display_mode_ == DisplayMode::NORMAL) { if (display_mode_ == DisplayMode::NORMAL) {
LayoutCommon(); LayoutCommon();
@ -1106,9 +1102,9 @@ index 0ef2fcb160af2..010279ae8e5dc 100644
+ UpdateClipPath(); + UpdateClipPath();
} }
// Use two-pass solution to avoid the overflow button interfering with toolbar if (toolbar_controller_) {
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index cb361877682b9..5f13a11a494a1 100644 index 1688062ae52ab..eabf36e6bed8d 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h --- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h +++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -94,7 +94,8 @@ class ToolbarView : public views::AccessiblePaneView, @@ -94,7 +94,8 @@ class ToolbarView : public views::AccessiblePaneView,

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index 71f67744bc79a..2bb886ea46ab5 100644 index c3fe3e246d225..df8676d7b5080 100644
--- content/browser/devtools/devtools_instrumentation.h --- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h +++ content/browser/devtools/devtools_instrumentation.h
@@ -114,7 +114,7 @@ bool ApplyUserAgentMetadataOverrides( @@ -114,7 +114,7 @@ bool ApplyUserAgentMetadataOverrides(
@ -68,7 +68,7 @@ index 6af484f35f576..2462700b6d1fb 100644
blink::mojom::V8CacheOptions GetV8CacheOptions(); blink::mojom::V8CacheOptions GetV8CacheOptions();
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index 47e37a2aaa79c..7a65e0654453a 100644 index 6ff75a6bb03e7..938113ef46a0d 100644
--- third_party/blink/renderer/controller/BUILD.gn --- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn +++ third_party/blink/renderer/controller/BUILD.gn
@@ -38,6 +38,7 @@ component("controller") { @@ -38,6 +38,7 @@ component("controller") {

View File

@ -12,10 +12,10 @@ index 11c9cd82d0392..9c700bc625cd5 100644
version.Set("V8-Version", V8_VERSION_STRING); version.Set("V8-Version", V8_VERSION_STRING);
std::string host = info.GetHeaderValue("host"); std::string host = info.GetHeaderValue("host");
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index a7b8a6ed9165c..cf3b7ee6d06de 100644 index 27b688244b3af..aa50f40557874 100644
--- content/browser/loader/navigation_url_loader_impl.cc --- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc +++ content/browser/loader/navigation_url_loader_impl.cc
@@ -858,7 +858,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( @@ -860,7 +860,7 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
mojo::PendingRemote<network::mojom::URLLoaderFactory> mojo::PendingRemote<network::mojom::URLLoaderFactory>
terminal_external_protocol; terminal_external_protocol;
bool handled = GetContentClient()->browser()->HandleExternalProtocol( bool handled = GetContentClient()->browser()->HandleExternalProtocol(
@ -24,7 +24,7 @@ index a7b8a6ed9165c..cf3b7ee6d06de 100644
frame_tree_node->frame_tree_node_id(), navigation_ui_data, frame_tree_node->frame_tree_node_id(), navigation_ui_data,
request_info.is_primary_main_frame, request_info.is_primary_main_frame,
frame_tree_node->IsInFencedFrameTree(), request_info.sandbox_flags, frame_tree_node->IsInFencedFrameTree(), request_info.sandbox_flags,
@@ -870,6 +870,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory( @@ -872,6 +872,21 @@ NavigationURLLoaderImpl::CreateNonNetworkLoaderFactory(
*request_info.initiator_document_token) *request_info.initiator_document_token)
: nullptr, : nullptr,
&terminal_external_protocol); &terminal_external_protocol);
@ -47,10 +47,10 @@ index a7b8a6ed9165c..cf3b7ee6d06de 100644
return std::make_pair( return std::make_pair(
/*is_cacheable=*/false, /*is_cacheable=*/false,
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index dc4110d8878b8..936f861619e26 100644 index 79c37e0aeb8aa..902133ac26661 100644
--- content/public/browser/content_browser_client.cc --- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc +++ content/public/browser/content_browser_client.cc
@@ -1127,7 +1127,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload( @@ -1128,7 +1128,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
void ContentBrowserClient::OnNetworkServiceCreated( void ContentBrowserClient::OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) {} network::mojom::NetworkService* network_service) {}
@ -59,7 +59,7 @@ index dc4110d8878b8..936f861619e26 100644
BrowserContext* context, BrowserContext* context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
@@ -1136,6 +1136,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams( @@ -1137,6 +1137,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) { cert_verifier_creation_params) {
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context); network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = "en-us,en"; network_context_params->accept_language = "en-us,en";
@ -68,10 +68,10 @@ index dc4110d8878b8..936f861619e26 100644
std::vector<base::FilePath> std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 77e3d993b3dc0..349043f3d965b 100644 index ddca696e47412..82352a0fb71c4 100644
--- content/public/browser/content_browser_client.h --- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h +++ content/public/browser/content_browser_client.h
@@ -2141,7 +2141,7 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -2144,7 +2144,7 @@ class CONTENT_EXPORT ContentBrowserClient {
// //
// If |relative_partition_path| is the empty string, it means this needs to // If |relative_partition_path| is the empty string, it means this needs to
// create the default NetworkContext for the BrowserContext. // create the default NetworkContext for the BrowserContext.
@ -80,7 +80,7 @@ index 77e3d993b3dc0..349043f3d965b 100644
BrowserContext* context, BrowserContext* context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
@@ -2354,6 +2354,21 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -2363,6 +2363,21 @@ class CONTENT_EXPORT ContentBrowserClient {
RenderFrameHost* initiator_document, RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory); mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -102,7 +102,7 @@ index 77e3d993b3dc0..349043f3d965b 100644
// Creates an OverlayWindow to be used for video or Picture-in-Picture. // Creates an OverlayWindow to be used for video or Picture-in-Picture.
// This window will house the content shown when in Picture-in-Picture mode. // This window will house the content shown when in Picture-in-Picture mode.
// This will return a new OverlayWindow. // This will return a new OverlayWindow.
@@ -2414,6 +2429,10 @@ class CONTENT_EXPORT ContentBrowserClient { @@ -2423,6 +2438,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string. // Used as part of the user agent string.
virtual std::string GetProduct(); virtual std::string GetProduct();
@ -114,10 +114,10 @@ index 77e3d993b3dc0..349043f3d965b 100644
// on blink::features::kUserAgentReduction. Content may cache this value. // on blink::features::kUserAgentReduction. Content may cache this value.
virtual std::string GetUserAgent(); virtual std::string GetUserAgent();
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index dd8f6b9a87a0c..c1f93a716b485 100644 index 784e0a5166d6b..1fd1e9ee107f3 100644
--- content/public/renderer/content_renderer_client.h --- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h +++ content/public/renderer/content_renderer_client.h
@@ -108,6 +108,9 @@ class CONTENT_EXPORT ContentRendererClient { @@ -109,6 +109,9 @@ class CONTENT_EXPORT ContentRendererClient {
// a crash handler (such as crashpad) is already in use. // a crash handler (such as crashpad) is already in use.
virtual void SetUpWebAssemblyTrapHandler(); virtual void SetUpWebAssemblyTrapHandler();
@ -127,7 +127,7 @@ index dd8f6b9a87a0c..c1f93a716b485 100644
// Notifies that a new RenderFrame has been created. // Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {} virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -345,6 +348,10 @@ class CONTENT_EXPORT ContentRendererClient { @@ -355,6 +358,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame. // This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {} virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@ -139,10 +139,10 @@ index dd8f6b9a87a0c..c1f93a716b485 100644
// started. // started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {} virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index f2b7b6d436431..988447abd44b9 100644 index c8bdd54e22b9b..8a7d4a6acbb93 100644
--- content/renderer/render_thread_impl.cc --- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc +++ content/renderer/render_thread_impl.cc
@@ -572,6 +572,8 @@ void RenderThreadImpl::Init() { @@ -573,6 +573,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider( GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType::kFrame); blink::URLLoaderThrottleProviderType::kFrame);
@ -152,10 +152,10 @@ index f2b7b6d436431..988447abd44b9 100644
base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver, base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver,
base::Unretained(this))); base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 06000a2c90989..df8daf5b60a1e 100644 index 8ad54eacf1ec5..6556b1c1d4734 100644
--- content/renderer/renderer_blink_platform_impl.cc --- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc +++ content/renderer/renderer_blink_platform_impl.cc
@@ -1030,6 +1030,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() { @@ -1058,6 +1058,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -172,10 +172,10 @@ index 06000a2c90989..df8daf5b60a1e 100644
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() { RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
return std::make_unique<V8ValueConverterImpl>(); return std::make_unique<V8ValueConverterImpl>();
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 75504bfc89cbe..8a315105f4390 100644 index b2eae6bcf84a6..adf37a038888f 100644
--- content/renderer/renderer_blink_platform_impl.h --- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h +++ content/renderer/renderer_blink_platform_impl.h
@@ -243,6 +243,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl { @@ -247,6 +247,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override; InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override;
#endif // BUILDFLAG(IS_ANDROID) #endif // BUILDFLAG(IS_ANDROID)
@ -220,10 +220,10 @@ index adda0a797eb58..a83a9e048000c 100644
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
diff --git headless/lib/browser/headless_content_browser_client.cc headless/lib/browser/headless_content_browser_client.cc diff --git headless/lib/browser/headless_content_browser_client.cc headless/lib/browser/headless_content_browser_client.cc
index 5818c29a8efd2..eac53ff61db95 100644 index 4e4be62976342..d3d33a9910f8d 100644
--- headless/lib/browser/headless_content_browser_client.cc --- headless/lib/browser/headless_content_browser_client.cc
+++ headless/lib/browser/headless_content_browser_client.cc +++ headless/lib/browser/headless_content_browser_client.cc
@@ -338,7 +338,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed( @@ -353,7 +353,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed(
return true; return true;
} }
@ -232,7 +232,7 @@ index 5818c29a8efd2..eac53ff61db95 100644
content::BrowserContext* context, content::BrowserContext* context,
bool in_memory, bool in_memory,
const base::FilePath& relative_partition_path, const base::FilePath& relative_partition_path,
@@ -348,6 +348,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams( @@ -363,6 +363,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
HeadlessBrowserContextImpl::From(context)->ConfigureNetworkContextParams( HeadlessBrowserContextImpl::From(context)->ConfigureNetworkContextParams(
in_memory, relative_partition_path, network_context_params, in_memory, relative_partition_path, network_context_params,
cert_verifier_creation_params); cert_verifier_creation_params);
@ -241,10 +241,10 @@ index 5818c29a8efd2..eac53ff61db95 100644
std::string HeadlessContentBrowserClient::GetProduct() { std::string HeadlessContentBrowserClient::GetProduct() {
diff --git headless/lib/browser/headless_content_browser_client.h headless/lib/browser/headless_content_browser_client.h diff --git headless/lib/browser/headless_content_browser_client.h headless/lib/browser/headless_content_browser_client.h
index 487ab091cb880..5c9cd62d4c6d1 100644 index ab36d851474e3..fde125757d68f 100644
--- headless/lib/browser/headless_content_browser_client.h --- headless/lib/browser/headless_content_browser_client.h
+++ headless/lib/browser/headless_content_browser_client.h +++ headless/lib/browser/headless_content_browser_client.h
@@ -94,7 +94,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient { @@ -102,7 +102,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient {
std::string* out_debug_message, std::string* out_debug_message,
bool* out_block_is_site_setting_specific) override; bool* out_block_is_site_setting_specific) override;

View File

@ -12,10 +12,10 @@ index 79ba3ac1913f8..46bcb4366d2f8 100644
if (main_argv) if (main_argv)
setproctitle_init(main_argv); setproctitle_init(main_argv);
diff --git content/app/content_main.cc content/app/content_main.cc diff --git content/app/content_main.cc content/app/content_main.cc
index 96c28a7ce3183..8a396ce7adf86 100644 index 92a5ef04a25bf..099c4e3772b87 100644
--- content/app/content_main.cc --- content/app/content_main.cc
+++ content/app/content_main.cc +++ content/app/content_main.cc
@@ -174,11 +174,8 @@ ContentMainParams::~ContentMainParams() = default; @@ -172,11 +172,8 @@ ContentMainParams::~ContentMainParams() = default;
ContentMainParams::ContentMainParams(ContentMainParams&&) = default; ContentMainParams::ContentMainParams(ContentMainParams&&) = default;
ContentMainParams& ContentMainParams::operator=(ContentMainParams&&) = default; ContentMainParams& ContentMainParams::operator=(ContentMainParams&&) = default;
@ -29,7 +29,7 @@ index 96c28a7ce3183..8a396ce7adf86 100644
base::FeatureList::FailOnFeatureAccessWithoutFeatureList(); base::FeatureList::FailOnFeatureAccessWithoutFeatureList();
#if BUILDFLAG(IS_CHROMEOS_LACROS) #if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros is launched with inherited priority. Revert to normal priority // Lacros is launched with inherited priority. Revert to normal priority
@@ -186,9 +183,6 @@ RunContentProcess(ContentMainParams params, @@ -184,9 +181,6 @@ RunContentProcess(ContentMainParams params,
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kDefault); base::PlatformThread::SetCurrentThreadType(base::ThreadType::kDefault);
#endif #endif
int exit_code = -1; int exit_code = -1;
@ -39,7 +39,7 @@ index 96c28a7ce3183..8a396ce7adf86 100644
// A flag to indicate whether Main() has been called before. On Android, we // A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag // may re-run Main() without restarting the browser process. This flag
@@ -266,7 +260,9 @@ RunContentProcess(ContentMainParams params, @@ -265,7 +259,9 @@ RunContentProcess(ContentMainParams params,
// default, "C", locale. // default, "C", locale.
setlocale(LC_NUMERIC, "C"); setlocale(LC_NUMERIC, "C");
@ -50,7 +50,7 @@ index 96c28a7ce3183..8a396ce7adf86 100644
#endif #endif
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@@ -274,14 +270,6 @@ RunContentProcess(ContentMainParams params, @@ -273,14 +269,6 @@ RunContentProcess(ContentMainParams params,
#endif #endif
#if BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_MAC)
@ -65,7 +65,7 @@ index 96c28a7ce3183..8a396ce7adf86 100644
InitializeMac(); InitializeMac();
#endif #endif
@@ -329,12 +317,46 @@ RunContentProcess(ContentMainParams params, @@ -328,12 +316,46 @@ RunContentProcess(ContentMainParams params,
if (IsSubprocess()) if (IsSubprocess())
CommonSubprocessInit(); CommonSubprocessInit();
@ -114,7 +114,7 @@ index 96c28a7ce3183..8a396ce7adf86 100644
} }
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 78b9930f1ca5c..1d93552c3da25 100644 index c0d3fc6c6ad03..7e64fd1346863 100644
--- content/app/content_main_runner_impl.cc --- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc +++ content/app/content_main_runner_impl.cc
@@ -52,6 +52,7 @@ @@ -52,6 +52,7 @@
@ -125,7 +125,7 @@ index 78b9930f1ca5c..1d93552c3da25 100644
#include "base/time/time.h" #include "base/time/time.h"
#include "base/trace_event/trace_event.h" #include "base/trace_event/trace_event.h"
#include "build/build_config.h" #include "build/build_config.h"
@@ -1342,6 +1343,11 @@ void ContentMainRunnerImpl::Shutdown() { @@ -1346,6 +1347,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true; is_shutdown_ = true;
} }

View File

@ -81,10 +81,10 @@ index 30a2c1adc4509..b60a7afaf1e5e 100644
g_crash_helper_enabled = true; g_crash_helper_enabled = true;
return true; return true;
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
index a29f22161328a..4de56b81683f3 100644 index d9c721376c855..e72b67e2a1a50 100644
--- chrome/common/crash_keys.cc --- chrome/common/crash_keys.cc
+++ chrome/common/crash_keys.cc +++ chrome/common/crash_keys.cc
@@ -7,6 +7,8 @@ @@ -12,6 +12,8 @@
#include <deque> #include <deque>
#include <string_view> #include <string_view>
@ -93,7 +93,7 @@ index a29f22161328a..4de56b81683f3 100644
#include "base/base_switches.h" #include "base/base_switches.h"
#include "base/command_line.h" #include "base/command_line.h"
#include "base/format_macros.h" #include "base/format_macros.h"
@@ -100,8 +102,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) { @@ -110,8 +112,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) {
"commandline-disabled-feature"); "commandline-disabled-feature");
} }
@ -102,16 +102,21 @@ index a29f22161328a..4de56b81683f3 100644
// Return true if we DON'T want to upload this flag to the crash server. // Return true if we DON'T want to upload this flag to the crash server.
-bool IsBoringSwitch(const std::string& flag) { -bool IsBoringSwitch(const std::string& flag) {
+bool IsBoringChromeSwitch(const std::string& flag) { +bool IsBoringChromeSwitch(const std::string& flag) {
static const char* const kIgnoreSwitches[] = { static const std::string_view kIgnoreSwitches[] = {
kStringAnnotationsSwitch,
switches::kEnableLogging, switches::kEnableLogging,
switches::kFlagSwitchesBegin, @@ -171,6 +175,8 @@ bool IsBoringSwitch(const std::string& flag) {
@@ -160,11 +164,9 @@ bool IsBoringSwitch(const std::string& flag) {
return false; return false;
} }
-} // namespace +namespace {
- +
std::deque<CrashKeyWithName>& GetCommandLineStringAnnotations() {
static base::NoDestructor<std::deque<CrashKeyWithName>>
command_line_string_annotations;
@@ -216,7 +222,7 @@ void AppendStringAnnotationsCommandLineSwitch(base::CommandLine* command_line) {
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) { void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) {
SetStringAnnotations(command_line);
HandleEnableDisableFeatures(command_line); HandleEnableDisableFeatures(command_line);
- SetSwitchesFromCommandLine(command_line, &IsBoringSwitch); - SetSwitchesFromCommandLine(command_line, &IsBoringSwitch);
+ SetSwitchesFromCommandLine(command_line, &IsBoringChromeSwitch); + SetSwitchesFromCommandLine(command_line, &IsBoringChromeSwitch);
@ -119,28 +124,28 @@ index a29f22161328a..4de56b81683f3 100644
} // namespace crash_keys } // namespace crash_keys
diff --git chrome/common/crash_keys.h chrome/common/crash_keys.h diff --git chrome/common/crash_keys.h chrome/common/crash_keys.h
index 710f553034881..dd1e61f9e194b 100644 index a274b3e364084..3d995cf643399 100644
--- chrome/common/crash_keys.h --- chrome/common/crash_keys.h
+++ chrome/common/crash_keys.h +++ chrome/common/crash_keys.h
@@ -5,12 +5,18 @@ @@ -5,6 +5,7 @@
#ifndef CHROME_COMMON_CRASH_KEYS_H_ #ifndef CHROME_COMMON_CRASH_KEYS_H_
#define CHROME_COMMON_CRASH_KEYS_H_ #define CHROME_COMMON_CRASH_KEYS_H_
+#include <string> +#include <string>
+ #include <string_view>
namespace base {
class CommandLine;
}
namespace crash_keys { namespace base {
@@ -24,6 +25,10 @@ void AllocateCrashKeyInBrowserAndChildren(std::string_view key,
// SetCrashKeysFromCommandLine().
void AppendStringAnnotationsCommandLineSwitch(base::CommandLine* command_line);
+// Returns true if the specified command-line flag should be excluded from +// Returns true if the specified command-line flag should be excluded from
+// crash reporting. +// crash reporting.
+bool IsBoringChromeSwitch(const std::string& flag); +bool IsBoringChromeSwitch(const std::string& flag);
+ +
// Sets the kNumSwitches key and the set of keys named using kSwitchFormat based // Sets the kNumSwitches key and the set of keys named using kSwitchFormat based
// on the given |command_line|. // on the given `command_line`. For non-browser processes, allocates crash keys
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line); // from the switch value set by AppendStringAnnotationsCommandLineSwitch().
diff --git components/crash/core/app/crash_reporter_client.cc components/crash/core/app/crash_reporter_client.cc diff --git components/crash/core/app/crash_reporter_client.cc components/crash/core/app/crash_reporter_client.cc
index 3f3ed53d48fc4..05bbc81db0c6a 100644 index 3f3ed53d48fc4..05bbc81db0c6a 100644
--- components/crash/core/app/crash_reporter_client.cc --- components/crash/core/app/crash_reporter_client.cc
@ -270,10 +275,10 @@ index a604df7a5ea6a..618fbde10a65c 100644
} // namespace crash_reporter } // namespace crash_reporter
diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc
index 3e96d2562b6cb..06133487e4157 100644 index 641c9cdba5011..20a8b9983a476 100644
--- components/crash/core/app/crashpad.cc --- components/crash/core/app/crashpad.cc
+++ components/crash/core/app/crashpad.cc +++ components/crash/core/app/crashpad.cc
@@ -124,7 +124,8 @@ bool InitializeCrashpadImpl(bool initial_client, @@ -128,7 +128,8 @@ bool InitializeCrashpadImpl(bool initial_client,
// fallback. Forwarding is turned off for debug-mode builds even for the // fallback. Forwarding is turned off for debug-mode builds even for the
// browser process, because the system's crash reporter can take a very long // browser process, because the system's crash reporter can take a very long
// time to chew on symbols. // time to chew on symbols.

View File

@ -1,5 +1,5 @@
diff --git third_party/crashpad/crashpad/client/prune_crash_reports.cc third_party/crashpad/crashpad/client/prune_crash_reports.cc diff --git third_party/crashpad/crashpad/client/prune_crash_reports.cc third_party/crashpad/crashpad/client/prune_crash_reports.cc
index 59b96461bbbbb..b3781cd1c42d9 100644 index 927ed6010f36e..1a36ae5d41d1f 100644
--- third_party/crashpad/crashpad/client/prune_crash_reports.cc --- third_party/crashpad/crashpad/client/prune_crash_reports.cc
+++ third_party/crashpad/crashpad/client/prune_crash_reports.cc +++ third_party/crashpad/crashpad/client/prune_crash_reports.cc
@@ -75,13 +75,19 @@ size_t PruneCrashReportDatabase(CrashReportDatabase* database, @@ -75,13 +75,19 @@ size_t PruneCrashReportDatabase(CrashReportDatabase* database,
@ -40,7 +40,7 @@ index b362e0aadbadd..1588232a6e4d4 100644
virtual ~PruneCondition() {} virtual ~PruneCondition() {}
diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc
index 420fbfc958168..eef5955d6f5a8 100644 index 0174c62b52856..c87205500aef0 100644
--- third_party/crashpad/crashpad/client/settings.cc --- third_party/crashpad/crashpad/client/settings.cc
+++ third_party/crashpad/crashpad/client/settings.cc +++ third_party/crashpad/crashpad/client/settings.cc
@@ -117,7 +117,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) { @@ -117,7 +117,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) {
@ -184,10 +184,10 @@ index a2d6f7fb482a7..a5b6ae04f897b 100644
if (crashpad_is_win) { if (crashpad_is_win) {
diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
index c224871a1de23..3186b9a45428d 100644 index 8350d0761ac18..9fc26214c4c0a 100644
--- third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc --- third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
+++ third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc +++ third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
@@ -297,6 +297,8 @@ CrashReportUploadThread::UploadResult CrashReportUploadThread::UploadReport( @@ -296,6 +296,8 @@ CrashReportUploadThread::UploadResult CrashReportUploadThread::UploadReport(
if (minidump_process_snapshot.Initialize(reader)) { if (minidump_process_snapshot.Initialize(reader)) {
parameters = parameters =
BreakpadHTTPFormParametersFromMinidump(&minidump_process_snapshot); BreakpadHTTPFormParametersFromMinidump(&minidump_process_snapshot);

View File

@ -12,7 +12,7 @@ index 44a11ec90ec9b..4c35b35a97f28 100644
# https://crbug.com/474506. # https://crbug.com/474506.
"//clank/java/BUILD.gn", "//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn diff --git BUILD.gn BUILD.gn
index 35e7fdec17819..c4734b7519f52 100644 index cec2b9df48ca1..b8e250e7376a2 100644
--- BUILD.gn --- BUILD.gn
+++ BUILD.gn +++ BUILD.gn
@@ -20,6 +20,7 @@ import("//build/config/sanitizers/sanitizers.gni") @@ -20,6 +20,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@ -76,7 +76,7 @@ index 1da479dd5eebc..ff9c7e467997c 100644
- visual_studio_runtime_dirs = [] - visual_studio_runtime_dirs = []
} }
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 274b4b40cbc2b..463d60597dda9 100644 index f98782561d861..6361483e28a18 100644
--- chrome/chrome_paks.gni --- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni +++ chrome/chrome_paks.gni
@@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni") @@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni")
@ -122,7 +122,7 @@ index e8f61e2fbf6f2..5de226ad5a8f2 100644
source_patterns += source_patterns +=
[ "${root_gen_dir}/extensions/strings/extensions_strings_" ] [ "${root_gen_dir}/extensions/strings/extensions_strings_" ]
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index 17c3d731e269b..e2caaf2934cdd 100644 index 52905752585a9..a6af98ca658c5 100644
--- chrome/installer/mini_installer/BUILD.gn --- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn +++ chrome/installer/mini_installer/BUILD.gn
@@ -7,6 +7,7 @@ import("//build/config/features.gni") @@ -7,6 +7,7 @@ import("//build/config/features.gni")

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index ed1887839c274..e79f9fcf9fea0 100644 index 57ce06d745941..0038e95ce024b 100644
--- tools/gritsettings/resource_ids.spec --- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec +++ tools/gritsettings/resource_ids.spec
@@ -1345,6 +1345,15 @@ @@ -1350,6 +1350,15 @@
# END "everything else" section. # END "everything else" section.
# Everything but chrome/, components/, content/, and ios/ # Everything but chrome/, components/, content/, and ios/

View File

@ -67,7 +67,7 @@ index d059f86ddad39..592b4d7903f15 100644
// GTK doesn't have a native high contrast setting. Rather, it's implied by // GTK doesn't have a native high contrast setting. Rather, it's implied by
diff --git ui/native_theme/native_theme.cc ui/native_theme/native_theme.cc diff --git ui/native_theme/native_theme.cc ui/native_theme/native_theme.cc
index e32c556fcf464..3cd78b04b7dad 100644 index 9d108fe375fa6..49f7694355c9a 100644
--- ui/native_theme/native_theme.cc --- ui/native_theme/native_theme.cc
+++ ui/native_theme/native_theme.cc +++ ui/native_theme/native_theme.cc
@@ -143,6 +143,7 @@ void NativeTheme::NotifyOnNativeThemeUpdated() { @@ -143,6 +143,7 @@ void NativeTheme::NotifyOnNativeThemeUpdated() {
@ -93,10 +93,10 @@ index e32c556fcf464..3cd78b04b7dad 100644
static bool kIsForcedHighContrast = static bool kIsForcedHighContrast =
base::CommandLine::ForCurrentProcess()->HasSwitch( base::CommandLine::ForCurrentProcess()->HasSwitch(
diff --git ui/native_theme/native_theme.h ui/native_theme/native_theme.h diff --git ui/native_theme/native_theme.h ui/native_theme/native_theme.h
index 0ec4f3d6d9d2c..6ba2631e9ef11 100644 index 9caf18c2106c7..e3ede1b32a010 100644
--- ui/native_theme/native_theme.h --- ui/native_theme/native_theme.h
+++ ui/native_theme/native_theme.h +++ ui/native_theme/native_theme.h
@@ -595,6 +595,9 @@ class NATIVE_THEME_EXPORT NativeTheme { @@ -604,6 +604,9 @@ class NATIVE_THEME_EXPORT NativeTheme {
// Whether dark mode is forced via command-line flag. // Whether dark mode is forced via command-line flag.
static bool IsForcedDarkMode(); static bool IsForcedDarkMode();
@ -129,10 +129,10 @@ index a2dbe84d61e09..aff4aad15e069 100644
theme->NotifyOnNativeThemeUpdated(); theme->NotifyOnNativeThemeUpdated();
}]; }];
diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc
index b5bdcf72d8b33..e3f04dda5c1a6 100644 index c1523bbdbf16e..bc0af8c47b7c7 100644
--- ui/native_theme/native_theme_win.cc --- ui/native_theme/native_theme_win.cc
+++ ui/native_theme/native_theme_win.cc +++ ui/native_theme/native_theme_win.cc
@@ -675,14 +675,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const { @@ -680,14 +680,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// Windows high contrast modes are entirely different themes, // Windows high contrast modes are entirely different themes,
// so let them take priority over dark mode. // so let them take priority over dark mode.
// ...unless --force-dark-mode was specified in which case caveat emptor. // ...unless --force-dark-mode was specified in which case caveat emptor.
@ -152,7 +152,7 @@ index b5bdcf72d8b33..e3f04dda5c1a6 100644
return NativeTheme::CalculatePreferredColorScheme(); return NativeTheme::CalculatePreferredColorScheme();
// According to the spec, the preferred color scheme for web content is 'dark' // According to the spec, the preferred color scheme for web content is 'dark'
@@ -1673,8 +1676,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() { @@ -1678,8 +1681,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
} }
void NativeThemeWin::UpdateDarkModeStatus() { void NativeThemeWin::UpdateDarkModeStatus() {

View File

@ -1,8 +1,8 @@
diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn
index 2e53ca913d9b4..4360e4dd65475 100644 index 82d4f2bf563f6..87652664f9e56 100644
--- device/bluetooth/BUILD.gn --- device/bluetooth/BUILD.gn
+++ device/bluetooth/BUILD.gn +++ device/bluetooth/BUILD.gn
@@ -50,10 +50,12 @@ source_set("deprecated_experimental_mojo") { @@ -57,10 +57,12 @@ source_set("deprecated_experimental_mojo") {
] ]
if (is_chromeos || is_linux) { if (is_chromeos || is_linux) {

View File

@ -1,5 +1,5 @@
diff --git chrome/common/media/component_widevine_cdm_hint_file_linux.cc chrome/common/media/component_widevine_cdm_hint_file_linux.cc diff --git chrome/common/media/component_widevine_cdm_hint_file_linux.cc chrome/common/media/component_widevine_cdm_hint_file_linux.cc
index 1084e82141790..ebd1b051d81b9 100644 index b3e05e8183158..90be2d4a3368b 100644
--- chrome/common/media/component_widevine_cdm_hint_file_linux.cc --- chrome/common/media/component_widevine_cdm_hint_file_linux.cc
+++ chrome/common/media/component_widevine_cdm_hint_file_linux.cc +++ chrome/common/media/component_widevine_cdm_hint_file_linux.cc
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
@ -48,7 +48,7 @@ index 1084e82141790..ebd1b051d81b9 100644
DVLOG(1) << __func__ << " checking " << hint_file_path; DVLOG(1) << __func__ << " checking " << hint_file_path;
@@ -98,8 +118,7 @@ bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path, @@ -98,8 +118,7 @@ bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path,
NOTREACHED_NORETURN() << "Lacros should not be updating the hint file."; NOTREACHED() << "Lacros should not be updating the hint file.";
#else #else
base::FilePath hint_file_path; base::FilePath hint_file_path;
- CHECK(base::PathService::Get(chrome::FILE_COMPONENT_WIDEVINE_CDM_HINT, - CHECK(base::PathService::Get(chrome::FILE_COMPONENT_WIDEVINE_CDM_HINT,

View File

@ -1,8 +1,8 @@
diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn
index b7f86265ef2c7..fe938f4af90c9 100644 index ad1807ebfa054..e52ed1d6e0ed9 100644
--- ui/accessibility/platform/BUILD.gn --- ui/accessibility/platform/BUILD.gn
+++ ui/accessibility/platform/BUILD.gn +++ ui/accessibility/platform/BUILD.gn
@@ -306,6 +306,10 @@ component("platform") { @@ -291,6 +291,10 @@ component("platform") {
if (use_gio) { if (use_gio) {
configs += [ "//build/linux:gio_config" ] configs += [ "//build/linux:gio_config" ]
} }

View File

@ -1,8 +1,8 @@
diff --git ui/gtk/gtk_ui.cc ui/gtk/gtk_ui.cc diff --git ui/gtk/gtk_ui.cc ui/gtk/gtk_ui.cc
index ca2fc0b1b3fe9..7632f042bfe38 100644 index 3ad76e316d4dc..4719a64ded116 100644
--- ui/gtk/gtk_ui.cc --- ui/gtk/gtk_ui.cc
+++ ui/gtk/gtk_ui.cc +++ ui/gtk/gtk_ui.cc
@@ -26,6 +26,7 @@ @@ -31,6 +31,7 @@
#include "base/numerics/safe_conversions.h" #include "base/numerics/safe_conversions.h"
#include "base/observer_list.h" #include "base/observer_list.h"
#include "base/strings/string_split.h" #include "base/strings/string_split.h"
@ -10,7 +10,7 @@ index ca2fc0b1b3fe9..7632f042bfe38 100644
#include "chrome/browser/themes/theme_properties.h" // nogncheck #include "chrome/browser/themes/theme_properties.h" // nogncheck
#include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkBitmap.h"
#include "third_party/skia/include/core/SkColor.h" #include "third_party/skia/include/core/SkColor.h"
@@ -244,10 +245,15 @@ bool GtkUi::Initialize() { @@ -249,10 +250,15 @@ bool GtkUi::Initialize() {
}; };
GtkSettings* settings = gtk_settings_get_default(); GtkSettings* settings = gtk_settings_get_default();

View File

@ -41,11 +41,35 @@ index d1ab2a72e0d11..c6be9f1ba1793 100644
if (print_dialog_) { if (print_dialog_) {
// PrintDialogGtk::UpdateSettings() calls InitWithSettings() so settings_ will // PrintDialogGtk::UpdateSettings() calls InitWithSettings() so settings_ will
diff --git ui/linux/BUILD.gn ui/linux/BUILD.gn
index 2a9662e84fbce..a7241dc95a809 100644
--- ui/linux/BUILD.gn
+++ ui/linux/BUILD.gn
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import("//build/config/linux/gtk/gtk.gni")
+import("//printing/buildflags/buildflags.gni")
import("//ui/qt/qt.gni")
assert(is_linux)
@@ -34,6 +35,11 @@ component("linux_ui") {
"//ui/display/types",
"//ui/gfx/geometry",
]
+
+ if (enable_printing) {
+ deps += [ "//printing/mojom" ]
+ }
+
public_deps = [ "//printing/buildflags" ]
}
diff --git ui/linux/linux_ui.cc ui/linux/linux_ui.cc diff --git ui/linux/linux_ui.cc ui/linux/linux_ui.cc
index 3408b6200d17a..5d91e65a2b40f 100644 index 3ab395e3b0b45..c012641a5dc7e 100644
--- ui/linux/linux_ui.cc --- ui/linux/linux_ui.cc
+++ ui/linux/linux_ui.cc +++ ui/linux/linux_ui.cc
@@ -18,11 +18,29 @@ namespace ui { @@ -23,11 +23,29 @@ namespace ui {
namespace { namespace {
LinuxUi* g_linux_ui = nullptr; LinuxUi* g_linux_ui = nullptr;

View File

@ -98,10 +98,10 @@ index aa43742055b04..e84f21ab963cc 100644
// it will get the locale that should be used potentially from other sources, // it will get the locale that should be used potentially from other sources,
// depending on the platform (e.g. the OS locale on Mac). // depending on the platform (e.g. the OS locale on Mac).
diff --git ui/base/l10n/l10n_util.cc ui/base/l10n/l10n_util.cc diff --git ui/base/l10n/l10n_util.cc ui/base/l10n/l10n_util.cc
index 62b1b0bab1553..cc03d5c173ea6 100644 index 36bd7743e5b73..744918bde3012 100644
--- ui/base/l10n/l10n_util.cc --- ui/base/l10n/l10n_util.cc
+++ ui/base/l10n/l10n_util.cc +++ ui/base/l10n/l10n_util.cc
@@ -502,25 +502,7 @@ bool CheckAndResolveLocale(const std::string& locale, @@ -506,25 +506,7 @@ bool CheckAndResolveLocale(const std::string& locale,
return CheckAndResolveLocale(locale, resolved_locale, /*perform_io=*/true); return CheckAndResolveLocale(locale, resolved_locale, /*perform_io=*/true);
} }
@ -128,7 +128,7 @@ index 62b1b0bab1553..cc03d5c173ea6 100644
std::string resolved_locale; std::string resolved_locale;
std::vector<std::string> candidates; std::vector<std::string> candidates;
@@ -585,15 +567,6 @@ std::string GetApplicationLocaleInternalNonMac(const std::string& pref_locale) { @@ -589,15 +571,6 @@ std::string GetApplicationLocaleInternalNonMac(const std::string& pref_locale) {
return std::string(); return std::string();
} }

View File

@ -1,12 +1,12 @@
diff --git ui/events/keycodes/keyboard_code_conversion_mac.mm ui/events/keycodes/keyboard_code_conversion_mac.mm diff --git ui/events/keycodes/keyboard_code_conversion_mac.mm ui/events/keycodes/keyboard_code_conversion_mac.mm
index adaf106d6fcbc..d6e90550db41d 100644 index e4ed714929627..47f3e6a4ccfe6 100644
--- ui/events/keycodes/keyboard_code_conversion_mac.mm --- ui/events/keycodes/keyboard_code_conversion_mac.mm
+++ ui/events/keycodes/keyboard_code_conversion_mac.mm +++ ui/events/keycodes/keyboard_code_conversion_mac.mm
@@ -895,7 +895,7 @@ DomKey DomKeyFromNSEvent(NSEvent* event) { @@ -900,7 +900,7 @@ DomKey DomKeyFromNSEvent(NSEvent* event) {
return DomKeyFromKeyCode(event.keyCode); return DomKeyFromKeyCode(event.keyCode);
} }
default: default:
- NOTREACHED_NORETURN(); - NOTREACHED();
+ return ui::DomKey::NONE; + return ui::DomKey::NONE;
} }
} }

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 diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index b1f2387812161..e8a55e883bbc9 100644 index cbc806f09f40c..b70fc0ec47dfb 100644
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc --- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -1089,8 +1089,8 @@ int ProfileMenuViewBase::GetMaxHeight() const { @@ -1108,8 +1108,8 @@ int ProfileMenuViewBase::GetMaxHeight() const {
->GetDisplayNearestPoint(anchor_rect.CenterPoint()) ->GetDisplayNearestPoint(anchor_rect.CenterPoint())
.work_area(); .work_area();
int available_space = screen_space.bottom() - anchor_rect.bottom(); int available_space = screen_space.bottom() - anchor_rect.bottom();
@ -14,15 +14,15 @@ index b1f2387812161..e8a55e883bbc9 100644
std::max(available_space, anchor_rect.y() - screen_space.y()); std::max(available_space, anchor_rect.y() - screen_space.y());
#endif #endif
diff --git ui/views/style/platform_style_mac.mm ui/views/style/platform_style_mac.mm diff --git ui/views/style/platform_style_mac.mm ui/views/style/platform_style_mac.mm
index ace1e3b9864be..869d1f51700a1 100644 index 869d1f51700a1..ace1e3b9864be 100644
--- ui/views/style/platform_style_mac.mm --- ui/views/style/platform_style_mac.mm
+++ ui/views/style/platform_style_mac.mm +++ ui/views/style/platform_style_mac.mm
@@ -43,7 +43,7 @@ const bool PlatformStyle::kTableViewSupportsKeyboardNavigationByCell = false; @@ -43,7 +43,7 @@ const bool PlatformStyle::kTableViewSupportsKeyboardNavigationByCell = false;
const bool PlatformStyle::kTreeViewSelectionPaintsEntireRow = true; const bool PlatformStyle::kTreeViewSelectionPaintsEntireRow = true;
const bool PlatformStyle::kUseRipples = false; const bool PlatformStyle::kUseRipples = false;
const bool PlatformStyle::kInactiveWidgetControlsAppearDisabled = true; const bool PlatformStyle::kInactiveWidgetControlsAppearDisabled = true;
-const bool PlatformStyle::kAdjustBubbleIfOffscreen = false; -const bool PlatformStyle::kAdjustBubbleIfOffscreen = true;
+const bool PlatformStyle::kAdjustBubbleIfOffscreen = true; +const bool PlatformStyle::kAdjustBubbleIfOffscreen = false;
const View::FocusBehavior PlatformStyle::kDefaultFocusBehavior = const View::FocusBehavior PlatformStyle::kDefaultFocusBehavior =
View::FocusBehavior::ACCESSIBLE_ONLY; View::FocusBehavior::ACCESSIBLE_ONLY;

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index b5cda6323f7a7..810c66cf01f48 100644 index 0367ed7d21fdf..7cf6dd6fb122b 100644
--- base/message_loop/message_pump_win.cc --- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc +++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@ @@ -2,6 +2,7 @@

View File

@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_apple.mm base/message_loop/message_pump_apple.mm diff --git base/message_loop/message_pump_apple.mm base/message_loop/message_pump_apple.mm
index e7fe3f71d8710..3a145fc9282ee 100644 index 987a3ed711f33..95e058b0b8bbd 100644
--- base/message_loop/message_pump_apple.mm --- base/message_loop/message_pump_apple.mm
+++ base/message_loop/message_pump_apple.mm +++ base/message_loop/message_pump_apple.mm
@@ -761,7 +761,8 @@ void MessagePumpUIApplication::Detach() { @@ -762,7 +762,8 @@ void MessagePumpUIApplication::Detach() {
#else #else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@ -12,7 +12,7 @@ index e7fe3f71d8710..3a145fc9282ee 100644
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask()); DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
// Pumping events in private runloop modes is known to interact badly with // Pumping events in private runloop modes is known to interact badly with
// app modal windows like NSAlert. // app modal windows like NSAlert.
@@ -772,7 +773,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() { @@ -773,7 +774,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
} }
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() { ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

View File

@ -1,8 +1,8 @@
diff --git components/metrics/persistent_system_profile.cc components/metrics/persistent_system_profile.cc diff --git components/metrics/persistent_system_profile.cc components/metrics/persistent_system_profile.cc
index a04737dc52b0c..c7e9caa809f8a 100644 index 8b453c667df7f..1ff8d67671fd7 100644
--- components/metrics/persistent_system_profile.cc --- components/metrics/persistent_system_profile.cc
+++ components/metrics/persistent_system_profile.cc +++ components/metrics/persistent_system_profile.cc
@@ -395,6 +395,10 @@ bool PersistentSystemProfile::GetSystemProfile( @@ -400,6 +400,10 @@ bool PersistentSystemProfile::GetSystemProfile(
return true; return true;
} }

View File

@ -1,5 +1,5 @@
diff --git net/base/load_flags_list.h net/base/load_flags_list.h diff --git net/base/load_flags_list.h net/base/load_flags_list.h
index 0e563dbb253ca..891b2bbc3785c 100644 index aeb79b46f5d21..bd57e874c1240 100644
--- net/base/load_flags_list.h --- net/base/load_flags_list.h
+++ net/base/load_flags_list.h +++ net/base/load_flags_list.h
@@ -115,3 +115,6 @@ LOAD_FLAG(DISABLE_SHARED_DICTIONARY_AFTER_CROSS_ORIGIN_REDIRECT, 1 << 18) @@ -115,3 +115,6 @@ LOAD_FLAG(DISABLE_SHARED_DICTIONARY_AFTER_CROSS_ORIGIN_REDIRECT, 1 << 18)
@ -10,7 +10,7 @@ index 0e563dbb253ca..891b2bbc3785c 100644
+// This load will not send any cookies. For CEF usage. +// This load will not send any cookies. For CEF usage.
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20) +LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20)
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
index 240630765767e..8cf06d83b6af1 100644 index 59089072e7c97..09d0b6e64a4d6 100644
--- net/url_request/url_request_http_job.cc --- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc +++ net/url_request/url_request_http_job.cc
@@ -2053,7 +2053,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const { @@ -2053,7 +2053,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {

View File

@ -30,7 +30,7 @@ index 76057b3e50f78..d3b63a3b07805 100644
} // namespace input } // namespace input
diff --git components/input/render_input_router.h components/input/render_input_router.h diff --git components/input/render_input_router.h components/input/render_input_router.h
index c9c40a06b7bac..9f85335522a55 100644 index 4234f63f5a717..ded170d0c5945 100644
--- components/input/render_input_router.h --- components/input/render_input_router.h
+++ components/input/render_input_router.h +++ components/input/render_input_router.h
@@ -66,6 +66,7 @@ class COMPONENT_EXPORT(INPUT) RenderInputRouter @@ -66,6 +66,7 @@ class COMPONENT_EXPORT(INPUT) RenderInputRouter
@ -56,10 +56,10 @@ index f1030a744809c..c222a209949e6 100644
return nullptr; return nullptr;
} }
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index 632d06f99f2cf..e192b005dc0d8 100644 index c77a3fa9a247c..611baceed3883 100644
--- content/browser/renderer_host/render_widget_host_impl.cc --- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc +++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3170,6 +3170,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount( @@ -3190,6 +3190,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
} }
} }
@ -72,10 +72,10 @@ index 632d06f99f2cf..e192b005dc0d8 100644
const WebInputEvent& event) { const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled( if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index 6f4e44aba5c19..c447c5e9e653e 100644 index 2852c10fc0de6..4a09b95e1309c 100644
--- content/browser/renderer_host/render_widget_host_impl.h --- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h +++ content/browser/renderer_host/render_widget_host_impl.h
@@ -830,6 +830,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl @@ -834,6 +834,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time); void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling(); void StopFling();

View File

@ -1,8 +1,8 @@
diff --git gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc diff --git gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
index 9cac49288f3b1..3ee5ff8714824 100644 index 2096591596a26..5a0c3fd16eecf 100644
--- gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc --- gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
+++ gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc +++ gpu/ipc/service/gpu_memory_buffer_factory_dxgi.cc
@@ -180,7 +180,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer( @@ -179,7 +179,8 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer(
// so make sure that the usage is one that we support. // so make sure that the usage is one that we support.
DCHECK(usage == gfx::BufferUsage::GPU_READ || DCHECK(usage == gfx::BufferUsage::GPU_READ ||
usage == gfx::BufferUsage::SCANOUT || usage == gfx::BufferUsage::SCANOUT ||
@ -12,7 +12,7 @@ index 9cac49288f3b1..3ee5ff8714824 100644
<< "Incorrect usage, usage=" << gfx::BufferUsageToString(usage); << "Incorrect usage, usage=" << gfx::BufferUsageToString(usage);
D3D11_TEXTURE2D_DESC desc = { D3D11_TEXTURE2D_DESC desc = {
@@ -194,7 +195,9 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer( @@ -193,7 +194,9 @@ gfx::GpuMemoryBufferHandle GpuMemoryBufferFactoryDXGI::CreateGpuMemoryBuffer(
D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET, D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_RENDER_TARGET,
0, 0,
D3D11_RESOURCE_MISC_SHARED_NTHANDLE | D3D11_RESOURCE_MISC_SHARED_NTHANDLE |
@ -24,10 +24,10 @@ index 9cac49288f3b1..3ee5ff8714824 100644
Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture; Microsoft::WRL::ComPtr<ID3D11Texture2D> d3d11_texture;
diff --git media/video/renderable_gpu_memory_buffer_video_frame_pool.cc media/video/renderable_gpu_memory_buffer_video_frame_pool.cc diff --git media/video/renderable_gpu_memory_buffer_video_frame_pool.cc media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
index b420e7f14165f..83f09abff7173 100644 index cf5bde2e431fd..51552841427c8 100644
--- media/video/renderable_gpu_memory_buffer_video_frame_pool.cc --- media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
+++ media/video/renderable_gpu_memory_buffer_video_frame_pool.cc +++ media/video/renderable_gpu_memory_buffer_video_frame_pool.cc
@@ -195,7 +195,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat( @@ -205,7 +205,7 @@ gfx::Size GetBufferSizeInPixelsForVideoPixelFormat(
bool FrameResources::Initialize() { bool FrameResources::Initialize() {
auto* context = pool_->GetContext(); auto* context = pool_->GetContext();
@ -36,7 +36,7 @@ index b420e7f14165f..83f09abff7173 100644
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
gfx::BufferUsage::SCANOUT_VEA_CPU_READ gfx::BufferUsage::SCANOUT_VEA_CPU_READ
#else #else
@@ -209,13 +209,30 @@ bool FrameResources::Initialize() { @@ -219,6 +219,23 @@ bool FrameResources::Initialize() {
const gfx::Size buffer_size_in_pixels = const gfx::Size buffer_size_in_pixels =
GetBufferSizeInPixelsForVideoPixelFormat(format_, coded_size_); GetBufferSizeInPixelsForVideoPixelFormat(format_, coded_size_);
@ -57,15 +57,35 @@ index b420e7f14165f..83f09abff7173 100644
+ } + }
+#endif +#endif
+ +
// Create the GpuMemoryBuffer. // Create the GpuMemoryBuffer if MappableSharedImages is not enabled. When its
gpu_memory_buffer_ = context->CreateGpuMemoryBuffer( // enabled, clients only create a mappable shared image directly without
- buffer_size_in_pixels, buffer_format, kBufferUsage); // needing to create a GMB.
+ buffer_size_in_pixels, buffer_format, buffer_usage); @@ -226,16 +243,16 @@ bool FrameResources::Initialize() {
if (!gpu_memory_buffer_) { kUseMappableSIForRenderableGpuMemoryBufferVideoFramePool);
DLOG(ERROR) << "Failed to allocate GpuMemoryBuffer for frame: coded_size=" if (!is_mappable_si_enabled) {
<< coded_size_.ToString() gpu_memory_buffer_ = context->CreateGpuMemoryBuffer(
- << ", usage=" << static_cast<int>(kBufferUsage); - buffer_size_in_pixels, buffer_format, kBufferUsage);
+ << ", usage=" << static_cast<int>(buffer_usage); + buffer_size_in_pixels, buffer_format, buffer_usage);
return false; if (!gpu_memory_buffer_) {
LOG(ERROR) << "Failed to allocate GpuMemoryBuffer for frame: coded_size="
<< coded_size_.ToString()
- << ", usage=" << static_cast<int>(kBufferUsage);
+ << ", usage=" << static_cast<int>(buffer_usage);
return false;
}
#if BUILDFLAG(IS_MAC)
- gpu_memory_buffer_->SetColorSpace(color_space_);
+ gpu_memory_buffer_->SetColorSpace(color_space_);
#endif
} }
@@ -264,7 +281,7 @@ bool FrameResources::Initialize() {
if (is_mappable_si_enabled) {
shared_image_ = context->CreateSharedImage(
- buffer_size_in_pixels, kBufferUsage, si_format, color_space_,
+ buffer_size_in_pixels, buffer_usage, si_format, color_space_,
kTopLeft_GrSurfaceOrigin, kPremul_SkAlphaType, kSharedImageUsage,
sync_token_);
} else {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/printer_query.cc chrome/browser/printing/printer_query.cc diff --git chrome/browser/printing/printer_query.cc chrome/browser/printing/printer_query.cc
index 0e48a7582d86c..6ddeaa7c4e736 100644 index 402be34ab888c..28769289c6b46 100644
--- chrome/browser/printing/printer_query.cc --- chrome/browser/printing/printer_query.cc
+++ chrome/browser/printing/printer_query.cc +++ chrome/browser/printing/printer_query.cc
@@ -124,6 +124,7 @@ PrinterQuery::PrinterQuery(content::GlobalRenderFrameHostId rfh_id) @@ -124,6 +124,7 @@ PrinterQuery::PrinterQuery(content::GlobalRenderFrameHostId rfh_id)

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
index c398dc84de605..152f1ffbecad0 100644 index 2dcb41397b68e..fe76d4e98c5f6 100644
--- content/browser/renderer_host/render_view_host_impl.cc --- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc +++ content/browser/renderer_host/render_view_host_impl.cc
@@ -734,6 +734,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const { @@ -735,6 +735,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const {
} }
void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) { void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {

View File

@ -1,8 +1,8 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index a0aa0b111a123..09a8e2fdc2d2c 100644 index 7c222473c1b21..45ee9ed945f1d 100644
--- ui/base/resource/resource_bundle.cc --- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc +++ ui/base/resource/resource_bundle.cc
@@ -944,6 +944,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate) @@ -931,6 +931,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
: delegate_(delegate), : delegate_(delegate),
locale_resources_data_lock_(new base::Lock), locale_resources_data_lock_(new base::Lock),
max_scale_factor_(k100Percent) { max_scale_factor_(k100Percent) {
@ -15,7 +15,7 @@ index a0aa0b111a123..09a8e2fdc2d2c 100644
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch( mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMangleLocalizedStrings); switches::kMangleLocalizedStrings);
} }
@@ -953,6 +959,11 @@ ResourceBundle::~ResourceBundle() { @@ -940,6 +946,11 @@ ResourceBundle::~ResourceBundle() {
UnloadLocaleResources(); UnloadLocaleResources();
} }

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc
index 83f9f7bc9ece3..af5982da7bbf8 100644 index 9c63417070d5a..2b60f10691a14 100644
--- content/browser/renderer_host/render_frame_host_impl.cc --- content/browser/renderer_host/render_frame_host_impl.cc
+++ content/browser/renderer_host/render_frame_host_impl.cc +++ content/browser/renderer_host/render_frame_host_impl.cc
@@ -11143,6 +11143,7 @@ void RenderFrameHostImpl::CommitNavigation( @@ -11181,6 +11181,7 @@ void RenderFrameHostImpl::CommitNavigation(
auto browser_calc_origin_to_commit = auto browser_calc_origin_to_commit =
navigation_request->GetOriginToCommitWithDebugInfo(); navigation_request->GetOriginToCommitWithDebugInfo();
if (!process_lock.is_error_page() && !is_mhtml_subframe && if (!process_lock.is_error_page() && !is_mhtml_subframe &&

View File

@ -26,7 +26,7 @@ index 927fce24fcdc6..834c84eae805e 100644
if (cpu != 'x64'): if (cpu != 'x64'):
# x64 is default target CPU thus any other CPU requires a target set # x64 is default target CPU thus any other CPU requires a target set
diff --git build/vs_toolchain.py build/vs_toolchain.py diff --git build/vs_toolchain.py build/vs_toolchain.py
index cedeceefb5d65..ad0f1314e6a25 100755 index f3a6fc7deec43..1f359e351fa85 100755
--- build/vs_toolchain.py --- build/vs_toolchain.py
+++ build/vs_toolchain.py +++ build/vs_toolchain.py
@@ -114,9 +114,16 @@ def SetEnvironmentAndGetRuntimeDllDirs(): @@ -114,9 +114,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 07de8257e5952..02fa4b4813566 100644 index ea5a519007ffd..1bb591bba1796 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc --- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc +++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
@ -35,7 +35,7 @@ index 07de8257e5952..02fa4b4813566 100644
} }
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@@ -2366,6 +2370,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) { @@ -2371,6 +2375,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor() window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor()
: SK_ColorWHITE); : SK_ColorWHITE);
UpdateFrameSinkIdRegistration(); UpdateFrameSinkIdRegistration();

View File

@ -19,10 +19,10 @@ index 3090a05e91f31..7fac1b23ffb62 100644
bool Screen::GetDisplayWithDisplayId(int64_t display_id, bool Screen::GetDisplayWithDisplayId(int64_t display_id,
diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc
index 2027612f9207a..6f0ebb0801e60 100644 index db01034339fda..84cd0ee222ef0 100644
--- ui/display/win/screen_win.cc --- ui/display/win/screen_win.cc
+++ ui/display/win/screen_win.cc +++ ui/display/win/screen_win.cc
@@ -601,7 +601,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) { @@ -619,7 +619,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) {
gfx::PointF(pixel_bounds.origin()), screen_win_display)); gfx::PointF(pixel_bounds.origin()), screen_win_display));
const float scale_factor = const float scale_factor =
1.0f / screen_win_display.display().device_scale_factor(); 1.0f / screen_win_display.display().device_scale_factor();
@ -31,7 +31,7 @@ index 2027612f9207a..6f0ebb0801e60 100644
} }
// static // static
@@ -616,7 +616,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) { @@ -634,7 +634,7 @@ gfx::Rect ScreenWin::DIPToScreenRect(HWND hwnd, const gfx::Rect& dip_bounds) {
const gfx::Point origin = const gfx::Point origin =
display::win::DIPToScreenPoint(dip_bounds.origin(), screen_win_display); display::win::DIPToScreenPoint(dip_bounds.origin(), screen_win_display);
const float scale_factor = screen_win_display.display().device_scale_factor(); const float scale_factor = screen_win_display.display().device_scale_factor();

View File

@ -80,10 +80,10 @@ index f78c6a467befc..97f1d21218eed 100644
void CookieManager::SetForceKeepSessionState() { void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc diff --git services/network/network_context.cc services/network/network_context.cc
index 5c20e5b79fa0d..e8c7a287f38f2 100644 index dff1afbe01fcd..7acfcec4b52ca 100644
--- services/network/network_context.cc --- services/network/network_context.cc
+++ services/network/network_context.cc +++ services/network/network_context.cc
@@ -2524,16 +2524,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( @@ -2576,16 +2576,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator()); network_service_->network_quality_estimator());
} }
@ -112,7 +112,7 @@ index 5c20e5b79fa0d..e8c7a287f38f2 100644
base::FeatureList::IsEnabled(features::kFledgePst)) { base::FeatureList::IsEnabled(features::kFledgePst)) {
trust_token_store_ = std::make_unique<PendingTrustTokenStore>(); trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index a618fd97fd4c5..623611337c7b7 100644 index 0678afc12458f..fa7763534dd89 100644
--- services/network/public/mojom/network_context.mojom --- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom +++ services/network/public/mojom/network_context.mojom
@@ -359,6 +359,9 @@ struct NetworkContextParams { @@ -359,6 +359,9 @@ struct NetworkContextParams {

View File

@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 4fbba48343b07..94a301cd02052 100644 index fce39a2f52ddb..d91e8abd393b8 100644
--- content/browser/storage_partition_impl.cc --- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc +++ content/browser/storage_partition_impl.cc
@@ -3314,9 +3314,12 @@ void StoragePartitionImpl::InitNetworkContext() { @@ -3316,9 +3316,12 @@ void StoragePartitionImpl::InitNetworkContext() {
cert_verifier::mojom::CertVerifierCreationParamsPtr cert_verifier::mojom::CertVerifierCreationParamsPtr
cert_verifier_creation_params = cert_verifier_creation_params =
cert_verifier::mojom::CertVerifierCreationParams::New(); cert_verifier::mojom::CertVerifierCreationParams::New();

View File

@ -1,5 +1,5 @@
diff --git third_party/sentencepiece/src/src/util.cc third_party/sentencepiece/src/src/util.cc diff --git third_party/sentencepiece/src/src/util.cc third_party/sentencepiece/src/src/util.cc
index 538b00b..61c4e5d 100644 index c5e5289807a0c..e10880abc17eb 100644
--- third_party/sentencepiece/src/src/util.cc --- third_party/sentencepiece/src/src/util.cc
+++ third_party/sentencepiece/src/src/util.cc +++ third_party/sentencepiece/src/src/util.cc
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
@ -10,7 +10,7 @@ index 538b00b..61c4e5d 100644
namespace sentencepiece { namespace sentencepiece {
@@ -187,8 +190,18 @@ std::mt19937 *GetRandomGenerator() { @@ -197,8 +198,18 @@ std::mt19937 *GetRandomGenerator() {
} }
#else #else
std::mt19937 *GetRandomGenerator() { std::mt19937 *GetRandomGenerator() {

View File

@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index 560313ed41ea0..f0f9baefb25b7 100644 index 5bbe83c8948a2..553446f04f9fc 100644
--- base/trace_event/builtin_categories.h --- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h +++ base/trace_event/builtin_categories.h
@@ -71,6 +71,8 @@ @@ -71,6 +71,8 @@

View File

@ -1,8 +1,8 @@
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 8a78a6614feed..d703ec7165b6c 100644 index 01a3c3c038986..3fc2154ca49a4 100644
--- ui/base/x/x11_os_exchange_data_provider.cc --- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc +++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -164,7 +164,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url, @@ -169,7 +169,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
format_map_.Insert(x11::GetAtom(kMimeTypeMozillaURL), mem); format_map_.Insert(x11::GetAtom(kMimeTypeMozillaURL), mem);
// Set a string fallback as well. // Set a string fallback as well.

View File

@ -1,5 +1,5 @@
diff --git ui/base/models/simple_menu_model.cc ui/base/models/simple_menu_model.cc diff --git ui/base/models/simple_menu_model.cc ui/base/models/simple_menu_model.cc
index 88e27362452e5..9c18ac5c77544 100644 index fbf6043fc4322..913b30ba2eed8 100644
--- ui/base/models/simple_menu_model.cc --- ui/base/models/simple_menu_model.cc
+++ ui/base/models/simple_menu_model.cc +++ ui/base/models/simple_menu_model.cc
@@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/toolbar/app_menu.cc chrome/browser/ui/views/toolbar/app_menu.cc diff --git chrome/browser/ui/views/toolbar/app_menu.cc chrome/browser/ui/views/toolbar/app_menu.cc
index 3aa71316ccd2e..f7fe93711722c 100644 index eb308bd6fdc13..9a6cce98e8cb8 100644
--- chrome/browser/ui/views/toolbar/app_menu.cc --- chrome/browser/ui/views/toolbar/app_menu.cc
+++ chrome/browser/ui/views/toolbar/app_menu.cc +++ chrome/browser/ui/views/toolbar/app_menu.cc
@@ -1030,7 +1030,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) { @@ -1026,7 +1026,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) {
host->button()->GetWidget(), host, host->button()->GetWidget(), host,
host->button()->GetAnchorBoundsInScreen(), host->button()->GetAnchorBoundsInScreen(),
views::MenuAnchorPosition::kTopRight, ui::MENU_SOURCE_NONE, views::MenuAnchorPosition::kTopRight, ui::MENU_SOURCE_NONE,
@ -14,7 +14,7 @@ index 3aa71316ccd2e..f7fe93711722c 100644
} }
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index fb795f76d3616..6e36a4c1e29da 100644 index 393dc941d9543..75618d210585a 100644
--- ui/base/models/menu_model.h --- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h +++ ui/base/models/menu_model.h
@@ -17,8 +17,11 @@ @@ -17,8 +17,11 @@
@ -29,7 +29,7 @@ index fb795f76d3616..6e36a4c1e29da 100644
} }
namespace ui { namespace ui {
@@ -147,6 +150,27 @@ class COMPONENT_EXPORT(UI_BASE) MenuModel @@ -149,6 +152,27 @@ class COMPONENT_EXPORT(UI_BASE) MenuModel {
// |event_flags| is a bit mask of ui::EventFlags. // |event_flags| is a bit mask of ui::EventFlags.
virtual void ActivatedAt(size_t index, int event_flags); virtual void ActivatedAt(size_t index, int event_flags);
@ -58,10 +58,10 @@ index fb795f76d3616..6e36a4c1e29da 100644
virtual void MenuWillShow() {} virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index 7437fc1dbf24c..fe19f3e046b1a 100644 index 1f7d99933c10a..85934d5fa95f4 100644
--- ui/gfx/render_text.cc --- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc +++ ui/gfx/render_text.cc
@@ -696,6 +696,14 @@ void RenderText::SetWhitespaceElision(std::optional<bool> whitespace_elision) { @@ -719,6 +719,14 @@ void RenderText::SetWhitespaceElision(std::optional<bool> whitespace_elision) {
} }
} }
@ -76,10 +76,10 @@ index 7437fc1dbf24c..fe19f3e046b1a 100644
void RenderText::SetDisplayRect(const Rect& r) { void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) { if (r != display_rect_) {
display_rect_ = r; display_rect_ = r;
@@ -2128,6 +2136,19 @@ void RenderText::OnTextAttributeChanged() { @@ -2157,6 +2165,18 @@ void RenderText::OnTextAttributeChanged() {
text_elided_ = false;
layout_text_up_to_date_ = false; layout_text_up_to_date_ = false;
+ if (draw_strings_flags_ != 0) { + if (draw_strings_flags_ != 0) {
+ // Compute layout size with the mnemonic character underlined since it might + // Compute layout size with the mnemonic character underlined since it might
+ // be larger than with the underline hidden. + // be larger than with the underline hidden.
@ -92,15 +92,14 @@ index 7437fc1dbf24c..fe19f3e046b1a 100644
+ styles_[TEXT_STYLE_UNDERLINE].ApplyValue(true, range); + styles_[TEXT_STYLE_UNDERLINE].ApplyValue(true, range);
+ } + }
+ } + }
+ OnLayoutTextAttributeChanged();
OnLayoutTextAttributeChanged(true);
} }
diff --git ui/gfx/render_text.h ui/gfx/render_text.h diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index c18ec4422d538..e89b7403c5399 100644 index cde3a89d52319..8b5cf3bd8a535 100644
--- ui/gfx/render_text.h --- ui/gfx/render_text.h
+++ ui/gfx/render_text.h +++ ui/gfx/render_text.h
@@ -356,6 +356,10 @@ class GFX_EXPORT RenderText { @@ -366,6 +366,10 @@ class GFX_EXPORT RenderText {
void SetWhitespaceElision(std::optional<bool> elide_whitespace); void SetWhitespaceElision(std::optional<bool> elide_whitespace);
std::optional<bool> whitespace_elision() const { return whitespace_elision_; } std::optional<bool> whitespace_elision() const { return whitespace_elision_; }
@ -111,7 +110,7 @@ index c18ec4422d538..e89b7403c5399 100644
const Rect& display_rect() const { return display_rect_; } const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r); void SetDisplayRect(const Rect& r);
@@ -1087,6 +1091,8 @@ class GFX_EXPORT RenderText { @@ -1110,6 +1114,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the |layout_text_| needs an update or is up to date. // Tell whether or not the |layout_text_| needs an update or is up to date.
mutable bool layout_text_up_to_date_ = false; mutable bool layout_text_up_to_date_ = false;
@ -134,7 +133,7 @@ index c579f65dce9f0..a04e0d1f66aaa 100644
friend class test::InkDropHostTestApi; friend class test::InkDropHostTestApi;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 4b916b981ff5b..174d9b2c6fbaa 100644 index 8fcf7575ebe4e..a8c8ab6927ba2 100644
--- ui/views/controls/button/label_button.cc --- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc +++ ui/views/controls/button/label_button.cc
@@ -589,6 +589,12 @@ void LabelButton::OnThemeChanged() { @@ -589,6 +589,12 @@ void LabelButton::OnThemeChanged() {
@ -165,7 +164,7 @@ index 414087e088a4e..0d757f5e7933e 100644
LabelButtonImageContainer* image_container() { LabelButtonImageContainer* image_container() {
return image_container_.get(); return image_container_.get();
diff --git ui/views/controls/label.cc ui/views/controls/label.cc diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index c30910151dad1..d3a5bee2209e4 100644 index 288c81c28e14a..b70645e978007 100644
--- ui/views/controls/label.cc --- ui/views/controls/label.cc
+++ ui/views/controls/label.cc +++ ui/views/controls/label.cc
@@ -51,12 +51,29 @@ enum LabelPropertyKey { @@ -51,12 +51,29 @@ enum LabelPropertyKey {
@ -214,7 +213,7 @@ index c30910151dad1..d3a5bee2209e4 100644
std::u16string Label::GetTooltipText() const { std::u16string Label::GetTooltipText() const {
return tooltip_text_; return tooltip_text_;
} }
@@ -798,6 +824,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const { @@ -803,6 +829,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SelectRange(stored_selection_range_); render_text->SelectRange(stored_selection_range_);
} }
@ -232,7 +231,7 @@ index c30910151dad1..d3a5bee2209e4 100644
} }
diff --git ui/views/controls/label.h ui/views/controls/label.h diff --git ui/views/controls/label.h ui/views/controls/label.h
index 40d9a89b66369..0c7245665d31b 100644 index 6d416cb05c5b0..3c695c36f5027 100644
--- ui/views/controls/label.h --- ui/views/controls/label.h
+++ ui/views/controls/label.h +++ ui/views/controls/label.h
@@ -245,6 +245,10 @@ class VIEWS_EXPORT Label : public View, @@ -245,6 +245,10 @@ class VIEWS_EXPORT Label : public View,
@ -246,7 +245,7 @@ index 40d9a89b66369..0c7245665d31b 100644
// Gets/Sets the tooltip text. Default behavior for a label (single-line) is // Gets/Sets the tooltip text. Default behavior for a label (single-line) is
// to show the full text if it is wider than its bounds. Calling this // to show the full text if it is wider than its bounds. Calling this
// overrides the default behavior and lets you set a custom tooltip. To // overrides the default behavior and lets you set a custom tooltip. To
@@ -524,6 +528,7 @@ class VIEWS_EXPORT Label : public View, @@ -526,6 +530,7 @@ class VIEWS_EXPORT Label : public View,
int max_width_ = 0; int max_width_ = 0;
// This is used in single-line mode. // This is used in single-line mode.
int max_width_single_line_ = 0; int max_width_single_line_ = 0;
@ -255,7 +254,7 @@ index 40d9a89b66369..0c7245665d31b 100644
std::unique_ptr<SelectionController> selection_controller_; std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index ca9e9f92c397e..3f410384b9fd1 100644 index 8e361bf829513..8f0e72c3e5559 100644
--- ui/views/controls/menu/menu_controller.cc --- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc +++ ui/views/controls/menu/menu_controller.cc
@@ -578,7 +578,8 @@ void MenuController::Run(Widget* parent, @@ -578,7 +578,8 @@ void MenuController::Run(Widget* parent,
@ -284,7 +283,7 @@ index ca9e9f92c397e..3f410384b9fd1 100644
if (item->GetParentMenuItem()) { if (item->GetParentMenuItem()) {
params.context = item->GetWidget(); params.context = item->GetWidget();
// (crbug.com/1414232) The item to be open is a submenu. Make sure // (crbug.com/1414232) The item to be open is a submenu. Make sure
@@ -2941,8 +2944,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem( @@ -2948,8 +2951,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() { void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item; MenuItemView* item = pending_state_.item;
@ -299,7 +298,7 @@ index ca9e9f92c397e..3f410384b9fd1 100644
// Show the sub-menu. // Show the sub-menu.
SetSelection(item, SELECTION_OPEN_SUBMENU | SELECTION_UPDATE_IMMEDIATELY); SetSelection(item, SELECTION_OPEN_SUBMENU | SELECTION_UPDATE_IMMEDIATELY);
@@ -2962,8 +2970,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() { @@ -2969,8 +2977,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() { void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item; MenuItemView* item = state_.item;
DCHECK(item); DCHECK(item);
@ -336,7 +335,7 @@ index e1c59fd911f71..d2a72f6bdf8aa 100644
bool possible_drag_ = false; bool possible_drag_ = false;
diff --git ui/views/controls/menu/menu_delegate.h ui/views/controls/menu/menu_delegate.h diff --git ui/views/controls/menu/menu_delegate.h ui/views/controls/menu/menu_delegate.h
index 0623d151ddd3e..243e8c573e474 100644 index 7c6ff7acb08a7..91ababb3dccd8 100644
--- ui/views/controls/menu/menu_delegate.h --- ui/views/controls/menu/menu_delegate.h
+++ ui/views/controls/menu/menu_delegate.h +++ ui/views/controls/menu/menu_delegate.h
@@ -73,6 +73,22 @@ class VIEWS_EXPORT MenuDelegate { @@ -73,6 +73,22 @@ class VIEWS_EXPORT MenuDelegate {
@ -411,10 +410,10 @@ index fc1d5fccc3845..c065cafcd537c 100644
explicit MenuHost(SubmenuView* submenu); explicit MenuHost(SubmenuView* submenu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 0f91dc080e84c..e4d9884c4ad97 100644 index ebbb2caaa89d9..1ac77741d6ebb 100644
--- ui/views/controls/menu/menu_item_view.cc --- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc +++ ui/views/controls/menu/menu_item_view.cc
@@ -1098,6 +1098,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas, @@ -1114,6 +1114,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
spilling_rect.set_y(spilling_rect.y() - corner_radius_); spilling_rect.set_y(spilling_rect.y() - corner_radius_);
spilling_rect.set_height(spilling_rect.height() + corner_radius_); spilling_rect.set_height(spilling_rect.height() + corner_radius_);
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags); canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
@ -430,7 +429,7 @@ index 0f91dc080e84c..e4d9884c4ad97 100644
} else if (paint_as_selected) { } else if (paint_as_selected) {
gfx::Rect item_bounds = GetLocalBounds(); gfx::Rect item_bounds = GetLocalBounds();
if (type_ == Type::kActionableSubMenu) { if (type_ == Type::kActionableSubMenu) {
@@ -1162,6 +1171,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) { @@ -1178,6 +1187,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
} }
SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const { SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const {
@ -445,7 +444,7 @@ index 0f91dc080e84c..e4d9884c4ad97 100644
// use the default color. // use the default color.
if (!paint_as_selected && foreground_color_id_.has_value()) { if (!paint_as_selected && foreground_color_id_.has_value()) {
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index a10f7db3d83c4..193654fc86f9d 100644 index 9e6b9cc599691..51946fb5c50d4 100644
--- ui/views/controls/menu/menu_model_adapter.cc --- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc +++ ui/views/controls/menu/menu_model_adapter.cc
@@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
@ -456,7 +455,7 @@ index a10f7db3d83c4..193654fc86f9d 100644
#include <list> #include <list>
#include <memory> #include <memory>
#include <utility> #include <utility>
@@ -236,6 +237,75 @@ bool MenuModelAdapter::IsItemChecked(int id) const { @@ -240,6 +241,75 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return model->IsItemCheckedAt(index); return model->IsItemCheckedAt(index);
} }
@ -533,7 +532,7 @@ index a10f7db3d83c4..193654fc86f9d 100644
// Look up the menu model for this menu. // Look up the menu model for this menu.
const std::map<MenuItemView*, ui::MenuModel*>::const_iterator map_iterator = const std::map<MenuItemView*, ui::MenuModel*>::const_iterator map_iterator =
diff --git ui/views/controls/menu/menu_model_adapter.h ui/views/controls/menu/menu_model_adapter.h diff --git ui/views/controls/menu/menu_model_adapter.h ui/views/controls/menu/menu_model_adapter.h
index 883188d50ce30..3d3ed449744de 100644 index 2d37aa1c602cf..5f1062cb8477a 100644
--- ui/views/controls/menu/menu_model_adapter.h --- ui/views/controls/menu/menu_model_adapter.h
+++ ui/views/controls/menu/menu_model_adapter.h +++ ui/views/controls/menu/menu_model_adapter.h
@@ -93,6 +93,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate, @@ -93,6 +93,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate,
@ -790,7 +789,7 @@ index dcf4b60ad92c2..64fa80edefc1b 100644
#if !BUILDFLAG(IS_CHROMEOS_LACROS) #if !BUILDFLAG(IS_CHROMEOS_LACROS)
if (root_location != root_current_location && if (root_location != root_current_location &&
diff --git ui/views/view.h ui/views/view.h diff --git ui/views/view.h ui/views/view.h
index cd2c831a6a1d5..ffddca57a4006 100644 index 3f138a3a7acc5..64efaf93a0cc2 100644
--- ui/views/view.h --- ui/views/view.h
+++ ui/views/view.h +++ ui/views/view.h
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@

View File

@ -1,8 +1,8 @@
diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc diff --git ui/views/controls/textfield/textfield.cc ui/views/controls/textfield/textfield.cc
index d2ababefae343..423eff10fe3d1 100644 index 404bb1abdfa68..dd9ed220b07f6 100644
--- ui/views/controls/textfield/textfield.cc --- ui/views/controls/textfield/textfield.cc
+++ ui/views/controls/textfield/textfield.cc +++ ui/views/controls/textfield/textfield.cc
@@ -3006,6 +3006,10 @@ void Textfield::OnCursorBlinkTimerFired() { @@ -3016,6 +3016,10 @@ void Textfield::OnCursorBlinkTimerFired() {
void Textfield::OnEnabledChanged() { void Textfield::OnEnabledChanged() {
if (GetInputMethod()) if (GetInputMethod())
GetInputMethod()->OnTextInputTypeChanged(this); GetInputMethod()->OnTextInputTypeChanged(this);

View File

@ -23,7 +23,7 @@ index cef40af382b1e..a2cf4691edc37 100644
case ui::SHOW_STATE_END: case ui::SHOW_STATE_END:
return ui::SHOW_STATE_NORMAL; return ui::SHOW_STATE_NORMAL;
diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc
index 618e95c4e4b10..028612a57382e 100644 index 5cd1fb6938b07..3eec7d48690ca 100644
--- components/sessions/core/session_service_commands.cc --- components/sessions/core/session_service_commands.cc
+++ components/sessions/core/session_service_commands.cc +++ components/sessions/core/session_service_commands.cc
@@ -165,9 +165,10 @@ enum PersistedWindowShowState { @@ -165,9 +165,10 @@ enum PersistedWindowShowState {
@ -61,10 +61,10 @@ index 791fc1874851e..db58beed440f8 100644
case ui::SHOW_STATE_MAXIMIZED: case ui::SHOW_STATE_MAXIMIZED:
return kSerializedShowStateMaximized; return kSerializedShowStateMaximized;
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index ae1a7849dab02..89db94663ad59 100644 index 540ce029150ef..e1deecb21b39f 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc --- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc +++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -708,6 +708,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const { @@ -709,6 +709,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
return scale_override_for_capture_; return scale_override_for_capture_;
} }
@ -80,7 +80,7 @@ index ae1a7849dab02..89db94663ad59 100644
if (!GetMouseWheelPhaseHandler()) if (!GetMouseWheelPhaseHandler())
return; return;
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index 41308c925e5e3..bd958ba6acaa8 100644 index 177587d0a67ad..5d70ef26a16e1 100644
--- content/browser/renderer_host/render_widget_host_view_base.h --- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h +++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -76,6 +76,7 @@ namespace content { @@ -76,6 +76,7 @@ namespace content {
@ -91,7 +91,7 @@ index 41308c925e5e3..bd958ba6acaa8 100644
class ScopedViewTransitionResources; class ScopedViewTransitionResources;
class TextInputManager; class TextInputManager;
class TouchSelectionControllerClientManager; class TouchSelectionControllerClientManager;
@@ -203,6 +204,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -204,6 +205,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
float GetDeviceScaleFactor() const final; float GetDeviceScaleFactor() const final;
bool IsPointerLocked() override; bool IsPointerLocked() override;
@ -101,7 +101,7 @@ index 41308c925e5e3..bd958ba6acaa8 100644
// Identical to `CopyFromSurface()`, except that this method issues the // Identical to `CopyFromSurface()`, except that this method issues the
// `viz::CopyOutputRequest` against the exact `viz::Surface` currently // `viz::CopyOutputRequest` against the exact `viz::Surface` currently
// embedded by this View, while `CopyFromSurface()` may return a copy of any // embedded by this View, while `CopyFromSurface()` may return a copy of any
@@ -264,6 +268,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -265,6 +269,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// Called when screen information or native widget bounds change. // Called when screen information or native widget bounds change.
virtual void UpdateScreenInfo(); virtual void UpdateScreenInfo();
@ -112,7 +112,7 @@ index 41308c925e5e3..bd958ba6acaa8 100644
// Called by the TextInputManager to notify the view about being removed from // Called by the TextInputManager to notify the view about being removed from
// the list of registered views, i.e., TextInputManager is no longer tracking // the list of registered views, i.e., TextInputManager is no longer tracking
// TextInputState from this view. The RWHV should reset |text_input_manager_| // TextInputState from this view. The RWHV should reset |text_input_manager_|
@@ -388,6 +396,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -391,6 +399,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
const gfx::Rect& bounds, const gfx::Rect& bounds,
const gfx::Rect& anchor_rect) = 0; const gfx::Rect& anchor_rect) = 0;
@ -125,7 +125,7 @@ index 41308c925e5e3..bd958ba6acaa8 100644
// Indicates whether the page has finished loading. // Indicates whether the page has finished loading.
virtual void SetIsLoading(bool is_loading) = 0; virtual void SetIsLoading(bool is_loading) = 0;
@@ -648,6 +662,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -651,6 +665,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// to all displays. // to all displays.
gfx::Size system_cursor_size_; gfx::Size system_cursor_size_;
@ -136,7 +136,7 @@ index 41308c925e5e3..bd958ba6acaa8 100644
private: private:
FRIEND_TEST_ALL_PREFIXES( FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest, BrowserSideFlingBrowserTest,
@@ -669,10 +687,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase @@ -672,10 +690,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void SynchronizeVisualProperties(); void SynchronizeVisualProperties();
@ -233,10 +233,10 @@ index e9bb4ee5bccee..e6172b1a8d53f 100644
// Remember this mapping from hwnd to Window*. // Remember this mapping from hwnd to Window*.
hwnd_root_window_map_[root_window_hwnd] = window; hwnd_root_window_map_[root_window_hwnd] = window;
diff --git ui/base/mojom/ui_base_types_mojom_traits.h ui/base/mojom/ui_base_types_mojom_traits.h diff --git ui/base/mojom/ui_base_types_mojom_traits.h ui/base/mojom/ui_base_types_mojom_traits.h
index b2a480b1717d1..306a4e3b1abc4 100644 index fba41cdefe707..1ed9995ac574c 100644
--- ui/base/mojom/ui_base_types_mojom_traits.h --- ui/base/mojom/ui_base_types_mojom_traits.h
+++ ui/base/mojom/ui_base_types_mojom_traits.h +++ ui/base/mojom/ui_base_types_mojom_traits.h
@@ -172,6 +172,7 @@ struct EnumTraits<ui::mojom::WindowShowState, ui::WindowShowState> { @@ -129,6 +129,7 @@ struct EnumTraits<ui::mojom::WindowShowState, ui::WindowShowState> {
case ui::SHOW_STATE_INACTIVE: case ui::SHOW_STATE_INACTIVE:
return ui::mojom::WindowShowState::SHOW_STATE_INACTIVE; return ui::mojom::WindowShowState::SHOW_STATE_INACTIVE;
case ui::SHOW_STATE_MINIMIZED: case ui::SHOW_STATE_MINIMIZED:
@ -245,7 +245,7 @@ index b2a480b1717d1..306a4e3b1abc4 100644
case ui::SHOW_STATE_MAXIMIZED: case ui::SHOW_STATE_MAXIMIZED:
return ui::mojom::WindowShowState::SHOW_STATE_MAXIMIZED; return ui::mojom::WindowShowState::SHOW_STATE_MAXIMIZED;
diff --git ui/base/ui_base_types.h ui/base/ui_base_types.h diff --git ui/base/ui_base_types.h ui/base/ui_base_types.h
index 2cf9330a4e24b..4bf0890ae000b 100644 index fc6bfb3c09f47..0b8910bd53c0d 100644
--- ui/base/ui_base_types.h --- ui/base/ui_base_types.h
+++ ui/base/ui_base_types.h +++ ui/base/ui_base_types.h
@@ -26,7 +26,8 @@ enum WindowShowState { @@ -26,7 +26,8 @@ enum WindowShowState {
@ -259,10 +259,10 @@ index 2cf9330a4e24b..4bf0890ae000b 100644
// Specifies which edges of the window are tiled. // Specifies which edges of the window are tiled.
diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc
index 74b4887f9a6fd..11f78739d9d61 100644 index 79f348169de79..e1e7cb876f697 100644
--- ui/ozone/platform/x11/x11_window.cc --- ui/ozone/platform/x11/x11_window.cc
+++ ui/ozone/platform/x11/x11_window.cc +++ ui/ozone/platform/x11/x11_window.cc
@@ -1869,7 +1869,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) { @@ -1874,7 +1874,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) {
req.border_pixel = 0; req.border_pixel = 0;
bounds_in_pixels_ = SanitizeBounds(bounds); bounds_in_pixels_ = SanitizeBounds(bounds);
@ -286,10 +286,10 @@ index e31c5b4cb6726..1b724948c2868 100644
return host ? host->GetAcceleratedWidget() : nullptr; return host ? host->GetAcceleratedWidget() : nullptr;
} }
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index 87179d2dfc301..92d31c96bb0b1 100644 index 684eab466f51f..88ec59d97d926 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -194,6 +194,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop( @@ -195,6 +195,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
return result; return result;
} }
@ -308,7 +308,7 @@ index 87179d2dfc301..92d31c96bb0b1 100644
void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) { void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
// In Windows, the native events sent to chrome are separated into client // In Windows, the native events sent to chrome are separated into client
// and non-client versions of events, which we record on our LocatedEvent // and non-client versions of events, which we record on our LocatedEvent
@@ -329,6 +341,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties( @@ -330,6 +342,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wayland_app_id = params.wayland_app_id; properties->wayland_app_id = params.wayland_app_id;
@ -318,10 +318,10 @@ index 87179d2dfc301..92d31c96bb0b1 100644
properties->x11_extension_delegate = this; properties->x11_extension_delegate = this;
} }
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
index e698f71577c51..8a6e28128564d 100644 index 590f97eee1fda..3980e814e80b9 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h --- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
@@ -62,6 +62,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux @@ -63,6 +63,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
// client-drawn shadow. // client-drawn shadow.
virtual void UpdateFrameHints(); virtual void UpdateFrameHints();
@ -330,7 +330,7 @@ index e698f71577c51..8a6e28128564d 100644
protected: protected:
// Overridden from DesktopWindowTreeHost: // Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override; void Init(const Widget::InitParams& params) override;
@@ -71,6 +73,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux @@ -72,6 +74,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
const gfx::Vector2d& drag_offset, const gfx::Vector2d& drag_offset,
Widget::MoveLoopSource source, Widget::MoveLoopSource source,
Widget::MoveLoopEscapeBehavior escape_behavior) override; Widget::MoveLoopEscapeBehavior escape_behavior) override;
@ -339,7 +339,7 @@ index e698f71577c51..8a6e28128564d 100644
// PlatformWindowDelegate: // PlatformWindowDelegate:
void DispatchEvent(ui::Event* event) override; void DispatchEvent(ui::Event* event) override;
@@ -120,6 +124,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux @@ -121,6 +125,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
uint32_t modal_dialog_counter_ = 0; uint32_t modal_dialog_counter_ = 0;
@ -350,7 +350,7 @@ index e698f71577c51..8a6e28128564d 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this}; base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
}; };
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 6eb1cf9451db1..97b1c9bcebb1d 100644 index 5f736a0efcdcf..53368d1a6ee35 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc --- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -281,8 +281,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) { @@ -281,8 +281,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
@ -365,7 +365,7 @@ index 6eb1cf9451db1..97b1c9bcebb1d 100644
// Calculate initial bounds. // Calculate initial bounds.
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index 269aabace2510..8e9c115c381fd 100644 index 668b9bbb908a5..74a14a5fe6236 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
@ -376,7 +376,7 @@ index 269aabace2510..8e9c115c381fd 100644
#include "ui/aura/window_event_dispatcher.h" #include "ui/aura/window_event_dispatcher.h"
#include "ui/base/class_property.h" #include "ui/base/class_property.h"
#include "ui/base/cursor/cursor.h" #include "ui/base/cursor/cursor.h"
@@ -183,22 +184,42 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) { @@ -184,22 +185,42 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
native_widget_delegate_.get()); native_widget_delegate_.get());
HWND parent_hwnd = nullptr; HWND parent_hwnd = nullptr;
@ -423,7 +423,7 @@ index 269aabace2510..8e9c115c381fd 100644
// Stack immediately above its parent so that it does not cover other // Stack immediately above its parent so that it does not cover other
// root-level windows, with the exception of menus, to allow them to be // root-level windows, with the exception of menus, to allow them to be
// displayed on top of other windows. // displayed on top of other windows.
@@ -1025,10 +1046,23 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) { @@ -1073,10 +1094,23 @@ void DesktopWindowTreeHostWin::HandleWindowMinimizedOrRestored(bool restored) {
if (!native_widget_delegate_->IsNativeWidgetInitialized()) if (!native_widget_delegate_->IsNativeWidgetInitialized())
return; return;
@ -449,7 +449,7 @@ index 269aabace2510..8e9c115c381fd 100644
} }
void DesktopWindowTreeHostWin::HandleClientSizeChanged( void DesktopWindowTreeHostWin::HandleClientSizeChanged(
@@ -1045,11 +1079,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() { @@ -1094,11 +1128,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
} }
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) { void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -467,7 +467,7 @@ index 269aabace2510..8e9c115c381fd 100644
} }
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
@@ -1057,6 +1095,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) { @@ -1106,6 +1144,12 @@ bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
if (ui::PlatformEventSource::ShouldIgnoreNativePlatformEvents()) if (ui::PlatformEventSource::ShouldIgnoreNativePlatformEvents())
return true; return true;
@ -480,7 +480,7 @@ index 269aabace2510..8e9c115c381fd 100644
SendEventToSink(event); SendEventToSink(event);
return event->handled(); return event->handled();
} }
@@ -1235,8 +1279,16 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) { @@ -1288,9 +1332,17 @@ void DesktopWindowTreeHostWin::SetBoundsInDIP(const gfx::Rect& bounds) {
// positions in variable-DPI situations. See https://crbug.com/1224715 for // positions in variable-DPI situations. See https://crbug.com/1224715 for
// details. // details.
aura::Window* root = nullptr; aura::Window* root = nullptr;
@ -490,7 +490,8 @@ index 269aabace2510..8e9c115c381fd 100644
+ root = AsWindowTreeHost()->window(); + root = AsWindowTreeHost()->window();
+ } + }
+ gfx::Rect bounds_in_pixels = + gfx::Rect bounds_in_pixels =
display::Screen::GetScreen()->DIPToScreenRectInWindow(root, bounds); display::Screen::GetScreen()->DIPToScreenRectInWindow(
root, AdjustedContentBounds(bounds));
+ if (has_external_parent_) { + if (has_external_parent_) {
+ // Child windows always have origin (0,0). + // Child windows always have origin (0,0).
+ bounds_in_pixels.set_origin(gfx::Point(0, 0)); + bounds_in_pixels.set_origin(gfx::Point(0, 0));
@ -499,10 +500,10 @@ index 269aabace2510..8e9c115c381fd 100644
} }
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
index 8169f17982253..fd8c22449a6a3 100644 index 531c73e496ab8..453f354a04a75 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h --- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h +++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -324,6 +324,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin @@ -328,6 +328,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
// True if the window should have the frame removed. // True if the window should have the frame removed.
bool remove_standard_frame_; bool remove_standard_frame_;
@ -518,10 +519,10 @@ index 8169f17982253..fd8c22449a6a3 100644
// the implementation of ::ShowCursor() is based on a counter, so making this // the implementation of ::ShowCursor() is based on a counter, so making this
// member static ensures that ::ShowCursor() is always called exactly once // member static ensures that ::ShowCursor() is always called exactly once
diff --git ui/views/widget/native_widget_mac.mm ui/views/widget/native_widget_mac.mm diff --git ui/views/widget/native_widget_mac.mm ui/views/widget/native_widget_mac.mm
index e13f3a3fe4e9a..8827c0355b665 100644 index c4a8bc0390517..30afff712ad8e 100644
--- ui/views/widget/native_widget_mac.mm --- ui/views/widget/native_widget_mac.mm
+++ ui/views/widget/native_widget_mac.mm +++ ui/views/widget/native_widget_mac.mm
@@ -656,6 +656,7 @@ void NativeWidgetMac::Show(ui::WindowShowState show_state, @@ -660,6 +660,7 @@ void NativeWidgetMac::Show(ui::WindowShowState show_state,
break; break;
case ui::SHOW_STATE_MAXIMIZED: case ui::SHOW_STATE_MAXIMIZED:
case ui::SHOW_STATE_FULLSCREEN: case ui::SHOW_STATE_FULLSCREEN:
@ -530,10 +531,10 @@ index e13f3a3fe4e9a..8827c0355b665 100644
break; break;
case ui::SHOW_STATE_END: case ui::SHOW_STATE_END:
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 2fac5a83aac46..8db0925bf0edd 100644 index ef981eeb13aba..8457c7a8d2b8f 100644
--- ui/views/widget/widget.cc --- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc +++ ui/views/widget/widget.cc
@@ -412,7 +412,8 @@ void Widget::Init(InitParams params) { @@ -411,7 +411,8 @@ void Widget::Init(InitParams params) {
} }
params.child |= (params.type == InitParams::TYPE_CONTROL); params.child |= (params.type == InitParams::TYPE_CONTROL);
@ -543,7 +544,7 @@ index 2fac5a83aac46..8db0925bf0edd 100644
is_headless_ = params.ShouldInitAsHeadless(); is_headless_ = params.ShouldInitAsHeadless();
is_autosized_ = params.autosize; is_autosized_ = params.autosize;
@@ -508,9 +509,14 @@ void Widget::Init(InitParams params) { @@ -518,9 +519,14 @@ void Widget::Init(InitParams params) {
if (show_state == ui::SHOW_STATE_MAXIMIZED) { if (show_state == ui::SHOW_STATE_MAXIMIZED) {
Maximize(); Maximize();
@ -558,7 +559,7 @@ index 2fac5a83aac46..8db0925bf0edd 100644
} }
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -524,7 +530,12 @@ void Widget::Init(InitParams params) { @@ -534,7 +540,12 @@ void Widget::Init(InitParams params) {
} else if (delegate) { } else if (delegate) {
SetContentsView(delegate->TransferOwnershipOfContentsView()); SetContentsView(delegate->TransferOwnershipOfContentsView());
if (should_set_initial_bounds) { if (should_set_initial_bounds) {
@ -572,7 +573,7 @@ index 2fac5a83aac46..8db0925bf0edd 100644
} }
} }
@@ -1723,10 +1734,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) { @@ -1733,10 +1744,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
} }
gfx::Size Widget::GetMinimumSize() const { gfx::Size Widget::GetMinimumSize() const {
@ -589,7 +590,7 @@ index 2fac5a83aac46..8db0925bf0edd 100644
return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size(); return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size();
} }
@@ -1978,7 +1995,8 @@ bool Widget::SetInitialFocus(ui::WindowShowState show_state) { @@ -1988,7 +2005,8 @@ bool Widget::SetInitialFocus(ui::WindowShowState show_state) {
return false; return false;
View* v = widget_delegate_->GetInitiallyFocusedView(); View* v = widget_delegate_->GetInitiallyFocusedView();
if (!focus_on_creation_ || show_state == ui::SHOW_STATE_INACTIVE || if (!focus_on_creation_ || show_state == ui::SHOW_STATE_INACTIVE ||
@ -600,10 +601,10 @@ index 2fac5a83aac46..8db0925bf0edd 100644
// focus when the window is restored. // focus when the window is restored.
if (v) if (v)
diff --git ui/views/widget/widget.h ui/views/widget/widget.h diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 721aa7432abbe..70dbf0eeb737e 100644 index e0429200e216e..bc07e44566c8a 100644
--- ui/views/widget/widget.h --- ui/views/widget/widget.h
+++ ui/views/widget/widget.h +++ ui/views/widget/widget.h
@@ -370,6 +370,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -366,6 +366,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// the concept with bubble anchoring a la BubbleDialogDelegateView. // the concept with bubble anchoring a la BubbleDialogDelegateView.
gfx::NativeView parent = gfx::NativeView(); gfx::NativeView parent = gfx::NativeView();
@ -612,7 +613,7 @@ index 721aa7432abbe..70dbf0eeb737e 100644
// Specifies the initial bounds of the Widget. Default is empty, which means // Specifies the initial bounds of the Widget. Default is empty, which means
// the NativeWidget may specify a default size. If the parent is specified, // the NativeWidget may specify a default size. If the parent is specified,
// |bounds| is in the parent's coordinate system. If the parent is not // |bounds| is in the parent's coordinate system. If the parent is not
@@ -776,7 +778,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate, @@ -779,7 +781,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void ShowInactive(); void ShowInactive();
// Activates the widget, assuming it already exists and is visible. // Activates the widget, assuming it already exists and is visible.
@ -622,10 +623,10 @@ index 721aa7432abbe..70dbf0eeb737e 100644
// Deactivates the widget, making the next window in the Z order the active // Deactivates the widget, making the next window in the Z order the active
// window. // window.
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index d1f6be37fcf45..ca2fd8ce00561 100644 index fb32ce5680e28..59fac409aec4a 100644
--- ui/views/widget/widget_delegate.h --- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h +++ ui/views/widget/widget_delegate.h
@@ -402,6 +402,10 @@ class VIEWS_EXPORT WidgetDelegate @@ -395,6 +395,10 @@ class VIEWS_EXPORT WidgetDelegate {
// Returns true if the title text should be centered. // Returns true if the title text should be centered.
bool ShouldCenterWindowTitleText() const; bool ShouldCenterWindowTitleText() const;
@ -637,7 +638,7 @@ index d1f6be37fcf45..ca2fd8ce00561 100644
bool enable_arrow_key_traversal() const { bool enable_arrow_key_traversal() const {
return params_.enable_arrow_key_traversal; return params_.enable_arrow_key_traversal;
diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc
index 3b9b00b7d79ae..e759e3c1a9f34 100644 index b162f426dbceb..017eb2562f6eb 100644
--- ui/views/widget/widget_hwnd_utils.cc --- ui/views/widget/widget_hwnd_utils.cc
+++ ui/views/widget/widget_hwnd_utils.cc +++ ui/views/widget/widget_hwnd_utils.cc
@@ -63,7 +63,8 @@ void CalculateWindowStylesFromInitParams( @@ -63,7 +63,8 @@ void CalculateWindowStylesFromInitParams(
@ -651,7 +652,7 @@ index 3b9b00b7d79ae..e759e3c1a9f34 100644
if (native_widget_delegate->IsDialogBox()) { if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME; *style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index a3cd6a4bc6c8f..7d46a6f88a17e 100644 index 6dac746517416..98e1ac1011bf6 100644
--- ui/views/win/hwnd_message_handler.cc --- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc +++ ui/views/win/hwnd_message_handler.cc
@@ -772,7 +772,11 @@ bool HWNDMessageHandler::IsVisible() const { @@ -772,7 +772,11 @@ bool HWNDMessageHandler::IsVisible() const {
@ -667,7 +668,7 @@ index a3cd6a4bc6c8f..7d46a6f88a17e 100644
} }
bool HWNDMessageHandler::IsMinimized() const { bool HWNDMessageHandler::IsMinimized() const {
@@ -3226,10 +3230,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message, @@ -3217,10 +3221,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::EventType::kMousewheel) { } else if (event.type() == ui::EventType::kMousewheel) {
ui::MouseWheelEvent mouse_wheel_event(msg); ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable. // Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -1,5 +1,5 @@
diff --git components/viz/host/host_display_client.cc components/viz/host/host_display_client.cc diff --git components/viz/host/host_display_client.cc components/viz/host/host_display_client.cc
index 0ad0fcd3d3ab1..16c9fd0360d80 100644 index d20063ec5ccbe..1c3d4a64f5ab6 100644
--- components/viz/host/host_display_client.cc --- components/viz/host/host_display_client.cc
+++ components/viz/host/host_display_client.cc +++ components/viz/host/host_display_client.cc
@@ -48,9 +48,14 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams( @@ -48,9 +48,14 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
@ -30,7 +30,7 @@ index 0ad0fcd3d3ab1..16c9fd0360d80 100644
gpu::SurfaceHandle child_window) { gpu::SurfaceHandle child_window) {
NOTREACHED_IN_MIGRATION(); NOTREACHED_IN_MIGRATION();
diff --git components/viz/host/host_display_client.h components/viz/host/host_display_client.h diff --git components/viz/host/host_display_client.h components/viz/host/host_display_client.h
index cb16487f9fc08..6191f8801f302 100644 index 294f99f234006..9d52ca5e7b0b4 100644
--- components/viz/host/host_display_client.h --- components/viz/host/host_display_client.h
+++ components/viz/host/host_display_client.h +++ components/viz/host/host_display_client.h
@@ -39,16 +39,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient { @@ -39,16 +39,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
@ -80,10 +80,10 @@ index 8af69cac78b74..9f74e511c263d 100644
private: private:
const HWND hwnd_; const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index 2ce093d0818f5..3ad06b1d10c61 100644 index c72378fbfd823..22d113b0481fb 100644
--- components/viz/service/BUILD.gn --- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn +++ components/viz/service/BUILD.gn
@@ -255,6 +255,8 @@ viz_component("service") { @@ -258,6 +258,8 @@ viz_component("service") {
"transitions/surface_animation_manager.h", "transitions/surface_animation_manager.h",
"transitions/transferable_resource_tracker.cc", "transitions/transferable_resource_tracker.cc",
"transitions/transferable_resource_tracker.h", "transitions/transferable_resource_tracker.h",
@ -93,7 +93,7 @@ index 2ce093d0818f5..3ad06b1d10c61 100644
defines = [ "VIZ_SERVICE_IMPLEMENTATION" ] defines = [ "VIZ_SERVICE_IMPLEMENTATION" ]
diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc
index 54a83ba9fe1e9..e5520ccf6265d 100644 index bddaacb09fcf9..9965df4a130de 100644
--- components/viz/service/display_embedder/output_surface_provider_impl.cc --- components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc +++ components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -18,6 +18,7 @@ @@ -18,6 +18,7 @@
@ -104,7 +104,7 @@ index 54a83ba9fe1e9..e5520ccf6265d 100644
#include "components/viz/common/display/renderer_settings.h" #include "components/viz/common/display/renderer_settings.h"
#include "components/viz/common/features.h" #include "components/viz/common/features.h"
#include "components/viz/common/frame_sinks/begin_frame_source.h" #include "components/viz/common/frame_sinks/begin_frame_source.h"
@@ -31,6 +32,7 @@ @@ -32,6 +33,7 @@
#include "gpu/command_buffer/service/scheduler_sequence.h" #include "gpu/command_buffer/service/scheduler_sequence.h"
#include "gpu/config/gpu_finch_features.h" #include "gpu/config/gpu_finch_features.h"
#include "gpu/ipc/common/surface_handle.h" #include "gpu/ipc/common/surface_handle.h"
@ -112,7 +112,7 @@ index 54a83ba9fe1e9..e5520ccf6265d 100644
#include "ui/base/ui_base_switches.h" #include "ui/base/ui_base_switches.h"
#if BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN)
@@ -146,6 +148,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform( @@ -147,6 +149,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
if (headless_) if (headless_)
return std::make_unique<SoftwareOutputDevice>(); return std::make_unique<SoftwareOutputDevice>();
@ -150,10 +150,10 @@ index 796ae2688436e..37a3406790210 100644
TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this); TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this);
diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc
index b9ad5c8cbeb5b..05ab69062b3b2 100644 index 0a7aff6ee5b1c..05455d0cb2e9b 100644
--- content/browser/compositor/viz_process_transport_factory.cc --- content/browser/compositor/viz_process_transport_factory.cc
+++ content/browser/compositor/viz_process_transport_factory.cc +++ content/browser/compositor/viz_process_transport_factory.cc
@@ -390,8 +390,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel( @@ -396,8 +396,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private; mojo::AssociatedRemote<viz::mojom::DisplayPrivate> display_private;
root_params->display_private = root_params->display_private =
display_private.BindNewEndpointAndPassReceiver(); display_private.BindNewEndpointAndPassReceiver();
@ -191,10 +191,10 @@ index 0173f9b181714..36a734d64738e 100644
// running in the same process, so it won't block anything. // running in the same process, so it won't block anything.
// TODO(159346933) Remove once the origin isolation logic is moved outside of // TODO(159346933) Remove once the origin isolation logic is moved outside of
diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom
index d7deccb6e6ec6..6a91f4aae6259 100644 index 7d19b6be8bb0e..5a54e67bf0018 100644
--- services/viz/privileged/mojom/compositing/display_private.mojom --- services/viz/privileged/mojom/compositing/display_private.mojom
+++ services/viz/privileged/mojom/compositing/display_private.mojom +++ services/viz/privileged/mojom/compositing/display_private.mojom
@@ -108,13 +108,15 @@ interface DisplayPrivate { @@ -111,13 +111,15 @@ interface DisplayPrivate {
// DisplayClient allows privileged clients to receive events from the Display. // DisplayClient allows privileged clients to receive events from the Display.
interface DisplayClient { interface DisplayClient {
@ -223,7 +223,7 @@ index 2f462f0deb5fc..695869b83cefa 100644
+ Draw(gfx.mojom.Rect damage_rect) => (); + Draw(gfx.mojom.Rect damage_rect) => ();
}; };
diff --git ui/compositor/compositor.h ui/compositor/compositor.h diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index adb90506e6df9..d966558511a64 100644 index b6c784c612bcf..65e58ecb262ee 100644
--- ui/compositor/compositor.h --- ui/compositor/compositor.h
+++ ui/compositor/compositor.h +++ ui/compositor/compositor.h
@@ -33,7 +33,9 @@ @@ -33,7 +33,9 @@
@ -261,7 +261,7 @@ index adb90506e6df9..d966558511a64 100644
// Sets the root of the layer tree drawn by this Compositor. The root layer // Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer // must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the // is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -548,6 +561,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver, @@ -563,6 +576,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
simple_begin_frame_observers_; simple_begin_frame_observers_;
std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_; std::unique_ptr<ui::HostBeginFrameObserver> host_begin_frame_observer_;

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 7318d2937012d..f7a002cb0566d 100644 index e8eb786e8f399..0ab5d8221087d 100644
--- content/browser/web_contents/web_contents_impl.cc --- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc +++ content/browser/web_contents/web_contents_impl.cc
@@ -3601,6 +3601,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -3636,6 +3636,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy, params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create()); base::UnguessableToken::Create());
@ -15,7 +15,7 @@ index 7318d2937012d..f7a002cb0566d 100644
std::unique_ptr<WebContentsViewDelegate> delegate = std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this); GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3611,6 +3617,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params, @@ -3646,6 +3652,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate), view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_); &render_view_host_delegate_view_);
} }
@ -23,7 +23,7 @@ index 7318d2937012d..f7a002cb0566d 100644
CHECK(render_view_host_delegate_view_); CHECK(render_view_host_delegate_view_);
CHECK(view_.get()); CHECK(view_.get());
@@ -3807,6 +3814,9 @@ void WebContentsImpl::RenderWidgetCreated( @@ -3842,6 +3849,9 @@ void WebContentsImpl::RenderWidgetCreated(
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated", OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated",
"render_widget_host", render_widget_host); "render_widget_host", render_widget_host);
created_widgets_.insert(render_widget_host); created_widgets_.insert(render_widget_host);
@ -33,7 +33,7 @@ index 7318d2937012d..f7a002cb0566d 100644
} }
void WebContentsImpl::RenderWidgetDeleted( void WebContentsImpl::RenderWidgetDeleted(
@@ -4672,6 +4682,15 @@ FrameTree* WebContentsImpl::CreateNewWindow( @@ -4715,6 +4725,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
create_params.picture_in_picture_options = *(params.pip_options); create_params.picture_in_picture_options = *(params.pip_options);
} }
@ -49,7 +49,7 @@ index 7318d2937012d..f7a002cb0566d 100644
// Check whether there is an available prerendered page for this navigation if // Check whether there is an available prerendered page for this navigation if
// this is not for guest. If it exists, take WebContents pre-created for // this is not for guest. If it exists, take WebContents pre-created for
// hosting the prerendered page instead of creating new WebContents. // hosting the prerendered page instead of creating new WebContents.
@@ -9027,6 +9046,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node, @@ -9136,6 +9155,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
} }
CloseListenerManager::DidChangeFocusedFrame(this); CloseListenerManager::DidChangeFocusedFrame(this);
@ -60,7 +60,7 @@ index 7318d2937012d..f7a002cb0566d 100644
FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() { FrameTree* WebContentsImpl::GetOwnedPictureInPictureFrameTree() {
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index d7403bb66b945..a3369846ff61f 100644 index 73715da6824ef..185dc85834665 100644
--- content/public/browser/web_contents.h --- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h +++ content/public/browser/web_contents.h
@@ -109,10 +109,12 @@ class BrowserContext; @@ -109,10 +109,12 @@ class BrowserContext;
@ -76,7 +76,7 @@ index d7403bb66b945..a3369846ff61f 100644
class WebUI; class WebUI;
struct DropData; struct DropData;
struct MHTMLGenerationParams; struct MHTMLGenerationParams;
@@ -259,6 +261,10 @@ class WebContents : public PageNavigator, @@ -258,6 +260,10 @@ class WebContents : public PageNavigator, public base::SupportsUserData {
network::mojom::WebSandboxFlags starting_sandbox_flags = network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone; network::mojom::WebSandboxFlags::kNone;
@ -85,13 +85,13 @@ index d7403bb66b945..a3369846ff61f 100644
+ raw_ptr<content::RenderViewHostDelegateView> delegate_view = nullptr; + raw_ptr<content::RenderViewHostDelegateView> delegate_view = nullptr;
+ +
// Value used to set the last time the WebContents was made active, this is // Value used to set the last time the WebContents was made active, this is
// the value that'll be returned by GetLastActiveTime(). If this is left // the value that'll be returned by GetLastActiveTimeTicks(). If this is
// default initialized then the value is not passed on to the WebContents // left default initialized then the value is not passed on to the
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index 138761070b63c..2f07272bc4cdb 100644 index 553a8726a5011..56ab81767e2c3 100644
--- content/public/browser/web_contents_delegate.h --- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h +++ content/public/browser/web_contents_delegate.h
@@ -63,9 +63,11 @@ class EyeDropperListener; @@ -64,9 +64,11 @@ class EyeDropperListener;
class FileSelectListener; class FileSelectListener;
class JavaScriptDialogManager; class JavaScriptDialogManager;
class RenderFrameHost; class RenderFrameHost;
@ -103,7 +103,7 @@ index 138761070b63c..2f07272bc4cdb 100644
struct ContextMenuParams; struct ContextMenuParams;
struct DropData; struct DropData;
struct MediaPlayerWatchTime; struct MediaPlayerWatchTime;
@@ -358,6 +360,14 @@ class CONTENT_EXPORT WebContentsDelegate { @@ -359,6 +361,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const StoragePartitionConfig& partition_config, const StoragePartitionConfig& partition_config,
SessionStorageNamespace* session_storage_namespace); SessionStorageNamespace* session_storage_namespace);
@ -119,7 +119,7 @@ index 138761070b63c..2f07272bc4cdb 100644
// typically happens when popups are created. // typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents, virtual void WebContentsCreated(WebContents* source_contents,
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
index 7e1fc02b87733..8f0cd27ec9786 100644 index 0fdc42b4c027e..cc71421f87bea 100644
--- content/public/browser/web_contents_observer.h --- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h +++ content/public/browser/web_contents_observer.h
@@ -239,6 +239,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { @@ -239,6 +239,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
@ -132,7 +132,7 @@ index 7e1fc02b87733..8f0cd27ec9786 100644
// This method is invoked when the `blink::WebView` of the current // This method is invoked when the `blink::WebView` of the current
// RenderViewHost is ready, e.g. because we recreated it after a crash. // RenderViewHost is ready, e.g. because we recreated it after a crash.
virtual void RenderViewReady() {} virtual void RenderViewReady() {}
@@ -885,6 +888,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver { @@ -895,6 +898,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
// WebContents has gained/lost focus. // WebContents has gained/lost focus.
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {} virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index 848edcdaf3a01..4c08bddc07337 100644 index cbc11108212e7..ff6c412c36713 100644
--- third_party/blink/public/platform/platform.h --- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h +++ third_party/blink/public/platform/platform.h
@@ -804,6 +804,11 @@ class BLINK_PLATFORM_EXPORT Platform { @@ -818,6 +818,11 @@ class BLINK_PLATFORM_EXPORT Platform {
} }
#endif #endif
@ -15,7 +15,7 @@ index 848edcdaf3a01..4c08bddc07337 100644
static void InitializeMainThreadCommon( static void InitializeMainThreadCommon(
Platform* platform, Platform* platform,
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index 8c581ccf3b1f7..478f1bdb63b40 100644 index e773961ed731e..13ff106677ace 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc --- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc +++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
@ -26,7 +26,7 @@ index 8c581ccf3b1f7..478f1bdb63b40 100644
#include "third_party/blink/renderer/bindings/core/v8/script_controller.h" #include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
#include "third_party/blink/renderer/core/frame/local_frame.h" #include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/inspector/devtools_agent.h" #include "third_party/blink/renderer/core/inspector/devtools_agent.h"
@@ -174,6 +175,7 @@ DevToolsSession::DevToolsSession( @@ -173,6 +174,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++) for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore(); agents_[i]->Restore();
} }
@ -34,7 +34,7 @@ index 8c581ccf3b1f7..478f1bdb63b40 100644
} }
DevToolsSession::~DevToolsSession() { DevToolsSession::~DevToolsSession() {
@@ -219,6 +221,7 @@ void DevToolsSession::Detach() { @@ -218,6 +220,7 @@ void DevToolsSession::Detach() {
agents_.clear(); agents_.clear();
v8_session_.reset(); v8_session_.reset();
agent_->client_->DebuggerTaskFinished(); agent_->client_->DebuggerTaskFinished();

View File

@ -11,7 +11,7 @@ index 4220a0aebf4a2..0bb15451c703f 100644
// Cancels and hides the current popup (datetime, select...) if any. // Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0; virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 36bd7ee7ed789..319b00f0df16b 100644 index 42b00bd0b3c22..31b8da18cab0b 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc --- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc +++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -252,8 +252,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) { @@ -252,8 +252,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -30,7 +30,7 @@ index 36bd7ee7ed789..319b00f0df16b 100644
} }
namespace { namespace {
@@ -600,6 +605,7 @@ WebViewImpl::WebViewImpl( @@ -611,6 +616,7 @@ WebViewImpl::WebViewImpl(
blink::ZoomFactorToZoomLevel(kMinimumBrowserZoomFactor)), blink::ZoomFactorToZoomLevel(kMinimumBrowserZoomFactor)),
maximum_zoom_level_( maximum_zoom_level_(
blink::ZoomFactorToZoomLevel(kMaximumBrowserZoomFactor)), blink::ZoomFactorToZoomLevel(kMaximumBrowserZoomFactor)),
@ -39,10 +39,10 @@ index 36bd7ee7ed789..319b00f0df16b 100644
fullscreen_controller_(std::make_unique<FullscreenController>(this)), fullscreen_controller_(std::make_unique<FullscreenController>(this)),
page_base_background_color_( page_base_background_color_(
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index 764d48e8fc89f..a7446fa5bf2ea 100644 index d4f129c072ef1..956ad9beb22b4 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h --- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h +++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -139,7 +139,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -138,7 +138,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
static HashSet<WebViewImpl*>& AllInstances(); static HashSet<WebViewImpl*>& AllInstances();
// Returns true if popup menus should be rendered by the browser, false if // Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default). // they should be rendered by WebKit (which is the default).
@ -52,7 +52,7 @@ index 764d48e8fc89f..a7446fa5bf2ea 100644
// Returns whether frames under this WebView are backed by a compositor. // Returns whether frames under this WebView are backed by a compositor.
bool does_composite() const { return does_composite_; } bool does_composite() const { return does_composite_; }
@@ -874,6 +875,8 @@ class CORE_EXPORT WebViewImpl final : public WebView, @@ -870,6 +871,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_ = 0.f; float fake_page_scale_animation_page_scale_factor_ = 0.f;
bool fake_page_scale_animation_use_anchor_ = false; bool fake_page_scale_animation_use_anchor_ = false;
@ -62,10 +62,10 @@ index 764d48e8fc89f..a7446fa5bf2ea 100644
gfx::Transform device_emulation_transform_; gfx::Transform device_emulation_transform_;
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
index b227679f7f921..c9d7f749f0952 100644 index 1536a0c7089d7..0376e3a663d98 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc --- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc +++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -988,7 +988,7 @@ PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame, @@ -973,7 +973,7 @@ PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) { HTMLSelectElement& select) {
NotifyPopupOpeningObservers(); NotifyPopupOpeningObservers();

View File

@ -1,5 +1,5 @@
diff --git base/time/time.h base/time/time.h diff --git base/time/time.h base/time/time.h
index 9567ea3ae71cf..5fef15852a641 100644 index 09bf6df3f8301..a389b92b49be7 100644
--- base/time/time.h --- base/time/time.h
+++ base/time/time.h +++ base/time/time.h
@@ -134,6 +134,13 @@ constexpr bool isnan(double d) { @@ -134,6 +134,13 @@ constexpr bool isnan(double d) {

View File

@ -0,0 +1,28 @@
diff --git base/profiler/stack_copier.cc base/profiler/stack_copier.cc
index 6cc3a6acef3a5..bef6e2426d3f0 100644
--- base/profiler/stack_copier.cc
+++ base/profiler/stack_copier.cc
@@ -14,7 +14,9 @@
#include "base/bits.h"
#include "base/compiler_specific.h"
#include "base/profiler/stack_buffer.h"
+#if PA_BUILDFLAG(USE_PARTITION_ALLOC)
#include "partition_alloc/tagging.h"
+#endif
namespace base {
@@ -76,11 +78,13 @@ const uint8_t* StackCopier::CopyStackContentsAndRewritePointers(
const uintptr_t* original_stack_top,
size_t platform_stack_alignment,
uintptr_t* stack_buffer_bottom) {
+#if PA_BUILDFLAG(USE_PARTITION_ALLOC)
// Disable MTE during this function because this function indiscriminately
// reads stack frames, some of which belong to system libraries, not Chrome
// itself. With stack tagging, some bytes on the stack have MTE tags different
// from the stack pointer tag.
partition_alloc::SuspendTagCheckingScope suspend_tag_checking_scope;
+#endif
const uint8_t* byte_src = original_stack_bottom;
// The first address in the stack with pointer alignment. Pointer-aligned

View File

@ -28,7 +28,7 @@
<string>0</string> <string>0</string>
</dict> </dict>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -30,7 +30,7 @@
<key>LSFileQuarantineEnabled</key> <key>LSFileQuarantineEnabled</key>
<true/> <true/>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>LSUIElement</key> <key>LSUIElement</key>
<string>1</string> <string>1</string>
<key>NSSupportsAutomaticGraphicsSwitching</key> <key>NSSupportsAutomaticGraphicsSwitching</key>

View File

@ -28,7 +28,7 @@
<string>0</string> <string>0</string>
</dict> </dict>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -30,7 +30,7 @@
<key>LSFileQuarantineEnabled</key> <key>LSFileQuarantineEnabled</key>
<true/> <true/>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>LSUIElement</key> <key>LSUIElement</key>
<string>1</string> <string>1</string>
<key>NSSupportsAutomaticGraphicsSwitching</key> <key>NSSupportsAutomaticGraphicsSwitching</key>

View File

@ -28,7 +28,7 @@
<string>0</string> <string>0</string>
</dict> </dict>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -30,7 +30,7 @@
<key>LSFileQuarantineEnabled</key> <key>LSFileQuarantineEnabled</key>
<true/> <true/>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>10.15.0</string> <string>11.0</string>
<key>LSUIElement</key> <key>LSUIElement</key>
<string>1</string> <string>1</string>
<key>NSSupportsAutomaticGraphicsSwitching</key> <key>NSSupportsAutomaticGraphicsSwitching</key>

View File

@ -205,18 +205,17 @@ class TestSchemeHandler : public TestHandler {
const CefString& source, const CefString& source,
int line) override { int line) override {
bool expected = false; bool expected = false;
if (!test_results_->console_messages.empty()) { const std::string& actual = message.ToString();
std::vector<std::string>::iterator it =
test_results_->console_messages.begin(); auto it = std::find_if(test_results_->console_messages.begin(),
for (; it != test_results_->console_messages.end(); ++it) { test_results_->console_messages.end(),
const std::string& possible = *it; [&actual](const std::string& possible) {
const std::string& actual = message.ToString(); return actual.find(possible) == 0U;
if (actual.find(possible) == 0U) { });
expected = true;
test_results_->console_messages.erase(it); if (it != test_results_->console_messages.end()) {
break; expected = true;
} test_results_->console_messages.erase(it);
}
} }
EXPECT_TRUE(expected) << "Unexpected console message: " EXPECT_TRUE(expected) << "Unexpected console message: "
@ -1400,7 +1399,7 @@ TEST(SchemeHandlerTest, CustomNonStandardXSSSameOrigin) {
"customnonstd:xhr%20value"); "customnonstd:xhr%20value");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"null\" from accessing a " "'Window': Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame."); "cross-origin frame.");
@ -1526,7 +1525,7 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentOrigin) {
"customstd://test2/iframe.html"); "customstd://test2/iframe.html");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"customstd://test2\" from " "'Window': Blocked a frame with origin \"customstd://test2\" from "
"accessing a cross-origin frame."); "accessing a cross-origin frame.");
@ -1554,7 +1553,7 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentProtocolHttp) {
"https://test2/iframe.html"); "https://test2/iframe.html");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"https://test2\" from accessing " "'Window': Blocked a frame with origin \"https://test2\" from accessing "
"a cross-origin frame."); "a cross-origin frame.");
@ -1583,7 +1582,7 @@ TEST(SchemeHandlerTest, CustomStandardXSSDifferentProtocolCustomNonStandard) {
"customnonstd:some%20value"); "customnonstd:some%20value");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"null\" from accessing a " "'Window': Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame."); "cross-origin frame.");
@ -1611,7 +1610,7 @@ TEST(SchemeHandlerTest, HttpXSSDifferentProtocolCustomStandard) {
"customstd://test2/iframe.html"); "customstd://test2/iframe.html");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"customstd://test2\" from " "'Window': Blocked a frame with origin \"customstd://test2\" from "
"accessing a cross-origin frame."); "accessing a cross-origin frame.");
@ -1639,7 +1638,7 @@ TEST(SchemeHandlerTest, HttpXSSDifferentProtocolCustomNonStandard) {
"customnonstd:some%20value"); "customnonstd:some%20value");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"null\" from accessing a " "'Window': Blocked a frame with origin \"null\" from accessing a "
"cross-origin frame."); "cross-origin frame.");
@ -1765,7 +1764,7 @@ TEST(SchemeHandlerTest, HttpXSSDifferentOrigin) {
SetUpXSS(&test_results, "https://test1/run.html", "https://test2/xss.html"); SetUpXSS(&test_results, "https://test1/run.html", "https://test2/xss.html");
test_results.console_messages.push_back( test_results.console_messages.push_back(
"SecurityError: Failed to read a named property 'getResult' from " "Error: Failed to read a named property 'getResult' from "
"'Window': Blocked a frame with origin \"https://test2\" from accessing " "'Window': Blocked a frame with origin \"https://test2\" from accessing "
"a cross-origin frame."); "a cross-origin frame.");