Update to Chromium version 123.0.6312.0 (#1262506)

- MacOS ARM64 Official builds are currently failing due to
  https://issues.chromium.org/issues/326898585
This commit is contained in:
Marshall Greenblatt 2024-02-22 13:36:15 -05:00
parent 2c5dd120c7
commit d4cf19db29
100 changed files with 837 additions and 799 deletions

View File

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

View File

@ -42,13 +42,13 @@
// way that may cause binary incompatibility with other builds. The universal
// hash value will change if any platform is affected whereas the platform hash
// values will change only if that particular platform is affected.
#define CEF_API_HASH_UNIVERSAL "afb63c581ad6ef9b3d3ebed472cc66f75ce4647f"
#define CEF_API_HASH_UNIVERSAL "93050a5111ee3131f5589bd7d3be5376539a64c2"
#if defined(OS_WIN)
#define CEF_API_HASH_PLATFORM "504dbb53deeebd11a16ea01533c5d9ecfa6be555"
#define CEF_API_HASH_PLATFORM "ebcca93f53d935802a4cd02606864ff1eb1a1baa"
#elif defined(OS_MAC)
#define CEF_API_HASH_PLATFORM "dc3cf1d007fec844ab287dac384c8b00366d46fc"
#define CEF_API_HASH_PLATFORM "a2c1ee5ae59a181773019412084903e4824aa300"
#elif defined(OS_LINUX)
#define CEF_API_HASH_PLATFORM "2b47d389c64db81913818b708b78868a22e65b66"
#define CEF_API_HASH_PLATFORM "915ea22829d9814cb6481891de4619f0aafda72f"
#endif
#ifdef __cplusplus

View File

@ -2336,6 +2336,7 @@ typedef enum {
DOM_FORM_CONTROL_TYPE_BUTTON_SUBMIT,
DOM_FORM_CONTROL_TYPE_BUTTON_RESET,
DOM_FORM_CONTROL_TYPE_BUTTON_SELECT_LIST,
DOM_FORM_CONTROL_TYPE_BUTTON_POPOVER,
DOM_FORM_CONTROL_TYPE_FIELDSET,
DOM_FORM_CONTROL_TYPE_INPUT_BUTTON,
DOM_FORM_CONTROL_TYPE_INPUT_CHECKBOX,

View File

@ -407,6 +407,17 @@ typedef enum {
/// Content settings for access to printers for the Web Printing API.
CEF_CONTENT_SETTING_TYPE_WEB_PRINTING,
/// Content setting used to indicate whether entering HTML Fullscreen
/// automatically (i.e. without transient activation) should be enabled.
CEF_CONTENT_SETTING_TYPE_AUTOMATIC_FULLSCREEN,
/// Content settings used to indicate that a web app is allowed to prompt the
/// user for the installation of sub apps.
CEF_CONTENT_SETTING_TYPE_SUB_APP_INSTALLATION_PROMPTS,
/// Whether an application can enumerate audio output device.
CEF_CONTENT_SETTING_TYPE_SPEAKER_SELECTION,
CEF_CONTENT_SETTING_TYPE_NUM_TYPES,
} cef_content_setting_types_t;

View File

@ -91,7 +91,7 @@
#include "components/pdf/browser/pdf_document_helper.h"
#include "components/pdf/browser/pdf_navigation_throttle.h"
#include "components/pdf/browser/pdf_url_loader_request_interceptor.h"
#include "components/pdf/common/internal_plugin_helpers.h"
#include "components/pdf/common/constants.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/spellcheck/common/spellcheck.mojom.h"
#include "components/version_info/version_info.h"
@ -118,7 +118,6 @@
#include "extensions/browser/api/automation_internal/automation_event_router.h"
#include "extensions/browser/api/mime_handler_private/mime_handler_private.h"
#include "extensions/browser/event_router.h"
#include "extensions/browser/extension_message_filter.h"
#include "extensions/browser/extension_protocols.h"
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_web_contents_observer.h"
@ -397,13 +396,6 @@ void AlloyContentBrowserClient::RenderProcessWillLaunch(
content::RenderProcessHost* host) {
Profile* profile = Profile::FromBrowserContext(host->GetBrowserContext());
#if BUILDFLAG(ENABLE_EXTENSIONS_LEGACY_IPC)
if (extensions::ExtensionsEnabled()) {
host->AddFilter(
new extensions::ExtensionMessageFilter(host->GetID(), profile));
}
#endif
// If the renderer process crashes then the host may already have
// CefBrowserInfoManager as an observer. Try to remove it first before adding
// to avoid DCHECKs.
@ -881,19 +873,6 @@ void AlloyContentBrowserClient::ExposeInterfacesToRenderer(
associated_registry->AddInterface<extensions::mojom::RendererHost>(
base::BindRepeating(&extensions::RendererStartupHelper::BindForRenderer,
render_process_host->GetID()));
#if BUILDFLAG(ENABLE_EXTENSIONS_LEGACY_IPC)
associated_registry->AddInterface<extensions::mojom::EventRouter>(
base::BindRepeating(&extensions::EventRouter::BindForRenderer,
host->GetID()));
associated_registry->AddInterface<extensions::mojom::ServiceWorkerHost>(
base::BindRepeating(&extensions::ServiceWorkerHost::BindReceiver,
host->GetID()));
associated_registry
->AddInterface<extensions::mojom::RendererAutomationRegistry>(
base::BindRepeating(
&extensions::AutomationEventRouter::BindForRenderer,
host->GetID()));
#endif
}
}
@ -910,7 +889,6 @@ void AlloyContentBrowserClient::
associated_registry.AddInterface<extensions::mojom::RendererHost>(
base::BindRepeating(&extensions::RendererStartupHelper::BindForRenderer,
service_worker_version_info.process_id));
#if !BUILDFLAG(ENABLE_EXTENSIONS_LEGACY_IPC)
associated_registry.AddInterface<extensions::mojom::ServiceWorkerHost>(
base::BindRepeating(&extensions::ServiceWorkerHost::BindReceiver,
service_worker_version_info.process_id));
@ -922,7 +900,6 @@ void AlloyContentBrowserClient::
associated_registry.AddInterface<extensions::mojom::EventRouter>(
base::BindRepeating(&extensions::EventRouter::BindForRenderer,
service_worker_version_info.process_id));
#endif
}
}
@ -1196,7 +1173,7 @@ void AlloyContentBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories(
}
}
bool AlloyContentBrowserClient::WillCreateURLLoaderFactory(
void AlloyContentBrowserClient::WillCreateURLLoaderFactory(
content::BrowserContext* browser_context,
content::RenderFrameHost* frame,
int render_process_id,
@ -1204,7 +1181,7 @@ bool AlloyContentBrowserClient::WillCreateURLLoaderFactory(
const url::Origin& request_initiator,
std::optional<int64_t> navigation_id,
ukm::SourceIdObj ukm_source_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks,
@ -1217,9 +1194,8 @@ bool AlloyContentBrowserClient::WillCreateURLLoaderFactory(
type == URLLoaderFactoryType::kDownload, request_initiator);
net_service::ProxyURLLoaderFactory::CreateProxy(
browser_context, factory_receiver, header_client,
browser_context, factory_builder, header_client,
std::move(request_handler));
return true;
}
void AlloyContentBrowserClient::OnNetworkServiceCreated(

View File

@ -179,7 +179,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
int render_frame_id,
const std::optional<url::Origin>& request_initiator_origin,
NonNetworkURLLoaderFactoryMap* factories) override;
bool WillCreateURLLoaderFactory(
void WillCreateURLLoaderFactory(
content::BrowserContext* browser_context,
content::RenderFrameHost* frame,
int render_process_id,
@ -187,7 +187,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
const url::Origin& request_initiator,
std::optional<int64_t> navigation_id,
ukm::SourceIdObj ukm_source_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks,

View File

@ -226,7 +226,7 @@ void ChromeContentBrowserClientCef::OverrideWebkitPrefs(
web_contents->SetPageBaseBackgroundColor(base_background_color);
}
bool ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
void ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
content::BrowserContext* browser_context,
content::RenderFrameHost* frame,
int render_process_id,
@ -234,7 +234,7 @@ bool ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
const url::Origin& request_initiator,
std::optional<int64_t> navigation_id,
ukm::SourceIdObj ukm_source_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks,
@ -246,15 +246,16 @@ bool ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
// profiles::CreateSystemProfileForUserManager.
auto profile = Profile::FromBrowserContext(browser_context);
if (!CefBrowserContext::FromProfile(profile)) {
return ChromeContentBrowserClient::WillCreateURLLoaderFactory(
ChromeContentBrowserClient::WillCreateURLLoaderFactory(
browser_context, frame, render_process_id, type, request_initiator,
navigation_id, ukm_source_id, factory_receiver, header_client,
navigation_id, ukm_source_id, factory_builder, header_client,
bypass_redirect_checks, disable_secure_dns, factory_override,
navigation_response_task_runner);
return;
}
// Based on content/browser/devtools/devtools_instrumentation.cc
// WillCreateURLLoaderFactoryInternal.
// WillCreateURLLoaderFactoryParams::Run.
network::mojom::URLLoaderFactoryOverridePtr cef_override(
network::mojom::URLLoaderFactoryOverride::New());
// If caller passed some existing overrides, use those.
@ -276,32 +277,31 @@ bool ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
}
// TODO(chrome): Is it necessary to proxy |header_client| callbacks?
bool use_proxy = ChromeContentBrowserClient::WillCreateURLLoaderFactory(
ChromeContentBrowserClient::WillCreateURLLoaderFactory(
browser_context, frame, render_process_id, type, request_initiator,
navigation_id, ukm_source_id,
&(intercepting_factory->overridden_factory_receiver),
navigation_id, ukm_source_id, factory_builder,
/*header_client=*/nullptr, bypass_redirect_checks, disable_secure_dns,
handler_override, navigation_response_task_runner);
if (use_proxy) {
DCHECK(intercepting_factory->overriding_factory);
DCHECK(intercepting_factory->overridden_factory_receiver);
if (!factory_override) {
// Not a subresource navigation, so just override the target receiver.
mojo::FusePipes(std::move(*factory_receiver),
std::move(cef_override->overriding_factory));
*factory_receiver = std::move(cef_override->overridden_factory_receiver);
} else if (!*factory_override) {
// No other overrides, so just returns ours as is.
*factory_override = network::mojom::URLLoaderFactoryOverride::New(
std::move(cef_override->overriding_factory),
std::move(cef_override->overridden_factory_receiver), false);
}
// ... else things are already taken care of, as handler_override was
// pointing to factory override and we've done all magic in-place.
DCHECK(!cef_override->overriding_factory);
DCHECK(!cef_override->overridden_factory_receiver);
DCHECK(intercepting_factory->overriding_factory);
DCHECK(intercepting_factory->overridden_factory_receiver);
if (!factory_override) {
// Not a subresource navigation, so just override the target receiver.
auto [receiver, remote] = factory_builder.Append();
mojo::FusePipes(std::move(receiver),
std::move(cef_override->overriding_factory));
mojo::FusePipes(std::move(cef_override->overridden_factory_receiver),
std::move(remote));
} else if (!*factory_override) {
// No other overrides, so just returns ours as is.
*factory_override = network::mojom::URLLoaderFactoryOverride::New(
std::move(cef_override->overriding_factory),
std::move(cef_override->overridden_factory_receiver), false);
}
// ... else things are already taken care of, as handler_override was
// pointing to factory override and we've done all magic in-place.
DCHECK(!cef_override->overriding_factory);
DCHECK(!cef_override->overridden_factory_receiver);
auto request_handler = net_service::CreateInterceptedRequestHandler(
browser_context, frame, render_process_id,
@ -309,10 +309,8 @@ bool ChromeContentBrowserClientCef::WillCreateURLLoaderFactory(
type == URLLoaderFactoryType::kDownload, request_initiator);
net_service::ProxyURLLoaderFactory::CreateProxy(
browser_context, factory_receiver, header_client,
browser_context, factory_builder, header_client,
std::move(request_handler));
return true;
}
bool ChromeContentBrowserClientCef::HandleExternalProtocol(

View File

@ -55,7 +55,7 @@ class ChromeContentBrowserClientCef : public ChromeContentBrowserClient {
bool* no_javascript_access) override;
void OverrideWebkitPrefs(content::WebContents* web_contents,
blink::web_pref::WebPreferences* prefs) override;
bool WillCreateURLLoaderFactory(
void WillCreateURLLoaderFactory(
content::BrowserContext* browser_context,
content::RenderFrameHost* frame,
int render_process_id,
@ -63,7 +63,7 @@ class ChromeContentBrowserClientCef : public ChromeContentBrowserClient {
const url::Origin& request_initiator,
std::optional<int64_t> navigation_id,
ukm::SourceIdObj ukm_source_id,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
bool* bypass_redirect_checks,

View File

@ -205,9 +205,7 @@ class CefDevToolsFrontend::NetworkResourceLoader
bool encoded = !base::IsStringUTF8(chunk);
if (encoded) {
std::string encoded_string;
base::Base64Encode(chunk, &encoded_string);
chunkValue = base::Value(std::move(encoded_string));
chunkValue = base::Value(base::Base64Encode(chunk));
} else {
chunkValue = base::Value(chunk);
}

View File

@ -61,7 +61,7 @@ bool CefComponentExtensionResourceManager::IsComponentExtensionResource(
const ui::TemplateReplacements*
CefComponentExtensionResourceManager::GetTemplateReplacementsForExtension(
const std::string& extension_id) const {
const ExtensionId& extension_id) const {
auto it = template_replacements_.find(extension_id);
return it != template_replacements_.end() ? &it->second : nullptr;
}

View File

@ -9,6 +9,7 @@
#include "base/files/file_path.h"
#include "extensions/browser/component_extension_resource_manager.h"
#include "extensions/common/extension_id.h"
namespace webui {
struct ResourcePath;
@ -33,7 +34,7 @@ class CefComponentExtensionResourceManager
const base::FilePath& resource_path,
int* resource_id) const override;
const ui::TemplateReplacements* GetTemplateReplacementsForExtension(
const std::string& extension_id) const override;
const ExtensionId& extension_id) const override;
private:
void AddComponentResourceEntries(const webui::ResourcePath* entries,
@ -45,7 +46,7 @@ class CefComponentExtensionResourceManager
// A map from an extension ID to its i18n template replacements.
using TemplateReplacementMap =
std::map<std::string, ui::TemplateReplacements>;
std::map<ExtensionId, ui::TemplateReplacements>;
TemplateReplacementMap template_replacements_;
};

View File

@ -33,6 +33,7 @@
#include "content/public/browser/notification_source.h"
#include "content/public/browser/plugin_service.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/webplugininfo.h"
#include "extensions/browser/api/app_runtime/app_runtime_api.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/browser/extension_registry.h"
@ -44,7 +45,6 @@
#include "extensions/browser/unloaded_extension_reason.h"
#include "extensions/browser/user_script_manager.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_messages.h"
#include "extensions/common/file_util.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/mime_types_handler.h"

View File

@ -131,18 +131,24 @@ class CefMediaAccessQuery {
blink::MediaStreamDevices audio_devices;
blink::MediaStreamDevices video_devices;
if (device_audio_requested()) {
if (device_audio_requested() &&
!request_.requested_audio_device_ids.empty() &&
!request_.requested_audio_device_ids.front().empty()) {
// Pick the desired device or fall back to the first available of the
// given type.
CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice(
request_.requested_audio_device_id, true, false, &audio_devices);
request_.requested_audio_device_ids.front(), true, false,
&audio_devices);
}
if (device_video_requested()) {
if (device_video_requested() &&
!request_.requested_video_device_ids.empty() &&
!request_.requested_video_device_ids.front().empty()) {
// Pick the desired device or fall back to the first available of the
// given type.
CefMediaCaptureDevicesDispatcher::GetInstance()->GetRequestedDevice(
request_.requested_video_device_id, false, true, &video_devices);
request_.requested_video_device_ids.front(), false, true,
&video_devices);
}
if (desktop_audio_requested()) {
@ -152,13 +158,14 @@ class CefMediaAccessQuery {
if (desktop_video_requested()) {
content::DesktopMediaID media_id;
if (request_.requested_video_device_id.empty()) {
if (!request_.requested_video_device_ids.empty() &&
!request_.requested_video_device_ids.front().empty()) {
media_id = content::DesktopMediaID::Parse(
request_.requested_video_device_ids.front());
} else {
media_id =
content::DesktopMediaID(content::DesktopMediaID::TYPE_SCREEN,
-1 /* webrtc::kFullDesktopScreenId */);
} else {
media_id =
content::DesktopMediaID::Parse(request_.requested_video_device_id);
}
video_devices.emplace_back(request_.video_type, media_id.ToString(),
"Screen");

View File

@ -1349,16 +1349,14 @@ void ProxyURLLoaderFactory::SetDisconnectCallback(
// static
void ProxyURLLoaderFactory::CreateProxy(
content::BrowserContext* browser_context,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
std::unique_ptr<InterceptedRequestHandler> request_handler) {
CEF_REQUIRE_UIT();
DCHECK(request_handler);
auto proxied_receiver = std::move(*factory_receiver);
mojo::PendingRemote<network::mojom::URLLoaderFactory> target_factory_remote;
*factory_receiver = target_factory_remote.InitWithNewPipeAndPassReceiver();
auto [factory_receiver, target_factory_remote] = factory_builder.Append();
mojo::PendingReceiver<network::mojom::TrustedURLLoaderHeaderClient>
header_client_receiver;
@ -1373,7 +1371,7 @@ void ProxyURLLoaderFactory::CreateProxy(
CEF_POST_TASK(
CEF_IOT,
base::BindOnce(
&ProxyURLLoaderFactory::CreateOnIOThread, std::move(proxied_receiver),
&ProxyURLLoaderFactory::CreateOnIOThread, std::move(factory_receiver),
std::move(target_factory_remote), std::move(header_client_receiver),
base::Unretained(resource_context), std::move(request_handler)));
}

View File

@ -16,6 +16,7 @@
#include "content/public/browser/web_contents.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/network/public/cpp/url_loader_factory_builder.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
@ -146,7 +147,7 @@ class ProxyURLLoaderFactory
// Create a proxy object on the UI thread.
static void CreateProxy(
content::BrowserContext* browser_context,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>* factory_receiver,
network::URLLoaderFactoryBuilder& factory_builder,
mojo::PendingRemote<network::mojom::TrustedURLLoaderHeaderClient>*
header_client,
std::unique_ptr<InterceptedRequestHandler> request_handler);

View File

@ -35,54 +35,34 @@ scoped_refptr<URLLoaderFactoryGetter> URLLoaderFactoryGetter::Create(
auto loader_factory = browser_context->GetDefaultStoragePartition()
->GetURLLoaderFactoryForBrowserProcess();
mojo::PendingRemote<network::mojom::URLLoaderFactory> proxy_factory_remote;
mojo::PendingReceiver<network::mojom::URLLoaderFactory>
proxy_factory_receiver;
network::URLLoaderFactoryBuilder factory_builder;
// Create an intermediate pipe that can be used to proxy the request's
// URLLoaderFactory.
mojo::PendingRemote<network::mojom::URLLoaderFactory>
maybe_proxy_factory_remote;
mojo::PendingReceiver<network::mojom::URLLoaderFactory>
maybe_proxy_factory_receiver =
maybe_proxy_factory_remote.InitWithNewPipeAndPassReceiver();
bool should_proxy = false;
int render_process_id = -1;
if (render_frame_host) {
render_process_id = render_frame_host->GetProcess()->GetID();
// Allow DevTools to potentially inject itself into the proxy pipe.
should_proxy =
content::devtools_instrumentation::WillCreateURLLoaderFactory(
static_cast<content::RenderFrameHostImpl*>(render_frame_host),
false /* is_navigation */, false /* is_download */,
&maybe_proxy_factory_receiver, nullptr /* factory_override */);
content::devtools_instrumentation::WillCreateURLLoaderFactoryParams::
ForFrame(static_cast<content::RenderFrameHostImpl*>(render_frame_host))
.Run(false /* is_navigation */, false /* is_download */,
factory_builder, nullptr /* factory_override */);
}
auto browser_client = CefAppManager::Get()->GetContentClient()->browser();
// Allow the Content embedder to inject itself if it wants to.
should_proxy |= browser_client->WillCreateURLLoaderFactory(
browser_client->WillCreateURLLoaderFactory(
browser_context, render_frame_host, render_process_id,
content::ContentBrowserClient::URLLoaderFactoryType::kDocumentSubResource,
url::Origin(), absl::nullopt /* navigation_id */, ukm::SourceIdObj(),
&maybe_proxy_factory_receiver, nullptr /* header_client */,
factory_builder, nullptr /* header_client */,
nullptr /* bypass_redirect_checks */, nullptr /* disable_secure_dns */,
nullptr /* factory_override */,
nullptr /* navigation_response_task_runner */);
// If anyone above indicated that they care about proxying, pass the
// intermediate pipe along to the URLLoaderFactoryGetter.
if (should_proxy) {
proxy_factory_remote = std::move(maybe_proxy_factory_remote);
proxy_factory_receiver = std::move(maybe_proxy_factory_receiver);
}
return base::WrapRefCounted(new URLLoaderFactoryGetter(
loader_factory->Clone(), std::move(proxy_factory_remote),
std::move(proxy_factory_receiver)));
loader_factory->Clone(), std::move(factory_builder)));
}
// Based on CreateFactory from
@ -104,25 +84,15 @@ URLLoaderFactoryGetter::GetURLLoaderFactory() {
auto loader_factory =
network::SharedURLLoaderFactory::Create(std::move(loader_factory_info_));
if (proxy_factory_receiver_.is_valid()) {
loader_factory->Clone(std::move(proxy_factory_receiver_));
lazy_factory_ =
base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
std::move(proxy_factory_remote_));
} else {
lazy_factory_ = loader_factory;
}
lazy_factory_ = std::move(factory_builder_).Finish(loader_factory);
return lazy_factory_;
}
URLLoaderFactoryGetter::URLLoaderFactoryGetter(
std::unique_ptr<network::PendingSharedURLLoaderFactory> loader_factory_info,
mojo::PendingRemote<network::mojom::URLLoaderFactory> proxy_factory_remote,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>
proxy_factory_receiver)
network::URLLoaderFactoryBuilder factory_builder)
: loader_factory_info_(std::move(loader_factory_info)),
proxy_factory_remote_(std::move(proxy_factory_remote)),
proxy_factory_receiver_(std::move(proxy_factory_receiver)) {}
factory_builder_(std::move(factory_builder)) {}
URLLoaderFactoryGetter::~URLLoaderFactoryGetter() = default;

View File

@ -9,6 +9,7 @@
#include "base/memory/ref_counted.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/sequenced_task_runner_helpers.h"
#include "services/network/public/cpp/url_loader_factory_builder.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
namespace content {
@ -52,19 +53,14 @@ class URLLoaderFactoryGetter
URLLoaderFactoryGetter(std::unique_ptr<network::PendingSharedURLLoaderFactory>
loader_factory_info,
mojo::PendingRemote<network::mojom::URLLoaderFactory>
proxy_factory_remote,
mojo::PendingReceiver<network::mojom::URLLoaderFactory>
proxy_factory_receiver);
network::URLLoaderFactoryBuilder factory_builder);
~URLLoaderFactoryGetter();
void DeleteOnCorrectThread() const;
std::unique_ptr<network::PendingSharedURLLoaderFactory> loader_factory_info_;
scoped_refptr<network::SharedURLLoaderFactory> lazy_factory_;
mojo::PendingRemote<network::mojom::URLLoaderFactory> proxy_factory_remote_;
mojo::PendingReceiver<network::mojom::URLLoaderFactory>
proxy_factory_receiver_;
network::URLLoaderFactoryBuilder factory_builder_;
scoped_refptr<base::SequencedTaskRunner> task_runner_;
};

View File

@ -145,7 +145,7 @@ void CefHostDisplayClientOSR::CreateLayeredWindowUpdater(
layered_window_updater_->SetActive(active_);
}
#if BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
void CefHostDisplayClientOSR::DidCompleteSwapWithNewSize(
const gfx::Size& size) {}
#endif

View File

@ -37,7 +37,7 @@ class CefHostDisplayClientOSR : public viz::HostDisplayClient {
mojo::PendingReceiver<viz::mojom::LayeredWindowUpdater> receiver)
override;
#if BUILDFLAG(IS_LINUX)
#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
void DidCompleteSwapWithNewSize(const gfx::Size& size) override;
#endif

View File

@ -488,17 +488,17 @@ void CefRenderWidgetHostViewOSR::SetDisplayFeatureForTesting(
DCHECK(false);
}
blink::mojom::PointerLockResult CefRenderWidgetHostViewOSR::LockMouse(
blink::mojom::PointerLockResult CefRenderWidgetHostViewOSR::LockPointer(
bool request_unadjusted_movement) {
return blink::mojom::PointerLockResult::kPermissionDenied;
}
blink::mojom::PointerLockResult CefRenderWidgetHostViewOSR::ChangeMouseLock(
blink::mojom::PointerLockResult CefRenderWidgetHostViewOSR::ChangePointerLock(
bool request_unadjusted_movement) {
return blink::mojom::PointerLockResult::kPermissionDenied;
}
void CefRenderWidgetHostViewOSR::UnlockMouse() {}
void CefRenderWidgetHostViewOSR::UnlockPointer() {}
void CefRenderWidgetHostViewOSR::TakeFallbackContentFrom(
content::RenderWidgetHostView* view) {
@ -1549,6 +1549,10 @@ void CefRenderWidgetHostViewOSR::ShowSharePicker(
blink::mojom::ShareService::ShareCallback callback) {
std::move(callback).Run(blink::mojom::ShareError::INTERNAL_ERROR);
}
uint64_t CefRenderWidgetHostViewOSR::GetNSViewId() const {
return 0;
}
#endif // BUILDFLAG(IS_MAC)
void CefRenderWidgetHostViewOSR::OnPaint(const gfx::Rect& damage_rect,

View File

@ -133,11 +133,11 @@ class CefRenderWidgetHostViewOSR
std::optional<content::DisplayFeature> GetDisplayFeature() override;
void SetDisplayFeatureForTesting(
const content::DisplayFeature* display_feature) override;
blink::mojom::PointerLockResult LockMouse(
blink::mojom::PointerLockResult LockPointer(
bool request_unadjusted_movement) override;
blink::mojom::PointerLockResult ChangeMouseLock(
blink::mojom::PointerLockResult ChangePointerLock(
bool request_unadjusted_movement) override;
void UnlockMouse() override;
void UnlockPointer() override;
void TakeFallbackContentFrom(content::RenderWidgetHostView* view) override;
#if BUILDFLAG(IS_MAC)
@ -151,6 +151,7 @@ class CefRenderWidgetHostViewOSR
const std::string& url,
const std::vector<std::string>& file_paths,
blink::mojom::ShareService::ShareCallback callback) override;
uint64_t GetNSViewId() const override;
#endif // BUILDFLAG(IS_MAC)
// RenderWidgetHostViewBase implementation.

View File

@ -67,6 +67,10 @@ class CefWebContentsViewOSR : public content::WebContentsView,
void OnCapturerCountChanged() override {}
void UpdateWindowControlsOverlay(const gfx::Rect& bounding_rect) override {}
void TransferDragSecurityInfo(content::WebContentsView* view) override {}
content::BackForwardTransitionAnimationManager*
GetBackForwardTransitionAnimationManager() override {
return nullptr;
}
#if BUILDFLAG(IS_MAC)
bool CloseTabAfterEventTrackingIfNeeded() override { return false; }

View File

@ -18,7 +18,6 @@
#include "base/strings/string_number_conversions.h"
#include "base/task/thread_pool.h"
#include "base/values.h"
#include "chrome/browser/accessibility/accessibility_ui.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/media/router/discovery/access_code/access_code_cast_feature.h"
#include "chrome/browser/media/router/media_router_feature.h"
@ -31,6 +30,7 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ssl/ssl_config_service_manager.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/ui/webui/accessibility/accessibility_ui.h"
#include "chrome/browser/ui/webui/print_preview/policy_settings.h"
#include "chrome/common/buildflags.h"
#include "chrome/common/chrome_switches.h"

View File

@ -104,7 +104,7 @@ CEF_PANEL_IMPL_T CefRefPtr<CefLayout> CEF_PANEL_IMPL_D::GetLayout() {
CEF_PANEL_IMPL_T void CEF_PANEL_IMPL_D::Layout() {
CEF_REQUIRE_VALID_RETURN_VOID();
return ParentClass::root_view()->Layout();
ParentClass::root_view()->DeprecatedLayoutImmediately();
}
CEF_PANEL_IMPL_T void CEF_PANEL_IMPL_D::AddChildView(CefRefPtr<CefView> view) {

View File

@ -73,7 +73,7 @@ CEF_VIEW_VIEW_T class CefViewView : public ViewsViewClass {
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;
int GetHeightForWidth(int w) const override;
void Layout() override;
void Layout(views::View::PassKey) override;
void ViewHierarchyChanged(
const views::ViewHierarchyChangedDetails& details) override;
void AddedToWidget() override;
@ -163,8 +163,8 @@ CEF_VIEW_VIEW_T int CEF_VIEW_VIEW_D::GetHeightForWidth(int w) const {
return result;
}
CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::Layout() {
ParentClass::Layout();
CEF_VIEW_VIEW_T void CEF_VIEW_VIEW_D::Layout(views::View::PassKey) {
ParentClass::template LayoutSuperclass<ParentClass>(this);
// If Layout() did not provide a size then use the preferred size.
if (ParentClass::size().IsEmpty()) {

View File

@ -264,9 +264,9 @@ class CaptionlessFrameView : public views::NonClientFrameView {
// Nothing to do here.
}
void Layout() override {
void Layout(views::View::PassKey) override {
client_view_bounds_.SetRect(0, 0, width(), height());
views::NonClientFrameView::Layout();
LayoutSuperclass<views::NonClientFrameView>(this);
}
gfx::Size CalculatePreferredSize() const override {

View File

@ -28,7 +28,7 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/media/cdm_registration.h"
#include "components/pdf/common/internal_plugin_helpers.h"
#include "components/pdf/common/constants.h"
#include "content/public/common/cdm_info.h"
#include "content/public/common/content_constants.h"
#include "content/public/common/content_plugin_info.h"

View File

@ -192,13 +192,7 @@ bool SetCrashKeyValue(const base::StringPiece& key,
#if BUILDFLAG(IS_POSIX)
// Be aware that logging is not initialized at the time this method is called.
void BasicStartupComplete(base::CommandLine* command_line) {
CefCrashReporterClient* crash_client = g_crash_reporter_client.Pointer();
if (crash_client->ReadCrashConfigFile()) {
#if !BUILDFLAG(IS_MAC)
// Crashpad requires this switch on Linux.
command_line->AppendSwitch(switches::kEnableCrashpad);
#endif
}
g_crash_reporter_client.Pointer()->ReadCrashConfigFile();
}
#endif
@ -227,12 +221,6 @@ void PreSandboxStartup(const base::CommandLine& command_line,
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_MAC)
void ZygoteForked(base::CommandLine* command_line,
const std::string& process_type) {
CefCrashReporterClient* crash_client = g_crash_reporter_client.Pointer();
if (crash_client->HasCrashConfigFile()) {
// Crashpad requires this switch on Linux.
command_line->AppendSwitch(switches::kEnableCrashpad);
}
InitCrashReporter(*command_line, process_type);
if (g_crash_reporting_enabled) {

View File

@ -228,7 +228,7 @@ bool MakeCefCookie(const net::CanonicalCookie& cc, CefCookie& cookie) {
CefString(&cookie.value).FromString(cc.Value());
CefString(&cookie.domain).FromString(cc.Domain());
CefString(&cookie.path).FromString(cc.Path());
cookie.secure = cc.IsSecure();
cookie.secure = cc.SecureAttribute();
cookie.httponly = cc.IsHttpOnly();
cookie.creation = CefBaseTime(cc.CreationDate());
cookie.last_access = CefBaseTime(cc.LastAccessDate());
@ -284,4 +284,4 @@ bool MakeCefCookie(const GURL& url,
return true;
}
} // namespace net_service
} // namespace net_service

View File

@ -133,9 +133,7 @@ CefString CefBase64Encode(const void* data, size_t data_size) {
}
base::StringPiece input(static_cast<const char*>(data), data_size);
std::string output;
base::Base64Encode(input, &output);
return output;
return base::Base64Encode(input);
}
CefRefPtr<CefBinaryValue> CefBase64Decode(const CefString& data) {

View File

@ -58,7 +58,7 @@
#include "chrome/renderer/plugins/chrome_plugin_placeholder.h"
#include "components/content_settings/core/common/content_settings_types.h"
#include "components/nacl/common/nacl_constants.h"
#include "components/pdf/common/internal_plugin_helpers.h"
#include "components/pdf/common/constants.h"
#include "components/pdf/renderer/internal_plugin_renderer_helpers.h"
#include "components/printing/renderer/print_render_frame_helper.h"
#include "components/spellcheck/renderer/spellcheck.h"

View File

@ -44,6 +44,8 @@ cef_dom_form_control_type_t GetCefFormControlType(FormControlType type) {
return DOM_FORM_CONTROL_TYPE_BUTTON_RESET;
case FormControlType::kButtonSelectList:
return DOM_FORM_CONTROL_TYPE_BUTTON_SELECT_LIST;
case FormControlType::kButtonPopover:
return DOM_FORM_CONTROL_TYPE_BUTTON_POPOVER;
case FormControlType::kFieldset:
return DOM_FORM_CONTROL_TYPE_FIELDSET;
case FormControlType::kInputButton:

View File

@ -37,6 +37,7 @@
#include "content/renderer/render_frame_impl.h"
#include "third_party/blink/public/mojom/frame/frame.mojom-blink.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
#include "third_party/blink/public/platform/scheduler/web_agent_group_scheduler.h"
#include "third_party/blink/public/platform/web_data.h"
#include "third_party/blink/public/platform/web_string.h"
#include "third_party/blink/public/platform/web_url.h"
@ -65,6 +66,10 @@ std::string GetDebugString(blink::WebLocalFrame* frame) {
return "frame " + render_frame_util::GetIdentifier(frame);
}
v8::Isolate* GetFrameIsolate(blink::WebLocalFrame* frame) {
return frame->GetAgentGroupScheduler()->Isolate();
}
} // namespace
CefFrameImpl::CefFrameImpl(CefBrowserImpl* browser, blink::WebLocalFrame* frame)
@ -233,7 +238,7 @@ CefRefPtr<CefV8Context> CefFrameImpl::GetV8Context() {
CEF_REQUIRE_RT_RETURN(nullptr);
if (frame_) {
v8::Isolate* isolate = blink::MainThreadIsolate();
v8::Isolate* isolate = GetFrameIsolate(frame_);
v8::HandleScope handle_scope(isolate);
return new CefV8ContextImpl(isolate, frame_->MainWorldScriptContext());
} else {
@ -661,7 +666,7 @@ void CefFrameImpl::MaybeInitializeScriptContext() {
// via DidCommitProvisionalLoad prior to https://crrev.com/5150754880a.
// Otherwise, a script context may never be created for a frame that doesn't
// contain JS code.
v8::HandleScope handle_scope(blink::MainThreadIsolate());
v8::HandleScope handle_scope(GetFrameIsolate(frame_));
frame_->MainWorldScriptContext();
}

View File

@ -147,7 +147,7 @@ void CefRenderFrameObserver::DidCreateScriptContext(
CefRefPtr<CefFrameImpl> framePtr = browserPtr->GetWebFrameImpl(frame);
if (handler) {
v8::Isolate* isolate = blink::MainThreadIsolate();
v8::Isolate* isolate = context->GetIsolate();
v8::HandleScope handle_scope(isolate);
v8::Context::Scope scope(context);
v8::MicrotasksScope microtasks_scope(isolate,
@ -181,7 +181,7 @@ void CefRenderFrameObserver::WillReleaseScriptContext(
CefRefPtr<CefFrameImpl> framePtr = browserPtr->GetWebFrameImpl(frame);
if (handler) {
v8::Isolate* isolate = blink::MainThreadIsolate();
v8::Isolate* isolate = context->GetIsolate();
v8::HandleScope handle_scope(isolate);
// The released context should not be used for script execution.

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index c00c41bc2c7fd..166b3e74fd3bd 100644
index a989a351a8765..3f7af447dd187 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -41,6 +41,7 @@ import("//build/nocompile.gni")
@ -10,7 +10,7 @@ index c00c41bc2c7fd..166b3e74fd3bd 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
@@ -1494,7 +1495,11 @@ component("base") {
@@ -1507,7 +1508,11 @@ component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@ -23,7 +23,7 @@ index c00c41bc2c7fd..166b3e74fd3bd 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -1918,6 +1923,12 @@ component("base") {
@@ -1936,6 +1941,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}
@ -58,12 +58,12 @@ index 4595034abae30..da29453cf7d71 100644
auto const was_set = is_initialized_check_flag_.test_and_set();
is_initialized_check_flag_.clear();
diff --git base/hash/md5.h base/hash/md5.h
index aa889f350e8f7..50acac8a69225 100644
index b49701893a182..acefcbc5bc439 100644
--- base/hash/md5.h
+++ base/hash/md5.h
@@ -10,8 +10,9 @@
@@ -11,8 +11,9 @@
#include "base/base_export.h"
#include "base/strings/string_piece.h"
#include "base/containers/span.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
@ -73,12 +73,12 @@ index aa889f350e8f7..50acac8a69225 100644
#else
#include "base/hash/md5_boringssl.h"
diff --git base/hash/sha1.h base/hash/sha1.h
index 29626e5853c6e..2fb1c61504c5d 100644
index 1891e95fa387d..fc190dc39ae7d 100644
--- base/hash/sha1.h
+++ base/hash/sha1.h
@@ -14,7 +14,9 @@
#include "base/base_export.h"
#include "base/containers/span.h"
#include "base/strings/string_piece.h"
#include "build/build_config.h"
-#if BUILDFLAG(IS_NACL)
+#include "cef/libcef/features/features.h"
@ -88,7 +88,7 @@ index 29626e5853c6e..2fb1c61504c5d 100644
#else
#include "base/hash/sha1_boringssl.h"
diff --git base/rand_util.h base/rand_util.h
index 00e901a3262ca..88ce372eb0a1a 100644
index a24e93122172e..5084668cb93a7 100644
--- base/rand_util.h
+++ base/rand_util.h
@@ -17,8 +17,9 @@
@ -112,7 +112,7 @@ index 00e901a3262ca..88ce372eb0a1a 100644
public:
using result_type = uint64_t;
diff --git base/rand_util_win.cc base/rand_util_win.cc
index 6aae763d98715..7f55cb70e94d2 100644
index 299e54300a09d..cdc43cc48dce6 100644
--- base/rand_util_win.cc
+++ base/rand_util_win.cc
@@ -15,8 +15,12 @@
@ -188,10 +188,10 @@ index da65502f75c3a..8b9d6eec4a1e2 100644
return lhs.token_ == rhs.token_;
#else
diff --git base/win/sid.cc base/win/sid.cc
index 0f1a2ec79aa4b..7f92778a4a776 100644
index 3323cc7cbfee1..778b86dcd4154 100644
--- base/win/sid.cc
+++ base/win/sid.cc
@@ -15,6 +15,7 @@
@@ -17,6 +17,7 @@
#include <utility>
#include "base/check.h"
@ -199,7 +199,7 @@ index 0f1a2ec79aa4b..7f92778a4a776 100644
#include "base/no_destructor.h"
#include "base/rand_util.h"
#include "base/ranges/algorithm.h"
@@ -22,8 +23,12 @@
@@ -24,8 +25,12 @@
#include "base/win/scoped_handle.h"
#include "base/win/scoped_localalloc.h"
#include "base/win/windows_version.h"
@ -212,7 +212,7 @@ index 0f1a2ec79aa4b..7f92778a4a776 100644
namespace base::win {
@@ -124,6 +129,7 @@ Sid Sid::FromNamedCapability(const std::wstring& capability_name) {
@@ -126,6 +131,7 @@ Sid Sid::FromNamedCapability(const std::wstring& capability_name) {
if (known_cap != known_capabilities->end()) {
return FromKnownCapability(known_cap->second);
}
@ -220,7 +220,7 @@ index 0f1a2ec79aa4b..7f92778a4a776 100644
CRYPTO_library_init();
static_assert((SHA256_DIGEST_LENGTH / sizeof(DWORD)) ==
SECURITY_APP_PACKAGE_RID_COUNT);
@@ -136,6 +142,10 @@ Sid Sid::FromNamedCapability(const std::wstring& capability_name) {
@@ -138,6 +144,10 @@ Sid Sid::FromNamedCapability(const std::wstring& capability_name) {
reinterpret_cast<uint8_t*>(&rids[2]));
return FromSubAuthorities(SECURITY_APP_PACKAGE_AUTHORITY, std::size(rids),
rids);

View File

@ -1,8 +1,8 @@
diff --git base/test/BUILD.gn base/test/BUILD.gn
index bffe24a080a34..9191487142995 100644
index 9cd7f3eaa502f..ed34018fdba6a 100644
--- base/test/BUILD.gn
+++ base/test/BUILD.gn
@@ -189,11 +189,6 @@ static_library("test_support") {
@@ -191,11 +191,6 @@ static_library("test_support") {
if (enable_base_tracing) {
public_deps += [ "//third_party/perfetto:perfetto_test_support" ]
@ -14,7 +14,7 @@ index bffe24a080a34..9191487142995 100644
deps += [
":amalgamated_perfetto_sql_stdlib",
":gen_cc_chrome_track_event_descriptor",
@@ -560,7 +555,7 @@ if (enable_base_tracing) {
@@ -562,7 +557,7 @@ if (enable_base_tracing) {
# 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
# library even in non-component builds to prevent duplicate symbols.
@ -23,7 +23,7 @@ index bffe24a080a34..9191487142995 100644
if (is_ios) {
_target_type = "ios_framework_bundle"
}
@@ -569,6 +564,8 @@ if (enable_base_tracing) {
@@ -571,6 +566,8 @@ if (enable_base_tracing) {
defines = [ "TEST_TRACE_PROCESSOR_IMPL" ]
testonly = true
sources = [
@ -32,7 +32,7 @@ index bffe24a080a34..9191487142995 100644
"test_trace_processor_export.h",
"test_trace_processor_impl.cc",
"test_trace_processor_impl.h",
@@ -586,33 +583,6 @@ if (enable_base_tracing) {
@@ -588,33 +585,6 @@ if (enable_base_tracing) {
output_name = "TestTraceProcessor"
bundle_deps_filter = [ "//third_party/icu:icudata" ]
}
@ -88,10 +88,10 @@ index f5191b804bc07..aadb7d66ba4c3 100644
+
#endif // BASE_TEST_TEST_TRACE_PROCESSOR_EXPORT_H_
diff --git content/shell/BUILD.gn content/shell/BUILD.gn
index c27c82e1753df..0007879aa0a15 100644
index 7579ffdd7302e..0dc2e70f79284 100644
--- content/shell/BUILD.gn
+++ content/shell/BUILD.gn
@@ -844,7 +844,6 @@ if (is_mac) {
@@ -841,7 +841,6 @@ if (is_mac) {
# Specify a sensible install_name for static builds. The library is
# dlopen()ed so this is not used to resolve the module.
ldflags = [ "-Wl,-install_name,@executable_path/../Frameworks/$output_name.framework/$output_name" ]

View File

@ -13,7 +13,7 @@ index 9cd08e8b26410..d2dca33bdc62e 100644
// Returns true if the element's contenteditable attribute is in the true
// state or in the plaintext-only state:
diff --git third_party/blink/renderer/core/exported/web_element.cc third_party/blink/renderer/core/exported/web_element.cc
index 0c2400696ecbc..3dd6e5574eb39 100644
index 5cc36b7dccab4..05c9a46e3db69 100644
--- third_party/blink/renderer/core/exported/web_element.cc
+++ third_party/blink/renderer/core/exported/web_element.cc
@@ -116,6 +116,24 @@ void WebElement::SetAttribute(const WebString& attr_name,

View File

@ -1,8 +1,8 @@
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
index 72b1e46a91e78..2aea3ca80157e 100644
index 7517bd98e4f7c..6a49e25d63436 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -1878,6 +1878,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
@@ -1900,6 +1900,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
// DeclarativeApiTest.PersistRules.
if (actual_process_lock.matches_scheme(url::kDataScheme))
return true;
@ -20,10 +20,10 @@ index 72b1e46a91e78..2aea3ca80157e 100644
// 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
index dead84566f239..9fffaa0c20c97 100644
index b303b8bd70624..d696b002f3179 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -7772,10 +7772,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
@@ -7777,10 +7777,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
bool use_opaque_origin =
(sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) ==
network::mojom::WebSandboxFlags::kOrigin;
@ -47,7 +47,7 @@ index dead84566f239..9fffaa0c20c97 100644
}
return origin_and_debug_info;
@@ -7883,6 +7895,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
@@ -7888,6 +7900,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
DetermineInitiatorRelationship(initiator_rfh,
frame_tree_node_->current_frame_host()));

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 89b4755ac8b39..453a1758fa253 100644
index 3c7b4d82d0b46..7f890ab3aa546 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -2162,8 +2162,6 @@ config("thin_archive") {
@@ -2195,8 +2195,6 @@ config("thin_archive") {
# confuses lldb.
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
arflags = [ "-T" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 81dceec0b449c..ca76a507bb657 100644
index e9c28ab05bd01..9e10f7f5d0d0f 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
@ -10,7 +10,7 @@ index 81dceec0b449c..ca76a507bb657 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -2025,6 +2026,7 @@ static_library("browser") {
@@ -2042,6 +2043,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 81dceec0b449c..ca76a507bb657 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2679,6 +2681,10 @@ static_library("browser") {
@@ -2698,6 +2700,10 @@ static_library("browser") {
]
}

View File

@ -14,10 +14,10 @@ index 3e7de43022a41..21354d14d11c3 100644
std::unique_ptr<BackgroundModeManager> manager) = 0;
#endif
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index 57cb42c63eb6a..b8df2da97a7a1 100644
index 4645aebcfcb1e..3c07c056d7f1f 100644
--- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc
@@ -1072,18 +1072,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
@@ -1093,18 +1093,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
return download_request_limiter_.get();
}

View File

@ -13,7 +13,7 @@ index 2480282a19d12..dbd1fbf8a15b5 100644
return false;
}
diff --git chrome/browser/devtools/devtools_window.cc chrome/browser/devtools/devtools_window.cc
index ec31f050c1abb..ec30fd71f536d 100644
index 8aa2877ee6352..2e015069f0083 100644
--- chrome/browser/devtools/devtools_window.cc
+++ chrome/browser/devtools/devtools_window.cc
@@ -31,6 +31,7 @@
@ -75,7 +75,7 @@ index ec31f050c1abb..ec30fd71f536d 100644
}
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index b0146268b3384..742d5b50d054f 100644
index 768e11b9e5648..b4ba1800def14 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -8,6 +8,7 @@ import("//build/config/compiler/compiler.gni")
@ -86,7 +86,7 @@ index b0146268b3384..742d5b50d054f 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/ash/components/assistant/assistant.gni")
@@ -395,6 +396,10 @@ static_library("ui") {
@@ -386,6 +387,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -97,7 +97,7 @@ index b0146268b3384..742d5b50d054f 100644
# Since browser and browser_ui actually depend on each other,
# we must omit the dependency from browser_ui to browser.
# However, this means browser_ui and browser should more or less
@@ -420,6 +425,7 @@ static_library("ui") {
@@ -411,6 +416,7 @@ static_library("ui") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//cc/paint",
@ -105,7 +105,7 @@ index b0146268b3384..742d5b50d054f 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/app:chrome_dll_resources",
@@ -2918,6 +2924,8 @@ static_library("ui") {
@@ -2901,6 +2907,8 @@ static_library("ui") {
"views/apps/app_dialog/app_block_dialog_view.h",
"views/apps/app_dialog/app_pause_dialog_view.cc",
"views/apps/app_dialog/app_pause_dialog_view.h",
@ -114,7 +114,7 @@ index b0146268b3384..742d5b50d054f 100644
"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",
@@ -4956,8 +4964,6 @@ static_library("ui") {
@@ -4941,8 +4949,6 @@ 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",
@ -123,7 +123,7 @@ index b0146268b3384..742d5b50d054f 100644
"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",
@@ -6725,6 +6731,7 @@ static_library("ui") {
@@ -6740,6 +6746,7 @@ static_library("ui") {
if (enable_printing) {
deps += [
"//components/printing/browser",
@ -132,10 +132,10 @@ index b0146268b3384..742d5b50d054f 100644
]
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index a001626c9f470..52d803a867172 100644
index 0791cc8f55a92..d94ac23dc878a 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -263,6 +263,25 @@
@@ -264,6 +264,25 @@
#include "components/captive_portal/content/captive_portal_tab_helper.h"
#endif
@ -161,7 +161,7 @@ index a001626c9f470..52d803a867172 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -459,6 +478,10 @@ Browser::Browser(const CreateParams& params)
@@ -466,6 +485,10 @@ Browser::Browser(const CreateParams& params)
type_(params.type),
profile_(params.profile),
window_(nullptr),
@ -172,7 +172,7 @@ index a001626c9f470..52d803a867172 100644
tab_strip_model_delegate_(
std::make_unique<chrome::BrowserTabStripModelDelegate>(this)),
tab_strip_model_(std::make_unique<TabStripModel>(
@@ -653,6 +676,12 @@ Browser::~Browser() {
@@ -679,6 +702,12 @@ Browser::~Browser() {
// away so they don't try and call back to us.
if (select_file_dialog_.get())
select_file_dialog_->ListenerDestroyed();
@ -185,7 +185,7 @@ index a001626c9f470..52d803a867172 100644
}
///////////////////////////////////////////////////////////////////////////////
@@ -1076,6 +1105,8 @@ void Browser::WindowFullscreenStateChanged() {
@@ -1110,6 +1139,8 @@ void Browser::WindowFullscreenStateChanged() {
->WindowFullscreenStateChanged();
command_controller_->FullscreenStateChanged();
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TOGGLE_FULLSCREEN);
@ -194,7 +194,7 @@ index a001626c9f470..52d803a867172 100644
}
void Browser::FullscreenTopUIStateChanged() {
@@ -1415,6 +1446,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
@@ -1449,6 +1480,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@ -209,7 +209,7 @@ index a001626c9f470..52d803a867172 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1422,8 +1461,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1456,8 +1495,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -230,7 +230,7 @@ index a001626c9f470..52d803a867172 100644
}
bool Browser::TabsNeedBeforeUnloadFired() const {
@@ -1625,6 +1674,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
@@ -1660,6 +1709,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -245,7 +245,7 @@ index a001626c9f470..52d803a867172 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -1782,6 +1839,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -1817,6 +1874,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -254,7 +254,7 @@ index a001626c9f470..52d803a867172 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -1810,6 +1869,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -1845,6 +1904,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@ -263,7 +263,7 @@ index a001626c9f470..52d803a867172 100644
if (!GetStatusBubble())
return;
@@ -1817,6 +1878,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -1852,6 +1913,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@ -281,7 +281,7 @@ index a001626c9f470..52d803a867172 100644
void Browser::ContentsMouseEvent(WebContents* source,
bool motion,
bool exited) {
@@ -1841,6 +1913,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
@@ -1876,6 +1948,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
return false;
}
@ -301,7 +301,7 @@ index a001626c9f470..52d803a867172 100644
void Browser::BeforeUnloadFired(WebContents* web_contents,
bool proceed,
bool* proceed_to_fire_unload) {
@@ -1940,6 +2025,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
@@ -1975,6 +2060,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// Make the tab show up in the task manager.
task_manager::WebContentsTags::CreateForTabContents(new_contents);
@ -312,7 +312,7 @@ index a001626c9f470..52d803a867172 100644
}
void Browser::RendererUnresponsive(
@@ -2084,11 +2173,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -2119,11 +2208,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id);
@ -328,7 +328,7 @@ index a001626c9f470..52d803a867172 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2281,6 +2374,15 @@ void Browser::RequestMediaAccessPermission(
@@ -2322,6 +2415,15 @@ void Browser::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) {
@ -344,7 +344,7 @@ index a001626c9f470..52d803a867172 100644
const extensions::Extension* extension =
GetExtensionForOrigin(profile_, request.security_origin);
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
@@ -2817,9 +2919,11 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
@@ -2858,9 +2960,11 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
// Browser, Getters for UI (private):
StatusBubble* Browser::GetStatusBubble() {
@ -357,7 +357,7 @@ index a001626c9f470..52d803a867172 100644
}
// We hide the status bar for web apps windows as this matches native
@@ -2827,6 +2931,12 @@ StatusBubble* Browser::GetStatusBubble() {
@@ -2868,6 +2972,12 @@ StatusBubble* Browser::GetStatusBubble() {
// mode, as the minimal browser UI includes the status bar.
if (web_app::AppBrowserController::IsWebApp(this) &&
!app_controller()->HasMinimalUiButtons()) {
@ -370,7 +370,7 @@ index a001626c9f470..52d803a867172 100644
return nullptr;
}
@@ -2963,6 +3073,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -3004,6 +3114,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
web_contents_collection_.StopObserving(web_contents);
}
@ -379,7 +379,7 @@ index a001626c9f470..52d803a867172 100644
}
void Browser::TabDetachedAtImpl(content::WebContents* contents,
@@ -3117,6 +3229,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
@@ -3158,6 +3270,14 @@ bool Browser::PictureInPictureBrowserSupportsWindowFeature(
bool Browser::SupportsWindowFeatureImpl(WindowFeature feature,
bool check_can_support) const {
@ -395,7 +395,7 @@ index a001626c9f470..52d803a867172 100644
case TYPE_NORMAL:
return NormalBrowserSupportsWindowFeature(feature, check_can_support);
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index f1f279121056f..5758d8543d69e 100644
index 36ae82017f790..b0a4be7c1ab32 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -22,6 +22,7 @@
@ -460,7 +460,7 @@ index f1f279121056f..5758d8543d69e 100644
// Get the FindBarController for this browser, creating it if it does not
// yet exist.
FindBarController* GetFindBarController();
@@ -906,11 +933,19 @@ class Browser : public TabStripModelObserver,
@@ -909,11 +936,19 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -480,7 +480,7 @@ index f1f279121056f..5758d8543d69e 100644
void BeforeUnloadFired(content::WebContents* source,
bool proceed,
bool* proceed_to_fire_unload) override;
@@ -1248,6 +1283,10 @@ class Browser : public TabStripModelObserver,
@@ -1253,6 +1288,10 @@ class Browser : public TabStripModelObserver,
// This Browser's window.
raw_ptr<BrowserWindow, DanglingUntriaged> window_;
@ -491,7 +491,7 @@ index f1f279121056f..5758d8543d69e 100644
std::unique_ptr<TabStripModelDelegate> const tab_strip_model_delegate_;
std::unique_ptr<TabStripModel> const tab_strip_model_;
@@ -1314,6 +1353,8 @@ class Browser : public TabStripModelObserver,
@@ -1319,6 +1358,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_;
@ -501,10 +501,10 @@ index f1f279121056f..5758d8543d69e 100644
UnloadController unload_controller_;
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index e805d59f87b45..21e7d5fb70a7d 100644
index 151c73f9d7a18..e02316efd4011 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -293,6 +293,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
@@ -305,6 +305,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
: 1.0;
browser_params.pip_options = pip_options;
@ -515,7 +515,7 @@ index e805d59f87b45..21e7d5fb70a7d 100644
const BrowserWindow* const browser_window = params.browser->window();
const gfx::NativeWindow native_window =
browser_window ? browser_window->GetNativeWindow()
@@ -578,6 +582,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -590,6 +594,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params);
@ -530,7 +530,7 @@ index e805d59f87b45..21e7d5fb70a7d 100644
// tab helpers, so the entire set of tab helpers needs to be set up
// immediately.
diff --git chrome/browser/ui/browser_tabstrip.cc chrome/browser/ui/browser_tabstrip.cc
index 435851d0f6f11..43a70f915a22c 100644
index ca462913858cd..4b4153ab9aa1a 100644
--- chrome/browser/ui/browser_tabstrip.cc
+++ chrome/browser/ui/browser_tabstrip.cc
@@ -33,9 +33,13 @@ content::WebContents* AddAndReturnTabAt(

View File

@ -56,7 +56,7 @@ index 36335ba63ee83..e14005d6a4e86 100644
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
supervised_user::SupervisedUserSettingsService* supervised_service =
diff --git components/content_settings/renderer/content_settings_agent_impl.cc components/content_settings/renderer/content_settings_agent_impl.cc
index 54c18d58aea64..66d3721a392ec 100644
index 34871864cf8d7..8404bcc4e50dd 100644
--- components/content_settings/renderer/content_settings_agent_impl.cc
+++ components/content_settings/renderer/content_settings_agent_impl.cc
@@ -143,7 +143,7 @@ ContentSetting GetContentSettingFromRules(

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 5ebec17f77393..f94c18f8de78e 100644
index 25f2e8f6c4f09..25c21e4552f8a 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -360,6 +360,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@ -27,7 +27,7 @@ index 5ebec17f77393..f94c18f8de78e 100644
id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id);
@@ -857,6 +868,14 @@ RenderViewContextMenu::RenderViewContextMenu(
@@ -863,6 +874,14 @@ RenderViewContextMenu::RenderViewContextMenu(
pdf_ocr_submenu_model_ = std::make_unique<ui::SimpleMenuModel>(this);
#endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
@ -42,7 +42,7 @@ index 5ebec17f77393..f94c18f8de78e 100644
observers_.AddObserver(&autofill_context_menu_manager_);
}
@@ -1331,6 +1350,12 @@ void RenderViewContextMenu::InitMenu() {
@@ -1337,6 +1356,12 @@ void RenderViewContextMenu::InitMenu() {
autofill::PopupHidingReason::kContextMenuOpened);
}
}
@ -55,7 +55,7 @@ index 5ebec17f77393..f94c18f8de78e 100644
}
Profile* RenderViewContextMenu::GetProfile() const {
@@ -3515,6 +3540,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
@@ -3556,6 +3581,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb);
}
@ -69,7 +69,7 @@ index 5ebec17f77393..f94c18f8de78e 100644
RenderViewContextMenu::GetHandlersForLinkUrl() {
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
index d8f1b10c18771..00702b672353d 100644
index e4041eee0e29e..7d5e3aa1d8cfb 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -159,6 +159,12 @@ class RenderViewContextMenu
@ -110,7 +110,7 @@ index c88a77a0b49e2..785ded198741e 100644
// that Ctrl+C, Ctrl+V, Ctrl+X, Ctrl-A, etc do what they normally do.
switch (command_id) {
diff --git components/renderer_context_menu/render_view_context_menu_base.cc components/renderer_context_menu/render_view_context_menu_base.cc
index ad4f00959e98b..54368373a6a99 100644
index c49b49d76d7cc..842a6fae5d8e4 100644
--- components/renderer_context_menu/render_view_context_menu_base.cc
+++ components/renderer_context_menu/render_view_context_menu_base.cc
@@ -374,6 +374,17 @@ bool RenderViewContextMenuBase::IsCommandIdChecked(int id) const {
@ -132,7 +132,7 @@ index ad4f00959e98b..54368373a6a99 100644
command_executed_ = true;
RecordUsedItem(id);
diff --git components/renderer_context_menu/render_view_context_menu_base.h components/renderer_context_menu/render_view_context_menu_base.h
index 6249528399f44..9c4dd0d8f0100 100644
index 33de73c75ef8c..c0ef8b7f8ba07 100644
--- components/renderer_context_menu/render_view_context_menu_base.h
+++ components/renderer_context_menu/render_view_context_menu_base.h
@@ -87,6 +87,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,

View File

@ -12,7 +12,7 @@ index b169371e4d42f..509e4bda85b47 100644
// on the screen, we can't actually attach to it.
parent_window = nullptr;
diff --git components/constrained_window/constrained_window_views.cc components/constrained_window/constrained_window_views.cc
index 3daf40d463e32..2d84ad7a43c96 100644
index 7eda0c852bb51..744452bf6c00c 100644
--- components/constrained_window/constrained_window_views.cc
+++ components/constrained_window/constrained_window_views.cc
@@ -105,15 +105,24 @@ void UpdateModalDialogPosition(views::Widget* widget,
@ -41,37 +41,45 @@ index 3daf40d463e32..2d84ad7a43c96 100644
return;
}
@@ -123,36 +132,22 @@ void UpdateModalDialogPosition(views::Widget* widget,
@@ -123,44 +132,22 @@ void UpdateModalDialogPosition(views::Widget* widget,
position.set_y(position.y() -
widget->non_client_view()->frame_view()->GetInsets().top());
- gfx::Rect dialog_bounds(position, size);
-
if (widget->is_top_level() && SupportsGlobalScreenCoordinates()) {
- const gfx::Rect initial_dialog_bounds =
- gfx::Rect dialog_screen_bounds =
- dialog_bounds +
- host_widget->GetClientAreaBoundsInScreen().OffsetFromOrigin();
- const gfx::Rect initial_host_bounds =
- host_widget->GetWindowBoundsInScreen();
- const gfx::Rect host_screen_bounds = host_widget->GetWindowBoundsInScreen();
-
- // TODO(crbug.com/1341530): The requested dialog bounds should never fall
- // outside the bounds of the transient parent.
- DCHECK(initial_dialog_bounds.Intersects(initial_host_bounds));
- DCHECK(dialog_screen_bounds.Intersects(host_screen_bounds));
-
- // We should not show a window-modal dialog for a window that exists outside
- // the bounds of the screen. This risks the modal window becoming
- // effectively deadlocked as controls to dismiss the dialog may become
- // inaccessible.
- // It is also insufficient to reposition only the dialog but not the host
- // window as many systems will clip child dialogs to their transient
- // parents. Further, if the window-constrained dialog is visually
- // disassociated with its parent window it may be difficult to discern which
- // window the dialog is modal to.
- host_widget->SetBoundsConstrained(initial_host_bounds);
- const gfx::Rect adjusted_host_bounds =
- host_widget->GetClientAreaBoundsInScreen();
- dialog_bounds += adjusted_host_bounds.OffsetFromOrigin();
- dialog_bounds.AdjustToFit(adjusted_host_bounds);
- // Adjust the dialog bound to ensure it remains visible on the display.
- const gfx::Rect display_work_area =
- display::Screen::GetScreen()
- ->GetDisplayNearestView(dialog_host->GetHostView())
- .work_area();
- if (!display_work_area.Contains(dialog_screen_bounds)) {
- dialog_screen_bounds.AdjustToFit(display_work_area);
- }
-
- // For platforms that clip transient children to the viewport we must
- // maximize its bounds on the display whilst keeping it within the host
- // bounds to avoid viewport clipping.
- // In the case that the host window bounds do not have sufficient overlap
- // with the display, and the dialog cannot be shown in its entirety, this is
- // a recoverable state as users are still able to reposition the host window
- // back onto the display.
- if (PlatformClipsChildrenToViewport() &&
- !host_screen_bounds.Contains(dialog_screen_bounds)) {
- dialog_screen_bounds.AdjustToFit(host_screen_bounds);
- }
-
- // Readjust the position of the dialog.
- dialog_bounds.set_origin(dialog_screen_bounds.origin());
+ position += host_widget->GetClientAreaBoundsInScreen().OffsetFromOrigin();
+ // If the dialog extends partially off any display, clamp its position to
+ // be fully visible within that display. If the dialog doesn't intersect
@ -91,7 +99,7 @@ index 3daf40d463e32..2d84ad7a43c96 100644
}
} // namespace
@@ -234,7 +229,8 @@ views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
@@ -242,7 +229,8 @@ views::Widget* CreateWebModalDialogViews(views::WidgetDelegate* dialog,
views::Widget* widget = views::DialogDelegate::CreateDialogWidget(
dialog, nullptr,
@ -101,7 +109,7 @@ index 3daf40d463e32..2d84ad7a43c96 100644
widget->SetNativeWindowProperty(
views::kWidgetIdentifierKey,
const_cast<void*>(kConstrainedWindowWidgetIdentifier));
@@ -256,8 +252,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
@@ -264,8 +252,13 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
gfx::NativeView parent_view =
parent ? CurrentClient()->GetDialogHostView(parent) : nullptr;
@ -116,7 +124,7 @@ index 3daf40d463e32..2d84ad7a43c96 100644
widget->SetNativeWindowProperty(
views::kWidgetIdentifierKey,
const_cast<void*>(kConstrainedWindowWidgetIdentifier));
@@ -273,8 +274,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
@@ -281,8 +274,7 @@ views::Widget* CreateBrowserModalDialogViews(views::DialogDelegate* dialog,
if (!requires_positioning)
return widget;
@ -127,19 +135,19 @@ index 3daf40d463e32..2d84ad7a43c96 100644
DCHECK_EQ(parent_view, host->GetHostView());
ModalDialogHostObserver* dialog_host_observer =
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 b986b7fa98c73..1000f529acc82 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
@@ -188,9 +188,20 @@ void NativeWebContentsModalDialogManagerViews::HostChanged(
@@ -190,9 +190,20 @@ void NativeWebContentsModalDialogManagerViews::HostChanged(
if (host_) {
host_->AddObserver(this);
- for (auto* widget : observed_widgets_) {
- for (views::Widget* widget : observed_widgets_) {
- views::Widget::ReparentNativeView(widget->GetNativeView(),
- host_->GetHostView());
+ // |host_view| will be nullptr with CEF windowless rendering.
+ if (auto host_view = host_->GetHostView()) {
+ for (auto* widget : observed_widgets_) {
+ for (views::Widget* widget : observed_widgets_) {
+#if defined(USE_AURA)
+ auto widget_view = widget->GetNativeView();
+ // Don't reparent between different root windows. Doing so causes
@ -170,7 +178,7 @@ index 51ed6bcf6b540..c6e1161140655 100644
virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0;
// Returns whether a dialog currently about to be shown should be activated.
diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc
index ed132b017f10e..590ab9760c36a 100644
index 992dbc606ab78..2361727757696 100644
--- ui/views/window/dialog_delegate.cc
+++ ui/views/window/dialog_delegate.cc
@@ -60,10 +60,12 @@ DialogDelegate::DialogDelegate() {
@ -239,7 +247,7 @@ index ed132b017f10e..590ab9760c36a 100644
// Web-modal (ui::MODAL_TYPE_CHILD) dialogs with parents are marked as child
// widgets to prevent top-level window behavior (independent movement, etc).
diff --git ui/views/window/dialog_delegate.h ui/views/window/dialog_delegate.h
index d0bd746875ed9..1643e6d841108 100644
index 6a2aace29d60d..d6d6292c10487 100644
--- ui/views/window/dialog_delegate.h
+++ ui/views/window/dialog_delegate.h
@@ -96,13 +96,18 @@ class VIEWS_EXPORT DialogDelegate : public WidgetDelegate {

View File

@ -44,7 +44,7 @@ index ea1467d09700d..5537a99500e7f 100644
base::FeatureList::IsEnabled(
features::kPeriodicSyncPermissionForDefaultSearchEngine) &&
diff --git chrome/browser/permissions/chrome_permissions_client.cc chrome/browser/permissions/chrome_permissions_client.cc
index 58b162e099e70..2dcfe0cda550a 100644
index b6afdced9d0af..e189d08ecdd46 100644
--- chrome/browser/permissions/chrome_permissions_client.cc
+++ chrome/browser/permissions/chrome_permissions_client.cc
@@ -14,6 +14,7 @@
@ -53,9 +53,9 @@ index 58b162e099e70..2dcfe0cda550a 100644
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/runtime.h"
#include "chrome/browser/bluetooth/bluetooth_chooser_context_factory.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -187,6 +188,9 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker(
@@ -189,6 +190,9 @@ ChromePermissionsClient::GetPermissionDecisionAutoBlocker(
double ChromePermissionsClient::GetSiteEngagementScore(
content::BrowserContext* browser_context,
const GURL& origin) {
@ -65,7 +65,7 @@ index 58b162e099e70..2dcfe0cda550a 100644
return site_engagement::SiteEngagementService::Get(
Profile::FromBrowserContext(browser_context))
->GetScore(origin);
@@ -358,8 +362,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
@@ -359,8 +363,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
std::make_unique<ContextualNotificationPermissionUiSelector>());
selectors.emplace_back(std::make_unique<PrefBasedQuietPermissionUiSelector>(
Profile::FromBrowserContext(browser_context)));
@ -77,7 +77,7 @@ index 58b162e099e70..2dcfe0cda550a 100644
}
diff --git chrome/browser/permissions/permission_manager_factory.cc chrome/browser/permissions/permission_manager_factory.cc
index f020355c1969d..ff3c3e26b14bf 100644
index d6485540139e0..a77c888b2e147 100644
--- chrome/browser/permissions/permission_manager_factory.cc
+++ chrome/browser/permissions/permission_manager_factory.cc
@@ -6,6 +6,7 @@
@ -88,7 +88,7 @@ index f020355c1969d..ff3c3e26b14bf 100644
#include "chrome/browser/background_fetch/background_fetch_permission_context.h"
#include "chrome/browser/background_sync/periodic_background_sync_permission_context.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -61,8 +62,10 @@ permissions::PermissionManager::PermissionContextMap CreatePermissionContexts(
@@ -62,8 +63,10 @@ permissions::PermissionManager::PermissionContextMap CreatePermissionContexts(
std::make_unique<GeolocationPermissionContextDelegate>(profile);
#endif // BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS)
@ -142,10 +142,10 @@ index fbce13c16ad10..0512b2f09937e 100644
std::unique_ptr<permissions::PermissionPrompt> CreatePermissionPrompt(
content::WebContents* web_contents,
diff --git chrome/browser/ui/views/permissions/permission_prompt_factory.cc chrome/browser/ui/views/permissions/permission_prompt_factory.cc
index 3a1224da26b6c..24735fe79498d 100644
index 07720bc3faccb..546325f2b5558 100644
--- chrome/browser/ui/views/permissions/permission_prompt_factory.cc
+++ chrome/browser/ui/views/permissions/permission_prompt_factory.cc
@@ -181,11 +181,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
@@ -186,11 +186,28 @@ std::unique_ptr<permissions::PermissionPrompt> CreateQuietPrompt(
}
}

View File

@ -105,7 +105,7 @@ index 27af6ec08f593..6dfab7c74e8da 100644
}
diff --git chrome/browser/policy/chrome_browser_policy_connector.cc chrome/browser/policy/chrome_browser_policy_connector.cc
index c2ecd1b63f0d7..c83704788a803 100644
index 8824abb401188..687e667e4b942 100644
--- chrome/browser/policy/chrome_browser_policy_connector.cc
+++ chrome/browser/policy/chrome_browser_policy_connector.cc
@@ -13,11 +13,14 @@
@ -123,7 +123,7 @@ index c2ecd1b63f0d7..c83704788a803 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/browser_management/management_service_factory.h"
#include "chrome/browser/policy/configuration_policy_handler_list_factory.h"
@@ -79,6 +82,11 @@
@@ -82,6 +85,11 @@
namespace policy {
namespace {
bool g_command_line_enabled_for_testing = false;
@ -135,7 +135,7 @@ index c2ecd1b63f0d7..c83704788a803 100644
} // namespace
ChromeBrowserPolicyConnector::ChromeBrowserPolicyConnector()
@@ -270,6 +278,73 @@ void ChromeBrowserPolicyConnector::EnableCommandLineSupportForTesting() {
@@ -278,6 +286,73 @@ void ChromeBrowserPolicyConnector::EnableCommandLineSupportForTesting() {
g_command_line_enabled_for_testing = true;
}
@ -209,7 +209,7 @@ index c2ecd1b63f0d7..c83704788a803 100644
base::flat_set<std::string>
ChromeBrowserPolicyConnector::device_affiliation_ids() const {
#if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -341,23 +416,22 @@ ChromeBrowserPolicyConnector::CreatePolicyProviders() {
@@ -349,23 +424,22 @@ ChromeBrowserPolicyConnector::CreatePolicyProviders() {
std::unique_ptr<ConfigurationPolicyProvider>
ChromeBrowserPolicyConnector::CreatePlatformProvider() {
#if BUILDFLAG(IS_WIN)
@ -242,7 +242,7 @@ index c2ecd1b63f0d7..c83704788a803 100644
auto loader = std::make_unique<PolicyLoaderMac>(
base::ThreadPool::CreateSequencedTaskRunner(
{base::MayBlock(), base::TaskPriority::BEST_EFFORT}),
@@ -367,7 +441,7 @@ ChromeBrowserPolicyConnector::CreatePlatformProvider() {
@@ -375,7 +449,7 @@ ChromeBrowserPolicyConnector::CreatePlatformProvider() {
std::move(loader));
#elif BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
base::FilePath config_dir_path;
@ -252,7 +252,7 @@ index c2ecd1b63f0d7..c83704788a803 100644
// 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
diff --git chrome/browser/policy/chrome_browser_policy_connector.h chrome/browser/policy/chrome_browser_policy_connector.h
index f6147bc3c59a6..78b1170dd52bb 100644
index 7d08b9b3a548e..c1acd530587a3 100644
--- chrome/browser/policy/chrome_browser_policy_connector.h
+++ chrome/browser/policy/chrome_browser_policy_connector.h
@@ -28,6 +28,10 @@
@ -266,7 +266,7 @@ index f6147bc3c59a6..78b1170dd52bb 100644
class PrefService;
namespace policy {
@@ -125,6 +129,25 @@ class ChromeBrowserPolicyConnector : public BrowserPolicyConnector {
@@ -135,6 +139,25 @@ class ChromeBrowserPolicyConnector : public BrowserPolicyConnector {
static void EnableCommandLineSupportForTesting();
@ -355,10 +355,10 @@ index 8dbf958c189dd..6eaccc6688eca 100644
*dir = base::FilePath(policy::path_parser::ExpandPathVariables(value));
return true;
diff --git chrome/common/chrome_paths.cc chrome/common/chrome_paths.cc
index 94843ce782e80..0e3cc5bdb0bd5 100644
index 54aca1f19f909..f93197a133dc2 100644
--- chrome/common/chrome_paths.cc
+++ chrome/common/chrome_paths.cc
@@ -539,7 +539,8 @@ bool PathProvider(int key, base::FilePath* result) {
@@ -544,7 +544,8 @@ bool PathProvider(int key, base::FilePath* result) {
return false;
}
break;

View File

@ -44,7 +44,7 @@ index caa20ec03434a..2a3ca921445c1 100644
avatar_toolbar_button, GetBrowser().profile(), type);
DCHECK_EQ(nullptr, bubble_tracker_.view());
diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc
index 3e46e2ce50219..ce905695bfe18 100644
index e2dc163557bca..3c56bbc2881cc 100644
--- chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -36,7 +36,9 @@

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
index 9bba6cea235e0..9dc5b40559207 100644
index 2e67f8c97fab8..a3367979977c9 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -650,7 +650,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@@ -666,7 +666,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
#endif
if (!profile)
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
@ -14,10 +14,10 @@ index 9bba6cea235e0..9dc5b40559207 100644
}
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
index 28b166f4f499c..5892638bb43c8 100644
index 2ec2a791c4943..8573cac4111d6 100644
--- chrome/browser/profiles/profile.cc
+++ chrome/browser/profiles/profile.cc
@@ -87,6 +87,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
@@ -91,6 +91,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
namespace {
@ -25,7 +25,7 @@ index 28b166f4f499c..5892638bb43c8 100644
const char kDevToolsOTRProfileIDPrefix[] = "Devtools::BrowserContext";
const char kMediaRouterOTRProfileIDPrefix[] = "MediaRouter::Presentation";
const char kTestOTRProfileIDPrefix[] = "Test::OTR";
@@ -107,6 +108,8 @@ bool Profile::OTRProfileID::AllowsBrowserWindows() const {
@@ -111,6 +112,8 @@ bool Profile::OTRProfileID::AllowsBrowserWindows() const {
// DevTools::BrowserContext, MediaRouter::Presentation, and
// CaptivePortal::Signin are exceptions to this ban.
if (*this == PrimaryID() ||
@ -34,7 +34,7 @@ index 28b166f4f499c..5892638bb43c8 100644
base::StartsWith(profile_id_, kDevToolsOTRProfileIDPrefix,
base::CompareCase::SENSITIVE) ||
base::StartsWith(profile_id_, kMediaRouterOTRProfileIDPrefix,
@@ -144,6 +147,16 @@ Profile::OTRProfileID Profile::OTRProfileID::CreateUnique(
@@ -148,6 +151,16 @@ Profile::OTRProfileID Profile::OTRProfileID::CreateUnique(
base::Uuid::GenerateRandomV4().AsLowercaseString().c_str()));
}
@ -84,10 +84,10 @@ index 4bf4b36f01890..b8a966db377db 100644
// Returns whether the user has signed in this profile to an account.
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index c70593cc14b9d..df5ba6a9432da 100644
index 669c8ab31a549..eff71491eacfd 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -1020,7 +1020,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
@@ -1036,7 +1036,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
otr_profiles_[otr_profile_id] = std::move(otr_profile);
@ -99,10 +99,10 @@ index c70593cc14b9d..df5ba6a9432da 100644
return raw_otr_profile;
}
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index 2b7782afe7506..ed52e68ebdc91 100644
index d6c0c3c9d5ad9..22bc9a7cf65f7 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -439,7 +439,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -438,7 +438,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
profile_manager_android_ = std::make_unique<ProfileManagerAndroid>(this);
#endif

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 4a67fbf1512e0..8491024a30bf2 100644
index df78bff8aeeb0..47d4f9ef83029 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -32,6 +32,7 @@ static_library("safe_browsing") {

View File

@ -1,9 +1,9 @@
diff --git chrome/browser/ui/startup/startup_browser_creator.cc chrome/browser/ui/startup/startup_browser_creator.cc
index ef53c8296d9af..659e077436bbe 100644
index 3e2443d87a998..d751e0ad7c905 100644
--- chrome/browser/ui/startup/startup_browser_creator.cc
+++ chrome/browser/ui/startup/startup_browser_creator.cc
@@ -580,6 +580,14 @@ void OpenNewWindowForFirstRun(
is_first_run, std::move(launch_mode_recorder));
@@ -581,6 +581,14 @@ void OpenNewWindowForFirstRun(
/*restore_tabbed_browser=*/true);
}
#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || BUILDFLAG(ENABLE_DICE_SUPPORT)
+
@ -17,7 +17,7 @@ index ef53c8296d9af..659e077436bbe 100644
} // namespace
StartupProfileMode StartupProfileModeFromReason(
@@ -1452,6 +1460,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile(
@@ -1457,6 +1465,12 @@ void StartupBrowserCreator::ProcessCommandLineWithProfile(
{profile, mode}, last_opened_profiles);
}
@ -30,7 +30,7 @@ index ef53c8296d9af..659e077436bbe 100644
// static
void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
const base::CommandLine& command_line,
@@ -1461,6 +1475,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
@@ -1466,6 +1480,11 @@ void StartupBrowserCreator::ProcessCommandLineAlreadyRunning(
return;
}
@ -43,7 +43,7 @@ index ef53c8296d9af..659e077436bbe 100644
StartupProfileMode mode =
StartupProfileModeFromReason(profile_path_info.reason);
diff --git chrome/browser/ui/startup/startup_browser_creator.h chrome/browser/ui/startup/startup_browser_creator.h
index 5e961db0d6f21..f0c065b16d9f0 100644
index 7ce113b2d3436..4d17c36beebd4 100644
--- chrome/browser/ui/startup/startup_browser_creator.h
+++ chrome/browser/ui/startup/startup_browser_creator.h
@@ -9,6 +9,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
index ae7735b2bee81..fc3ba3599db28 100644
index 0b39e73c2a394..23b0bdcb7b7db 100644
--- chrome/browser/themes/theme_service.cc
+++ chrome/browser/themes/theme_service.cc
@@ -30,6 +30,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
index 95cd290b601a3..89e8ab892e5ea 100644
index a1d7adcdd27c4..d3dc736a04286 100644
--- chrome/browser/plugins/plugin_info_host_impl.cc
+++ chrome/browser/plugins/plugin_info_host_impl.cc
@@ -140,6 +140,10 @@ bool IsPluginLoadingAccessibleResourceInWebView(
@ -42,10 +42,10 @@ index 438276b719c2f..69635e429be78 100644
const extensions::Extension* extension =
registry->enabled_extensions().GetByID(extension_id);
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index 1521706e2be6b..08f77de0886dd 100644
index 04a7dbd25904c..41103cee6e47f 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -999,6 +999,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1002,6 +1002,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
@ -53,7 +53,7 @@ index 1521706e2be6b..08f77de0886dd 100644
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
@@ -1161,7 +1162,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1164,7 +1165,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -63,7 +63,7 @@ index 1521706e2be6b..08f77de0886dd 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1170,7 +1172,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1173,7 +1175,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -73,7 +73,7 @@ index 1521706e2be6b..08f77de0886dd 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1180,7 +1183,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1183,7 +1186,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h
index 81ccdbf504726..80f44f4a87881 100644
index c442c6f50eada..e8a42a9d4948d 100644
--- chrome/browser/ui/prefs/pref_watcher.h
+++ chrome/browser/ui/prefs/pref_watcher.h
@@ -33,10 +33,10 @@ class PrefWatcher : public KeyedService,

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index da32ae82101ed..87342245c746f 100644
index ddfdfd49ad2b2..1b53c56bb677f 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@
@ -18,7 +18,7 @@ index da32ae82101ed..87342245c746f 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -242,6 +244,10 @@ static_library("renderer") {
@@ -243,6 +245,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 227843d1197b0..eba67645bb16b 100644
index 2b8628c707479..ffc5bfe8fd332 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -41,6 +41,7 @@
@ -10,7 +10,7 @@ index 227843d1197b0..eba67645bb16b 100644
#include "chrome/browser/buildflags.h"
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_resource_bundle_helper.h"
@@ -608,6 +609,9 @@ struct MainFunction {
@@ -606,6 +607,9 @@ struct MainFunction {
// Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) {
@ -20,7 +20,7 @@ index 227843d1197b0..eba67645bb16b 100644
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// In debug builds of Lacros, we keep track of when the user data dir
// is initialized, to ensure the cryptohome is not accessed before login
@@ -823,6 +827,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
@@ -821,6 +825,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
ChromeMainDelegate::~ChromeMainDelegate() = default;
#endif // !BUILDFLAG(IS_ANDROID)
@ -31,7 +31,7 @@ index 227843d1197b0..eba67645bb16b 100644
std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
InvokedIn invoked_in) {
DUMP_WILL_BE_CHECK(base::ThreadPoolInstance::Get());
@@ -857,7 +865,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
@@ -846,7 +854,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// future session's metrics.
DeferBrowserMetrics(user_data_dir);
@ -40,7 +40,7 @@ index 227843d1197b0..eba67645bb16b 100644
// 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
// running instances.
@@ -1032,7 +1040,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
@@ -1013,7 +1021,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
if (base::FeatureList::IsEnabled(
features::kWriteBasicSystemProfileToPersistentHistogramsFile)) {
@ -50,7 +50,7 @@ index 227843d1197b0..eba67645bb16b 100644
#if BUILDFLAG(IS_ANDROID)
record =
base::FeatureList::IsEnabled(chrome::android::kUmaBackgroundSessions);
@@ -1487,6 +1496,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1473,6 +1482,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
@ -58,7 +58,7 @@ index 227843d1197b0..eba67645bb16b 100644
crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_CHROMEOS_LACROS)
@@ -1505,6 +1515,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1491,6 +1501,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line);
#endif
@ -66,7 +66,7 @@ index 227843d1197b0..eba67645bb16b 100644
#if BUILDFLAG(IS_WIN)
child_process_logging::Init();
@@ -1717,6 +1728,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1703,6 +1714,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
@ -74,7 +74,7 @@ index 227843d1197b0..eba67645bb16b 100644
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
@@ -1760,6 +1772,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1738,6 +1750,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line);
@ -82,7 +82,7 @@ index 227843d1197b0..eba67645bb16b 100644
#if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData();
@@ -1885,6 +1898,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1863,6 +1876,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler();
}
@ -90,7 +90,7 @@ index 227843d1197b0..eba67645bb16b 100644
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner.
const base::CommandLine* command_line =
@@ -1907,6 +1921,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1875,6 +1889,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
@ -98,7 +98,7 @@ index 227843d1197b0..eba67645bb16b 100644
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -2006,6 +2021,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
@@ -1974,6 +1989,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
channel == version_info::Channel::DEV);
const bool gwp_asan_boost_sampling = is_canary_dev || is_browser_process;
@ -106,7 +106,7 @@ index 227843d1197b0..eba67645bb16b 100644
memory_system::Initializer()
.SetGwpAsanParameters(gwp_asan_boost_sampling, process_type)
.SetProfilingClientParameters(channel,
@@ -2015,5 +2031,5 @@ void ChromeMainDelegate::InitializeMemorySystem() {
@@ -1983,5 +1999,5 @@ void ChromeMainDelegate::InitializeMemorySystem() {
memory_system::DispatcherParameters::
AllocationTraceRecorderInclusion::kDynamic,
process_type)
@ -136,7 +136,7 @@ index 3553377e96017..5207128b768f2 100644
#if BUILDFLAG(IS_CHROMEOS_LACROS)
std::unique_ptr<chromeos::LacrosService> lacros_service_;
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index b5859c06d56e9..3a702aad4f453 100644
index 250bfa002ee25..e03ef004592d1 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -52,6 +52,7 @@
@ -147,7 +147,7 @@ index b5859c06d56e9..3a702aad4f453 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -503,7 +504,7 @@ void ProcessSingletonNotificationCallbackImpl(
@@ -504,7 +505,7 @@ void ProcessSingletonNotificationCallbackImpl(
return;
}
@ -156,7 +156,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// The uninstall command-line switch is handled by the origin process; see
// ChromeMainDelegate::PostEarlyInitialization(...). The other process won't
// be able to become the singleton process and will display a window asking
@@ -799,7 +800,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
@@ -800,7 +801,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
return content::RESULT_CODE_NORMAL_EXIT;
}
@ -165,7 +165,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// If we are running stale binaries then relaunch and exit immediately.
if (upgrade_util::IsRunningOldChrome()) {
if (!upgrade_util::RelaunchChromeBrowser(
@@ -812,7 +813,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
@@ -813,7 +814,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
// result in browser startup bailing.
return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED;
}
@ -174,7 +174,7 @@ index b5859c06d56e9..3a702aad4f453 100644
return load_local_state_result;
}
@@ -914,7 +915,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
@@ -919,7 +920,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
browser_process_->local_state());
platform_management_service->RefreshCache(base::NullCallback());
@ -183,7 +183,7 @@ index b5859c06d56e9..3a702aad4f453 100644
if (first_run::IsChromeFirstRun()) {
bool stats_default;
if (GoogleUpdateSettings::GetCollectStatsConsentDefault(&stats_default)) {
@@ -927,7 +928,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
@@ -932,7 +933,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
: metrics::EnableMetricsDefault::OPT_IN);
}
}
@ -192,7 +192,7 @@ index b5859c06d56e9..3a702aad4f453 100644
std::string locale =
startup_data_->chrome_feature_list_creator()->actual_locale();
@@ -960,6 +961,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
@@ -965,6 +966,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
master_prefs_ = std::make_unique<first_run::MasterPrefs>();
@ -200,7 +200,7 @@ index b5859c06d56e9..3a702aad4f453 100644
std::unique_ptr<installer::InitialPreferences> installer_initial_prefs =
startup_data_->chrome_feature_list_creator()->TakeInitialPrefs();
if (!installer_initial_prefs)
@@ -993,6 +995,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
@@ -998,6 +1000,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
master_prefs_->confirm_to_quit);
}
#endif // BUILDFLAG(IS_MAC)
@ -208,7 +208,7 @@ index b5859c06d56e9..3a702aad4f453 100644
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
return content::RESULT_CODE_NORMAL_EXIT;
}
@@ -1059,6 +1062,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
@@ -1064,6 +1067,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_process_->browser_policy_connector()->OnResourceBundleCreated();
@ -216,15 +216,15 @@ index b5859c06d56e9..3a702aad4f453 100644
// Android does first run in Java instead of native.
// Chrome OS has its own out-of-box-experience code.
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@@ -1080,6 +1084,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
@@ -1085,6 +1089,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_CHROMEOS)
// Set the product channel for crash reports.
@@ -1458,6 +1463,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
#if BUILDFLAG(IS_MAC)
#if defined(ARCH_CPU_X86_64)
@@ -1455,6 +1460,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->PreMainMessageLoopRun();
#if BUILDFLAG(IS_WIN)
@ -232,7 +232,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// If the command line specifies 'uninstall' then we need to work here
// unless we detect another chrome browser running.
if (base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kUninstall)) {
@@ -1469,6 +1475,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1466,6 +1472,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
return ChromeBrowserMainPartsWin::HandleIconsCommands(
*base::CommandLine::ForCurrentProcess());
}
@ -240,15 +240,15 @@ index b5859c06d56e9..3a702aad4f453 100644
ui::SelectFileDialog::SetFactory(
std::make_unique<ChromeSelectFileDialogFactory>());
@@ -1486,6 +1493,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1491,6 +1498,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC)
#endif // BUILDFLAG(CHROME_FOR_TESTING)
+#if !BUILDFLAG(ENABLE_CEF)
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMakeDefaultBrowser)) {
bool is_managed = g_browser_process->local_state()->IsManagedPreference(
@@ -1499,18 +1507,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1504,18 +1512,22 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
? static_cast<int>(content::RESULT_CODE_NORMAL_EXIT)
: static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED);
}
@ -271,16 +271,16 @@ index b5859c06d56e9..3a702aad4f453 100644
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
// Begin relaunch processing immediately if User Data migration is required
@@ -1549,7 +1561,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1554,7 +1566,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// Check if there is any machine level Chrome installed on the current
// machine. If yes and the current Chrome process is user level, we do not
// allow the user level Chrome to run. So we notify the user and uninstall
@@ -1558,7 +1570,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1563,7 +1575,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// obtained but before potentially creating the first run sentinel).
if (ChromeBrowserMainPartsWin::CheckMachineLevelInstall())
return chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS;
@ -289,7 +289,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// Desktop construction occurs here, (required before profile creation).
PreProfileInit();
@@ -1601,12 +1613,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1606,12 +1618,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->local_state());
}
@ -304,7 +304,7 @@ index b5859c06d56e9..3a702aad4f453 100644
#if BUILDFLAG(IS_ANDROID)
page_info::SetPageInfoClient(new ChromePageInfoClient());
@@ -1633,6 +1647,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1638,6 +1652,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Call `PostProfileInit()`and set it up for profiles created later.
profile_init_manager_ = std::make_unique<ProfileInitManager>(this, profile);
@ -312,7 +312,7 @@ index b5859c06d56e9..3a702aad4f453 100644
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
// Execute first run specific code after the PrefService has been initialized
// and preferences have been registered since some of the import code depends
@@ -1672,6 +1687,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1677,6 +1692,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
*base::CommandLine::ForCurrentProcess());
}
#endif // BUILDFLAG(IS_WIN)
@ -320,7 +320,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// Configure modules that need access to resources.
net::NetModule::SetResourceProvider(ChromeNetResourceProvider);
@@ -1751,6 +1767,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1756,6 +1772,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
g_browser_process->profile_manager()->GetLastOpenedProfiles();
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -332,7 +332,7 @@ index b5859c06d56e9..3a702aad4f453 100644
// This step is costly.
if (browser_creator_->Start(*base::CommandLine::ForCurrentProcess(),
base::FilePath(), profile_info,
@@ -1783,11 +1804,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1788,11 +1809,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
@ -348,7 +348,7 @@ index b5859c06d56e9..3a702aad4f453 100644
#endif // !BUILDFLAG(IS_ANDROID)
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index 7c438a75e086c..f3088e0e6d564 100644
index d39c7d82a6bd8..f3a4072b53cb1 100644
--- chrome/browser/chrome_browser_main_mac.mm
+++ chrome/browser/chrome_browser_main_mac.mm
@@ -16,6 +16,7 @@
@ -359,7 +359,7 @@ index 7c438a75e086c..f3088e0e6d564 100644
#import "chrome/browser/app_controller_mac.h"
#include "chrome/browser/apps/app_shim/app_shim_listener.h"
#include "chrome/browser/browser_process.h"
@@ -100,6 +101,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
@@ -104,6 +105,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
}
#endif // !BUILDFLAG(CHROME_FOR_TESTING)
@ -367,7 +367,7 @@ index 7c438a75e086c..f3088e0e6d564 100644
// Create the app delegate by requesting the shared AppController.
CHECK_EQ(nil, NSApp.delegate);
AppController* app_controller = AppController.sharedController;
@@ -108,6 +110,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
@@ -112,6 +114,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
chrome::BuildMainMenu(NSApp, app_controller,
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false);
[app_controller mainMenuCreated];
@ -375,7 +375,7 @@ index 7c438a75e086c..f3088e0e6d564 100644
ui::WarmScreenCapture();
@@ -145,5 +148,7 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
@@ -149,5 +152,7 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
}
void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() {
@ -384,18 +384,18 @@ index 7c438a75e086c..f3088e0e6d564 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index c8f705069d25b..aa9e0fd6efd0e 100644
index 2edb319d98a50..79e89bbeb76d9 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -46,6 +46,7 @@
@@ -47,6 +47,7 @@
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "build/config/chromebox_for_meetings/buildflags.h" // PLATFORM_CFM
+#include "cef/libcef/features/features.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_labels_service_factory.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1409,6 +1410,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/bluetooth/chrome_bluetooth_delegate_impl_client.h"
@@ -1419,6 +1420,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
}
ChromeContentBrowserClient::ChromeContentBrowserClient() {
@ -404,7 +404,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
#if BUILDFLAG(ENABLE_PLUGINS)
extra_parts_.push_back(
std::make_unique<ChromeContentBrowserClientPluginsPart>());
@@ -1441,6 +1444,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
@@ -1451,6 +1454,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
}
}
@ -416,7 +416,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
// static
void ChromeContentBrowserClient::RegisterLocalStatePrefs(
PrefRegistrySimple* registry) {
@@ -4299,9 +4307,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -4327,9 +4335,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
@ -428,7 +428,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6373,7 +6383,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
@@ -6424,7 +6434,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
#endif
}
@ -437,7 +437,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -6391,6 +6401,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@@ -6442,6 +6452,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale();
}
@ -446,7 +446,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
}
std::vector<base::FilePath>
@@ -7535,10 +7547,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
@@ -7570,10 +7582,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now();
const auto timeout = GetKeepaliveTimerTimeout(context);
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
@ -459,7 +459,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
FROM_HERE, keepalive_deadline_ - now,
base::BindOnce(
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
@@ -7557,7 +7569,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
@@ -7592,7 +7604,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
--num_keepalive_requests_;
if (num_keepalive_requests_ == 0) {
DVLOG(1) << "Stopping the keepalive timer";
@ -469,7 +469,7 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
// This deletes the keep alive handle attached to the timer function and
// unblock the shutdown sequence.
}
@@ -7699,7 +7712,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
@@ -7734,7 +7747,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
const auto now = base::TimeTicks::Now();
const auto then = keepalive_deadline_;
if (now < then) {
@ -479,10 +479,10 @@ index c8f705069d25b..aa9e0fd6efd0e 100644
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
weak_factory_.GetWeakPtr(),
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index 8ac74856217e4..e7632e1e08e96 100644
index 19679fa14ef4e..d925433c974f3 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -142,6 +142,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -143,6 +143,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
~ChromeContentBrowserClient() override;
@ -491,7 +491,7 @@ index 8ac74856217e4..e7632e1e08e96 100644
// TODO(https://crbug.com/787567): This file is about calls from content/ out
// to chrome/ to get values or notify about events, but both of these
// functions are from chrome/ to chrome/ and don't involve content/ at all.
@@ -667,7 +669,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -675,7 +677,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
@ -500,7 +500,7 @@ index 8ac74856217e4..e7632e1e08e96 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1160,7 +1162,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -1174,7 +1176,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0;
@ -510,18 +510,18 @@ index 8ac74856217e4..e7632e1e08e96 100644
#endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 94a93ca5c715c..17cc9e515d99c 100644
index 2ab6e767c3741..feb206b86b0fa 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -15,6 +15,7 @@
@@ -16,6 +16,7 @@
#include "build/build_config.h"
#include "build/chromecast_buildflags.h"
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/about_flags.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_ui.h"
@@ -194,6 +195,10 @@
#include "chrome/browser/accessibility/invert_bubble_prefs.h"
@@ -195,6 +196,10 @@
#include "chrome/browser/background/background_mode_manager.h"
#endif
@ -532,17 +532,17 @@ index 94a93ca5c715c..17cc9e515d99c 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1626,7 +1631,9 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1659,7 +1664,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_WIN)
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
RegisterDefaultBrowserPromptPrefs(registry);
+#if BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \
+ BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
downgrade::RegisterPrefs(registry);
+#endif
DeviceOAuth2TokenStoreDesktop::RegisterPrefs(registry);
#endif
@@ -1649,6 +1656,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1691,6 +1697,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
@ -554,7 +554,7 @@ index 94a93ca5c715c..17cc9e515d99c 100644
}
// Register prefs applicable to all profiles.
@@ -2085,6 +2097,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -2126,6 +2137,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& locale) {
RegisterProfilePrefs(registry, locale);

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index 5664d44624283..e025126ed235f 100644
index 81a995b02dd7b..c539455c80ccc 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -400,6 +400,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@ -24,7 +24,7 @@ index 5664d44624283..e025126ed235f 100644
// The order of commands in this switch statement must match the function
// declaration order in browser.h!
switch (id) {
@@ -1172,11 +1180,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
@@ -1169,11 +1177,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() {
@ -41,10 +41,10 @@ index 5664d44624283..e025126ed235f 100644
bool BrowserCommandController::IsWebAppOrCustomTab() const {
diff --git chrome/browser/ui/toolbar/app_menu_model.cc chrome/browser/ui/toolbar/app_menu_model.cc
index bb41ecd06518b..ab7d617e419ad 100644
index 23eef8b20393f..023f1286636a5 100644
--- chrome/browser/ui/toolbar/app_menu_model.cc
+++ chrome/browser/ui/toolbar/app_menu_model.cc
@@ -604,6 +604,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel(
@@ -603,6 +603,57 @@ SaveAndShareSubMenuModel::SaveAndShareSubMenuModel(
}
}
@ -102,7 +102,7 @@ index bb41ecd06518b..ab7d617e419ad 100644
} // namespace
////////////////////////////////////////////////////////////////////////////////
@@ -1470,7 +1521,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
@@ -1465,7 +1516,7 @@ bool AppMenuModel::IsCommandIdChecked(int command_id) const {
return false;
}
@ -111,7 +111,7 @@ index bb41ecd06518b..ab7d617e419ad 100644
GlobalError* error =
GlobalErrorServiceFactory::GetForProfile(browser_->profile())
->GetGlobalErrorByMenuItemCommandID(command_id);
@@ -1485,6 +1536,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
@@ -1480,6 +1531,30 @@ bool AppMenuModel::IsCommandIdEnabled(int command_id) const {
}
}
@ -142,7 +142,7 @@ index bb41ecd06518b..ab7d617e419ad 100644
bool AppMenuModel::IsCommandIdAlerted(int command_id) const {
if (command_id == IDC_VIEW_PASSWORDS ||
command_id == IDC_SHOW_PASSWORD_MANAGER) {
@@ -1652,11 +1727,15 @@ void AppMenuModel::Build() {
@@ -1647,11 +1722,15 @@ void AppMenuModel::Build() {
kDefaultIconSize));
}
@ -163,7 +163,7 @@ index bb41ecd06518b..ab7d617e419ad 100644
AddItemWithStringId(IDC_PRINT, IDS_PRINT);
@@ -1762,9 +1841,13 @@ void AppMenuModel::Build() {
@@ -1757,9 +1836,13 @@ void AppMenuModel::Build() {
kMoreToolsMenuItem);
if (!features::IsChromeRefresh2023()) {
@ -180,7 +180,7 @@ index bb41ecd06518b..ab7d617e419ad 100644
}
if (!features::IsChromeRefresh2023()) {
@@ -1853,6 +1936,11 @@ void AppMenuModel::Build() {
@@ -1848,6 +1931,11 @@ void AppMenuModel::Build() {
SetCommandIcon(this, IDC_EXIT, kExitMenuIcon);
}
@ -214,7 +214,7 @@ index d7c9df2e12df2..5dd6080454806 100644
// Adds actionable global error menu items to the menu.
// Examples: Extension permissions and sign in errors.
diff --git chrome/browser/ui/views/find_bar_host.cc chrome/browser/ui/views/find_bar_host.cc
index 59024587ef6b7..0c30aa71768cf 100644
index ec8ddcf73c5a4..f456d66886c0f 100644
--- chrome/browser/ui/views/find_bar_host.cc
+++ chrome/browser/ui/views/find_bar_host.cc
@@ -412,6 +412,12 @@ void FindBarHost::GetWidgetBounds(gfx::Rect* bounds) {
@ -231,7 +231,7 @@ index 59024587ef6b7..0c30aa71768cf 100644
void FindBarHost::RegisterAccelerators() {
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index a52bb8913d37f..dd5030f9bfb74 100644
index cce1835d35be3..5ac27ca62876a 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -114,15 +114,23 @@ ui::ColorProviderKey::SchemeVariant GetSchemeVariant(
@ -363,10 +363,10 @@ index 2e973c9e279b0..12b62efb8071f 100644
BrowserFrame(const BrowserFrame&) = delete;
BrowserFrame& operator=(const BrowserFrame&) = delete;
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index e2827eb98518f..3e33205a91f1b 100644
index 874b4502f94e2..8c15da46dad67 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -346,11 +346,10 @@ using content::NativeWebKeyboardEvent;
@@ -347,11 +347,10 @@ using content::NativeWebKeyboardEvent;
using content::WebContents;
using web_modal::WebContentsModalDialogHost;
@ -381,7 +381,7 @@ index e2827eb98518f..3e33205a91f1b 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation.
@@ -677,6 +676,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
@@ -678,6 +677,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
return browser_view_->frame()->GetTopInset() - browser_view_->y();
}
@ -396,7 +396,7 @@ index e2827eb98518f..3e33205a91f1b 100644
bool IsToolbarVisible() const override {
return browser_view_->IsToolbarVisible();
}
@@ -835,11 +842,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
@@ -829,11 +836,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@ -419,9 +419,9 @@ index e2827eb98518f..3e33205a91f1b 100644
// Store the actions so that the access is available for other classes.
if (features::IsSidePanelPinningEnabled()) {
browser_->SetUserData(BrowserActions::UserDataKey(),
@@ -933,8 +950,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -938,8 +955,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_));
devtools_web_view_, contents_web_view_, watermark_view));
- toolbar_ = top_container_->AddChildView(
- std::make_unique<ToolbarView>(browser_.get(), this));
@ -437,7 +437,7 @@ index e2827eb98518f..3e33205a91f1b 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1008,7 +1032,9 @@ BrowserView::~BrowserView() {
@@ -1013,7 +1037,9 @@ BrowserView::~BrowserView() {
// All the tabs should have been destroyed already. If we were closed by the
// OS with some tabs than the NativeBrowserFrame should have destroyed them.
@ -447,7 +447,7 @@ index e2827eb98518f..3e33205a91f1b 100644
// Stop the animation timer explicitly here to avoid running it in a nested
// message loop, which may run by Browser destructor.
@@ -1022,12 +1048,14 @@ BrowserView::~BrowserView() {
@@ -1027,12 +1053,14 @@ BrowserView::~BrowserView() {
// child views and it is an observer for avatar toolbar button if any.
autofill_bubble_handler_.reset();
@ -462,7 +462,7 @@ index e2827eb98518f..3e33205a91f1b 100644
// The TabStrip attaches a listener to the model. Make sure we shut down the
// TabStrip first so that it can cleanly remove the listener.
@@ -1045,7 +1073,9 @@ BrowserView::~BrowserView() {
@@ -1050,7 +1078,9 @@ BrowserView::~BrowserView() {
// `SidePanelUI::RemoveSidePanelUIForBrowser()` deletes the
// SidePanelCoordinator.
@ -472,7 +472,7 @@ index e2827eb98518f..3e33205a91f1b 100644
}
// static
@@ -1966,9 +1996,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
@@ -2003,9 +2033,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
bool BrowserView::ShouldHideUIForFullscreen() const {
// Immersive mode needs UI for the slide-down top panel.
@ -488,7 +488,7 @@ index e2827eb98518f..3e33205a91f1b 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
@@ -3083,7 +3118,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
@@ -3123,7 +3158,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
}
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
@ -498,7 +498,7 @@ index e2827eb98518f..3e33205a91f1b 100644
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
return download_button->bubble_controller();
return nullptr;
@@ -3642,7 +3678,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
@@ -3678,7 +3714,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this)
return;
@ -508,7 +508,7 @@ index e2827eb98518f..3e33205a91f1b 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -4123,11 +4160,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
@@ -4159,11 +4196,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
bool BrowserView::ShouldDescendIntoChildForEventHandling(
gfx::NativeView child,
const gfx::Point& location) {
@ -549,7 +549,7 @@ index e2827eb98518f..3e33205a91f1b 100644
// Draggable regions are defined relative to the web contents.
gfx::Point point_in_contents_web_view_coords(location);
views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
@@ -4136,7 +4200,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
@@ -4172,7 +4236,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
// Draggable regions should be ignored for clicks into any browser view's
// owned widgets, for example alerts, permission prompts or find bar.
@ -558,7 +558,7 @@ index e2827eb98518f..3e33205a91f1b 100644
point_in_contents_web_view_coords.x(),
point_in_contents_web_view_coords.y()) ||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
@@ -4247,8 +4311,10 @@ void BrowserView::Layout() {
@@ -4283,8 +4347,10 @@ void BrowserView::Layout(PassKey) {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -571,7 +571,7 @@ index e2827eb98518f..3e33205a91f1b 100644
// Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode.
@@ -4314,6 +4380,11 @@ void BrowserView::AddedToWidget() {
@@ -4350,6 +4416,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@ -583,7 +583,7 @@ index e2827eb98518f..3e33205a91f1b 100644
toolbar_->Init();
// TODO(pbos): Investigate whether the side panels should be creatable when
@@ -4362,13 +4433,9 @@ void BrowserView::AddedToWidget() {
@@ -4398,13 +4469,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
@ -599,7 +599,7 @@ index e2827eb98518f..3e33205a91f1b 100644
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -4793,7 +4860,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
@@ -4830,7 +4897,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@ -609,7 +609,7 @@ index e2827eb98518f..3e33205a91f1b 100644
}
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
@@ -5191,6 +5259,8 @@ Profile* BrowserView::GetProfile() {
@@ -5241,6 +5309,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@ -618,7 +618,7 @@ index e2827eb98518f..3e33205a91f1b 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -5213,6 +5283,8 @@ void BrowserView::HideDownloadShelf() {
@@ -5263,6 +5333,8 @@ void BrowserView::HideDownloadShelf() {
}
bool BrowserView::CanUserExitFullscreen() const {
@ -628,10 +628,10 @@ index e2827eb98518f..3e33205a91f1b 100644
}
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index f3f5944785e5e..ec369e0fb2fe1 100644
index 88686b784dac3..fc0e55b165626 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -127,11 +127,16 @@ class BrowserView : public BrowserWindow,
@@ -132,11 +132,16 @@ class BrowserView : public BrowserWindow,
METADATA_HEADER(BrowserView, views::ClientView)
public:
@ -648,7 +648,7 @@ index f3f5944785e5e..ec369e0fb2fe1 100644
void set_frame(BrowserFrame* frame) {
frame_ = frame;
paint_as_active_subscription_ =
@@ -839,6 +844,9 @@ class BrowserView : public BrowserWindow,
@@ -847,6 +852,9 @@ class BrowserView : public BrowserWindow,
const gfx::Rect& contents_webview_bounds,
const gfx::Rect& local_webview_container_bounds);
@ -777,10 +777,10 @@ index 71445bfab1824..c77750ea2a820 100644
ContentsWebView::~ContentsWebView() {
diff --git chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc chrome/browser/ui/views/frame/picture_in_picture_browser_frame_view.cc
index 8f8eae2b243b3..288d584c61548 100644
index dfb8331c4126c..3f2bfe9354c4d 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
@@ -590,6 +590,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
@@ -580,6 +580,11 @@ PictureInPictureBrowserFrameView::PictureInPictureBrowserFrameView(
frame->GetNativeWindow()->SetEventTargeter(
std::make_unique<chromeos::InteriorResizeHandleTargeter>());
#endif
@ -792,7 +792,7 @@ index 8f8eae2b243b3..288d584c61548 100644
}
PictureInPictureBrowserFrameView::~PictureInPictureBrowserFrameView() {
@@ -686,18 +691,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
@@ -707,18 +712,42 @@ gfx::Rect PictureInPictureBrowserFrameView::GetWindowBoundsForClientBounds(
int PictureInPictureBrowserFrameView::NonClientHitTest(
const gfx::Point& point) {
@ -843,7 +843,7 @@ index 8f8eae2b243b3..288d584c61548 100644
// Allow dragging and resizing the window.
int window_component = GetHTComponentForFrame(
@@ -764,7 +793,8 @@ void PictureInPictureBrowserFrameView::Layout() {
@@ -787,7 +816,8 @@ void PictureInPictureBrowserFrameView::Layout(PassKey) {
gfx::Rect content_area = GetLocalBounds();
content_area.Inset(FrameBorderInsets());
gfx::Rect top_bar = content_area;
@ -853,7 +853,7 @@ index 8f8eae2b243b3..288d584c61548 100644
top_bar_container_view_->SetBoundsRect(top_bar);
#if !BUILDFLAG(IS_ANDROID)
if (auto_pip_setting_overlay_) {
@@ -1236,7 +1266,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
@@ -1259,7 +1289,8 @@ gfx::Insets PictureInPictureBrowserFrameView::ResizeBorderInsets() const {
}
int PictureInPictureBrowserFrameView::GetTopAreaHeight() const {
@ -895,10 +895,10 @@ index b6e4a01ae450d..14b7fd84ed7df 100644
case PageActionIconType::kPaymentsOfferNotification:
add_page_action_icon(
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
index c592f23b0c972..adca2e8db1cc6 100644
index e864e22e920c8..0b82bf831be8f 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -558,29 +558,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
@@ -554,29 +554,41 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
}
bool BrowserTabStripController::IsFrameCondensed() const {
@ -941,7 +941,7 @@ index c592f23b0c972..adca2e8db1cc6 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index 0cf2fbd962501..ccdc0a92ccde1 100644
index 8ee63a3430928..5a296e7dfe09c 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -191,7 +191,7 @@ class TabstripLikeBackground : public views::Background {
@ -953,7 +953,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
SkColor frame_color =
browser_view_->frame()->GetFrameView()->GetFrameColor(
BrowserFrameActiveState::kUseCurrent);
@@ -220,12 +220,13 @@ END_METADATA
@@ -221,12 +221,13 @@ END_METADATA
////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public:
@ -969,7 +969,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
SetID(VIEW_ID_TOOLBAR);
container_view_ = AddChildView(std::make_unique<ContainerView>());
@@ -250,6 +251,19 @@ ToolbarView::~ToolbarView() {
@@ -251,6 +252,19 @@ ToolbarView::~ToolbarView() {
}
void ToolbarView::Init() {
@ -989,7 +989,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
#if defined(USE_AURA)
// Avoid generating too many occlusion tracking calculation events before this
// function returns. The occlusion status will be computed only once once this
@@ -274,12 +288,12 @@ void ToolbarView::Init() {
@@ -275,12 +289,12 @@ void ToolbarView::Init() {
auto location_bar = std::make_unique<LocationBarView>(
browser_, browser_->profile(), browser_->command_controller(), this,
@ -1004,7 +1004,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
download_button =
std::make_unique<DownloadToolbarButtonView>(browser_view_);
}
@@ -361,8 +375,10 @@ void ToolbarView::Init() {
@@ -362,8 +376,10 @@ void ToolbarView::Init() {
}
}
std::unique_ptr<media_router::CastToolbarButton> cast;
@ -1016,7 +1016,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
std::unique_ptr<MediaToolbarButtonView> media_button;
if (base::FeatureList::IsEnabled(media::kGlobalMediaControls)) {
@@ -372,7 +388,8 @@ void ToolbarView::Init() {
@@ -373,7 +389,8 @@ void ToolbarView::Init() {
std::unique_ptr<send_tab_to_self::SendTabToSelfToolbarIconView>
send_tab_to_self_button;
@ -1026,7 +1026,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
send_tab_to_self_button =
std::make_unique<send_tab_to_self::SendTabToSelfToolbarIconView>(
browser_view_);
@@ -451,7 +468,7 @@ void ToolbarView::Init() {
@@ -452,7 +469,7 @@ void ToolbarView::Init() {
send_tab_to_self_button_ =
container_view_->AddChildView(std::move(send_tab_to_self_button));
@ -1036,7 +1036,7 @@ index 0cf2fbd962501..ccdc0a92ccde1 100644
side_panel_container_ = container_view_->AddChildView(
std::make_unique<SidePanelToolbarContainer>(browser_view_));
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index ec3e34a86f4c5..c10866a7b1ace 100644
index 53f8ff18e0119..05d005f026d33 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -93,7 +93,8 @@ class ToolbarView : public views::AccessiblePaneView,

View File

@ -1,5 +1,5 @@
diff --git chrome/utility/chrome_content_utility_client.cc chrome/utility/chrome_content_utility_client.cc
index 9b666cd9c1989..dd0814403474c 100644
index e070f862c3492..fdf448397fb3e 100644
--- chrome/utility/chrome_content_utility_client.cc
+++ chrome/utility/chrome_content_utility_client.cc
@@ -13,6 +13,7 @@
@ -10,7 +10,7 @@ index 9b666cd9c1989..dd0814403474c 100644
#include "chrome/common/chrome_paths.h"
#include "chrome/common/profiler/thread_profiler.h"
#include "chrome/common/profiler/thread_profiler_configuration.h"
@@ -57,7 +58,8 @@ void ChromeContentUtilityClient::UtilityThreadStarted() {
@@ -61,7 +62,8 @@ void ChromeContentUtilityClient::UtilityThreadStarted() {
command_line->GetSwitchValueASCII(switches::kProcessType);
// An in-process utility thread may run in other processes, only set up
// collector in a utility process.

View File

@ -1,16 +1,16 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index 67b7e7ca509e1..de84b8f7ecde9 100644
index 7c7589a393254..573c11adc21c7 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -110,7 +110,7 @@ bool ApplyUserAgentMetadataOverrides(
@@ -115,7 +115,7 @@ bool ApplyUserAgentMetadataOverrides(
FrameTreeNode* frame_tree_node,
std::optional<blink::UserAgentMetadata>* override_out);
-bool WillCreateURLLoaderFactory(
+CONTENT_EXPORT bool WillCreateURLLoaderFactory(
RenderFrameHostImpl* rfh,
bool is_navigation,
bool is_download,
-class WillCreateURLLoaderFactoryParams final {
+class CONTENT_EXPORT WillCreateURLLoaderFactoryParams final {
STACK_ALLOCATED();
public:
diff --git content/browser/renderer_host/input/mouse_wheel_phase_handler.h content/browser/renderer_host/input/mouse_wheel_phase_handler.h
index d69f9d4641613..e88aaf8617c52 100644
--- content/browser/renderer_host/input/mouse_wheel_phase_handler.h

View File

@ -12,37 +12,37 @@ index b7430b7d7027f..721144dde86d8 100644
version.Set("V8-Version", V8_VERSION_STRING);
std::string host = info.GetHeaderValue("host");
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 5da07b9eff248..72fc63ba456c5 100644
index 6e7e22ee886fa..97d0184ceae99 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -751,6 +751,22 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() {
: nullptr,
&loader_factory);
@@ -785,6 +785,22 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() {
: nullptr,
&loader_factory);
+ if (!handled) {
+ handled = GetContentClient()->browser()->HandleExternalProtocol(
+ web_contents_getter_, frame_tree_node_id_,
+ navigation_ui_data_.get(), request_info_->is_primary_main_frame,
+ FrameTreeNode::GloballyFindByID(frame_tree_node_id_)
+ ->IsInFencedFrameTree(),
+ request_info_->sandbox_flags,
+ *resource_request_, initiating_origin,
+ request_info_->initiator_document_token
+ ? RenderFrameHostImpl::FromDocumentToken(
+ request_info_->initiator_process_id,
+ *request_info_->initiator_document_token)
+ : nullptr,
+ &loader_factory);
+ }
+ if (!handled) {
+ handled = GetContentClient()->browser()->HandleExternalProtocol(
+ web_contents_getter_, frame_tree_node_id_,
+ navigation_ui_data_.get(), request_info_->is_primary_main_frame,
+ FrameTreeNode::GloballyFindByID(frame_tree_node_id_)
+ ->IsInFencedFrameTree(),
+ request_info_->sandbox_flags,
+ *resource_request_, initiating_origin,
+ request_info_->initiator_document_token
+ ? RenderFrameHostImpl::FromDocumentToken(
+ request_info_->initiator_process_id,
+ *request_info_->initiator_document_token)
+ : nullptr,
+ &loader_factory);
+ }
+
if (loader_factory) {
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
std::move(loader_factory));
if (loader_factory) {
factory = std::move(factory_builder).Finish(std::move(loader_factory));
} else {
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index d004abc6fe3da..3aeb9ab07d2a6 100644
index 737dcbdee639d..1344e564a9d1f 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -1070,7 +1070,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
@@ -1071,7 +1071,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
void ContentBrowserClient::OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) {}
@ -51,7 +51,7 @@ index d004abc6fe3da..3aeb9ab07d2a6 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1079,6 +1079,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
@@ -1080,6 +1080,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = "en-us,en";
@ -60,7 +60,7 @@ index d004abc6fe3da..3aeb9ab07d2a6 100644
std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index d0a5dbc454670..0814479cf64e1 100644
index 26999a1fa55c7..1c5fbd03212f1 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -43,6 +43,7 @@
@ -71,7 +71,7 @@ index d0a5dbc454670..0814479cf64e1 100644
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
@@ -1989,7 +1990,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2018,7 +2019,7 @@ class CONTENT_EXPORT ContentBrowserClient {
//
// If |relative_partition_path| is the empty string, it means this needs to
// create the default NetworkContext for the BrowserContext.
@ -80,7 +80,7 @@ index d0a5dbc454670..0814479cf64e1 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -2210,6 +2211,19 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2238,6 +2239,19 @@ class CONTENT_EXPORT ContentBrowserClient {
RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -100,7 +100,7 @@ index d0a5dbc454670..0814479cf64e1 100644
// Creates an OverlayWindow to be used for video or Picture-in-Picture.
// This window will house the content shown when in Picture-in-Picture mode.
// This will return a new OverlayWindow.
@@ -2267,6 +2281,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2295,6 +2309,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -137,7 +137,7 @@ index ff20508d76a60..03a83b28fd678 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index b67ee7e79eea7..13ac29a392b6e 100644
index fef1829ebda85..23df06b6c60bb 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -545,6 +545,8 @@ void RenderThreadImpl::Init() {
@ -150,10 +150,10 @@ index b67ee7e79eea7..13ac29a392b6e 100644
base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 619323f485c6a..324017a67e989 100644
index 132aca6cb29e9..39374c08425b1 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -994,6 +994,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -1011,6 +1011,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------
@ -170,10 +170,10 @@ index 619323f485c6a..324017a67e989 100644
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
return std::make_unique<V8ValueConverterImpl>();
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index ecbcf12493f77..2c529b2f07a14 100644
index c1b86ec95d41c..8dca87a7201a4 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -236,6 +236,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -237,6 +237,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
InertAndMinimumIntervalOfUserLevelMemoryPressureSignal() override;
#endif // BUILDFLAG(IS_ANDROID)
@ -184,19 +184,19 @@ index ecbcf12493f77..2c529b2f07a14 100644
// plus eTLD+1, such as https://google.com), or to a more specific origin.
void SetIsLockedToSite();
diff --git content/shell/browser/shell_content_browser_client.cc content/shell/browser/shell_content_browser_client.cc
index 3e0b86f6834c5..624610b39a399 100644
index 194a43ae9f6ee..77d6b4bf2a810 100644
--- content/shell/browser/shell_content_browser_client.cc
+++ content/shell/browser/shell_content_browser_client.cc
@@ -703,7 +703,7 @@ void ShellContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_ANDROID)
@@ -728,7 +728,7 @@ void ShellContentBrowserClient::OnNetworkServiceCreated(
#endif
}
-void ShellContentBrowserClient::ConfigureNetworkContextParams(
+bool ShellContentBrowserClient::ConfigureNetworkContextParams(
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -712,6 +712,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
@@ -737,6 +737,7 @@ void ShellContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
ConfigureNetworkContextParamsForShell(context, network_context_params,
cert_verifier_creation_params);
@ -205,23 +205,23 @@ index 3e0b86f6834c5..624610b39a399 100644
std::vector<base::FilePath>
diff --git content/shell/browser/shell_content_browser_client.h content/shell/browser/shell_content_browser_client.h
index 83253e9feb3eb..ca0fd605ee613 100644
index 0fa1c7c38a387..5d878d3fda793 100644
--- content/shell/browser/shell_content_browser_client.h
+++ content/shell/browser/shell_content_browser_client.h
@@ -140,7 +140,7 @@ class ShellContentBrowserClient : public ContentBrowserClient {
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
// BUILDFLAG(IS_ANDROID)
@@ -145,7 +145,7 @@ class ShellContentBrowserClient : public ContentBrowserClient {
device::GeolocationManager* GetGeolocationManager() override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
- void ConfigureNetworkContextParams(
+ bool ConfigureNetworkContextParams(
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
diff --git headless/lib/browser/headless_content_browser_client.cc headless/lib/browser/headless_content_browser_client.cc
index 6a118e43698a1..82df4466206d2 100644
index c9c460444236d..0fbdbed1da9d7 100644
--- headless/lib/browser/headless_content_browser_client.cc
+++ headless/lib/browser/headless_content_browser_client.cc
@@ -297,7 +297,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed(
@@ -299,7 +299,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed(
return true;
}
@ -230,7 +230,7 @@ index 6a118e43698a1..82df4466206d2 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -307,6 +307,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
@@ -309,6 +309,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
HeadlessBrowserContextImpl::From(context)->ConfigureNetworkContextParams(
in_memory, relative_partition_path, network_context_params,
cert_verifier_creation_params);
@ -239,12 +239,12 @@ index 6a118e43698a1..82df4466206d2 100644
std::string HeadlessContentBrowserClient::GetProduct() {
diff --git headless/lib/browser/headless_content_browser_client.h headless/lib/browser/headless_content_browser_client.h
index 18f90a11713b5..688549524fb17 100644
index a460fe14c56e2..7c72cdec1193e 100644
--- headless/lib/browser/headless_content_browser_client.h
+++ headless/lib/browser/headless_content_browser_client.h
@@ -80,7 +80,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient {
const url::Origin& top_frame_origin,
const url::Origin& accessing_origin) override;
@@ -83,7 +83,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient {
const url::Origin& accessing_origin,
std::string* out_debug_message = nullptr) override;
- void ConfigureNetworkContextParams(
+ bool ConfigureNetworkContextParams(

View File

@ -90,7 +90,7 @@ index aebbccad2a503..2537281b0e872 100644
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 0e6cd686e0b05..a26433ccb9307 100644
index f39a56eefbaa7..cb5f7370f1510 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -46,6 +46,7 @@
@ -101,7 +101,7 @@ index 0e6cd686e0b05..a26433ccb9307 100644
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@@ -1335,6 +1336,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1339,6 +1340,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
index b656054d342f5..7889656173b0e 100644
index fd63bad192e9b..262a286478b67 100644
--- content/browser/renderer_host/render_process_host_impl.cc
+++ content/browser/renderer_host/render_process_host_impl.cc
@@ -1629,7 +1629,8 @@ bool RenderProcessHostImpl::Init() {
@@ -1623,7 +1623,8 @@ bool RenderProcessHostImpl::Init() {
// initialized because in tests the factory may never have been initialized.
if (!GetBrowserContext()->IsOffTheRecord() &&
!base::CommandLine::ForCurrentProcess()->HasSwitch(

View File

@ -262,7 +262,7 @@ index a604df7a5ea6a..618fbde10a65c 100644
} // namespace crash_reporter
diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc
index 9ea9021f16006..cf187495ff3f0 100644
index a18afed5b55c1..fabb36a299cd9 100644
--- components/crash/core/app/crashpad.cc
+++ components/crash/core/app/crashpad.cc
@@ -129,7 +129,8 @@ bool InitializeCrashpadImpl(bool initial_client,
@ -276,7 +276,7 @@ index 9ea9021f16006..cf187495ff3f0 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/core/app/crashpad_linux.cc components/crash/core/app/crashpad_linux.cc
index 99efa6b245b99..008eb397332c2 100644
index dbe46081ebf43..8182c133e2934 100644
--- components/crash/core/app/crashpad_linux.cc
+++ components/crash/core/app/crashpad_linux.cc
@@ -23,6 +23,7 @@
@ -287,7 +287,7 @@ index 99efa6b245b99..008eb397332c2 100644
#include "sandbox/linux/services/namespace_sandbox.h"
#include "third_party/crashpad/crashpad/client/crashpad_client.h"
#include "third_party/crashpad/crashpad/client/crashpad_info.h"
@@ -107,11 +108,10 @@ bool PlatformCrashpadInitialization(
@@ -168,11 +169,10 @@ bool PlatformCrashpadInitialization(
crash_reporter_client->GetCrashDumpLocation(database_path);
crash_reporter_client->GetCrashMetricsLocation(&metrics_path);
@ -302,7 +302,7 @@ index 99efa6b245b99..008eb397332c2 100644
// When --use-cros-crash-reporter is set (below), the handler passes dumps
// to ChromeOS's /sbin/crash_reporter which in turn passes the dump to
@@ -128,8 +128,8 @@ bool PlatformCrashpadInitialization(
@@ -189,8 +189,8 @@ bool PlatformCrashpadInitialization(
&product_version, &channel);
std::map<std::string, std::string> annotations;
@ -313,7 +313,7 @@ index 99efa6b245b99..008eb397332c2 100644
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
// Empty means stable.
@@ -146,7 +146,20 @@ bool PlatformCrashpadInitialization(
@@ -207,7 +207,20 @@ bool PlatformCrashpadInitialization(
annotations["channel"] = channel;
}
@ -335,7 +335,7 @@ index 99efa6b245b99..008eb397332c2 100644
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// "build_time_millis" is used on LaCros chrome to determine when to stop
@@ -191,6 +204,12 @@ bool PlatformCrashpadInitialization(
@@ -252,6 +265,12 @@ bool PlatformCrashpadInitialization(
}
#endif

View File

@ -1,5 +1,5 @@
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
index 44cf15e1b4703..b3f744454f6c3 100644
index bcaff65ad5611..2512ab068034a 100644
--- components/embedder_support/user_agent_utils.cc
+++ components/embedder_support/user_agent_utils.cc
@@ -18,6 +18,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/extensions/api/streams_private/streams_private_api.cc chrome/browser/extensions/api/streams_private/streams_private_api.cc
index 8cea5bf4591cd..c5fca9dd1a9e8 100644
index 5ee79cf7fefb1..a84750a496095 100644
--- chrome/browser/extensions/api/streams_private/streams_private_api.cc
+++ chrome/browser/extensions/api/streams_private/streams_private_api.cc
@@ -6,6 +6,7 @@
@ -10,7 +10,7 @@ index 8cea5bf4591cd..c5fca9dd1a9e8 100644
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/preloading/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
@@ -26,6 +27,10 @@
@@ -27,6 +28,10 @@
#include "pdf/pdf_features.h"
#endif // BUILDFLAG(ENABLE_PDF)
@ -21,7 +21,7 @@ index 8cea5bf4591cd..c5fca9dd1a9e8 100644
namespace extensions {
void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -43,6 +48,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -44,6 +49,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
if (!web_contents)
return;
@ -29,7 +29,7 @@ index 8cea5bf4591cd..c5fca9dd1a9e8 100644
// If the request was for NoStatePrefetch, abort the prefetcher and do not
// continue. This is because plugins cancel NoStatePrefetch, see
// http://crbug.com/343590.
@@ -53,6 +59,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -54,6 +60,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
no_state_prefetch_contents->Destroy(prerender::FINAL_STATUS_DOWNLOAD);
return;
}
@ -37,7 +37,7 @@ index 8cea5bf4591cd..c5fca9dd1a9e8 100644
auto* browser_context = web_contents->GetBrowserContext();
@@ -79,9 +86,18 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -80,9 +87,18 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
// forms of zooming won't work).
// TODO(1042323): Present a coherent representation of a tab id for portal
// contents.
@ -60,10 +60,10 @@ index 8cea5bf4591cd..c5fca9dd1a9e8 100644
std::unique_ptr<StreamContainer> stream_container(
new StreamContainer(tab_id, embedded, handler_url, extension_id,
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 52e6a29f65a91..8e8f92a45526c 100644
index 0035aedce82f0..861288525b291 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -105,12 +105,13 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -104,12 +104,13 @@ ExtensionHost::ExtensionHost(const Extension* extension,
host_type == mojom::ViewType::kOffscreenDocument ||
host_type == mojom::ViewType::kExtensionPopup ||
host_type == mojom::ViewType::kExtensionSidePanel);
@ -80,7 +80,7 @@ index 52e6a29f65a91..8e8f92a45526c 100644
main_frame_host_ = host_contents_->GetPrimaryMainFrame();
// Listen for when an extension is unloaded from the same profile, as it may
@@ -126,11 +127,49 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -125,11 +126,49 @@ ExtensionHost::ExtensionHost(const Extension* extension,
// Create password reuse detection manager when new extension web contents are
// created.
ExtensionsBrowserClient::Get()->CreatePasswordReuseDetectionManager(
@ -132,7 +132,7 @@ index 52e6a29f65a91..8e8f92a45526c 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index 94b02bca9b70b..5e3dacc34452a 100644
index 28ba09319b047..2a097a5ae4c16 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -62,6 +62,12 @@ class ExtensionHost : public DeferredStartRenderHost,
@ -157,7 +157,7 @@ index 94b02bca9b70b..5e3dacc34452a 100644
content::RenderFrameHost* main_frame_host() const { return main_frame_host_; }
content::RenderProcessHost* render_process_host() const;
bool has_loaded_once() const { return has_loaded_once_; }
@@ -248,7 +254,8 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -244,7 +250,8 @@ class ExtensionHost : public DeferredStartRenderHost,
raw_ptr<content::BrowserContext> browser_context_;
// The host for our HTML content.
@ -199,7 +199,7 @@ index c3197eb4790fa..1e7ae767b0582 100644
}
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index 5da1cae2970c6..4e193c09c54b1 100644
index 1be758c66fe70..62f72c7c119d0 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -34,6 +34,7 @@
@ -234,10 +234,10 @@ index 5da1cae2970c6..4e193c09c54b1 100644
// once each time the extensions system is loaded per browser_context. The
// implementation may wish to use the BrowserContext to record the current
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
index 399eba92dc627..60ad5d7dd3831 100644
index 3363f44f7c4fc..3eec0356c0c58 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -379,9 +379,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -353,9 +353,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();

View File

@ -12,7 +12,7 @@ index afe0b3e90fafb..daae3b0e0e8d3 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 067b08552d5fc..bbb280ef9e307 100644
index 20ee94216cab0..0b7c7bc8479a6 100644
--- BUILD.gn
+++ BUILD.gn
@@ -19,6 +19,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@ -20,10 +20,10 @@ index 067b08552d5fc..bbb280ef9e307 100644
import("//build/gn_logs.gni")
import("//build/util/generate_wrapper.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//components/enterprise/buildflags/buildflags.gni")
import("//components/nacl/features.gni")
@@ -277,6 +278,10 @@ group("gn_all") {
import("//device/vr/buildflags/buildflags.gni")
@@ -274,6 +275,10 @@ group("gn_all") {
deps += root_extra_deps
@ -76,7 +76,7 @@ index 1da479dd5eebc..ff9c7e467997c 100644
- visual_studio_runtime_dirs = []
}
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 95d82be2f9050..191232294b59f 100644
index a6c3ac1645b4a..27fa1add81082 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -5,6 +5,7 @@
@ -122,7 +122,7 @@ index c43aa5873d96a..68978caa5b96b 100644
source_patterns +=
[ "${root_gen_dir}/extensions/strings/extensions_strings_" ]
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index 6a32fb624ea4c..923a92b478368 100644
index b94944f6d5527..eecf0673e027e 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -7,6 +7,7 @@ import("//build/config/features.gni")
@ -133,7 +133,7 @@ index 6a32fb624ea4c..923a92b478368 100644
import("//chrome/process_version_rc_template.gni")
import("//third_party/dawn/scripts/dawn_features.gni")
import("//third_party/ffmpeg/ffmpeg_options.gni")
@@ -123,11 +124,13 @@ action("mini_installer_archive") {
@@ -145,11 +146,13 @@ action("mini_installer_archive") {
inputs = [
"$root_out_dir/chrome.dll",
"$root_out_dir/chrome.exe",

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index df93fa972dff6..3228d8377f597 100644
index 5ee9c00afbdd7..d2a8050968468 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -1269,6 +1269,15 @@
@@ -1277,6 +1277,15 @@
# END "everything else" section.
# Everything but chrome/, components/, content/, and ios/

View File

@ -32,7 +32,7 @@ index 6b9d2c180c904..3570ef071ba07 100644
return (dark_mode_support.allow_dark_mode_for_app ||
dark_mode_support.set_preferred_app_mode) &&
diff --git ui/native_theme/native_theme_mac.mm ui/native_theme/native_theme_mac.mm
index be2f769afe2d1..51bcf353b8797 100644
index e06aa51a8ebc9..fd1aa8e472f1f 100644
--- ui/native_theme/native_theme_mac.mm
+++ ui/native_theme/native_theme_mac.mm
@@ -50,6 +50,13 @@ bool InvertedColors() {
@ -49,7 +49,7 @@ index be2f769afe2d1..51bcf353b8797 100644
} // namespace
// Helper object to respond to light mode/dark mode changeovers.
@@ -594,11 +601,15 @@ void NativeThemeMac::PaintSelectedMenuItem(
@@ -577,11 +584,15 @@ void NativeThemeMac::PaintSelectedMenuItem(
void NativeThemeMac::InitializeDarkModeStateAndObserver() {
__block auto theme = this;
@ -68,10 +68,10 @@ index be2f769afe2d1..51bcf353b8797 100644
theme->NotifyOnNativeThemeUpdated();
}];
diff --git ui/native_theme/native_theme_win.cc ui/native_theme/native_theme_win.cc
index 6af4df92820d5..c2ae96510d011 100644
index 9830931142e76..62b8e4972a6b5 100644
--- ui/native_theme/native_theme_win.cc
+++ ui/native_theme/native_theme_win.cc
@@ -653,14 +653,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
@@ -659,14 +659,17 @@ bool NativeThemeWin::ShouldUseDarkColors() const {
// Windows high contrast modes are entirely different themes,
// so let them take priority over dark mode.
// ...unless --force-dark-mode was specified in which case caveat emptor.
@ -91,7 +91,7 @@ index 6af4df92820d5..c2ae96510d011 100644
return NativeTheme::CalculatePreferredColorScheme();
// According to the spec, the preferred color scheme for web content is 'dark'
@@ -1651,8 +1654,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
@@ -1657,8 +1660,9 @@ void NativeThemeWin::RegisterColorFilteringRegkeyObserver() {
}
void NativeThemeWin::UpdateDarkModeStatus() {

View File

@ -1,18 +1,18 @@
diff --git chrome/common/media/component_widevine_cdm_hint_file_linux.cc chrome/common/media/component_widevine_cdm_hint_file_linux.cc
index d529ecfb270c4..2e922ef345f04 100644
index 60033bb10af50..afb0d23c07a34 100644
--- chrome/common/media/component_widevine_cdm_hint_file_linux.cc
+++ chrome/common/media/component_widevine_cdm_hint_file_linux.cc
@@ -16,6 +16,7 @@
#include "base/path_service.h"
@@ -18,6 +18,7 @@
#include "base/values.h"
#include "base/version.h"
#include "chrome/common/chrome_paths.h"
+#include "third_party/widevine/cdm/widevine_cdm_common.h"
namespace {
@@ -35,14 +36,33 @@ base::FilePath GetPath(const base::Value::Dict& dict) {
return path;
}
@@ -25,12 +26,31 @@ namespace {
const char kPath[] = "Path";
const char kLastBundledVersion[] = "LastBundledVersion";
+// On Linux the Widevine CDM is loaded into the zygote at startup. When the
+// component updater runs sometime later and finds a newer version of the
@ -34,9 +34,17 @@ index d529ecfb270c4..2e922ef345f04 100644
+ return true;
+}
+
} // namespace
// Returns the hint file contents as a Value::Dict. Returned result may be an
// empty dictionary if the hint file does not exist or is formatted incorrectly.
base::Value::Dict GetHintFileContents() {
base::FilePath hint_file_path;
- CHECK(base::PathService::Get(chrome::FILE_COMPONENT_WIDEVINE_CDM_HINT,
- &hint_file_path));
+ CHECK(GetHintFilePath(&hint_file_path));
DVLOG(1) << __func__ << " checking " << hint_file_path;
bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path) {
if (!base::PathExists(hint_file_path)) {
@@ -65,8 +85,7 @@ bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path,
DCHECK(!cdm_base_path.empty());
base::FilePath hint_file_path;
@ -46,13 +54,3 @@ index d529ecfb270c4..2e922ef345f04 100644
base::Value::Dict dict;
dict.Set(kPath, cdm_base_path.value());
@@ -60,8 +80,7 @@ bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path) {
base::FilePath GetLatestComponentUpdatedWidevineCdmDirectory() {
base::FilePath hint_file_path;
- CHECK(base::PathService::Get(chrome::FILE_COMPONENT_WIDEVINE_CDM_HINT,
- &hint_file_path));
+ CHECK(GetHintFilePath(&hint_file_path));
if (!base::PathExists(hint_file_path)) {
DVLOG(2) << "CDM hint file at " << hint_file_path << " does not exist.";

View File

@ -1,5 +1,5 @@
diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn
index 181b77f7ca411..79461dc7690ae 100644
index fc99800e70eb2..23d38bf15155f 100644
--- ui/accessibility/platform/BUILD.gn
+++ ui/accessibility/platform/BUILD.gn
@@ -290,6 +290,10 @@ component("platform") {

View File

@ -42,7 +42,7 @@ index 49f0ddab8318e..a3a9cd189fc2f 100644
if (print_dialog_) {
// PrintDialogGtk::UpdateSettings() calls InitWithSettings() so settings_ will
diff --git ui/linux/linux_ui.cc ui/linux/linux_ui.cc
index 29db798e8b171..f8b9546b90321 100644
index 3408b6200d17a..5d91e65a2b40f 100644
--- ui/linux/linux_ui.cc
+++ ui/linux/linux_ui.cc
@@ -18,11 +18,29 @@ namespace ui {
@ -76,12 +76,12 @@ index 29db798e8b171..f8b9546b90321 100644
}
diff --git ui/linux/linux_ui.h ui/linux/linux_ui.h
index 69f678a91012f..d518b476002b3 100644
index b940382678ba7..c2fa9b7303e87 100644
--- ui/linux/linux_ui.h
+++ ui/linux/linux_ui.h
@@ -19,6 +19,10 @@
@@ -20,6 +20,10 @@
#include "printing/buildflags/buildflags.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/display/types/display_config.h"
+#if BUILDFLAG(ENABLE_PRINTING)
+#include "printing/printing_context_linux.h" // nogncheck
@ -90,9 +90,9 @@ index 69f678a91012f..d518b476002b3 100644
// The main entrypoint into Linux toolkit specific code. GTK/QT code should only
// be executed behind this interface.
@@ -92,9 +96,27 @@ inline DisplayConfig::DisplayConfig(DisplayConfig&& other) = default;
inline DisplayConfig& DisplayConfig::operator=(DisplayConfig&& other) = default;
inline DisplayConfig::~DisplayConfig() = default;
@@ -62,9 +66,27 @@ class TextEditCommandAuraLinux;
class WindowButtonOrderObserver;
class WindowFrameProvider;
+class COMPONENT_EXPORT(LINUX_UI) PrintingContextLinuxDelegate {
+ public:
@ -119,7 +119,7 @@ index 69f678a91012f..d518b476002b3 100644
public:
// Describes the window management actions that could be taken in response to
// a middle click in the non client area.
@@ -161,14 +183,6 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUi {
@@ -150,14 +172,6 @@ class COMPONENT_EXPORT(LINUX_UI) LinuxUi {
// Returns a map of KeyboardEvent code to KeyboardEvent key values.
virtual base::flat_map<std::string, std::string> GetKeyboardLayoutMap() = 0;

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index 1ea1910a5bfe1..c73433d1ad893 100644
index ba0ed16724051..3e8c2990afdac 100644
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -1042,8 +1042,8 @@ int ProfileMenuViewBase::GetMaxHeight() const {
@@ -1072,8 +1072,8 @@ int ProfileMenuViewBase::GetMaxHeight() const {
->GetDisplayNearestPoint(anchor_rect.CenterPoint())
.work_area();
int available_space = screen_space.bottom() - anchor_rect.bottom();
@ -14,7 +14,7 @@ index 1ea1910a5bfe1..c73433d1ad893 100644
std::max(available_space, anchor_rect.y() - screen_space.y());
#endif
diff --git ui/views/style/platform_style_mac.mm ui/views/style/platform_style_mac.mm
index fd780b3e97e84..9f915cc9c4615 100644
index ace1e3b9864be..869d1f51700a1 100644
--- ui/views/style/platform_style_mac.mm
+++ ui/views/style/platform_style_mac.mm
@@ -43,7 +43,7 @@ const bool PlatformStyle::kTableViewSupportsKeyboardNavigationByCell = false;

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index c30066f515f63..450c67882ea91 100644
index 2f07a9603504c..c8d0aece94dc5 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@ -10,7 +10,7 @@ index c30066f515f63..450c67882ea91 100644
#include "base/message_loop/message_pump_win.h"
#include <algorithm>
@@ -496,7 +497,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
@@ -501,7 +502,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
ctx.event()->set_chrome_message_pump();
msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible);
});

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index 66c632b1818a6..fca4dcbb4a38b 100644
index e0887cdb49c7c..d2bf0571793cf 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -25,7 +25,7 @@ struct DropData;
@@ -26,7 +26,7 @@ struct DropData;
// The `WebContentsView` is an interface that is implemented by the platform-
// dependent web contents views. The `WebContents` uses this interface to talk
// to them.
@ -12,10 +12,10 @@ index 66c632b1818a6..fca4dcbb4a38b 100644
virtual ~WebContentsView() = default;
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index 02f204564a67e..2500ebbc92cb3 100644
index 39def4c0d8ad5..6e856ae9bcd96 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -202,6 +202,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -203,6 +203,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;
@ -24,7 +24,7 @@ index 02f204564a67e..2500ebbc92cb3 100644
std::move(callback).Run(std::move(owned_this),
WebContents::CreateWithSessionStorage(
params, owner_web_contents()
@@ -210,6 +212,10 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -211,6 +213,10 @@ void MimeHandlerViewGuest::CreateWebContents(
}
void MimeHandlerViewGuest::DidAttachToEmbedder() {
@ -35,7 +35,7 @@ index 02f204564a67e..2500ebbc92cb3 100644
DCHECK(stream_->handler_url().SchemeIs(extensions::kExtensionScheme));
GetController().LoadURL(stream_->handler_url(), content::Referrer(),
ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string());
@@ -480,6 +486,14 @@ void MimeHandlerViewGuest::DidFinishNavigation(
@@ -481,6 +487,14 @@ void MimeHandlerViewGuest::DidFinishNavigation(
}
}
@ -51,7 +51,7 @@ index 02f204564a67e..2500ebbc92cb3 100644
mojo::PendingReceiver<mime_handler::BeforeUnloadControl> receiver) {
if (!pending_before_unload_control_)
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index a5066da1a593c..880fc3c87e48f 100644
index 5709e978f2d8e..c1f1720a31e1a 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
@@ -195,10 +195,12 @@ class MimeHandlerViewGuest

View File

@ -10,10 +10,10 @@ index 0e563dbb253ca..891b2bbc3785c 100644
+// This load will not send any cookies. For CEF usage.
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20)
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
index 6eeea59318bbc..6e46770ca0f74 100644
index d007b8623e02c..258f077803edd 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -1850,7 +1850,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
@@ -1884,7 +1884,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
// Read cookies whenever allow_credentials() is true, even if the PrivacyMode
// is being overridden by NetworkDelegate and will eventually block them, as
// blocked cookies still need to be logged in that case.
@ -24,7 +24,7 @@ index 6eeea59318bbc..6e46770ca0f74 100644
bool URLRequestHttpJob::ShouldRecordPartitionedCookieUsage() const {
diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc
index 39c94526163d0..9e7bdd53e91be 100644
index 435ded6852c97..9a430ec4c5695 100644
--- services/network/public/cpp/resource_request.cc
+++ services/network/public/cpp/resource_request.cc
@@ -312,7 +312,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {

View File

@ -1,5 +1,5 @@
diff --git net/test/embedded_test_server/embedded_test_server.cc net/test/embedded_test_server/embedded_test_server.cc
index 3167953b790e5..bc328c0a1cedc 100644
index 0f50e1fb328cf..5f610172279ac 100644
--- net/test/embedded_test_server/embedded_test_server.cc
+++ net/test/embedded_test_server/embedded_test_server.cc
@@ -1015,7 +1015,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWait(base::OnceClosure closure) {

View File

@ -1,5 +1,5 @@
diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc
index dc6605dc280d3..86c4633cf7240 100644
index e221b9dce73ec..ab566481896ba 100644
--- net/url_request/url_request_job.cc
+++ net/url_request/url_request_job.cc
@@ -34,6 +34,7 @@

View File

@ -13,10 +13,10 @@ index 431df5d50debe..0fcc9ea8fbb1a 100644
return nullptr;
}
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index b62442d2213a7..e7275588c01ce 100644
index d07266a32e786..5a0baf4aa9c6d 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3305,6 +3305,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
@@ -3313,6 +3313,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
}
@ -29,10 +29,10 @@ index b62442d2213a7..e7275588c01ce 100644
const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index 709246523b417..1245082f6016c 100644
index 8e48429dbce98..daf8386513031 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -808,6 +808,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -811,6 +811,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();

View File

@ -34,7 +34,7 @@ index dc474d9ca5c3a..764ae7c3ddce2 100644
}
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index a462e526f98a4..8b142f9e5d22a 100644
index 54efe456fd86e..a685c4e0722cc 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -16,6 +16,7 @@
@ -84,7 +84,7 @@ index c85248ab0d0a0..05b3454c0356d 100644
}
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index ef26355bd31b8..6b00ae03e6ac8 100644
index b02c2e2e9b050..de501fd2a07f9 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -25,6 +25,7 @@

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
index caa732b8f72d3..ccddb59643734 100644
index 78beefbdd4df3..de940aca40020 100644
--- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc
@@ -709,6 +709,8 @@ bool RenderViewHostImpl::IsRenderViewLive() const {

View File

@ -1,5 +1,5 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 6da2427c7e24a..a642c054fd1f3 100644
index 1b34e73d28726..0b9c4b8006355 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -944,6 +944,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@ -28,7 +28,7 @@ index 6da2427c7e24a..a642c054fd1f3 100644
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == nullptr) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index c24f5faf14d3f..96d4f6be11588 100644
index e5cd807134905..6d563565dca5e 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -219,6 +219,11 @@ class COMPONENT_EXPORT(UI_BASE) ResourceBundle {

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc
index 9b37b8a18c5c0..048e70377224c 100644
index 04988fb23c26a..8d41d7b90f420 100644
--- content/browser/renderer_host/render_frame_host_impl.cc
+++ content/browser/renderer_host/render_frame_host_impl.cc
@@ -10278,6 +10278,7 @@ void RenderFrameHostImpl::CommitNavigation(
@@ -10351,6 +10351,7 @@ void RenderFrameHostImpl::CommitNavigation(
auto browser_calc_origin_to_commit =
navigation_request->GetOriginToCommitWithDebugInfo();
if (!process_lock.is_error_page() && !is_mhtml_subframe &&

View File

@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 7942ee12c003c..a742da36eb1a6 100644
index a1192dc007ae5..245b62a91f315 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -6,6 +6,7 @@
@ -10,7 +10,7 @@ index 7942ee12c003c..a742da36eb1a6 100644
#include <set>
#include <utility>
@@ -725,10 +726,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -718,10 +719,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -27,7 +27,7 @@ index 7942ee12c003c..a742da36eb1a6 100644
}
#if BUILDFLAG(IS_WIN)
@@ -2353,6 +2356,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2339,6 +2342,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor()
: SK_ColorWHITE);
UpdateFrameSinkIdRegistration();

View File

@ -19,7 +19,7 @@ index 22747ebcf31c0..8fba5da85a656 100644
bool Screen::GetDisplayWithDisplayId(int64_t display_id,
diff --git ui/display/win/screen_win.cc ui/display/win/screen_win.cc
index 6b6189a124e3f..02fc6c885d11d 100644
index bbdd9a1151390..f9269a871d5e5 100644
--- ui/display/win/screen_win.cc
+++ ui/display/win/screen_win.cc
@@ -534,7 +534,7 @@ gfx::Rect ScreenWin::ScreenToDIPRect(HWND hwnd, const gfx::Rect& pixel_bounds) {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
index 101044d12aa89..795fb5f2d0738 100644
index 6c5a89d8bc1d4..8ddebf1d72f9b 100644
--- chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
+++ chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc
@@ -23,6 +23,7 @@
@ -10,7 +10,7 @@ index 101044d12aa89..795fb5f2d0738 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/enterprise/connectors/analysis/analysis_settings.h"
#include "chrome/browser/enterprise/connectors/analysis/content_analysis_dialog.h"
@@ -265,6 +266,9 @@ bool ContentAnalysisDelegate::IsEnabled(Profile* profile,
@@ -317,6 +318,9 @@ bool ContentAnalysisDelegate::IsEnabled(Profile* profile,
GURL url,
Data* data,
AnalysisConnector connector) {
@ -38,7 +38,7 @@ index 0509dabf8f421..35a0046a03c6c 100644
base::RepeatingCallback<content::BrowserContext*()> browser_context_getter =
base::BindRepeating(
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index 62d54608cfe39..f6edd65789aa2 100644
index 0525b84f86b29..22d3108d5c7a9 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -23,6 +23,7 @@
@ -161,10 +161,10 @@ index 77522f65b7b6e..51cc2d60d4b8d 100644
GetInstance()->GetServiceForBrowserContext(profile, true));
}
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index 643279afbb341..aadd242e17cd0 100644
index 545288009f1b0..988a882733c0d 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -552,6 +552,25 @@ void CookieMonster::SetCookieableSchemes(
@@ -554,6 +554,25 @@ void CookieMonster::SetCookieableSchemes(
MaybeRunCookieCallback(std::move(callback), true);
}
@ -191,7 +191,7 @@ index 643279afbb341..aadd242e17cd0 100644
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
index 6871ed30edce4..594c0c5b5f4d5 100644
index e8202c955a8b3..9cef705807a1f 100644
--- net/cookies/cookie_monster.h
+++ net/cookies/cookie_monster.h
@@ -208,6 +208,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
@ -200,11 +200,11 @@ index 6871ed30edce4..594c0c5b5f4d5 100644
SetCookieableSchemesCallback callback) override;
+ void AddCookieableSchemes(const std::vector<std::string>& schemes,
+ SetCookieableSchemesCallback callback) override;
absl::optional<bool> SiteHasCookieInOtherPartition(
std::optional<bool> SiteHasCookieInOtherPartition(
const net::SchemefulSite& site,
const absl::optional<CookiePartitionKey>& partition_key) const override;
const std::optional<CookiePartitionKey>& partition_key) const override;
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
index 61fd008fc067e..73909be088278 100644
index 3f0be99e0e145..0462ebbe9bedc 100644
--- net/cookies/cookie_store.h
+++ net/cookies/cookie_store.h
@@ -163,6 +163,11 @@ class NET_EXPORT CookieStore {
@ -220,7 +220,7 @@ index 61fd008fc067e..73909be088278 100644
// reset to null.
const CookieAccessDelegate* cookie_access_delegate() const {
diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc
index e5e410525d8a6..ca1225642ef64 100644
index d0f230b581c8f..77b3551cc3fb5 100644
--- services/network/cookie_manager.cc
+++ services/network/cookie_manager.cc
@@ -310,14 +310,9 @@ void CookieManager::AllowFileSchemeCookies(
@ -242,10 +242,10 @@ index e5e410525d8a6..ca1225642ef64 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 4547a0dc69562..d03e771ee52b8 100644
index c8fd97e2bb411..5682259085232 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2385,16 +2385,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2401,16 +2401,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}
@ -274,10 +274,10 @@ index 4547a0dc69562..d03e771ee52b8 100644
base::FeatureList::IsEnabled(features::kFledgePst)) {
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 3096bd7d6719b..1c383acba0207 100644
index 3240e5b9a1a61..27e086758b6e5 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -358,6 +358,9 @@ struct NetworkContextParams {
@@ -359,6 +359,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index a1db5b377647e..3442371165570 100644
index fe8318f3c4f6f..9c3a9cb356b0f 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -3345,8 +3345,12 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -3267,8 +3267,12 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
@ -16,7 +16,7 @@ index a1db5b377647e..3442371165570 100644
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
@@ -3356,9 +3360,12 @@ void StoragePartitionImpl::InitNetworkContext() {
@@ -3278,9 +3282,12 @@ void StoragePartitionImpl::InitNetworkContext() {
cert_verifier::mojom::CertVerifierCreationParamsPtr
cert_verifier_creation_params =
cert_verifier::mojom::CertVerifierCreationParams::New();

View File

@ -1,5 +1,5 @@
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
index 8df4e98500b1e..f649d016e1e5a 100644
index 112c061004744..ee0ea41872823 100644
--- ui/views/controls/webview/webview.cc
+++ ui/views/controls/webview/webview.cc
@@ -159,6 +159,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
@ -14,7 +14,7 @@ index 8df4e98500b1e..f649d016e1e5a 100644
if (crashed_overlay_view_.view() == crashed_overlay_view) {
return;
diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h
index 3b829d69e4254..6d58b64600c58 100644
index 23ddefe2a75b7..5a7eea658ed28 100644
--- ui/views/controls/webview/webview.h
+++ ui/views/controls/webview/webview.h
@@ -93,6 +93,10 @@ class WEBVIEW_EXPORT WebView : public View,

View File

@ -58,10 +58,10 @@ index e82cdd66a2d5c..1816b2fe54ff5 100644
// static
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index 2926db89bac41..8710578eee554 100644
index 348245d4da651..81bb4b0671f8c 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -569,7 +569,7 @@ bool DatabaseTracker::LazyInit() {
@@ -568,7 +568,7 @@ bool DatabaseTracker::LazyInit() {
databases_table_ = std::make_unique<DatabasesTable>(db_.get());
meta_table_ = std::make_unique<sql::MetaTable>();

View File

@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index f82e41ee24e1d..b0b64ec7c249c 100644
index 5f6efb0e93bce..626830a66b73c 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -65,6 +65,8 @@

View File

@ -1,5 +1,5 @@
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 4a0397e34c1d3..af8be5329b5ff 100644
index 8f7e26c6bfcfa..daf9e5e003f6a 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -163,7 +163,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/views/toolbar/app_menu.cc chrome/browser/ui/views/toolbar/app_menu.cc
index bd539436f7204..7fa48b6b3dba0 100644
index 0e771ce8b219c..d1826cc2366dd 100644
--- chrome/browser/ui/views/toolbar/app_menu.cc
+++ chrome/browser/ui/views/toolbar/app_menu.cc
@@ -999,7 +999,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) {
@@ -1004,7 +1004,9 @@ void AppMenu::RunMenu(views::MenuButtonController* host) {
host->button()->GetWidget(), host,
host->button()->GetAnchorBoundsInScreen(),
views::MenuAnchorPosition::kTopRight, ui::MENU_SOURCE_NONE,
@ -14,7 +14,7 @@ index bd539436f7204..7fa48b6b3dba0 100644
}
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index a6d70c71a1b3a..1b628f5284409 100644
index fb795f76d3616..6e36a4c1e29da 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -17,8 +17,11 @@
@ -58,10 +58,10 @@ index a6d70c71a1b3a..1b628f5284409 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index cf08dd7f0a3ad..8366b2e4104d0 100644
index 6f5682607d98f..88c4c445460a4 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -671,6 +671,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
@@ -671,6 +671,14 @@ void RenderText::SetWhitespaceElision(std::optional<bool> whitespace_elision) {
}
}
@ -97,12 +97,12 @@ index cf08dd7f0a3ad..8366b2e4104d0 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index 5b3eda36fa332..d307017905c7d 100644
index 9bc3bd4e32283..0daf2c41cbb04 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -347,6 +347,10 @@ class GFX_EXPORT RenderText {
return whitespace_elision_;
}
@@ -345,6 +345,10 @@ class GFX_EXPORT RenderText {
void SetWhitespaceElision(std::optional<bool> elide_whitespace);
std::optional<bool> whitespace_elision() const { return whitespace_elision_; }
+ // Get or set the flags that control display of accelerator characters.
+ void SetDrawStringsFlags(int flags);
@ -111,7 +111,7 @@ index 5b3eda36fa332..d307017905c7d 100644
const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r);
@@ -1060,6 +1064,8 @@ class GFX_EXPORT RenderText {
@@ -1058,6 +1062,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the |layout_text_| needs an update or is up to date.
mutable bool layout_text_up_to_date_ = false;
@ -121,7 +121,7 @@ index 5b3eda36fa332..d307017905c7d 100644
} // namespace gfx
diff --git ui/views/animation/ink_drop_host.h ui/views/animation/ink_drop_host.h
index c1c0631071a11..aa2c01ebce43e 100644
index cbc1a0e7833fe..da451800b1a56 100644
--- ui/views/animation/ink_drop_host.h
+++ ui/views/animation/ink_drop_host.h
@@ -194,6 +194,8 @@ class VIEWS_EXPORT InkDropHost {
@ -134,10 +134,10 @@ index c1c0631071a11..aa2c01ebce43e 100644
friend class test::InkDropHostTestApi;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 0181ca73b3545..5a36c3b7a0a22 100644
index 30555a9c9c2a6..399eabb548184 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -579,6 +579,12 @@ void LabelButton::OnThemeChanged() {
@@ -578,6 +578,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@ -151,10 +151,10 @@ index 0181ca73b3545..5a36c3b7a0a22 100644
Button::StateChanged(old_state);
ResetLabelEnabledColor();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index d5f56eb7b0bbf..65c8572b3f6d8 100644
index 305fdcb678cf8..ce70df19c5eac 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -173,6 +173,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -172,6 +172,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
// widget, and the parent of the containing widget.
ButtonState GetVisualState() const;
@ -165,7 +165,7 @@ index d5f56eb7b0bbf..65c8572b3f6d8 100644
LabelButtonImageContainer* image_container() {
return image_container_.get();
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index bee3e8a14eb85..6246560284fe8 100644
index 7c65e26445a8d..0c6ca927d3899 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -51,12 +51,29 @@ enum LabelPropertyKey {
@ -232,7 +232,7 @@ index bee3e8a14eb85..6246560284fe8 100644
}
diff --git ui/views/controls/label.h ui/views/controls/label.h
index c51219fabae91..7a84f2bb266d8 100644
index 273805cdee382..d3cfd2d5fe3a9 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -241,6 +241,10 @@ class VIEWS_EXPORT Label : public View,
@ -255,7 +255,7 @@ index c51219fabae91..7a84f2bb266d8 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 50fd3ae4ff13e..12961bf3e8316 100644
index 8428a296547e0..040f74170d20c 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -566,7 +566,8 @@ void MenuController::Run(Widget* parent,
@ -284,7 +284,7 @@ index 50fd3ae4ff13e..12961bf3e8316 100644
if (item->GetParentMenuItem()) {
params.context = item->GetWidget();
// (crbug.com/1414232) The item to be open is a submenu. Make sure
@@ -2918,8 +2921,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
@@ -2915,8 +2918,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -299,7 +299,7 @@ index 50fd3ae4ff13e..12961bf3e8316 100644
// Show the sub-menu.
SetSelection(item, SELECTION_OPEN_SUBMENU | SELECTION_UPDATE_IMMEDIATELY);
@@ -2939,8 +2947,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2936,8 +2944,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -312,7 +312,7 @@ index 50fd3ae4ff13e..12961bf3e8316 100644
SetSelection(item, SELECTION_UPDATE_IMMEDIATELY);
else if (item->GetParentMenuItem()->GetParentMenuItem())
diff --git ui/views/controls/menu/menu_controller.h ui/views/controls/menu/menu_controller.h
index 55d0bb090d221..3cf3054e4ad7b 100644
index 43668ea5b4fcf..6e7d397a3b82f 100644
--- ui/views/controls/menu/menu_controller.h
+++ ui/views/controls/menu/menu_controller.h
@@ -139,7 +139,9 @@ class VIEWS_EXPORT MenuController
@ -336,12 +336,12 @@ index 55d0bb090d221..3cf3054e4ad7b 100644
bool possible_drag_ = false;
diff --git ui/views/controls/menu/menu_delegate.h ui/views/controls/menu/menu_delegate.h
index b8fa1c116ebcd..015f15ed72385 100644
index 0623d151ddd3e..243e8c573e474 100644
--- ui/views/controls/menu/menu_delegate.h
+++ ui/views/controls/menu/menu_delegate.h
@@ -73,6 +73,22 @@ class VIEWS_EXPORT MenuDelegate {
virtual const gfx::FontList* GetLabelFontList(int id) const;
virtual absl::optional<SkColor> GetLabelColor(int id) const;
virtual std::optional<SkColor> GetLabelColor(int id) const;
+ // Override the text color of a given menu item dependent on the |command_id|
+ // and its |is_hovered| state. |is_minor| will be true for accelerator text.
@ -375,19 +375,19 @@ index b8fa1c116ebcd..015f15ed72385 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_host.cc ui/views/controls/menu/menu_host.cc
index 6e457f76955ce..041f1ead63339 100644
index 305d9547abb5c..d9e0b6e698158 100644
--- ui/views/controls/menu/menu_host.cc
+++ ui/views/controls/menu/menu_host.cc
@@ -141,6 +141,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) {
: gfx::NativeWindow();
params.bounds = init_params.bounds;
@@ -146,6 +146,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) {
submenu_->GetScrollViewContainer()->outside_border_insets();
#endif
+ params.parent_widget = init_params.parent_widget;
+
#if defined(USE_AURA)
// TODO(msisov): remove kMenutype once positioning of anchored windows
// finally migrates to a new path.
@@ -152,7 +154,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) {
params.init_properties_container.SetProperty(aura::client::kOwnedWindowAnchor,
init_params.owned_window_anchor);
@@ -153,7 +155,8 @@ void MenuHost::InitMenuHost(const InitParams& init_params) {
// If MenuHost has no parent widget, it needs to be marked
// Activatable, so that calling Show in ShowMenuHost will
// get keyboard focus.
@ -398,10 +398,10 @@ index 6e457f76955ce..041f1ead63339 100644
#if BUILDFLAG(IS_WIN)
diff --git ui/views/controls/menu/menu_host.h ui/views/controls/menu/menu_host.h
index aafbdb2535951..8a8e78be4a649 100644
index 7e92e72c01d62..e3e1fe357a635 100644
--- ui/views/controls/menu/menu_host.h
+++ ui/views/controls/menu/menu_host.h
@@ -55,6 +55,8 @@ class MenuHost : public Widget, public WidgetObserver {
@@ -53,6 +53,8 @@ class MenuHost : public Widget, public WidgetObserver {
// Additional information that helps to position anchored windows in such
// backends as Wayland.
ui::OwnedWindowAnchor owned_window_anchor;
@ -411,7 +411,7 @@ index aafbdb2535951..8a8e78be4a649 100644
explicit MenuHost(SubmenuView* submenu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 372d0ce15587d..bbb7aec20c5e4 100644
index fea71cd9602a1..d5aaa97716310 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1072,6 +1072,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@ -445,7 +445,7 @@ index 372d0ce15587d..bbb7aec20c5e4 100644
// use the default color.
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
index 7e8ea9764caf3..0f407cd4a129c 100644
index 1109f107fa8c1..cb54fdd6071e1 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -4,6 +4,7 @@
@ -559,7 +559,7 @@ index 30e11b5eee406..0c08301054ffa 100644
void WillHideMenu(MenuItemView* menu) override;
void OnMenuClosed(MenuItemView* menu) override;
diff --git ui/views/controls/menu/menu_runner.cc ui/views/controls/menu/menu_runner.cc
index d2d1ac027cfca..9f54154189f78 100644
index 9f746392f6d83..fa37345b6e021 100644
--- ui/views/controls/menu/menu_runner.cc
+++ ui/views/controls/menu/menu_runner.cc
@@ -42,6 +42,7 @@ void MenuRunner::RunMenuAt(
@ -567,8 +567,8 @@ index d2d1ac027cfca..9f54154189f78 100644
ui::MenuSourceType source_type,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) {
// Do not attempt to show the menu if the application is currently shutting
@@ -89,7 +90,7 @@ void MenuRunner::RunMenuAt(
}
@ -580,7 +580,7 @@ index d2d1ac027cfca..9f54154189f78 100644
}
diff --git ui/views/controls/menu/menu_runner.h ui/views/controls/menu/menu_runner.h
index 4531f4586d3dd..de78b3f8ac552 100644
index c18d1c4d729e1..a73c48c02f1be 100644
--- ui/views/controls/menu/menu_runner.h
+++ ui/views/controls/menu/menu_runner.h
@@ -157,6 +157,8 @@ class VIEWS_EXPORT MenuRunner {
@ -589,11 +589,11 @@ index 4531f4586d3dd..de78b3f8ac552 100644
gfx::NativeView native_view_for_gestures = gfx::NativeView(),
+ gfx::AcceleratedWidget parent_widget =
+ gfx::kNullAcceleratedWidget,
absl::optional<gfx::RoundedCornersF> corners = absl::nullopt,
absl::optional<std::string> show_menu_host_duration_histogram =
absl::nullopt);
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt);
diff --git ui/views/controls/menu/menu_runner_impl.cc ui/views/controls/menu/menu_runner_impl.cc
index 8100d5e1b4a44..45036c43772ee 100644
index 0ef0f5ed80dcd..2c2fefdc1b4d2 100644
--- ui/views/controls/menu/menu_runner_impl.cc
+++ ui/views/controls/menu/menu_runner_impl.cc
@@ -116,6 +116,7 @@ void MenuRunnerImpl::RunMenuAt(
@ -601,8 +601,8 @@ index 8100d5e1b4a44..45036c43772ee 100644
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) {
closing_event_time_ = base::TimeTicks();
@@ -189,7 +190,7 @@ void MenuRunnerImpl::RunMenuAt(
controller->Run(parent, button_controller, menu_.get(), bounds, anchor,
@ -614,7 +614,7 @@ index 8100d5e1b4a44..45036c43772ee 100644
void MenuRunnerImpl::Cancel() {
diff --git ui/views/controls/menu/menu_runner_impl.h ui/views/controls/menu/menu_runner_impl.h
index 9b2ac3f475acc..27c0bf33299d9 100644
index c36540ede44a1..6e60ee28bad17 100644
--- ui/views/controls/menu/menu_runner_impl.h
+++ ui/views/controls/menu/menu_runner_impl.h
@@ -53,6 +53,7 @@ class VIEWS_EXPORT MenuRunnerImpl : public MenuRunnerImplInterface,
@ -622,11 +622,11 @@ index 9b2ac3f475acc..27c0bf33299d9 100644
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners = absl::nullopt,
absl::optional<std::string> show_menu_host_duration_histogram =
absl::nullopt) override;
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) override;
diff --git ui/views/controls/menu/menu_runner_impl_adapter.cc ui/views/controls/menu/menu_runner_impl_adapter.cc
index 8ba01786963e4..70d3c3b9363af 100644
index 35f1542e2162d..702ede49238af 100644
--- ui/views/controls/menu/menu_runner_impl_adapter.cc
+++ ui/views/controls/menu/menu_runner_impl_adapter.cc
@@ -36,10 +36,11 @@ void MenuRunnerImplAdapter::RunMenuAt(
@ -634,8 +634,8 @@ index 8ba01786963e4..70d3c3b9363af 100644
int32_t types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) {
impl_->RunMenuAt(parent, button_controller, bounds, anchor, types,
- native_view_for_gestures);
+ native_view_for_gestures, parent_widget);
@ -643,43 +643,43 @@ index 8ba01786963e4..70d3c3b9363af 100644
void MenuRunnerImplAdapter::Cancel() {
diff --git ui/views/controls/menu/menu_runner_impl_adapter.h ui/views/controls/menu/menu_runner_impl_adapter.h
index 8b2e1065dc9e9..c7f20c42a49ea 100644
index 546818cef0120..8d2bccf62588e 100644
--- ui/views/controls/menu/menu_runner_impl_adapter.h
+++ ui/views/controls/menu/menu_runner_impl_adapter.h
@@ -44,6 +44,7 @@ class VIEWS_EXPORT MenuRunnerImplAdapter : public MenuRunnerImplInterface {
MenuAnchorPosition anchor,
int32_t types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners = absl::nullopt,
absl::optional<std::string> show_menu_host_duration_histogram =
absl::nullopt) override;
+ gfx::AcceleratedWidget parent_widget,
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.h ui/views/controls/menu/menu_runner_impl_cocoa.h
index 0d920c6857f8a..e3156a18dc8bc 100644
index b0d0334939730..18a5a159ccaf4 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.h
+++ ui/views/controls/menu/menu_runner_impl_cocoa.h
@@ -42,6 +42,7 @@ class VIEWS_EXPORT MenuRunnerImplCocoa : public MenuRunnerImplInterface {
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners = absl::nullopt,
absl::optional<std::string> show_menu_host_duration_histogram =
absl::nullopt) override;
@@ -43,6 +43,7 @@ class VIEWS_EXPORT MenuRunnerImplCocoa : public MenuRunnerImplInterface {
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.mm ui/views/controls/menu/menu_runner_impl_cocoa.mm
index c7b2c7ae0bd9b..fc3c32e6ddb79 100644
index c585f056973e2..02af08d23a9b9 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.mm
+++ ui/views/controls/menu/menu_runner_impl_cocoa.mm
@@ -190,6 +190,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
@@ -70,6 +70,7 @@
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget /*parent_widget*/,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
std::optional<gfx::RoundedCornersF> corners,
std::optional<std::string> show_menu_host_duration_histogram) {
DCHECK(!IsRunning());
diff --git ui/views/controls/menu/menu_runner_impl_interface.h ui/views/controls/menu/menu_runner_impl_interface.h
index 5db5ddfec3c1f..af0ee5a3ae030 100644
index 972abab3bf46f..ce6b32b1524e8 100644
--- ui/views/controls/menu/menu_runner_impl_interface.h
+++ ui/views/controls/menu/menu_runner_impl_interface.h
@@ -47,6 +47,8 @@ class MenuRunnerImplInterface {
@ -688,11 +688,70 @@ index 5db5ddfec3c1f..af0ee5a3ae030 100644
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget =
+ gfx::kNullAcceleratedWidget,
absl::optional<gfx::RoundedCornersF> corners = absl::nullopt,
absl::optional<std::string> show_menu_host_duration_histogram =
absl::nullopt) = 0;
std::optional<gfx::RoundedCornersF> corners = std::nullopt,
std::optional<std::string> show_menu_host_duration_histogram =
std::nullopt) = 0;
diff --git ui/views/controls/menu/menu_runner_impl_mac.h ui/views/controls/menu/menu_runner_impl_mac.h
index 799e03fd15794..bf6b95fb5797b 100644
--- ui/views/controls/menu/menu_runner_impl_mac.h
+++ ui/views/controls/menu/menu_runner_impl_mac.h
@@ -40,6 +40,7 @@ class VIEWS_EXPORT MenuRunnerImplMac : public MenuRunnerImplInterface {
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_mac.mm ui/views/controls/menu/menu_runner_impl_mac.mm
index 0fb98f56e84c8..1e332dc57b62f 100644
--- ui/views/controls/menu/menu_runner_impl_mac.mm
+++ ui/views/controls/menu/menu_runner_impl_mac.mm
@@ -47,6 +47,7 @@
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
if (!implementation_) {
@@ -59,8 +60,8 @@
}
}
implementation_->RunMenuAt(parent, button_controller, bounds, anchor,
- run_types, native_view_for_gestures, corners,
- show_menu_host_duration_histogram);
+ run_types, native_view_for_gestures, parent_widget,
+ corners, show_menu_host_duration_histogram);
}
void MenuRunnerImplMac::Cancel() {
diff --git ui/views/controls/menu/menu_runner_impl_remote_cocoa.h ui/views/controls/menu/menu_runner_impl_remote_cocoa.h
index fe26b1070d1fc..5907de1e710ea 100644
--- ui/views/controls/menu/menu_runner_impl_remote_cocoa.h
+++ ui/views/controls/menu/menu_runner_impl_remote_cocoa.h
@@ -58,6 +58,7 @@ class VIEWS_EXPORT MenuRunnerImplRemoteCocoa
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) override;
void Cancel() override;
diff --git ui/views/controls/menu/menu_runner_impl_remote_cocoa.mm ui/views/controls/menu/menu_runner_impl_remote_cocoa.mm
index 92e105c78dec5..5a46ea93c5322 100644
--- ui/views/controls/menu/menu_runner_impl_remote_cocoa.mm
+++ ui/views/controls/menu/menu_runner_impl_remote_cocoa.mm
@@ -70,6 +70,7 @@
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
+ gfx::AcceleratedWidget parent_widget,
absl::optional<gfx::RoundedCornersF> corners,
absl::optional<std::string> show_menu_host_duration_histogram) {
RunMenu(parent, bounds.CenterPoint());
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 28ec8796ddf48..91e0bb2cbc1d2 100644
index 49ef1918236ec..f274df414558a 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -252,6 +252,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@ -708,10 +767,10 @@ index 28ec8796ddf48..91e0bb2cbc1d2 100644
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
diff --git ui/views/test/ui_controls_factory_desktop_aura_ozone.cc ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
index 616efdce0e7c5..e0e20fdb0f80b 100644
index 9228af7f0b02e..a6957017fef5c 100644
--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
+++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
@@ -15,6 +15,7 @@
@@ -16,6 +16,7 @@
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -719,7 +778,7 @@ index 616efdce0e7c5..e0e20fdb0f80b 100644
#include "ui/aura/client/screen_position_client.h"
#include "ui/aura/env.h"
#include "ui/aura/test/aura_test_utils.h"
@@ -180,9 +181,11 @@ bool SendMouseMoveNotifyWhenDone(int screen_x,
@@ -181,9 +182,11 @@ bool SendMouseMoveNotifyWhenDone(int screen_x,
aura::test::QueryLatestMousePositionRequestInHost(host);
host->ConvertPixelsToDIP(&root_current_location);
@ -732,18 +791,18 @@ index 616efdce0e7c5..e0e20fdb0f80b 100644
#if !BUILDFLAG(IS_CHROMEOS_LACROS)
if (root_location != root_current_location &&
diff --git ui/views/view.h ui/views/view.h
index 73b9ef4f25337..aba651e745223 100644
index 90905a70c39f1..59e1959efe352 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -22,6 +22,7 @@
@@ -25,6 +25,7 @@
#include "base/memory/safety_checks.h"
#include "base/observer_list.h"
#include "base/strings/string_piece.h"
+#include "base/supports_user_data.h"
#include "base/types/pass_key.h"
#include "build/build_config.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/skia/include/core/SkPath.h"
@@ -284,7 +285,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
@@ -288,7 +289,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
public ui::EventTarget,
public ui::EventHandler,
public ui::PropertyHandler,

View File

@ -23,7 +23,7 @@ index cef40af382b1e..a2cf4691edc37 100644
case ui::SHOW_STATE_END:
return ui::SHOW_STATE_NORMAL;
diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc
index 70781f59a7528..65f30d4ff614d 100644
index 6d7ab01569f49..27db605bd571a 100644
--- components/sessions/core/session_service_commands.cc
+++ components/sessions/core/session_service_commands.cc
@@ -165,9 +165,10 @@ enum PersistedWindowShowState {
@ -49,7 +49,7 @@ index 70781f59a7528..65f30d4ff614d 100644
case ui::SHOW_STATE_MAXIMIZED:
return PERSISTED_SHOW_STATE_MAXIMIZED;
diff --git components/sessions/core/tab_restore_service_impl.cc components/sessions/core/tab_restore_service_impl.cc
index 837fbd223fe94..0f751768e5e32 100644
index e9ad2d5751f2d..e51381e8f2dbf 100644
--- components/sessions/core/tab_restore_service_impl.cc
+++ components/sessions/core/tab_restore_service_impl.cc
@@ -192,6 +192,7 @@ int SerializeWindowShowState(ui::WindowShowState show_state) {
@ -61,10 +61,10 @@ index 837fbd223fe94..0f751768e5e32 100644
case ui::SHOW_STATE_MAXIMIZED:
return kSerializedShowStateMaximized;
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index 6b51fa563b1b7..4dfac0e609ae6 100644
index a6f1863cc5c8a..7e169bc3462fd 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -651,6 +651,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
@@ -653,6 +653,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
return scale_override_for_capture_;
}
@ -80,10 +80,10 @@ index 6b51fa563b1b7..4dfac0e609ae6 100644
if (!GetMouseWheelPhaseHandler())
return;
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index cc3738cade39a..acd61e28af374 100644
index 03d6711927bd7..7c75fb30d66b8 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -71,6 +71,7 @@ class CursorManager;
@@ -72,6 +72,7 @@ class DevicePosturePlatformProvider;
class MouseWheelPhaseHandler;
class RenderWidgetHostImpl;
class RenderWidgetHostViewBaseObserver;
@ -91,7 +91,7 @@ index cc3738cade39a..acd61e28af374 100644
class SyntheticGestureTarget;
class TextInputManager;
class TouchSelectionControllerClientManager;
@@ -151,6 +152,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
@@ -152,6 +153,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
const gfx::Size& max_size) override;
void DisableAutoResize(const gfx::Size& new_size) override;
float GetDeviceScaleFactor() const final;
@ -100,7 +100,7 @@ index cc3738cade39a..acd61e28af374 100644
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
ui::mojom::VirtualKeyboardMode GetVirtualKeyboardMode() override;
@@ -190,6 +193,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
@@ -191,6 +194,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
// Called when screen information or native widget bounds change.
virtual void UpdateScreenInfo();
@ -111,7 +111,7 @@ index cc3738cade39a..acd61e28af374 100644
// Called by the TextInputManager to notify the view about being removed from
// the list of registered views, i.e., TextInputManager is no longer tracking
// TextInputState from this view. The RWHV should reset |text_input_manager_|
@@ -451,6 +458,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
@@ -452,6 +459,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
const gfx::Rect& bounds,
const gfx::Rect& anchor_rect) = 0;
@ -124,7 +124,7 @@ index cc3738cade39a..acd61e28af374 100644
// Sets the cursor for this view to the one specified.
virtual void UpdateCursor(const ui::Cursor& cursor) = 0;
@@ -734,6 +747,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
@@ -737,6 +750,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
// to all displays.
gfx::Size system_cursor_size_;
@ -135,7 +135,7 @@ index cc3738cade39a..acd61e28af374 100644
private:
FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest,
@@ -755,10 +772,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
@@ -758,10 +775,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
void SynchronizeVisualProperties();
@ -147,7 +147,7 @@ index cc3738cade39a..acd61e28af374 100644
// renderer process changes. This method is called before notifying
// RenderWidgetHostImpl in order to allow the view to allocate a new
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index c3648f4e5158e..152f4fbcdac11 100644
index 82bf8b2dba80d..7ac79b46da2b4 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -52,6 +52,10 @@ namespace {
@ -195,7 +195,7 @@ index c3648f4e5158e..152f4fbcdac11 100644
if (host_ && set_focus_on_mouse_down_or_key_event_) {
set_focus_on_mouse_down_or_key_event_ = false;
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
index b3acdceb83879..7a2de7e7d0678 100644
index 8effe5b2244a3..c36a5d3a6f7b3 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -259,6 +259,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@ -214,7 +214,7 @@ index b3acdceb83879..7a2de7e7d0678 100644
// Set the view's active state (i.e., tint state of controls).
virtual void SetActive(bool active) = 0;
diff --git ui/aura/native_window_occlusion_tracker_win.cc ui/aura/native_window_occlusion_tracker_win.cc
index 41c3d067b72d4..8463204012290 100644
index 1a0b1ab293042..0a9e13d651ca5 100644
--- ui/aura/native_window_occlusion_tracker_win.cc
+++ ui/aura/native_window_occlusion_tracker_win.cc
@@ -102,6 +102,13 @@ void NativeWindowOcclusionTrackerWin::Enable(Window* window) {
@ -244,7 +244,7 @@ index 1d79fc2dc34cc..ce5bf0ebf531f 100644
case ui::SHOW_STATE_MAXIMIZED:
return ui::mojom::WindowShowState::SHOW_STATE_MAXIMIZED;
diff --git ui/base/ui_base_types.h ui/base/ui_base_types.h
index 8bfbd2d675db6..ee90ad2884db7 100644
index 6076597470af9..871147e3e3a84 100644
--- ui/base/ui_base_types.h
+++ ui/base/ui_base_types.h
@@ -26,7 +26,8 @@ enum WindowShowState {
@ -258,21 +258,21 @@ index 8bfbd2d675db6..ee90ad2884db7 100644
// Specifies which edges of the window are tiled.
diff --git ui/ozone/platform/x11/x11_window.cc ui/ozone/platform/x11/x11_window.cc
index 449f721727fb1..ab549b482bc36 100644
index faa3c01acd505..0cad8751dbccc 100644
--- ui/ozone/platform/x11/x11_window.cc
+++ ui/ozone/platform/x11/x11_window.cc
@@ -1846,7 +1846,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) {
@@ -1870,7 +1870,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties) {
req.border_pixel = 0;
last_set_bounds_px_ = SanitizeBounds(bounds);
bounds_in_pixels_ = SanitizeBounds(bounds);
- req.parent = x_root_window_;
+ req.parent = properties.parent_widget == gfx::kNullAcceleratedWidget ?
+ x_root_window_ : static_cast<x11::Window>(properties.parent_widget);
req.x = last_set_bounds_px_.x();
req.y = last_set_bounds_px_.y();
req.width = last_set_bounds_px_.width();
req.x = bounds_in_pixels_.x();
req.y = bounds_in_pixels_.y();
req.width = bounds_in_pixels_.width();
diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc
index e4e6d3104da9e..bb372b0cd2960 100644
index e31c5b4cb6726..1b724948c2868 100644
--- ui/views/widget/desktop_aura/desktop_screen_win.cc
+++ ui/views/widget/desktop_aura/desktop_screen_win.cc
@@ -23,6 +23,8 @@ DesktopScreenWin::~DesktopScreenWin() {
@ -285,7 +285,7 @@ index e4e6d3104da9e..bb372b0cd2960 100644
return host ? host->GetAcceleratedWidget() : nullptr;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index cb1601bffadd2..072ad958cc90c 100644
index 946fce84291d4..558867c71737e 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -175,6 +175,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
@ -349,10 +349,10 @@ index 3151a2c872f4e..e14caeb1e6645 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
};
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index f841bc5750537..aa2d4720c8152 100644
index e1b6fbe325e76..cc45559423ce5 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -287,8 +287,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
@@ -293,8 +293,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
if (properties.parent_widget) {
window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget(
properties.parent_widget);
@ -364,7 +364,7 @@ index f841bc5750537..aa2d4720c8152 100644
// Calculate initial bounds.
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index d877d237b2c16..479f3bc1ac019 100644
index 8a691273aa8af..ef43f5ee7ceca 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -21,6 +21,7 @@
@ -498,7 +498,7 @@ index d877d237b2c16..479f3bc1ac019 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
index e963c861f7099..68c6e02f2bbe5 100644
index 8d5b01098915d..ae5b6a2193031 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -322,6 +322,14 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@ -517,7 +517,7 @@ index e963c861f7099..68c6e02f2bbe5 100644
// the implementation of ::ShowCursor() is based on a counter, so making this
// member static ensures that ::ShowCursor() is always called exactly once
diff --git ui/views/widget/native_widget_mac.mm ui/views/widget/native_widget_mac.mm
index 3a6617aefe420..6eeffcab6bb65 100644
index cbe655d5879d6..a72c3450d1fa7 100644
--- ui/views/widget/native_widget_mac.mm
+++ ui/views/widget/native_widget_mac.mm
@@ -640,6 +640,7 @@ void NativeWidgetMac::Show(ui::WindowShowState show_state,
@ -529,7 +529,7 @@ index 3a6617aefe420..6eeffcab6bb65 100644
break;
case ui::SHOW_STATE_END:
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 5093dee22b9da..df7f86de04259 100644
index 257e4c1059db7..9a080524825c7 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -399,7 +399,8 @@ void Widget::Init(InitParams params) {
@ -542,7 +542,7 @@ index 5093dee22b9da..df7f86de04259 100644
is_headless_ = params.ShouldInitAsHeadless();
if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred &&
@@ -497,14 +498,24 @@ void Widget::Init(InitParams params) {
@@ -497,9 +498,14 @@ void Widget::Init(InitParams params) {
if (show_state == ui::SHOW_STATE_MAXIMIZED) {
Maximize();
@ -555,6 +555,9 @@ index 5093dee22b9da..df7f86de04259 100644
+ } else if (show_state == ui::SHOW_STATE_HIDDEN) {
+ Hide();
}
#if BUILDFLAG(IS_CHROMEOS_ASH)
@@ -513,7 +519,12 @@ void Widget::Init(InitParams params) {
} else if (delegate) {
SetContentsView(delegate->TransferOwnershipOfContentsView());
if (should_set_initial_bounds) {
@ -568,7 +571,7 @@ index 5093dee22b9da..df7f86de04259 100644
}
}
@@ -1646,10 +1657,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
@@ -1655,10 +1666,16 @@ void Widget::OnNativeWidgetParentChanged(gfx::NativeView parent) {
}
gfx::Size Widget::GetMinimumSize() const {
@ -585,7 +588,7 @@ index 5093dee22b9da..df7f86de04259 100644
return non_client_view_ ? non_client_view_->GetMaximumSize() : gfx::Size();
}
@@ -1900,7 +1917,8 @@ bool Widget::SetInitialFocus(ui::WindowShowState show_state) {
@@ -1909,7 +1926,8 @@ bool Widget::SetInitialFocus(ui::WindowShowState show_state) {
return false;
View* v = widget_delegate_->GetInitiallyFocusedView();
if (!focus_on_creation_ || show_state == ui::SHOW_STATE_INACTIVE ||
@ -596,7 +599,7 @@ index 5093dee22b9da..df7f86de04259 100644
// focus when the window is restored.
if (v)
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 1939476d29da5..895df61324a2e 100644
index 5d190896a1308..36322410b8373 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -356,6 +356,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@ -608,7 +611,7 @@ index 1939476d29da5..895df61324a2e 100644
// Specifies the initial bounds of the Widget. Default is empty, which means
// the NativeWidget may specify a default size. If the parent is specified,
// |bounds| is in the parent's coordinate system. If the parent is not
@@ -752,7 +754,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -754,7 +756,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
void ShowInactive();
// Activates the widget, assuming it already exists and is visible.
@ -618,7 +621,7 @@ index 1939476d29da5..895df61324a2e 100644
// Deactivates the widget, making the next window in the Z order the active
// window.
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index 30dfd721cceef..30831b22580a4 100644
index dc81dccf6e446..c18ec44755a6a 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -375,6 +375,10 @@ class VIEWS_EXPORT WidgetDelegate
@ -647,10 +650,10 @@ index 3b9b00b7d79ae..e759e3c1a9f34 100644
if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index 36a6e980495ea..24d75fb85a65f 100644
index 7516856fb9314..4e1fac6c686fe 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -767,7 +767,11 @@ bool HWNDMessageHandler::IsVisible() const {
@@ -770,7 +770,11 @@ bool HWNDMessageHandler::IsVisible() const {
}
bool HWNDMessageHandler::IsActive() const {
@ -663,7 +666,7 @@ index 36a6e980495ea..24d75fb85a65f 100644
}
bool HWNDMessageHandler::IsMinimized() const {
@@ -3207,10 +3211,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3211,10 +3215,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -80,10 +80,10 @@ index 8af69cac78b74..9f74e511c263d 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index 5a5791600d1aa..43cbd8abe4a75 100644
index 5756139efd53e..a80a1504fbbce 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -249,6 +249,8 @@ viz_component("service") {
@@ -247,6 +247,8 @@ viz_component("service") {
"transitions/surface_animation_manager.h",
"transitions/transferable_resource_tracker.cc",
"transitions/transferable_resource_tracker.h",
@ -150,7 +150,7 @@ index 796ae2688436e..37a3406790210 100644
TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this);
diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc
index 516c7f65097f1..49e0fdc6b4109 100644
index 36a762f6a8054..0e5983a4f011d 100644
--- content/browser/compositor/viz_process_transport_factory.cc
+++ content/browser/compositor/viz_process_transport_factory.cc
@@ -408,8 +408,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
@ -223,7 +223,7 @@ index 2f462f0deb5fc..695869b83cefa 100644
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 86d021ca68674..26f6096b99c1f 100644
index 2b5ec776d7d90..ad2c8d8796a7e 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -33,7 +33,9 @@

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 21815a78d2429..bcad76251473b 100644
index aa108c2e0aab5..0d51494508d87 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -3471,6 +3471,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3459,6 +3459,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -15,7 +15,7 @@ index 21815a78d2429..bcad76251473b 100644
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3481,6 +3487,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3469,6 +3475,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -23,7 +23,7 @@ index 21815a78d2429..bcad76251473b 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -3676,6 +3683,9 @@ void WebContentsImpl::RenderWidgetCreated(
@@ -3664,6 +3671,9 @@ void WebContentsImpl::RenderWidgetCreated(
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated",
"render_widget_host", render_widget_host);
created_widgets_.insert(render_widget_host);
@ -33,7 +33,7 @@ index 21815a78d2429..bcad76251473b 100644
}
void WebContentsImpl::RenderWidgetDeleted(
@@ -4480,6 +4490,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
@@ -4484,6 +4494,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
create_params.picture_in_picture_options = *(params.pip_options);
}
@ -49,7 +49,7 @@ index 21815a78d2429..bcad76251473b 100644
// Check whether there is an available prerendered page for this navigation if
// this is not for guest. If it exists, take WebContents pre-created for
// hosting the prerendered page instead of creating new WebContents.
@@ -8679,6 +8698,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
@@ -8703,6 +8722,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
}
CloseListenerManager::DidChangeFocusedFrame(this);
@ -60,7 +60,7 @@ index 21815a78d2429..bcad76251473b 100644
void WebContentsImpl::DidCallFocus() {
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index 943d2c2a16821..976c257189bda 100644
index 2880552f5303c..5b034fbf8b036 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -101,10 +101,12 @@ class BrowserContext;
@ -88,10 +88,10 @@ index 943d2c2a16821..976c257189bda 100644
// the value that'll be returned by GetLastActiveTime(). If this is left
// default initialized then the value is not passed on to the WebContents
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index 0a80169aa10cf..8165b00da16c2 100644
index cce26ecaccbfd..08f7108f68890 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -60,9 +60,11 @@ class EyeDropperListener;
@@ -64,9 +64,11 @@ class EyeDropperListener;
class FileSelectListener;
class JavaScriptDialogManager;
class RenderFrameHost;
@ -103,7 +103,7 @@ index 0a80169aa10cf..8165b00da16c2 100644
struct ContextMenuParams;
struct DropData;
struct MediaPlayerWatchTime;
@@ -345,6 +347,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -349,6 +351,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const StoragePartitionConfig& partition_config,
SessionStorageNamespace* session_storage_namespace);
@ -119,7 +119,7 @@ index 0a80169aa10cf..8165b00da16c2 100644
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
index 839fa5e82f140..891784b2f3e5a 100644
index 67a814a07af1e..7b5e055d3c347 100644
--- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h
@@ -227,6 +227,9 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
@ -132,7 +132,7 @@ index 839fa5e82f140..891784b2f3e5a 100644
// This method is invoked when the `blink::WebView` of the current
// RenderViewHost is ready, e.g. because we recreated it after a crash.
virtual void RenderViewReady() {}
@@ -846,6 +849,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
@@ -848,6 +851,10 @@ class CONTENT_EXPORT WebContentsObserver : public base::CheckedObserver {
// WebContents has gained/lost focus.
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index 52829e870d30a..bf87e1750cd3f 100644
index 165bd4eae9e1b..dd4d7af0a561d 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -781,6 +781,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -784,6 +784,11 @@ class BLINK_PLATFORM_EXPORT Platform {
}
#endif
@ -15,18 +15,18 @@ index 52829e870d30a..bf87e1750cd3f 100644
static void InitializeMainThreadCommon(
Platform* platform,
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index ae0907dfd95ec..63620f0aadc14 100644
index 912eb6434368a..ae58f9e10355d 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -10,6 +10,7 @@
@@ -11,6 +11,7 @@
#include "base/task/sequenced_task_runner.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/trace_event.h"
+#include "third_party/blink/public/platform/platform.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/inspector/devtools_agent.h"
@@ -168,6 +169,7 @@ DevToolsSession::DevToolsSession(
@@ -169,6 +170,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore();
}
@ -34,7 +34,7 @@ index ae0907dfd95ec..63620f0aadc14 100644
}
DevToolsSession::~DevToolsSession() {
@@ -213,6 +215,7 @@ void DevToolsSession::Detach() {
@@ -214,6 +216,7 @@ void DevToolsSession::Detach() {
agents_.clear();
v8_session_.reset();
agent_->client_->DebuggerTaskFinished();

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index 2ba868f0efb2e..4ec2a9ca69cab 100644
index c4348be90db20..bf426c876b77a 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -345,6 +345,7 @@ class BLINK_EXPORT WebView {
@@ -349,6 +349,7 @@ class BLINK_EXPORT WebView {
// Sets whether select popup menus should be rendered by the browser.
static void SetUseExternalPopupMenus(bool);
@ -11,7 +11,7 @@ index 2ba868f0efb2e..4ec2a9ca69cab 100644
// Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index aafdfd4fffd0b..4215f48d15284 100644
index e3d58bf5e51c9..2ba9f1be3d752 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -251,8 +251,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -39,7 +39,7 @@ index aafdfd4fffd0b..4215f48d15284 100644
fullscreen_controller_(std::make_unique<FullscreenController>(this)),
page_base_background_color_(
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index 25566d1e5a367..6ad48660a42ee 100644
index db7f1cb1b0f68..4c70aa22d0a34 100644
--- 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,
@ -52,7 +52,7 @@ index 25566d1e5a367..6ad48660a42ee 100644
// Returns whether frames under this WebView are backed by a compositor.
bool does_composite() const { return does_composite_; }
@@ -871,6 +872,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -869,6 +870,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_ = 0.f;
bool fake_page_scale_animation_use_anchor_ = false;
@ -62,15 +62,15 @@ index 25566d1e5a367..6ad48660a42ee 100644
gfx::Transform device_emulation_transform_;
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
index e8c40f756f746..d3738d1388c96 100644
index 59f54f7f98dd6..481e1991a77ac 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -981,7 +981,7 @@ PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();
- bool use_external_popup_menus = WebViewImpl::UseExternalPopupMenus();
+ bool use_external_popup_menus = web_view_->UseExternalPopupMenus();
#if BUILDFLAG(IS_MAC)
// There is a bug that is causing popup menus in PWA windows on macOS to
// sometimes not appear if using external popup menus. Until that bug is
- if (WebViewImpl::UseExternalPopupMenus()) {
+ if (web_view_->UseExternalPopupMenus()) {
return MakeGarbageCollected<ExternalPopupMenu>(frame, select);
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 6f6a3c9c374f7..00caa794fdd26 100644
index 95b2dd4972892..72e1b984ba689 100644
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -19,10 +19,12 @@

View File

@ -1,8 +1,8 @@
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
index 714422bd2d088..3aa2e830e6148 100644
index 6bf94fa65c5b6..f0953baa972f5 100644
--- sandbox/policy/win/sandbox_win.cc
+++ sandbox/policy/win/sandbox_win.cc
@@ -993,6 +993,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -1015,6 +1015,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
const base::HandlesToInheritVector& handles_to_inherit,
SandboxDelegate* delegate,
base::Process* process) {
@ -13,6 +13,6 @@ index 714422bd2d088..3aa2e830e6148 100644
+ process);
+ }
+
const base::ElapsedTimer timer;
SandboxLaunchTimer timer;
// Avoid making a policy if we won't use it.

View File

@ -1,8 +1,8 @@
diff --git sandbox/win/src/sandbox_policy.h sandbox/win/src/sandbox_policy.h
index 57409176ff044..58bb027580bbb 100644
index a2d801b370b01..b56de03637fec 100644
--- sandbox/win/src/sandbox_policy.h
+++ sandbox/win/src/sandbox_policy.h
@@ -275,7 +275,7 @@ class [[clang::lto_visibility_public]] TargetPolicy {
@@ -285,7 +285,7 @@ class [[clang::lto_visibility_public]] TargetPolicy {
// Adds a blob of data that will be made available in the child early in
// startup via sandbox::GetDelegateData(). The contents of this data should
// not vary between children with the same TargetConfig().
@ -12,10 +12,10 @@ index 57409176ff044..58bb027580bbb 100644
} // namespace sandbox
diff --git sandbox/win/src/sandbox_policy_base.cc sandbox/win/src/sandbox_policy_base.cc
index 1d5c93a0792b1..46600d1ae70cc 100644
index 58f55c1398047..f980f67de4f9b 100644
--- sandbox/win/src/sandbox_policy_base.cc
+++ sandbox/win/src/sandbox_policy_base.cc
@@ -189,12 +189,12 @@ PolicyGlobal* ConfigBase::policy() {
@@ -190,12 +190,12 @@ PolicyGlobal* ConfigBase::policy() {
return policy_;
}
@ -31,8 +31,8 @@ index 1d5c93a0792b1..46600d1ae70cc 100644
}
return std::nullopt;
}
@@ -756,19 +756,19 @@ bool PolicyBase::SetupHandleCloser(TargetProcess& target) {
return handle_closer->InitializeTargetHandles(target);
@@ -774,14 +774,14 @@ bool PolicyBase::SetupHandleCloser(TargetProcess& target) {
return (SBOX_ALL_OK == rc);
}
-std::optional<base::span<const uint8_t>> PolicyBase::delegate_data_span() {
@ -48,17 +48,11 @@ index 1d5c93a0792b1..46600d1ae70cc 100644
CHECK(data.size() > 0u);
// Can only set this once - as there is only one region sent to the child.
CHECK(!delegate_data_);
delegate_data_ =
- std::make_unique<std::vector<const uint8_t>>(data.begin(), data.end());
+ std::make_unique<std::vector<uint8_t>>(data.begin(), data.end());
}
} // namespace sandbox
diff --git sandbox/win/src/sandbox_policy_base.h sandbox/win/src/sandbox_policy_base.h
index 090d51f701614..fb2aedd4aa0ec 100644
index 6b4a9ec20f348..058bca8674177 100644
--- sandbox/win/src/sandbox_policy_base.h
+++ sandbox/win/src/sandbox_policy_base.h
@@ -116,7 +116,7 @@ class ConfigBase final : public TargetConfig {
@@ -115,7 +115,7 @@ class ConfigBase final : public TargetConfig {
// Should only be called once the object is configured.
PolicyGlobal* policy();
@ -67,7 +61,7 @@ index 090d51f701614..fb2aedd4aa0ec 100644
std::vector<std::wstring>& blocklisted_dlls();
AppContainerBase* app_container();
IntegrityLevel integrity_level() { return integrity_level_; }
@@ -176,7 +176,7 @@ class PolicyBase final : public TargetPolicy {
@@ -170,7 +170,7 @@ class PolicyBase final : public TargetPolicy {
ResultCode SetStdoutHandle(HANDLE handle) override;
ResultCode SetStderrHandle(HANDLE handle) override;
void AddHandleToShare(HANDLE handle) override;
@ -76,7 +70,7 @@ index 090d51f701614..fb2aedd4aa0ec 100644
// Creates a Job object with the level specified in a previous call to
// SetJobLevel().
@@ -238,13 +238,13 @@ class PolicyBase final : public TargetPolicy {
@@ -232,13 +232,13 @@ class PolicyBase final : public TargetPolicy {
// time.
// Returns nullopt if no data has been set, or a view into the data.
@ -87,7 +81,7 @@ index 090d51f701614..fb2aedd4aa0ec 100644
HANDLE stdout_handle_;
HANDLE stderr_handle_;
// An opaque blob of data the delegate uses to prime any pre-sandbox hooks.
- std::unique_ptr<std::vector<const uint8_t>> delegate_data_;
- std::unique_ptr<const std::vector<uint8_t>> delegate_data_;
+ std::unique_ptr<std::vector<uint8_t>> delegate_data_;
std::unique_ptr<Dispatcher> dispatcher_;

View File

@ -2022,6 +2022,11 @@ class CookieRestartTestHandler : public RoutingTestHandler,
CefRefPtr<CefRequest> request,
const CefCookie& cookie) override {
EXPECT_IO_THREAD();
const std::string& url = request->GetURL();
if (IgnoreURL(url)) {
return true;
}
can_send_cookie_ct_++;
// Called before the URL2 network requests.
@ -2036,6 +2041,11 @@ class CookieRestartTestHandler : public RoutingTestHandler,
CefRefPtr<CefResponse> response,
const CefCookie& cookie) override {
EXPECT_IO_THREAD();
const std::string& url = request->GetURL();
if (IgnoreURL(url)) {
return true;
}
can_save_cookie_ct_++;
// Called after the successful URL1 network request.
@ -2054,9 +2064,12 @@ class CookieRestartTestHandler : public RoutingTestHandler,
CefRefPtr<CefRequest> request,
CefRefPtr<CefCallback> callback) override {
EXPECT_IO_THREAD();
before_resource_load_ct_++;
const std::string& url = request->GetURL();
if (IgnoreURL(url)) {
return RV_CONTINUE;
}
before_resource_load_ct_++;
if (before_resource_load_ct_ <= 2) {
EXPECT_STREQ(GetCookieAccessUrl1(scheme_, true).c_str(), url.c_str());
@ -2086,9 +2099,13 @@ class CookieRestartTestHandler : public RoutingTestHandler,
CefRefPtr<CefRequest> request,
CefRefPtr<CefResponse> response) override {
EXPECT_IO_THREAD();
const std::string& url = request->GetURL();
if (IgnoreURL(url)) {
return false;
}
resource_response_ct_++;
const std::string& url = request->GetURL();
const std::string& set_cookie_str = response->GetHeaderByName("Set-Cookie");
// Expect the network cookie with URL1 requests only.