Update to Chromium version 100.0.4896.0 (#972766)

This commit is contained in:
Marshall Greenblatt 2022-02-21 17:23:40 -05:00
parent a2c621bf8b
commit f97f0bbda6
120 changed files with 668 additions and 725 deletions

View File

@ -846,7 +846,6 @@ static_library("libcef_static") {
"//components/content_settings/core/browser",
"//components/content_settings/core/common",
"//components/crx_file",
"//components/data_use_measurement/core",
"//components/google/core/common",
"//components/keyed_service/content:content",
"//components/keyed_service/core:core",
@ -1329,7 +1328,7 @@ grit("cef_strings") {
outputs = [
"grit/cef_strings.h",
]
all_locales = locales + [ "fake-bidi" ]
all_locales = platform_pak_locales + [ "fake-bidi" ]
foreach(locale, all_locales) {
outputs += [ "cef_strings_${locale}.pak" ]
}

View File

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

View File

@ -32,12 +32,7 @@
#define CEF_INCLUDE_BASE_CEF_COMPILER_SPECIFIC_H_
#pragma once
#if defined(BASE_COMPILER_SPECIFIC_H_)
// Do nothing if the Chromium header has already been included.
// This can happen in cases where Chromium code is used directly by the
// client application. When using Chromium code directly always include
// the Chromium header first to avoid type conflicts.
#elif defined(USING_CHROMIUM_INCLUDES)
#if defined(USING_CHROMIUM_INCLUDES)
// When building CEF include the Chromium header directly.
#include "base/compiler_specific.h"
#else // !USING_CHROMIUM_INCLUDES
@ -76,23 +71,6 @@
#define __has_attribute(x) 0
#endif // !defined(__has_attribute)
// Annotate a variable indicating it's ok if the variable is not used.
// (Typically used to silence a compiler warning when the assignment
// is important for some other reason.)
// Use like:
// int x = ...;
// ALLOW_UNUSED_LOCAL(x);
#define ALLOW_UNUSED_LOCAL(x) (void)x
// Annotate a typedef or function indicating it's ok if it's not used.
// Use like:
// typedef Foo Bar ALLOW_UNUSED_TYPE;
#if defined(COMPILER_GCC) || defined(__clang__)
#define ALLOW_UNUSED_TYPE __attribute__((unused))
#else
#define ALLOW_UNUSED_TYPE
#endif
// Annotate a function indicating it should not be inlined.
// Use like:
// NOINLINE void DoStuff() { ... }
@ -153,17 +131,6 @@
#define ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
#endif
// Annotate a function indicating the caller must examine the return value.
// Use like:
// int foo() WARN_UNUSED_RESULT;
// To explicitly ignore a result, use std::ignore from <tuple>.
#undef WARN_UNUSED_RESULT
#if defined(COMPILER_GCC) || defined(__clang__)
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
#define WARN_UNUSED_RESULT
#endif
// In case the compiler supports it NO_UNIQUE_ADDRESS evaluates to the C++20
// attribute [[no_unique_address]]. This allows annotating data members so that
// they need not have an address distinct from all other non-static data members
@ -420,4 +387,25 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) {
#endif // !USING_CHROMIUM_INCLUDES
// Annotate a function indicating the caller must examine the return value.
// Use like:
// int foo() WARN_UNUSED_RESULT;
// To explicitly ignore a result, use std::ignore from <tuple>.
// Alternately use `[[nodiscard]]` with code that supports C++17.
#undef WARN_UNUSED_RESULT
#if defined(COMPILER_GCC) || defined(__clang__)
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
#define WARN_UNUSED_RESULT
#endif
// Annotate a variable indicating it's ok if the variable is not used.
// (Typically used to silence a compiler warning when the assignment
// is important for some other reason.)
// Use like:
// int x = ...;
// ALLOW_UNUSED_LOCAL(x);
// Alternately use `[[maybe_unused]]` with code that supports C++17.
#define ALLOW_UNUSED_LOCAL(x) (void)x
#endif // CEF_INCLUDE_BASE_CEF_COMPILER_SPECIFIC_H_

View File

@ -1456,15 +1456,13 @@ bool AlloyBrowserHostImpl::IsNeverComposited(
}
content::PictureInPictureResult AlloyBrowserHostImpl::EnterPictureInPicture(
content::WebContents* web_contents,
const viz::SurfaceId& surface_id,
const gfx::Size& natural_size) {
content::WebContents* web_contents) {
if (!IsPictureInPictureSupported()) {
return content::PictureInPictureResult::kNotSupported;
}
return PictureInPictureWindowManager::GetInstance()->EnterPictureInPicture(
web_contents, surface_id, natural_size);
return PictureInPictureWindowManager::GetInstance()
->EnterVideoPictureInPicture(web_contents);
}
void AlloyBrowserHostImpl::ExitPictureInPicture() {
@ -1477,7 +1475,8 @@ bool AlloyBrowserHostImpl::IsBackForwardCacheSupported() {
return false;
}
bool AlloyBrowserHostImpl::IsPrerender2Supported() {
bool AlloyBrowserHostImpl::IsPrerender2Supported(
content::WebContents& web_contents) {
return true;
}

View File

@ -283,12 +283,10 @@ class AlloyBrowserHostImpl : public CefBrowserHostBase,
blink::mojom::MediaStreamType type) override;
bool IsNeverComposited(content::WebContents* web_contents) override;
content::PictureInPictureResult EnterPictureInPicture(
content::WebContents* web_contents,
const viz::SurfaceId& surface_id,
const gfx::Size& natural_size) override;
content::WebContents* web_contents) override;
void ExitPictureInPicture() override;
bool IsBackForwardCacheSupported() override;
bool IsPrerender2Supported() override;
bool IsPrerender2Supported(content::WebContents& web_contents) override;
// content::WebContentsObserver methods.
using content::WebContentsObserver::BeforeUnloadFired;

View File

@ -115,7 +115,7 @@
#include "extensions/browser/extension_registry.h"
#include "extensions/browser/extension_web_contents_observer.h"
#include "extensions/browser/extensions_browser_client.h"
#include "extensions/browser/guest_view/extensions_guest_view_message_filter.h"
#include "extensions/browser/guest_view/extensions_guest_view.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/info_map.h"
#include "extensions/browser/process_map.h"
@ -197,7 +197,7 @@ class CefQuotaCallbackImpl : public CefCallback {
void Cancel() override { ContinueNow(false); }
CallbackType Disconnect() WARN_UNUSED_RESULT { return std::move(callback_); }
[[nodiscard]] CallbackType Disconnect() { return std::move(callback_); }
private:
void ContinueNow(bool allow) {
@ -255,7 +255,7 @@ class CefAllowCertificateErrorCallbackImpl : public CefCallback {
void Cancel() override { ContinueNow(false); }
CallbackType Disconnect() WARN_UNUSED_RESULT { return std::move(callback_); }
[[nodiscard]] CallbackType Disconnect() { return std::move(callback_); }
private:
void ContinueNow(bool allow) {
@ -521,8 +521,6 @@ void AlloyContentBrowserClient::RenderProcessWillLaunch(
if (extensions::ExtensionsEnabled()) {
host->AddFilter(new extensions::ExtensionMessageFilter(id, profile));
host->AddFilter(
new extensions::ExtensionsGuestViewMessageFilter(id, profile));
}
// If the renderer process crashes then the host may already have
@ -765,14 +763,6 @@ void AlloyContentBrowserClient::AppendExtraCommandLineSwitches(
if (extensions::ExtensionsEnabled()) {
content::RenderProcessHost* process =
content::RenderProcessHost::FromID(child_process_id);
#if !BUILDFLAG(IS_WIN)
// kPdfRenderer will be set for Windows in
// RenderProcessHostImpl::AppendRendererCommandLine.
if (process && process->IsPdf()) {
command_line->AppendSwitch(switches::kPdfRenderer);
}
#endif // !BUILDFLAG(IS_WIN)
auto browser_context = process->GetBrowserContext();
CefBrowserContext* cef_browser_context =
process ? CefBrowserContext::FromBrowserContext(browser_context)
@ -1164,6 +1154,10 @@ void AlloyContentBrowserClient::ExposeInterfacesToRenderer(
if (extensions::ExtensionsEnabled()) {
associated_registry->AddInterface(base::BindRepeating(
&extensions::EventRouter::BindForRenderer, host->GetID()));
associated_registry->AddInterface(base::BindRepeating(
&extensions::ExtensionsGuestView::CreateForComponents, host->GetID()));
associated_registry->AddInterface(base::BindRepeating(
&extensions::ExtensionsGuestView::CreateForExtensions, host->GetID()));
}
CefBrowserManager::ExposeInterfacesToRenderer(registry, associated_registry,
@ -1406,19 +1400,29 @@ bool AlloyContentBrowserClient::HandleExternalProtocol(
web_contents_getter, std::move(receiver), std::move(request_handler));
return true;
}
std::unique_ptr<content::OverlayWindow>
AlloyContentBrowserClient::CreateWindowForPictureInPicture(
content::PictureInPictureWindowController* controller) {
// Note: content::OverlayWindow::Create() is defined by platform-specific
std::unique_ptr<content::VideoOverlayWindow>
AlloyContentBrowserClient::CreateWindowForVideoPictureInPicture(
content::VideoPictureInPictureWindowController* controller) {
// Note: content::VideoOverlayWindow::Create() is defined by platform-specific
// implementation in chrome/browser/ui/views. This layering hack, which goes
// through //content and ContentBrowserClient, allows us to work around the
// dependency constraints that disallow directly calling
// chrome/browser/ui/views code either from here or from other code in
// chrome/browser.
return content::OverlayWindow::Create(controller);
return content::VideoOverlayWindow::Create(controller);
}
std::unique_ptr<content::DocumentOverlayWindow>
AlloyContentBrowserClient::CreateWindowForDocumentPictureInPicture(
content::DocumentPictureInPictureWindowController* controller) {
// Note: content::DocumentOverlayWindow::Create() is defined by
// platform-specific implementation in chrome/browser/ui/views. This layering
// hack, which goes through //content and ContentBrowserClient, allows us to
// work around the dependency constraints that disallow directly calling
// chrome/browser/ui/views code either from here or from other code in
// chrome/browser.
return content::DocumentOverlayWindow::Create(controller);
}
void AlloyContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) {
@ -1466,6 +1470,10 @@ std::string AlloyContentBrowserClient::GetUserAgent() {
return embedder_support::GetUserAgent();
}
std::string AlloyContentBrowserClient::GetFullUserAgent() {
return embedder_support::GetFullUserAgent();
}
std::string AlloyContentBrowserClient::GetReducedUserAgent() {
return embedder_support::GetReducedUserAgent();
}

View File

@ -216,8 +216,12 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
content::RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory)
override;
std::unique_ptr<content::OverlayWindow> CreateWindowForPictureInPicture(
content::PictureInPictureWindowController* controller) override;
std::unique_ptr<content::VideoOverlayWindow>
CreateWindowForVideoPictureInPicture(
content::VideoPictureInPictureWindowController* controller) override;
std::unique_ptr<content::DocumentOverlayWindow>
CreateWindowForDocumentPictureInPicture(
content::DocumentPictureInPictureWindowController* controller) override;
void RegisterBrowserInterfaceBindersForFrame(
content::RenderFrameHost* render_frame_host,
mojo::BinderMapWithContext<content::RenderFrameHost*>* map) override;
@ -225,6 +229,7 @@ class AlloyContentBrowserClient : public content::ContentBrowserClient {
std::string GetProduct() override;
std::string GetChromeProduct() override;
std::string GetUserAgent() override;
std::string GetFullUserAgent() override;
std::string GetReducedUserAgent() override;
blink::UserAgentMetadata GetUserAgentMetadata() override;
base::flat_set<std::string> GetPluginMimeTypesWithExternalHandlers(

View File

@ -329,12 +329,6 @@ ChromeBrowserProcessAlloy::subresource_filter_ruleset_service() {
return nullptr;
}
federated_learning::FlocSortingLshClustersService*
ChromeBrowserProcessAlloy::floc_sorting_lsh_clusters_service() {
NOTREACHED();
return nullptr;
}
StartupData* ChromeBrowserProcessAlloy::startup_data() {
NOTREACHED();
return nullptr;
@ -409,6 +403,12 @@ ChromeBrowserProcessAlloy::serial_policy_allowed_ports() {
return nullptr;
}
HidPolicyAllowedDevices*
ChromeBrowserProcessAlloy::hid_policy_allowed_devices() {
NOTREACHED();
return nullptr;
}
breadcrumbs::BreadcrumbPersistentStorageManager*
ChromeBrowserProcessAlloy::GetBreadcrumbPersistentStorageManager() {
NOTREACHED();

View File

@ -12,7 +12,6 @@
#include <memory>
#include <string>
#include "base/compiler_specific.h"
#include "base/metrics/field_trial.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
@ -91,8 +90,6 @@ class ChromeBrowserProcessAlloy : public BrowserProcess {
safe_browsing::SafeBrowsingService* safe_browsing_service() override;
subresource_filter::RulesetService* subresource_filter_ruleset_service()
override;
federated_learning::FlocSortingLshClustersService*
floc_sorting_lsh_clusters_service() override;
StartupData* startup_data() override;
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)
@ -109,6 +106,7 @@ class ChromeBrowserProcessAlloy : public BrowserProcess {
override;
BuildState* GetBuildState() override;
SerialPolicyAllowedPorts* serial_policy_allowed_ports() override;
HidPolicyAllowedDevices* hid_policy_allowed_devices() override;
breadcrumbs::BreadcrumbPersistentStorageManager*
GetBreadcrumbPersistentStorageManager() override;

View File

@ -83,7 +83,8 @@ void CreateSystemWideLoopbackStreamHelper(
const bool enable_agc = false;
factory->CreateInputStream(
-1, -1, media::AudioDeviceDescription::kLoopbackWithMuteDeviceId, params,
total_segments, enable_agc, std::move(client_remote));
total_segments, enable_agc, media::mojom::AudioProcessingConfigPtr(),
std::move(client_remote));
}
} // namespace

View File

@ -331,8 +331,7 @@ void CefBrowserContentsDelegate::OnFrameFocused(
OnStateChanged(State::kFocusedFrame);
}
void CefBrowserContentsDelegate::DocumentAvailableInMainFrame(
content::RenderFrameHost* render_frame_host) {
void CefBrowserContentsDelegate::PrimaryMainDocumentElementAvailable() {
has_document_ = true;
OnStateChanged(State::kDocument);

View File

@ -121,8 +121,7 @@ class CefBrowserContentsDelegate : public content::WebContentsDelegate,
void PrimaryMainFrameRenderProcessGone(
base::TerminationStatus status) override;
void OnFrameFocused(content::RenderFrameHost* render_frame_host) override;
void DocumentAvailableInMainFrame(
content::RenderFrameHost* render_frame_host) override;
void PrimaryMainDocumentElementAvailable() override;
void LoadProgressChanged(double progress) override;
void DidStopLoading() override;
void DidFinishNavigation(

View File

@ -127,16 +127,6 @@ void ChromeContentBrowserClientCef::AppendExtraCommandLineSwitches(
};
command_line->CopySwitchesFrom(*browser_cmd, kSwitchNames,
base::size(kSwitchNames));
#if !BUILDFLAG(IS_WIN)
// kPdfRenderer will be set for Windows in
// RenderProcessHostImpl::AppendRendererCommandLine.
content::RenderProcessHost* process =
content::RenderProcessHost::FromID(child_process_id);
if (process && process->IsPdf()) {
command_line->AppendSwitch(switches::kPdfRenderer);
}
#endif // !BUILDFLAG(IS_WIN)
}
CefRefPtr<CefApp> app = CefAppManager::Get()->GetApplication();

View File

@ -339,8 +339,7 @@ void CefDevToolsFrontend::ReadyToCommitNavigation(
content::DevToolsFrontendHost::SetupExtensionsAPI(frame, script);
}
void CefDevToolsFrontend::DocumentAvailableInMainFrame(
content::RenderFrameHost* render_frame_host) {
void CefDevToolsFrontend::PrimaryMainDocumentElementAvailable() {
// Don't call AttachClient multiple times for the same DevToolsAgentHost.
// Otherwise it will call AgentHostClosed which closes the DevTools window.
// This may happen in cases where the DevTools content fails to load.
@ -381,7 +380,7 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
// Since we've received message by value, we can take the list.
base::Value::ListStorage params;
if (params_value) {
params = std::move(*params_value).TakeList();
params = std::move(*params_value).TakeListDeprecated();
}
if (*method == "dispatchProtocolMessage") {

View File

@ -10,7 +10,6 @@
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
#include "libcef/browser/devtools/devtools_file_manager.h"
#include "base/compiler_specific.h"
#include "base/files/file_path.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
@ -81,8 +80,7 @@ class CefDevToolsFrontend : public content::WebContentsObserver,
// WebContentsObserver overrides
void ReadyToCommitNavigation(
content::NavigationHandle* navigation_handle) override;
void DocumentAvailableInMainFrame(
content::RenderFrameHost* render_frame_host) override;
void PrimaryMainDocumentElementAvailable() override;
void WebContentsDestroyed() override;
void SendMessageAck(int request_id, base::Value arg);

View File

@ -5,7 +5,6 @@
#ifndef CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_MANAGER_DELEGATE_H_
#define CEF_LIBCEF_BROWSER_DEVTOOLS_DEVTOOLS_MANAGER_DELEGATE_H_
#include "base/compiler_specific.h"
#include "content/public/browser/devtools_manager_delegate.h"
namespace content {

View File

@ -10,7 +10,6 @@
#include "libcef/browser/browser_host_base.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "components/download/public/common/download_item.h"
#include "content/public/browser/download_manager.h"

View File

@ -86,10 +86,10 @@ void CefExtensionImpl::Unload() {
// flag, so set it here.
unloaded_ = true;
const bool result = static_cast<CefRequestContextImpl*>(loader_context_)
->GetBrowserContext()
->UnloadExtension(id_);
ALLOW_UNUSED_LOCAL(result);
[[maybe_unused]] const bool result =
static_cast<CefRequestContextImpl*>(loader_context_)
->GetBrowserContext()
->UnloadExtension(id_);
DCHECK(result);
}

View File

@ -8,7 +8,6 @@
#include <memory>
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
#include "extensions/browser/api/storage/settings_storage_quota_enforcer.h"
#include "extensions/browser/api/storage/value_store_cache.h"

View File

@ -60,9 +60,7 @@ bool CefExtensionHostDelegate::CheckMediaAccessPermission(
}
content::PictureInPictureResult CefExtensionHostDelegate::EnterPictureInPicture(
content::WebContents* web_contents,
const viz::SurfaceId& surface_id,
const gfx::Size& natural_size) {
content::WebContents* web_contents) {
NOTREACHED();
return content::PictureInPictureResult::kNotSupported;
}

View File

@ -38,9 +38,7 @@ class CefExtensionHostDelegate : public ExtensionHostDelegate {
blink::mojom::MediaStreamType type,
const Extension* extension) override;
content::PictureInPictureResult EnterPictureInPicture(
content::WebContents* web_contents,
const viz::SurfaceId& surface_id,
const gfx::Size& natural_size) override;
content::WebContents* web_contents) override;
void ExitPictureInPicture() override;
};

View File

@ -466,11 +466,10 @@ void CefExtensionSystem::RegisterExtensionWithRequestContexts(
// Implementation based on
// ExtensionSystemImpl::UnregisterExtensionWithRequestContexts.
void CefExtensionSystem::UnregisterExtensionWithRequestContexts(
const std::string& extension_id,
const UnloadedExtensionReason reason) {
const std::string& extension_id) {
content::GetIOThreadTaskRunner({})->PostTask(
FROM_HERE, base::BindOnce(&InfoMap::RemoveExtension, info_map(),
extension_id, reason));
FROM_HERE,
base::BindOnce(&InfoMap::RemoveExtension, info_map(), extension_id));
}
const base::OneShotEvent& CefExtensionSystem::ready() const {
@ -611,7 +610,7 @@ void CefExtensionSystem::UnloadExtension(const std::string& extension_id,
if (!extension.get()) {
// In case the extension may have crashed/uninstalled. Allow the profile to
// clean up its RequestContexts.
UnregisterExtensionWithRequestContexts(extension_id, reason);
UnregisterExtensionWithRequestContexts(extension_id);
return;
}
@ -620,7 +619,7 @@ void CefExtensionSystem::UnloadExtension(const std::string& extension_id,
// Make sure the profile cleans up its RequestContexts when an already
// disabled extension is unloaded (since they are also tracking the disabled
// extensions).
UnregisterExtensionWithRequestContexts(extension_id, reason);
UnregisterExtensionWithRequestContexts(extension_id);
// Don't send the unloaded notification. It was sent when the extension
// was disabled.
} else {
@ -712,7 +711,7 @@ void CefExtensionSystem::NotifyExtensionUnloaded(
// Tell renderers about the unloaded extension.
renderer_helper_->OnExtensionUnloaded(*extension);
UnregisterExtensionWithRequestContexts(extension->id(), reason);
UnregisterExtensionWithRequestContexts(extension->id());
}
} // namespace extensions

View File

@ -12,7 +12,6 @@
#include "include/cef_extension_handler.h"
#include "include/cef_request_context.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "base/one_shot_event.h"
#include "extensions/browser/extension_system.h"
@ -102,8 +101,7 @@ class CefExtensionSystem : public ExtensionSystem {
const Extension* extension,
base::OnceClosure callback) override;
void UnregisterExtensionWithRequestContexts(
const std::string& extension_id,
const UnloadedExtensionReason reason) override;
const std::string& extension_id) override;
const base::OneShotEvent& ready() const override;
bool is_ready() const override;
ContentVerifier* content_verifier() override;

View File

@ -6,7 +6,6 @@
#ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_CLIENT_H_
#define CEF_LIBCEF_BROWSER_EXTENSIONS_EXTENSIONS_BROWSER_CLIENT_H_
#include "base/compiler_specific.h"
#include "extensions/browser/extensions_browser_client.h"
namespace extensions {

View File

@ -11,7 +11,6 @@
#include <string>
#include <vector>
#include "base/compiler_specific.h"
#include "components/value_store/value_store.h"
namespace value_store {

View File

@ -67,7 +67,7 @@ class CefFileDialogCallbackImpl : public CefFileDialogCallback {
}
}
CallbackType Disconnect() WARN_UNUSED_RESULT { return std::move(callback_); }
[[nodiscard]] CallbackType Disconnect() { return std::move(callback_); }
private:
static void CancelNow(CallbackType callback) {

View File

@ -10,7 +10,6 @@
#include "include/cef_browser.h"
#include "libcef/browser/file_dialog_runner.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "content/public/browser/web_contents_observer.h"

View File

@ -47,7 +47,7 @@ class CefJSDialogCallbackImpl : public CefJSDialogCallback {
}
}
CallbackType Disconnect() WARN_UNUSED_RESULT { return std::move(callback_); }
[[nodiscard]] CallbackType Disconnect() { return std::move(callback_); }
private:
static void CancelNow(CallbackType callback) {

View File

@ -11,7 +11,6 @@
#include "libcef/browser/javascript_dialog_runner.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "content/public/browser/javascript_dialog_manager.h"

View File

@ -13,7 +13,6 @@
#include "libcef/browser/thread_util.h"
#include "libcef/common/app_manager.h"
#include "base/compiler_specific.h"
#include "base/logging.h"
#include "cef/grit/cef_strings.h"
#include "chrome/grit/generated_resources.h"

View File

@ -236,8 +236,7 @@ void CefBrowserPlatformDelegateNativeLinux::ViewText(const std::string& text) {
std::string openCommand("xdg-open ");
openCommand += newName;
int result = system(openCommand.c_str());
ALLOW_UNUSED_LOCAL(result);
[[maybe_unused]] int result = system(openCommand.c_str());
}
bool CefBrowserPlatformDelegateNativeLinux::HandleKeyboardEvent(

View File

@ -6,7 +6,6 @@
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
#include "base/compiler_specific.h"
#include "base/strings/string_util.h"
#include "ui/gfx/geometry/point.h"

View File

@ -6,7 +6,6 @@
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
#include "base/compiler_specific.h"
#import "base/mac/scoped_sending_event.h"
#include "base/task/current_thread.h"
#import "ui/base/cocoa/menu_controller.h"

View File

@ -10,7 +10,6 @@
#include "libcef/browser/native/menu_wrapper.h"
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"

View File

@ -17,7 +17,7 @@
#include "ui/gfx/x/connection.h"
#include "ui/gfx/x/x11_window_event_manager.h"
#include "ui/gfx/x/xproto_util.h"
#include "ui/platform_window/x11/x11_topmost_window_finder.h"
#include "ui/ozone/platform/x11/x11_topmost_window_finder.h"
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
namespace {

View File

@ -227,7 +227,8 @@ class InterceptedRequest : public network::mojom::URLLoader,
// mojom::URLLoaderClient methods:
void OnReceiveEarlyHints(network::mojom::EarlyHintsPtr early_hints) override;
void OnReceiveResponse(network::mojom::URLResponseHeadPtr head) override;
void OnReceiveResponse(network::mojom::URLResponseHeadPtr head,
mojo::ScopedDataPipeConsumerHandle body) override;
void OnReceiveRedirect(const net::RedirectInfo& redirect_info,
network::mojom::URLResponseHeadPtr head) override;
void OnUploadProgress(int64_t current_position,
@ -333,6 +334,7 @@ class InterceptedRequest : public network::mojom::URLLoader,
network::ResourceRequest request_;
network::mojom::URLResponseHeadPtr current_response_;
mojo::ScopedDataPipeConsumerHandle current_body_;
scoped_refptr<net::HttpResponseHeaders> current_headers_;
scoped_refptr<net::HttpResponseHeaders> override_headers_;
GURL original_url_;
@ -556,8 +558,10 @@ void InterceptedRequest::OnReceiveEarlyHints(
}
void InterceptedRequest::OnReceiveResponse(
network::mojom::URLResponseHeadPtr head) {
network::mojom::URLResponseHeadPtr head,
mojo::ScopedDataPipeConsumerHandle body) {
current_response_ = std::move(head);
current_body_ = std::move(body);
if (current_request_uses_header_client_) {
// Use the headers we got from OnHeadersReceived as that'll contain
@ -580,6 +584,7 @@ void InterceptedRequest::OnReceiveRedirect(
bool needs_callback = false;
current_response_ = std::move(head);
current_body_.reset();
if (current_request_uses_header_client_) {
// Use the headers we got from OnHeadersReceived as that'll contain
@ -743,6 +748,7 @@ void InterceptedRequest::InterceptResponseReceived(
current_response_ = network::mojom::URLResponseHead::New();
current_response_->request_start = base::TimeTicks::Now();
current_response_->response_start = base::TimeTicks::Now();
current_body_.reset();
auto headers = MakeResponseHeaders(
net::HTTP_TEMPORARY_REDIRECT, std::string(), std::string(),
@ -1041,7 +1047,8 @@ void InterceptedRequest::ContinueToResponseStarted(int error_code) {
if (proxied_client_receiver_.is_bound())
proxied_client_receiver_.Resume();
target_client_->OnReceiveResponse(std::move(current_response_));
target_client_->OnReceiveResponse(std::move(current_response_),
std::move(current_body_));
}
if (stream_loader_)

View File

@ -38,12 +38,12 @@ class OpenInputStreamWrapper
OpenInputStreamWrapper(const OpenInputStreamWrapper&) = delete;
OpenInputStreamWrapper& operator=(const OpenInputStreamWrapper&) = delete;
static base::OnceClosure Open(
[[nodiscard]] static base::OnceClosure Open(
std::unique_ptr<StreamReaderURLLoader::Delegate> delegate,
scoped_refptr<base::SequencedTaskRunner> work_thread_task_runner,
int32_t request_id,
const network::ResourceRequest& request,
OnInputStreamOpenedCallback callback) WARN_UNUSED_RESULT {
OnInputStreamOpenedCallback callback) {
scoped_refptr<OpenInputStreamWrapper> wrapper = new OpenInputStreamWrapper(
std::move(delegate), work_thread_task_runner,
base::ThreadTaskRunnerHandle::Get(), std::move(callback));
@ -697,7 +697,8 @@ void StreamReaderURLLoader::ContinueWithResponseHeaders(
// |this| will be deleted.
CleanUp();
} else {
client_->OnReceiveResponse(std::move(pending_response));
client_->OnReceiveResponse(std::move(pending_response),
mojo::ScopedDataPipeConsumerHandle());
}
}

View File

@ -139,7 +139,3 @@ void CefVideoConsumerOSR::OnFrameCaptured(
view_->OnPaint(damage_rect, info->coded_size, pixels);
}
void CefVideoConsumerOSR::OnStopped() {}
void CefVideoConsumerOSR::OnLog(const std::string& message) {}

View File

@ -30,8 +30,9 @@ class CefVideoConsumerOSR : public viz::mojom::FrameSinkVideoConsumer {
const gfx::Rect& content_rect,
mojo::PendingRemote<viz::mojom::FrameSinkVideoConsumerFrameCallbacks>
callbacks) override;
void OnStopped() override;
void OnLog(const std::string& message) override;
void OnFrameWithEmptyRegionCapture() override {}
void OnStopped() override {}
void OnLog(const std::string& message) override {}
CefRenderWidgetHostViewOSR* const view_;
std::unique_ptr<viz::ClientFrameSinkVideoCapturer> video_capturer_;

View File

@ -9,7 +9,6 @@
#include <string>
#include "base/compiler_specific.h"
#include "base/observer_list.h"
#include "components/prefs/persistent_pref_store.h"
#include "components/prefs/pref_value_map.h"

View File

@ -47,7 +47,7 @@ class CefPrintSettingsImpl
void SetDuplexMode(DuplexMode mode) override;
DuplexMode GetDuplexMode() override;
std::unique_ptr<printing::PrintSettings> TakeOwnership() WARN_UNUSED_RESULT;
[[nodiscard]] std::unique_ptr<printing::PrintSettings> TakeOwnership();
};
#endif // CEF_LIBCEF_BROWSER_PRINT_SETTINGS_IMPL_H_

View File

@ -9,7 +9,6 @@
#include "include/cef_print_handler.h"
#include "libcef/browser/browser_host_base.h"
#include "base/compiler_specific.h"
#include "base/files/file_path.h"
#include "base/memory/ref_counted.h"
#include "base/task/sequenced_task_runner_helpers.h"

View File

@ -5,7 +5,6 @@
#ifndef CEF_LIBCEF_BROWSER_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
#define CEF_LIBCEF_BROWSER_SPEECH_RECOGNITION_MANAGER_DELEGATE_H_
#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
#include "content/public/browser/speech_recognition_event_listener.h"
#include "content/public/browser/speech_recognition_manager_delegate.h"

View File

@ -11,7 +11,6 @@
#include "include/views/cef_overlay_controller.h"
#include "include/views/cef_view.h"
#include "base/compiler_specific.h"
#include "ui/views/view_observer.h"
#include "ui/views/widget/widget_delegate.h"

View File

@ -59,8 +59,8 @@ class UserData : public base::SupportsUserData::Data {
// gain a ref-counted reference to the CefView and the CefView will keep an
// unowned reference to the views::View. Destruction of the views::View will
// release the ref-counted reference to the CefView.
static std::unique_ptr<views::View> PassOwnership(CefRefPtr<CefView> cef_view)
WARN_UNUSED_RESULT {
[[nodiscard]] static std::unique_ptr<views::View> PassOwnership(
CefRefPtr<CefView> cef_view) {
DCHECK(cef_view->IsValid());
DCHECK(!cef_view->IsAttached());

View File

@ -61,8 +61,8 @@ views::View* GetFor(CefRefPtr<CefView> view);
// views::View will keep a ref-counted reference to |view|, and |view| will keep
// an un-owned reference to the views::View. These references will reset when
// the views::View object is deleted or when ResumeOwnership() is called.
std::unique_ptr<views::View> PassOwnership(CefRefPtr<CefView> view)
WARN_UNUSED_RESULT;
[[nodiscard]] std::unique_ptr<views::View> PassOwnership(
CefRefPtr<CefView> view);
// Causes |view| to resume ownership of the views::View object. Should be called
// after removing the views::View object from its previous parent.

View File

@ -671,6 +671,5 @@ void CefWindowImpl::CreateWidget() {
// The Widget and root View are owned by the native window. Therefore don't
// keep an owned reference.
std::unique_ptr<views::View> view_ptr = view_util::PassOwnership(this);
views::View* view = view_ptr.release();
ALLOW_UNUSED_LOCAL(view);
[[maybe_unused]] views::View* view = view_ptr.release();
}

View File

@ -7,7 +7,6 @@
#define CEF_LIBCEF_COMMON_ALLOY_ALLOY_CONTENT_CLIENT_H_
#pragma once
#include "base/compiler_specific.h"
#include "content/public/common/content_client.h"
#include "content/public/common/pepper_plugin_info.h"

View File

@ -15,7 +15,6 @@
#include "libcef/common/resource_bundle_delegate.h"
#include "libcef/common/task_runner_manager.h"
#include "base/compiler_specific.h"
#include "content/public/app/content_main_delegate.h"
namespace base {

View File

@ -124,10 +124,4 @@ const char kFrameworkDirPath[] = "framework-dir-path";
const char kMainBundlePath[] = "main-bundle-path";
#endif
#if !BUILDFLAG(IS_WIN)
// Renderer process that runs the non-PPAPI PDF plugin.
// This is defined in content/public/common/content_switches.h for Windows.
const char kPdfRenderer[] = "pdf-renderer";
#endif
} // namespace switches

View File

@ -57,10 +57,6 @@ extern const char kFrameworkDirPath[];
extern const char kMainBundlePath[];
#endif
#if !BUILDFLAG(IS_WIN)
extern const char kPdfRenderer[];
#endif
} // namespace switches
#endif // CEF_LIBCEF_COMMON_CEF_SWITCHES_H_

View File

@ -8,9 +8,6 @@
#include <string>
#include <vector>
// Include this first to avoid compiler errors.
#include "base/compiler_specific.h"
#include "include/cef_version.h"
#include "base/strings/string_piece_forward.h"

View File

@ -6,7 +6,6 @@
#ifndef CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_CLIENT_H_
#define CEF_LIBCEF_COMMON_EXTENSIONS_EXTENSIONS_CLIENT_H_
#include "base/compiler_specific.h"
#include "chrome/common/extensions/permissions/chrome_permission_message_provider.h"
#include "extensions/common/extensions_client.h"
#include "url/gurl.h"

View File

@ -34,7 +34,7 @@ class CefProcessMessageImpl : public CefProcessMessage {
// a copy if the argument list is already owned by something else.
// TODO: Pass by reference instead of ownership if/when Mojo adds support
// for that.
base::ListValue TakeArgumentList() WARN_UNUSED_RESULT;
[[nodiscard]] base::ListValue TakeArgumentList();
// CefProcessMessage methods.
bool IsValid() override;

View File

@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
#include "base/time/time.h"
bool CefCurrentlyOn(CefThreadId threadId) {
scoped_refptr<base::SequencedTaskRunner> task_runner =

View File

@ -321,7 +321,7 @@ class CefValueBase : public CefType, public CefValueController::Object {
// Detaches the underlying value and returns a pointer to it. If this is an
// owner and a |new_controller| value is specified any existing references
// will be passed to the new controller.
ValueType* Detach(CefValueController* new_controller) WARN_UNUSED_RESULT {
[[nodiscard]] ValueType* Detach(CefValueController* new_controller) {
CEF_VALUE_VERIFY_RETURN(false, nullptr);
if (new_controller && !reference()) {

View File

@ -1109,7 +1109,7 @@ CefRefPtr<CefListValue> CefListValueImpl::Copy() {
bool CefListValueImpl::SetSize(size_t size) {
CEF_VALUE_VERIFY_RETURN(true, false);
size_t current_size = const_value().GetList().size();
size_t current_size = const_value().GetListDeprecated().size();
if (size < current_size) {
// Clean up any values above the requested size.
for (size_t i = current_size - 1; i >= size; --i)
@ -1118,7 +1118,7 @@ bool CefListValueImpl::SetSize(size_t size) {
// Expand the list size.
// TODO: This approach seems inefficient. See https://crbug.com/1187066#c17
// for background.
auto list = mutable_value()->GetList();
auto list = mutable_value()->GetListDeprecated();
while (list.size() < size)
mutable_value()->Append(base::Value());
}
@ -1127,7 +1127,7 @@ bool CefListValueImpl::SetSize(size_t size) {
size_t CefListValueImpl::GetSize() {
CEF_VALUE_VERIFY_RETURN(false, 0);
return const_value().GetList().size();
return const_value().GetListDeprecated().size();
}
bool CefListValueImpl::Clear() {
@ -1148,9 +1148,10 @@ bool CefListValueImpl::Remove(size_t index) {
CefValueType CefListValueImpl::GetType(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, VTYPE_INVALID);
const base::Value* out_value = nullptr;
if (const_value().Get(index, &out_value)) {
switch (out_value->type()) {
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
switch (value.type()) {
case base::Value::Type::NONE:
return VTYPE_NULL;
case base::Value::Type::BOOLEAN:
@ -1176,10 +1177,11 @@ CefValueType CefListValueImpl::GetType(size_t index) {
CefRefPtr<CefValue> CefListValueImpl::GetValue(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, nullptr);
const base::Value* out_value = nullptr;
if (const_value().Get(index, &out_value)) {
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
return CefValueImpl::GetOrCreateRefOrCopy(
const_cast<base::Value*>(out_value),
const_cast<base::Value*>(&value),
const_cast<base::ListValue*>(&const_value()), read_only(),
controller());
}
@ -1190,11 +1192,13 @@ CefRefPtr<CefValue> CefListValueImpl::GetValue(size_t index) {
bool CefListValueImpl::GetBool(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, false);
const base::Value* out_value = nullptr;
bool ret_value = false;
if (const_value().Get(index, &out_value) && out_value->is_bool()) {
ret_value = out_value->GetBool();
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_bool()) {
ret_value = value.GetBool();
}
}
return ret_value;
@ -1203,11 +1207,13 @@ bool CefListValueImpl::GetBool(size_t index) {
int CefListValueImpl::GetInt(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, 0);
const base::Value* out_value = nullptr;
int ret_value = 0;
if (const_value().Get(index, &out_value) && out_value->is_int()) {
ret_value = out_value->GetInt();
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_int()) {
ret_value = value.GetInt();
}
}
return ret_value;
@ -1216,11 +1222,13 @@ int CefListValueImpl::GetInt(size_t index) {
double CefListValueImpl::GetDouble(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, 0);
const base::Value* out_value = nullptr;
double ret_value = 0;
if (const_value().Get(index, &out_value) && out_value->is_double()) {
ret_value = out_value->GetDouble();
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_double()) {
ret_value = value.GetDouble();
}
}
return ret_value;
@ -1229,11 +1237,13 @@ double CefListValueImpl::GetDouble(size_t index) {
CefString CefListValueImpl::GetString(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, CefString());
const base::Value* out_value = nullptr;
std::string ret_value;
if (const_value().Get(index, &out_value) && out_value->is_string()) {
ret_value = out_value->GetString();
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_string()) {
ret_value = value.GetString();
}
}
return ret_value;
@ -1242,13 +1252,15 @@ CefString CefListValueImpl::GetString(size_t index) {
CefRefPtr<CefBinaryValue> CefListValueImpl::GetBinary(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, nullptr);
const base::Value* out_value = nullptr;
if (const_value().Get(index, &out_value) && out_value->is_blob()) {
base::Value* binary_value = const_cast<base::Value*>(out_value);
return CefBinaryValueImpl::GetOrCreateRef(
binary_value, const_cast<base::ListValue*>(&const_value()),
controller());
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_blob()) {
base::Value* binary_value = const_cast<base::Value*>(&value);
return CefBinaryValueImpl::GetOrCreateRef(
binary_value, const_cast<base::ListValue*>(&const_value()),
controller());
}
}
return nullptr;
@ -1257,14 +1269,16 @@ CefRefPtr<CefBinaryValue> CefListValueImpl::GetBinary(size_t index) {
CefRefPtr<CefDictionaryValue> CefListValueImpl::GetDictionary(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, nullptr);
const base::Value* out_value = nullptr;
if (const_value().Get(index, &out_value) && out_value->is_dict()) {
base::DictionaryValue* dict_value = static_cast<base::DictionaryValue*>(
const_cast<base::Value*>(out_value));
return CefDictionaryValueImpl::GetOrCreateRef(
dict_value, const_cast<base::ListValue*>(&const_value()), read_only(),
controller());
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_dict()) {
base::DictionaryValue* dict_value =
static_cast<base::DictionaryValue*>(const_cast<base::Value*>(&value));
return CefDictionaryValueImpl::GetOrCreateRef(
dict_value, const_cast<base::ListValue*>(&const_value()), read_only(),
controller());
}
}
return nullptr;
@ -1273,14 +1287,16 @@ CefRefPtr<CefDictionaryValue> CefListValueImpl::GetDictionary(size_t index) {
CefRefPtr<CefListValue> CefListValueImpl::GetList(size_t index) {
CEF_VALUE_VERIFY_RETURN(false, nullptr);
const base::Value* out_value = nullptr;
if (const_value().Get(index, &out_value) && out_value->is_list()) {
base::ListValue* list_value =
static_cast<base::ListValue*>(const_cast<base::Value*>(out_value));
return CefListValueImpl::GetOrCreateRef(
list_value, const_cast<base::ListValue*>(&const_value()), read_only(),
controller());
const auto& list = const_value().GetListDeprecated();
if (index < list.size()) {
const base::Value& value = list[index];
if (value.is_list()) {
base::ListValue* list_value =
static_cast<base::ListValue*>(const_cast<base::Value*>(&value));
return CefListValueImpl::GetOrCreateRef(
list_value, const_cast<base::ListValue*>(&const_value()), read_only(),
controller());
}
}
return nullptr;
@ -1362,29 +1378,27 @@ bool CefListValueImpl::SetList(size_t index, CefRefPtr<CefListValue> value) {
}
bool CefListValueImpl::RemoveInternal(size_t index) {
auto list = mutable_value()->GetList();
auto list = mutable_value()->GetListDeprecated();
if (index >= list.size())
return false;
// The std::move() call below which removes the Value from the list will
// return a new Value object with the moved contents of the Value that exists
// in the implementation std::vector. Consequently we use Get() to retrieve
// the actual Value pointer as it current exists first, for later comparison
// purposes.
const base::Value* actual_value = nullptr;
if (!const_value().Get(index, &actual_value) || !actual_value)
return false;
// in the implementation std::vector. Consequently we use operator[] to
// retrieve the actual Value pointer as it current exists first, for later
// comparison purposes.
const base::Value& actual_value = list[index];
// |actual_value| is no longer valid after this call.
auto out_value = std::move(list[index]);
mutable_value()->EraseListIter(list.begin() + index);
// Remove the value.
controller()->Remove(const_cast<base::Value*>(actual_value), true);
controller()->Remove(const_cast<base::Value*>(&actual_value), true);
// Only list and dictionary types may have dependencies.
if (out_value.is_list() || out_value.is_dict()) {
controller()->RemoveDependencies(const_cast<base::Value*>(actual_value));
controller()->RemoveDependencies(const_cast<base::Value*>(&actual_value));
}
return true;
@ -1393,7 +1407,7 @@ bool CefListValueImpl::RemoveInternal(size_t index) {
base::Value* CefListValueImpl::SetInternal(size_t index, base::Value* value) {
DCHECK(value);
auto list = mutable_value()->GetList();
auto list = mutable_value()->GetListDeprecated();
if (RemoveInternal(index)) {
CHECK_LE(index, list.size());
mutable_value()->Insert(list.begin() + index, std::move(*value));
@ -1410,17 +1424,15 @@ base::Value* CefListValueImpl::SetInternal(size_t index, base::Value* value) {
// base::Value now uses move semantics which means that Insert()/Set() will
// move the contents of the passed-in base::Value instead of keeping the same
// object. Consequently we use Get() to retrieve the actual base::Value
// object. Consequently we use operator[] to retrieve the actual base::Value
// pointer as it exists in the std::vector.
const base::Value* actual_value = nullptr;
const_value().Get(index, &actual_value);
DCHECK(actual_value);
const base::Value& actual_value = list[index];
// |value| will have been deleted at this point. Update the controller to
// reference |actual_value| instead.
controller()->Swap(value, const_cast<base::Value*>(actual_value));
controller()->Swap(value, const_cast<base::Value*>(&actual_value));
return const_cast<base::Value*>(actual_value);
return const_cast<base::Value*>(&actual_value);
}
CefListValueImpl::CefListValueImpl(base::ListValue* value,

View File

@ -148,12 +148,12 @@ class CefBinaryValueImpl : public CefValueBase<CefBinaryValue, base::Value> {
CefBinaryValueImpl& operator=(const CefBinaryValueImpl&) = delete;
// Return a copy of the value.
base::Value* CopyValue() WARN_UNUSED_RESULT;
[[nodiscard]] base::Value* CopyValue();
// If this value is a reference then return a copy. Otherwise, detach and
// transfer ownership of the value.
base::Value* CopyOrDetachValue(CefValueController* new_controller)
WARN_UNUSED_RESULT;
[[nodiscard]] base::Value* CopyOrDetachValue(
CefValueController* new_controller);
bool IsSameValue(const base::Value* that);
bool IsEqualValue(const base::Value* that);
@ -205,12 +205,12 @@ class CefDictionaryValueImpl
CefDictionaryValueImpl& operator=(const CefDictionaryValueImpl&) = delete;
// Return a copy of the value.
base::DictionaryValue* CopyValue() WARN_UNUSED_RESULT;
[[nodiscard]] base::DictionaryValue* CopyValue();
// If this value is a reference then return a copy. Otherwise, detach and
// transfer ownership of the value.
base::DictionaryValue* CopyOrDetachValue(CefValueController* new_controller)
WARN_UNUSED_RESULT;
[[nodiscard]] base::DictionaryValue* CopyOrDetachValue(
CefValueController* new_controller);
bool IsSameValue(const base::DictionaryValue* that);
bool IsEqualValue(const base::DictionaryValue* that);
@ -285,12 +285,12 @@ class CefListValueImpl : public CefValueBase<CefListValue, base::ListValue> {
CefListValueImpl& operator=(const CefListValueImpl&) = delete;
// Return a copy of the value.
base::ListValue* CopyValue() WARN_UNUSED_RESULT;
[[nodiscard]] base::ListValue* CopyValue();
// If this value is a reference then return a copy. Otherwise, detach and
// transfer ownership of the value.
base::ListValue* CopyOrDetachValue(CefValueController* new_controller)
WARN_UNUSED_RESULT;
[[nodiscard]] base::ListValue* CopyOrDetachValue(
CefValueController* new_controller);
bool IsSameValue(const base::ListValue* that);
bool IsEqualValue(const base::ListValue* that);

View File

@ -7,7 +7,7 @@
#include <utility>
#include "base/compiler_specific.h"
#include "build/build_config.h"
// Enable deprecation warnings on Windows. See http://crbug.com/585142.
#if BUILDFLAG(IS_WIN)
@ -60,7 +60,6 @@
#include "components/nacl/common/nacl_constants.h"
#include "components/pdf/common/internal_plugin_helpers.h"
#include "components/pdf/renderer/internal_plugin_renderer_helpers.h"
#include "components/pdf/renderer/pdf_find_in_page.h"
#include "components/printing/renderer/print_render_frame_helper.h"
#include "components/spellcheck/renderer/spellcheck.h"
#include "components/spellcheck/renderer/spellcheck_provider.h"
@ -76,6 +75,7 @@
#include "content/public/common/url_constants.h"
#include "content/public/renderer/render_view.h"
#include "content/public/renderer/render_view_visitor.h"
#include "extensions/common/manifest_handlers/csp_info.h"
#include "extensions/common/switches.h"
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
#include "extensions/renderer/renderer_extension_registry.h"
@ -83,7 +83,6 @@
#include "media/base/media.h"
#include "mojo/public/cpp/bindings/binder_map.h"
#include "mojo/public/cpp/bindings/generic_pending_receiver.h"
#include "pdf/pdf_features.h"
#include "printing/print_settings.h"
#include "services/network/public/cpp/is_potentially_trustworthy.h"
#include "services/service_manager/public/cpp/connector.h"
@ -308,12 +307,6 @@ void AlloyContentRendererClient::RenderFrameCreated(
base::WrapUnique(
new extensions::CefPrintRenderFrameHelperDelegate(*is_windowless)));
}
if (base::FeatureList::IsEnabled(chrome_pdf::features::kPdfUnseasoned)) {
render_frame_observer->associated_interfaces()->AddInterface(
base::BindRepeating(&pdf::PdfFindInPageFactory::BindReceiver,
render_frame->GetRoutingID()));
}
}
void AlloyContentRendererClient::WebViewCreated(blink::WebView* web_view) {
@ -343,9 +336,8 @@ bool AlloyContentRendererClient::IsPluginHandledExternally(
// a more unified approach to avoid sending the IPC twice.
chrome::mojom::PluginInfoPtr plugin_info = chrome::mojom::PluginInfo::New();
ChromeContentRendererClient::GetPluginInfoHost()->GetPluginInfo(
render_frame->GetRoutingID(), original_url,
render_frame->GetWebFrame()->Top()->GetSecurityOrigin(), mime_type,
&plugin_info);
original_url, render_frame->GetWebFrame()->Top()->GetSecurityOrigin(),
mime_type, &plugin_info);
// TODO(ekaramad): Not continuing here due to a disallowed status should take
// us to CreatePlugin. See if more in depths investigation of |status| is
// necessary here (see https://crbug.com/965747). For now, returning false
@ -389,9 +381,8 @@ bool AlloyContentRendererClient::OverrideCreatePlugin(
GURL url(params.url);
chrome::mojom::PluginInfoPtr plugin_info = chrome::mojom::PluginInfo::New();
ChromeContentRendererClient::GetPluginInfoHost()->GetPluginInfo(
render_frame->GetRoutingID(), url,
render_frame->GetWebFrame()->Top()->GetSecurityOrigin(), orig_mime_type,
&plugin_info);
url, render_frame->GetWebFrame()->Top()->GetSecurityOrigin(),
orig_mime_type, &plugin_info);
*plugin = ChromeContentRendererClient::CreatePlugin(render_frame, params,
*plugin_info);
return true;
@ -428,9 +419,9 @@ bool AlloyContentRendererClient::IsOriginIsolatedPepperPlugin(
return true;
}
void AlloyContentRendererClient::AddSupportedKeySystems(
std::vector<std::unique_ptr<::media::KeySystemProperties>>* key_systems) {
key_systems_provider_.AddSupportedKeySystems(key_systems);
void AlloyContentRendererClient::GetSupportedKeySystems(
media::GetSupportedKeySystemsCB cb) {
key_systems_provider_.GetSupportedKeySystems(std::move(cb));
}
bool AlloyContentRendererClient::IsKeySystemsUpdateNeeded() {
@ -487,6 +478,39 @@ AlloyContentRendererClient::CreateURLLoaderThrottleProvider(
return std::make_unique<CefURLLoaderThrottleProviderImpl>(provider_type);
}
void AlloyContentRendererClient::AppendContentSecurityPolicy(
const blink::WebURL& url,
blink::WebVector<blink::WebContentSecurityPolicyHeader>* csp) {
if (!extensions::ExtensionsEnabled())
return;
// Don't apply default CSP to PDF renderers.
// TODO(crbug.com/1252096): Lock down the CSP once style and script are no
// longer injected inline by `pdf::PluginResponseWriter`. That class may be a
// better place to define such CSP, or we may continue doing so here.
if (pdf::IsPdfRenderer())
return;
DCHECK(csp);
GURL gurl(url);
const extensions::Extension* extension =
extensions::RendererExtensionRegistry::Get()->GetExtensionOrAppByURL(
gurl);
if (!extension)
return;
// Append a default CSP to ensure the extension can't relax the default
// applied CSP through means like Service Worker.
const std::string* default_csp =
extensions::CSPInfo::GetDefaultCSPToAppend(*extension, gurl.path());
if (!default_csp)
return;
csp->push_back({blink::WebString::FromUTF8(*default_csp),
network::mojom::ContentSecurityPolicyType::kEnforce,
network::mojom::ContentSecurityPolicySource::kHTTP});
}
void AlloyContentRendererClient::GetInterface(
const std::string& interface_name,
mojo::ScopedMessagePipeHandle interface_pipe) {

View File

@ -15,7 +15,6 @@
#include "libcef/renderer/browser_impl.h"
#include "base/compiler_specific.h"
#include "base/task/current_thread.h"
#include "base/task/single_thread_task_runner.h"
#include "chrome/common/plugin.mojom.h"
@ -101,9 +100,7 @@ class AlloyContentRendererClient
uint64_t VisitedLinkHash(const char* canonical_url, size_t length) override;
bool IsLinkVisited(uint64_t link_hash) override;
bool IsOriginIsolatedPepperPlugin(const base::FilePath& plugin_path) override;
void AddSupportedKeySystems(
std::vector<std::unique_ptr<::media::KeySystemProperties>>* key_systems)
override;
void GetSupportedKeySystems(media::GetSupportedKeySystemsCB cb) override;
bool IsKeySystemsUpdateNeeded() override;
void RunScriptsAtDocumentStart(content::RenderFrame* render_frame) override;
void RunScriptsAtDocumentEnd(content::RenderFrame* render_frame) override;
@ -113,6 +110,9 @@ class AlloyContentRendererClient
std::unique_ptr<blink::URLLoaderThrottleProvider>
CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType provider_type) override;
void AppendContentSecurityPolicy(
const blink::WebURL& url,
blink::WebVector<blink::WebContentSecurityPolicyHeader>* csp) override;
// service_manager::LocalInterfaceProvider implementation.
void GetInterface(const std::string& name,

View File

@ -8,7 +8,6 @@
#include <memory>
#include "base/compiler_specific.h"
#include "chrome/common/renderer_configuration.mojom.h"
#include "components/content_settings/core/common/content_settings.h"
#include "content/public/renderer/render_thread_observer.h"

View File

@ -74,7 +74,7 @@ bool CefDOMNodeImpl::IsEditable() {
return true;
if (node_.IsElementNode()) {
const WebElement& element = node_.ToConst<WebElement>();
const WebElement& element = node_.To<WebElement>();
if (blink_glue::IsTextControlElement(element))
return true;
@ -99,7 +99,7 @@ bool CefDOMNodeImpl::IsFormControlElement() {
return false;
if (node_.IsElementNode()) {
const WebElement& element = node_.ToConst<WebElement>();
const WebElement& element = node_.To<WebElement>();
return element.IsFormControlElement();
}
@ -112,11 +112,11 @@ CefString CefDOMNodeImpl::GetFormControlElementType() {
return str;
if (node_.IsElementNode()) {
const WebElement& element = node_.ToConst<WebElement>();
const WebElement& element = node_.To<WebElement>();
if (element.IsFormControlElement()) {
// Retrieve the type from the form control element.
const WebFormControlElement& formElement =
node_.ToConst<WebFormControlElement>();
node_.To<WebFormControlElement>();
const std::u16string& form_control_type =
formElement.FormControlType().Utf16();
@ -156,22 +156,22 @@ CefString CefDOMNodeImpl::GetValue() {
return str;
if (node_.IsElementNode()) {
const WebElement& element = node_.ToConst<WebElement>();
const WebElement& element = node_.To<WebElement>();
if (element.IsFormControlElement()) {
// Retrieve the value from the form control element.
const WebFormControlElement& formElement =
node_.ToConst<WebFormControlElement>();
node_.To<WebFormControlElement>();
std::u16string value;
const std::u16string& form_control_type =
formElement.FormControlType().Utf16();
if (form_control_type == u"text") {
const WebInputElement& input_element =
formElement.ToConst<WebInputElement>();
formElement.To<WebInputElement>();
value = input_element.Value().Utf16();
} else if (form_control_type == u"select-one") {
const WebSelectElement& select_element =
formElement.ToConst<WebSelectElement>();
formElement.To<WebSelectElement>();
value = select_element.Value().Utf16();
}
@ -271,7 +271,7 @@ CefString CefDOMNodeImpl::GetElementTagName() {
return str;
}
const WebElement& element = node_.ToConst<blink::WebElement>();
const WebElement& element = node_.To<blink::WebElement>();
const WebString& tagname = element.TagName();
if (!tagname.IsNull())
str = tagname.Utf16();
@ -288,7 +288,7 @@ bool CefDOMNodeImpl::HasElementAttributes() {
return false;
}
const WebElement& element = node_.ToConst<blink::WebElement>();
const WebElement& element = node_.To<blink::WebElement>();
return (element.AttributeCount() > 0);
}
@ -301,7 +301,7 @@ bool CefDOMNodeImpl::HasElementAttribute(const CefString& attrName) {
return false;
}
const WebElement& element = node_.ToConst<blink::WebElement>();
const WebElement& element = node_.To<blink::WebElement>();
return element.HasAttribute(WebString::FromUTF16(attrName.ToString16()));
}
@ -315,7 +315,7 @@ CefString CefDOMNodeImpl::GetElementAttribute(const CefString& attrName) {
return str;
}
const WebElement& element = node_.ToConst<blink::WebElement>();
const WebElement& element = node_.To<blink::WebElement>();
const WebString& attr =
element.GetAttribute(WebString::FromUTF16(attrName.ToString16()));
if (!attr.IsNull())
@ -333,7 +333,7 @@ void CefDOMNodeImpl::GetElementAttributes(AttributeMap& attrMap) {
return;
}
const WebElement& element = node_.ToConst<blink::WebElement>();
const WebElement& element = node_.To<blink::WebElement>();
unsigned int len = element.AttributeCount();
if (len == 0)
return;

View File

@ -10,7 +10,6 @@
#include "base/stl_util.h"
#include "chrome/common/url_constants.h"
#include "chrome/renderer/extensions/resource_request_policy.h"
#include "components/guest_view/renderer/guest_view_container_dispatcher.h"
#include "content/public/common/content_constants.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
@ -84,11 +83,8 @@ void CefExtensionsRendererClient::RenderThreadStarted() {
resource_request_policy_ =
std::make_unique<extensions::ResourceRequestPolicy>(
extension_dispatcher_.get());
guest_view_container_dispatcher_ =
std::make_unique<guest_view::GuestViewContainerDispatcher>();
thread->AddObserver(extension_dispatcher_.get());
thread->AddObserver(guest_view_container_dispatcher_.get());
}
void CefExtensionsRendererClient::RenderFrameCreated(

View File

@ -31,10 +31,6 @@ class RenderFrame;
struct WebPluginInfo;
} // namespace content
namespace guest_view {
class GuestViewContainerDispatcher;
}
namespace url {
class Origin;
}
@ -84,8 +80,6 @@ class CefExtensionsRendererClient : public ExtensionsRendererClient {
private:
std::unique_ptr<extensions::Dispatcher> extension_dispatcher_;
std::unique_ptr<guest_view::GuestViewContainerDispatcher>
guest_view_container_dispatcher_;
std::unique_ptr<extensions::ResourceRequestPolicy> resource_request_policy_;
};

View File

@ -4,7 +4,7 @@
#include "libcef/renderer/frame_impl.h"
#include "base/compiler_specific.h"
#include "build/build_config.h"
// Enable deprecation warnings on Windows. See http://crbug.com/585142.
#if BUILDFLAG(IS_WIN)

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be found
// in the LICENSE file.
#include "base/compiler_specific.h"
#include "build/build_config.h"
// Enable deprecation warnings on Windows. See http://crbug.com/585142.
#if BUILDFLAG(IS_WIN)

View File

@ -6,7 +6,7 @@
#include <tuple>
#include "base/compiler_specific.h"
#include "build/build_config.h"
// Enable deprecation warnings on Windows. See http://crbug.com/585142.
#if BUILDFLAG(IS_WIN)

View File

@ -10,7 +10,7 @@
#include <string>
#include "base/command_line.h"
#include "base/compiler_specific.h"
#include "build/build_config.h"
// Enable deprecation warnings for MSVC and Clang. See http://crbug.com/585142.
#if BUILDFLAG(IS_WIN)

View File

@ -271,11 +271,6 @@ patches = [
# https://bitbucket.org/chromiumembedded/cef/issues/2289
'name': 'storage_incognito_2289',
},
{
# Fix plugin placeholder blocked message.
# https://bitbucket.org/chromiumembedded/cef/issues/2020/
'name': 'webview_plugin_2020',
},
{
# Support WebUI by removing dependency on non-NULL IOThread* object.
# https://bitbucket.org/chromiumembedded/cef/issues/2037
@ -546,9 +541,8 @@ patches = [
'name': 'blink_security_policy_1289230',
},
{
# Add ChromeUntrustedWebUIControllerFactory::GetInstance() method.
# https://crrev.com/643a88a591e1fa448c9ee72679498e4288e7a164
# https://bitbucket.org/chromiumembedded/cef/issues/3047
'name': 'chrome_untrusted_webui_3047',
# Fix missing lock.h include causing build failure with Windows sandbox.
# https://chromium-review.googlesource.com/c/chromium/src/+/3479396
'name': 'base_debug_3479396',
}
]

View File

@ -0,0 +1,12 @@
diff --git base/debug/dump_without_crashing.cc base/debug/dump_without_crashing.cc
index b9858dc0a7a33..302774bfd773c 100644
--- base/debug/dump_without_crashing.cc
+++ base/debug/dump_without_crashing.cc
@@ -7,6 +7,7 @@
#include "base/check.h"
#include "base/metrics/histogram_functions.h"
#include "base/no_destructor.h"
+#include "base/synchronization/lock.h"
#include "base/trace_event/base_tracing.h"
namespace {

View File

@ -1,8 +1,8 @@
diff --git base/BUILD.gn base/BUILD.gn
index dbef16bc35790..4343b1759c757 100644
index 8243e7ad76529..a013002ac9d1e 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -36,6 +36,7 @@ import("//build/nocompile.gni")
@@ -37,6 +37,7 @@ import("//build/nocompile.gni")
import("//build/rust/mixed_component.gni")
import("//build/timestamp.gni")
import("//build_overrides/build.gni")
@ -10,7 +10,7 @@ index dbef16bc35790..4343b1759c757 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
@@ -1867,7 +1868,11 @@ mixed_component("base") {
@@ -1883,7 +1884,11 @@ mixed_component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@ -23,7 +23,7 @@ index dbef16bc35790..4343b1759c757 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -2116,6 +2121,12 @@ mixed_component("base") {
@@ -2136,6 +2141,12 @@ mixed_component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/renderer/platform/weborigin/security_policy.cc third_party/blink/renderer/platform/weborigin/security_policy.cc
index 4ebbed336ebd8..845f7ec694721 100644
index 4ae902d39a8f5..adfc8d91f9829 100644
--- third_party/blink/renderer/platform/weborigin/security_policy.cc
+++ third_party/blink/renderer/platform/weborigin/security_policy.cc
@@ -90,7 +90,7 @@ Referrer SecurityPolicy::GenerateReferrer(

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 620b3fdc4403a..f20399d453680 100644
index ec3262207e626..910e0b6a9ff89 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -1724,6 +1724,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
@@ -1736,6 +1736,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForMaybeOpaqueOrigin(
// DeclarativeApiTest.PersistRules.
if (actual_process_lock.matches_scheme(url::kDataScheme))
return true;
@ -20,10 +20,10 @@ index 620b3fdc4403a..f20399d453680 100644
// TODO(wjmaclean): We should update the ProcessLock comparison API
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
index 8a84c355e4d56..2545e0e828fe5 100644
index 5a7fa871f7b26..71fa1b1bcd8fd 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -5896,6 +5896,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost(
@@ -5940,6 +5940,12 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithoutFinalFrameHost(
network::mojom::WebSandboxFlags sandbox_flags) {
// Calculate an approximation of the origin. The sandbox/csp are ignored.
url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this);
@ -36,7 +36,7 @@ index 8a84c355e4d56..2545e0e828fe5 100644
// Apply sandbox flags.
// See https://html.spec.whatwg.org/#sandboxed-origin-browsing-context-flag
@@ -5929,6 +5935,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() {
@@ -5973,6 +5979,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryWithFinalFrameHost() {
if (IsSameDocument() || IsPageActivation())
return GetRenderFrameHost()->GetLastCommittedOrigin();
@ -49,6 +49,6 @@ index 8a84c355e4d56..2545e0e828fe5 100644
+ return unchecked_origin.DeriveNewOpaqueOrigin();
+ }
+
url::Origin origin = GetOriginForURLLoaderFactoryWithoutFinalFrameHost(
sandbox_flags_to_commit_.value());
url::Origin origin =
GetOriginForURLLoaderFactoryWithoutFinalFrameHost(SandboxFlagsToCommit());

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index af37ee76ac033..dff942745d662 100644
index 7b9ce0172eedf..d27fe315a3b1a 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -1826,8 +1826,6 @@ config("thin_archive") {
@@ -1842,8 +1842,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 09b5c00891717..cfa169e00b104 100644
index 560930c0979ca..e99dcad7a2e5d 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -12,6 +12,7 @@ import("//build/config/features.gni")
@ -10,7 +10,7 @@ index 09b5c00891717..cfa169e00b104 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -1925,6 +1926,7 @@ static_library("browser") {
@@ -1904,6 +1905,7 @@ static_library("browser") {
"//build:chromeos_buildflags",
"//build/config/compiler:compiler_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 09b5c00891717..cfa169e00b104 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2562,6 +2564,10 @@ static_library("browser") {
@@ -2546,6 +2548,10 @@ static_library("browser") {
deps += [ "//chrome/browser/ui/webui/connectors_internals:mojo_bindings" ]
}

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h
index aaf861970f122..1c9648d3cc917 100644
index d7b9aa164f161..a042abaecbce7 100644
--- chrome/browser/browser_process.h
+++ chrome/browser/browser_process.h
@@ -201,9 +201,9 @@ class BrowserProcess {
@@ -198,9 +198,9 @@ class BrowserProcess {
virtual DownloadStatusUpdater* download_status_updater() = 0;
virtual DownloadRequestLimiter* download_request_limiter() = 0;
@ -14,10 +14,10 @@ index aaf861970f122..1c9648d3cc917 100644
std::unique_ptr<BackgroundModeManager> manager) = 0;
#endif
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index cd8c5f9ee5835..bae8231637ab2 100644
index c414951896de4..dee7534789e09 100644
--- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc
@@ -995,18 +995,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
@@ -1003,18 +1003,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
return download_request_limiter_.get();
}
@ -38,7 +38,7 @@ index cd8c5f9ee5835..bae8231637ab2 100644
std::unique_ptr<BackgroundModeManager> manager) {
background_mode_manager_ = std::move(manager);
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
index e61312aa24305..bc4333a3b87a8 100644
index a40df2ac3065c..6ba9442b19f09 100644
--- chrome/browser/browser_process_impl.h
+++ chrome/browser/browser_process_impl.h
@@ -183,8 +183,8 @@ class BrowserProcessImpl : public BrowserProcess,

View File

@ -13,7 +13,7 @@ index 9e534ff1683f1..de406f5879be0 100644
return false;
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index a7a64effed043..f2d36a884b278 100644
index 04e327d970b87..0b808a691eb49 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -262,6 +262,20 @@
@ -37,7 +37,7 @@ index a7a64effed043..f2d36a884b278 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -498,6 +512,13 @@ Browser::Browser(const CreateParams& params)
@@ -504,6 +518,13 @@ Browser::Browser(const CreateParams& params)
tab_strip_model_->AddObserver(this);
@ -51,7 +51,7 @@ index a7a64effed043..f2d36a884b278 100644
location_bar_model_ = std::make_unique<LocationBarModelImpl>(
location_bar_model_delegate_.get(), content::kMaxURLDisplayChars);
@@ -1320,6 +1341,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
@@ -1327,6 +1348,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@ -66,7 +66,7 @@ index a7a64effed043..f2d36a884b278 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1327,8 +1356,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1334,8 +1363,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -87,7 +87,7 @@ index a7a64effed043..f2d36a884b278 100644
}
bool Browser::TabsNeedBeforeUnloadFired() {
@@ -1533,6 +1572,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
@@ -1540,6 +1579,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
return window->OpenURLFromTab(source, params);
}
@ -102,7 +102,7 @@ index a7a64effed043..f2d36a884b278 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -1632,6 +1679,15 @@ void Browser::AddNewContents(WebContents* source,
@@ -1639,6 +1686,15 @@ void Browser::AddNewContents(WebContents* source,
source, disposition);
}
@ -118,7 +118,7 @@ index a7a64effed043..f2d36a884b278 100644
chrome::AddWebContents(this, source, std::move(new_contents), target_url,
disposition, initial_rect);
}
@@ -1650,6 +1706,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -1657,6 +1713,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -127,7 +127,7 @@ index a7a64effed043..f2d36a884b278 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -1677,6 +1735,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -1684,6 +1742,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@ -136,7 +136,7 @@ index a7a64effed043..f2d36a884b278 100644
if (!GetStatusBubble())
return;
@@ -1684,6 +1744,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -1691,6 +1751,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@ -154,7 +154,7 @@ index a7a64effed043..f2d36a884b278 100644
void Browser::ContentsMouseEvent(WebContents* source,
bool motion,
bool exited) {
@@ -1800,6 +1871,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
@@ -1807,6 +1878,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// Make the tab show up in the task manager.
task_manager::WebContentsTags::CreateForTabContents(new_contents);
@ -165,7 +165,7 @@ index a7a64effed043..f2d36a884b278 100644
}
void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) {
@@ -1844,6 +1919,8 @@ void Browser::RendererResponsive(
@@ -1851,6 +1926,8 @@ void Browser::RendererResponsive(
void Browser::DidNavigatePrimaryMainFramePostCommit(WebContents* web_contents) {
if (web_contents == tab_strip_model_->GetActiveWebContents())
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
@ -174,7 +174,7 @@ index a7a64effed043..f2d36a884b278 100644
}
content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager(
@@ -1890,11 +1967,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -1906,11 +1983,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id);
@ -190,7 +190,7 @@ index a7a64effed043..f2d36a884b278 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2737,6 +2818,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -2753,6 +2834,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
content_translate_driver->RemoveTranslationObserver(this);
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
}
@ -200,7 +200,7 @@ index a7a64effed043..f2d36a884b278 100644
void Browser::TabDetachedAtImpl(content::WebContents* contents,
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index 1cda451616290..2272fb467e055 100644
index a63ba24be314e..38a6dcbf034ef 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -21,6 +21,7 @@
@ -261,7 +261,7 @@ index 1cda451616290..2272fb467e055 100644
// Get the FindBarController for this browser, creating it if it does not
// yet exist.
FindBarController* GetFindBarController();
@@ -796,6 +819,11 @@ class Browser : public TabStripModelObserver,
@@ -794,6 +817,11 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -273,7 +273,7 @@ index 1cda451616290..2272fb467e055 100644
void ContentsMouseEvent(content::WebContents* source,
bool motion,
bool exited) override;
@@ -1191,6 +1219,8 @@ class Browser : public TabStripModelObserver,
@@ -1196,6 +1224,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_;
@ -282,7 +282,7 @@ index 1cda451616290..2272fb467e055 100644
CreationSource creation_source_ = CreationSource::kUnknown;
UnloadController unload_controller_;
@@ -1252,6 +1282,10 @@ class Browser : public TabStripModelObserver,
@@ -1257,6 +1287,10 @@ class Browser : public TabStripModelObserver,
extension_browser_window_helper_;
#endif
@ -294,10 +294,10 @@ index 1cda451616290..2272fb467e055 100644
// The following factory is used for chrome update coalescing.
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index 8b0052125942c..a121e1086eaeb 100644
index b7b60c8f9a0c6..bb5b09e9c081d 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -477,6 +477,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -497,6 +497,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 0c42ba3e13fe9..2bb347fe9cd50 100644
index 1301f3baf5b7f..bebc86d812313 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -293,6 +293,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@@ -292,6 +292,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
return callback.get();
}
@ -16,7 +16,7 @@ index 0c42ba3e13fe9..2bb347fe9cd50 100644
enum class UmaEnumIdLookupType {
GeneralEnumId,
ContextSpecificEnumId,
@@ -506,6 +513,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
@@ -504,6 +511,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
if (ContextMenuMatcher::IsExtensionsCustomCommandId(id))
return 1;
@ -27,7 +27,7 @@ index 0c42ba3e13fe9..2bb347fe9cd50 100644
id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id);
@@ -697,6 +708,14 @@ RenderViewContextMenu::RenderViewContextMenu(
@@ -695,6 +706,14 @@ RenderViewContextMenu::RenderViewContextMenu(
system_app_ = GetBrowser() && GetBrowser()->app_controller()
? GetBrowser()->app_controller()->system_app()
: nullptr;
@ -42,7 +42,7 @@ index 0c42ba3e13fe9..2bb347fe9cd50 100644
}
RenderViewContextMenu::~RenderViewContextMenu() = default;
@@ -1064,6 +1083,12 @@ void RenderViewContextMenu::InitMenu() {
@@ -1062,6 +1081,12 @@ void RenderViewContextMenu::InitMenu() {
// menu, meaning that each menu item added/removed in this function will cause
// it to visibly jump on the screen (see b/173569669).
AppendQuickAnswersItems();
@ -55,7 +55,7 @@ index 0c42ba3e13fe9..2bb347fe9cd50 100644
}
Profile* RenderViewContextMenu::GetProfile() const {
@@ -2893,6 +2918,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
@@ -2832,6 +2857,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb);
}
@ -69,7 +69,7 @@ index 0c42ba3e13fe9..2bb347fe9cd50 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 a45df3c894cf5..c97a1ecb08579 100644
index 72d55de086c14..039d28af436d7 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -126,6 +126,12 @@ class RenderViewContextMenu
@ -85,7 +85,7 @@ index a45df3c894cf5..c97a1ecb08579 100644
protected:
Profile* GetProfile() const;
@@ -329,6 +335,9 @@ class RenderViewContextMenu
@@ -334,6 +340,9 @@ class RenderViewContextMenu
// built.
bool is_protocol_submenu_valid_ = false;

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc
index b13f110636723..e5012dd4208e8 100644
index 38c468115fc1a..3517c3a121f65 100644
--- chrome/browser/extensions/api/chrome_extensions_api_client.cc
+++ chrome/browser/extensions/api/chrome_extensions_api_client.cc
@@ -14,6 +14,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index df174d7d1ec4d..8bb63dcc89f20 100644
index d0335e2fb75e2..8ffd1efa13703 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -10,6 +10,7 @@ import("//build/config/features.gni")
@ -10,7 +10,7 @@ index df174d7d1ec4d..8bb63dcc89f20 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/assistant/assistant.gni")
@@ -369,6 +370,10 @@ static_library("ui") {
@@ -355,6 +356,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -21,7 +21,7 @@ index df174d7d1ec4d..8bb63dcc89f20 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
@@ -391,6 +396,7 @@ static_library("ui") {
@@ -377,6 +382,7 @@ static_library("ui") {
"//build:branding_buildflags",
"//build:chromeos_buildflags",
"//cc/paint",
@ -29,7 +29,7 @@ index df174d7d1ec4d..8bb63dcc89f20 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -5209,6 +5215,7 @@ static_library("ui") {
@@ -5293,6 +5299,7 @@ static_library("ui") {
if (enable_basic_printing) {
deps += [
"//components/printing/browser",
@ -38,7 +38,7 @@ index df174d7d1ec4d..8bb63dcc89f20 100644
]
}
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index c5e34303668cb..8e376848fc7d5 100644
index 12edced619355..3a1eb1461ab08 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -22,6 +22,7 @@

View File

@ -29,10 +29,10 @@ index 98617c979713b..1fac2a76ce097 100644
chrome::RecordDialogCreation(
diff --git chrome/browser/ui/views/profiles/profile_menu_view_base.cc chrome/browser/ui/views/profiles/profile_menu_view_base.cc
index 921bcea63a637..2a7e2f75a313f 100644
index 63d663a749c77..1c9376a64c623 100644
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -513,7 +513,9 @@ void ProfileMenuViewBase::ShowBubble(profiles::BubbleViewMode view_mode,
@@ -512,7 +512,9 @@ void ProfileMenuViewBase::ShowBubble(profiles::BubbleViewMode view_mode,
ProfileMenuViewBase* bubble = nullptr;
if (view_mode == profiles::BUBBLE_VIEW_MODE_INCOGNITO) {

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 d153cc5837e0e..5154b21d819ed 100644
index 5e634ca7e08b1..3cfd301688e33 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -616,7 +616,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@@ -629,7 +629,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
#endif
if (!profile)
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
@ -14,10 +14,10 @@ index d153cc5837e0e..5154b21d819ed 100644
}
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
index a3fadab7e4e6b..032300a4c4a0b 100644
index 779971a744754..c35a4eba3f2d9 100644
--- chrome/browser/profiles/profile.cc
+++ chrome/browser/profiles/profile.cc
@@ -84,6 +84,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
@@ -82,6 +82,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
namespace {
@ -25,7 +25,7 @@ index a3fadab7e4e6b..032300a4c4a0b 100644
const char kDevToolsOTRProfileIDPrefix[] = "Devtools::BrowserContext";
const char kMediaRouterOTRProfileIDPrefix[] = "MediaRouter::Presentation";
const char kTestOTRProfileIDPrefix[] = "Test::OTR";
@@ -98,6 +99,8 @@ bool Profile::OTRProfileID::AllowsBrowserWindows() const {
@@ -96,6 +97,8 @@ bool Profile::OTRProfileID::AllowsBrowserWindows() const {
// DevTools::BrowserContext and MediaRouter::Presentation are an
// exception to this ban.
return *this == PrimaryID() ||
@ -34,7 +34,7 @@ index a3fadab7e4e6b..032300a4c4a0b 100644
base::StartsWith(profile_id_, kDevToolsOTRProfileIDPrefix,
base::CompareCase::SENSITIVE) ||
base::StartsWith(profile_id_, kMediaRouterOTRProfileIDPrefix,
@@ -119,6 +122,16 @@ Profile::OTRProfileID Profile::OTRProfileID::CreateUnique(
@@ -117,6 +120,16 @@ Profile::OTRProfileID Profile::OTRProfileID::CreateUnique(
base::GUID::GenerateRandomV4().AsLowercaseString().c_str()));
}
@ -85,10 +85,10 @@ index ca2561e412621..febd52df6c971 100644
virtual bool IsSignedIn() = 0;
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index 1c79ba2998e34..d0518d23944a7 100644
index bd0c693804407..c4a62b0dae176 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -998,7 +998,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
@@ -1002,7 +1002,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
otr_profiles_[otr_profile_id] = std::move(otr_profile);
@ -100,10 +100,10 @@ index 1c79ba2998e34..d0518d23944a7 100644
return raw_otr_profile;
}
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index e443ba3df4107..d3656b3cff757 100644
index 6ad6467c59f58..57f35c3c6150f 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -496,7 +496,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -494,7 +494,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
base::Unretained(this)));
#endif
@ -113,7 +113,7 @@ index e443ba3df4107..d3656b3cff757 100644
zombie_metrics_timer_.Start(FROM_HERE, base::Minutes(30), this,
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
index 0719f998c0097..33e392a076183 100644
index 18c384da45b1e..606d60152ebb8 100644
--- chrome/browser/profiles/profile_manager.h
+++ chrome/browser/profiles/profile_manager.h
@@ -150,7 +150,7 @@ class ProfileManager : public Profile::Delegate {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index b42acc15af846..d5a739cdb8948 100644
index 9a4e6cd87b872..18bb0f897fd76 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -26,6 +26,7 @@ static_library("safe_browsing") {

View File

@ -1,17 +1,17 @@
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
index 479ccaad2aa8f..fd57948a4af5e 100644
index 9de247b3f04df..e05535fd40788 100644
--- chrome/browser/themes/theme_service.cc
+++ chrome/browser/themes/theme_service.cc
@@ -28,6 +28,7 @@
#include "base/task/thread_pool.h"
@@ -31,6 +31,7 @@
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
+#include "cef/libcef/features/runtime.h"
#include "chrome/browser/browser_features.h"
#include "chrome/browser/extensions/extension_service.h"
#include "chrome/browser/extensions/theme_installed_infobar_delegate.h"
@@ -63,6 +64,10 @@
#include "ui/base/layout.h"
@@ -67,6 +68,10 @@
#include "ui/color/color_id.h"
#include "ui/color/color_provider.h"
+#if BUILDFLAG(ENABLE_CEF)
@ -21,7 +21,7 @@ index 479ccaad2aa8f..fd57948a4af5e 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "base/scoped_observation.h"
#include "extensions/browser/extension_registry_observer.h"
@@ -355,11 +360,19 @@ void ThemeService::Init() {
@@ -359,11 +364,19 @@ void ThemeService::Init() {
// OnExtensionServiceReady. Otherwise, the ThemeObserver won't be
// constructed in time to observe the corresponding events.
#if BUILDFLAG(ENABLE_EXTENSIONS)

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 2cf61c44809a9..e6948ab525700 100644
index f2d3d1a0cd308..49c9747006521 100644
--- chrome/browser/plugins/plugin_info_host_impl.cc
+++ chrome/browser/plugins/plugin_info_host_impl.cc
@@ -18,6 +18,7 @@
@ -125,10 +125,10 @@ index 8b72897491669..546919dd70afc 100644
// that the X-Frame-Options protection mechanism is set to either DENY or
// SAMEORIGIN.
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index 9e2e8d1892366..262659f9e3204 100644
index 34d8a9b2ff94e..fe67d6b068bf6 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -940,6 +940,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -926,6 +926,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
@ -136,7 +136,7 @@ index 9e2e8d1892366..262659f9e3204 100644
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
@@ -1141,7 +1142,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1127,7 +1128,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -146,7 +146,7 @@ index 9e2e8d1892366..262659f9e3204 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1150,7 +1152,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1136,7 +1138,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -156,7 +156,7 @@ index 9e2e8d1892366..262659f9e3204 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1160,7 +1163,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1146,7 +1149,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
@ -166,7 +166,7 @@ index 9e2e8d1892366..262659f9e3204 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -1168,7 +1172,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1154,7 +1158,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 93f57d5fd1f4a..428371b7d7ff8 100644
index 176314411db58..9dc533e9ef13d 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@
@ -18,7 +18,7 @@ index 93f57d5fd1f4a..428371b7d7ff8 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -211,6 +213,10 @@ static_library("renderer") {
@@ -210,6 +212,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,8 +1,8 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 132735e3a1200..0d392976799a4 100644
index 7c710c515361c..bb61507a3f5d1 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -31,6 +31,7 @@
@@ -32,6 +32,7 @@
#include "base/trace_event/trace_event_impl.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -10,7 +10,7 @@ index 132735e3a1200..0d392976799a4 100644
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_resource_bundle_helper.h"
#include "chrome/browser/defaults.h"
@@ -390,6 +391,8 @@ struct MainFunction {
@@ -391,6 +392,8 @@ struct MainFunction {
// Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) {
@ -19,7 +19,7 @@ index 132735e3a1200..0d392976799a4 100644
#if BUILDFLAG(IS_WIN)
// Reach out to chrome_elf for the truth on the user data directory.
// Note that in tests, this links to chrome_elf_test_stubs.
@@ -712,7 +715,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() {
@@ -713,7 +716,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() {
}
#if BUILDFLAG(IS_WIN)
@ -29,7 +29,7 @@ index 132735e3a1200..0d392976799a4 100644
base::sequence_manager::internal::ThreadControllerPowerMonitor::
InitializeOnMainThread();
#endif
@@ -1010,6 +1015,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1024,6 +1029,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
@ -37,7 +37,7 @@ index 132735e3a1200..0d392976799a4 100644
crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_POSIX)
@@ -1020,6 +1026,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1034,6 +1040,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line);
#endif
@ -45,7 +45,7 @@ index 132735e3a1200..0d392976799a4 100644
#if BUILDFLAG(IS_WIN)
child_process_logging::Init();
@@ -1146,6 +1153,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1161,6 +1168,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
locale;
}
@ -53,7 +53,7 @@ index 132735e3a1200..0d392976799a4 100644
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
@@ -1178,6 +1186,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1193,6 +1201,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line);
@ -61,7 +61,7 @@ index 132735e3a1200..0d392976799a4 100644
#if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData();
@@ -1269,6 +1278,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1284,6 +1293,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler();
}
@ -69,7 +69,7 @@ index 132735e3a1200..0d392976799a4 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 =
@@ -1285,6 +1295,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1300,6 +1310,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
@ -78,7 +78,7 @@ index 132735e3a1200..0d392976799a4 100644
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index 4e9969d9c5b0b..e599b114f021d 100644
index 3d59014db49e9..f96b79c02fd92 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -52,6 +52,7 @@
@ -89,7 +89,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1530,11 +1531,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1579,11 +1580,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->local_state());
}
@ -103,7 +103,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
#if BUILDFLAG(IS_ANDROID)
page_info::SetPageInfoClient(new ChromePageInfoClient());
@@ -1757,11 +1760,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1760,11 +1763,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// This step is costly and is already measured in
// Startup.StartupBrowserCreator_Start.
// See the comment above for an explanation of |process_command_line|.
@ -119,7 +119,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
// TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
// of lacros-chrome is complete.
#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
@@ -1789,8 +1795,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1792,8 +1798,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
@ -132,7 +132,7 @@ index 4e9969d9c5b0b..e599b114f021d 100644
GetMainRunLoopInstance()->QuitWhenIdleClosure());
}
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index dbd8f7ebe071d..b0f8d3d7bcff9 100644
index 831d7173873d1..594aee58331a7 100644
--- chrome/browser/chrome_browser_main_mac.mm
+++ chrome/browser/chrome_browser_main_mac.mm
@@ -16,6 +16,7 @@
@ -143,7 +143,7 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644
#import "chrome/browser/app_controller_mac.h"
#include "chrome/browser/apps/app_shim/app_shim_listener.h"
#include "chrome/browser/browser_process.h"
@@ -110,6 +111,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
@@ -111,6 +112,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
}
}
@ -151,15 +151,15 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644
// Create the app delegate. This object is intentionally leaked as a global
// singleton. It is accessed through -[NSApp delegate].
AppController* app_controller = [[AppController alloc] init];
@@ -118,6 +120,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
@@ -119,6 +121,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
chrome::BuildMainMenu(NSApp, app_controller,
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false);
[app_controller mainMenuCreated];
+#endif // BUILDFLAG(ENABLE_CEF)
PrefService* local_state = g_browser_process->local_state();
DCHECK(local_state);
@@ -177,7 +180,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
chrome::DeveloperIDCertificateReauthorizeInApp();
@@ -180,7 +183,9 @@ void ChromeBrowserMainPartsMac::PostProfileInit(Profile* profile,
}
void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() {
@ -170,7 +170,7 @@ index dbd8f7ebe071d..b0f8d3d7bcff9 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 70df7bef3a7b1..97d130a0a1be6 100644
index d590b2d42f416..e1039ef8b78b4 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -28,6 +28,7 @@
@ -181,7 +181,7 @@ index 70df7bef3a7b1..97d130a0a1be6 100644
#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"
@@ -3682,9 +3683,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -3705,9 +3706,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
@ -193,7 +193,7 @@ index 70df7bef3a7b1..97d130a0a1be6 100644
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -5333,7 +5336,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
@@ -5340,7 +5343,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
network_service);
}
@ -202,7 +202,7 @@ index 70df7bef3a7b1..97d130a0a1be6 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -5351,6 +5354,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@@ -5358,6 +5361,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale();
}
@ -212,10 +212,10 @@ index 70df7bef3a7b1..97d130a0a1be6 100644
std::vector<base::FilePath>
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index 71dfd396b405e..879210ff7c8fd 100644
index f2a7fdf291652..f106b11e61ab0 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -549,7 +549,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -557,7 +557,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
@ -225,7 +225,7 @@ index 71dfd396b405e..879210ff7c8fd 100644
bool in_memory,
const base::FilePath& relative_partition_path,
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 3ae5f0a699de3..d66d193121be5 100644
index 94cf3615137ad..369983be86323 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -11,6 +11,7 @@
@ -236,7 +236,7 @@ index 3ae5f0a699de3..d66d193121be5 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_ui.h"
@@ -164,6 +165,10 @@
@@ -161,6 +162,10 @@
#include "chrome/browser/background/background_mode_manager.h"
#endif
@ -247,7 +247,7 @@ index 3ae5f0a699de3..d66d193121be5 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1267,6 +1272,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1273,6 +1278,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
SessionDataService::RegisterProfilePrefs(registry);
#endif

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index 92f10fac6b017..cc53da3a0b32e 100644
index cff1df2490bb6..9d156bd9993fa 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -368,8 +368,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -371,8 +371,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
// CommandUpdaterDelegate and CommandUpdater declare this function so we
// choose to not implement CommandUpdaterDelegate inside this class and
// therefore command_updater_ doesn't have the delegate set).
@ -14,7 +14,7 @@ index 92f10fac6b017..cc53da3a0b32e 100644
// No commands are enabled if there is not yet any selected tab.
// TODO(pkasting): It seems like we should not need this, because either
@@ -979,11 +981,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
@@ -985,11 +987,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() {
@ -29,12 +29,12 @@ index 92f10fac6b017..cc53da3a0b32e 100644
+ browser_->toolbar_overridden();
}
void BrowserCommandController::InitCommandState() {
bool BrowserCommandController::IsWebAppOrCustomTab() const {
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index 6264562165ced..d20f970ba1254 100644
index 6b644bf006532..9ae5bd273b6dc 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -73,15 +73,23 @@ bool IsUsingGtkTheme(Profile* profile) {
@@ -74,15 +74,23 @@ bool IsUsingGtkTheme(Profile* profile) {
////////////////////////////////////////////////////////////////////////////////
// BrowserFrame, public:
@ -60,7 +60,7 @@ index 6264562165ced..d20f970ba1254 100644
}
BrowserFrame::~BrowserFrame() {}
@@ -141,6 +149,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion(
@@ -143,6 +151,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion(
}
int BrowserFrame::GetTopInset() const {
@ -73,7 +73,7 @@ index 6264562165ced..d20f970ba1254 100644
return browser_frame_view_->GetTopInset(false);
}
@@ -175,15 +189,21 @@ void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds,
@@ -177,15 +191,21 @@ void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds,
content::KeyboardEventProcessingResult BrowserFrame::PreHandleKeyboardEvent(
const content::NativeWebKeyboardEvent& event) {
@ -95,27 +95,37 @@ index 6264562165ced..d20f970ba1254 100644
browser_frame_view_->OnBrowserViewInitViewsComplete();
}
@@ -244,6 +264,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
@@ -246,6 +266,8 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
ui::ColorProviderManager::InitializerSupplier* BrowserFrame::GetCustomTheme()
const {
+ if (!browser_view_)
+ return nullptr;
Browser* browser = browser_view_->browser();
auto* app_controller = browser->app_controller();
// Ignore GTK+ for web apps with window-controls-overlay as the
@@ -369,7 +391,8 @@ void BrowserFrame::SelectNativeTheme() {
// If this is an incognito profile, there should never be a custom theme.
if (browser->profile()->IsIncognitoProfile())
@@ -374,7 +396,8 @@ void BrowserFrame::SelectNativeTheme() {
// Select between regular, dark and GTK theme.
ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi();
- if (browser_view_->browser()->profile()->IsIncognitoProfile()) {
+ if (browser_view_ &&
+ browser_view_->browser()->profile()->IsIncognitoProfile()) {
// If the flag is enabled, then no matter if we are using the default theme
// or not we always use the dark ui instance.
if (base::FeatureList::IsEnabled(
// No matter if we are using the default theme or not we always use the dark
// ui instance.
SetNativeTheme(ui::NativeTheme::GetInstanceForDarkUI());
@@ -387,7 +410,8 @@ void BrowserFrame::SelectNativeTheme() {
// display_override so the web contents can blend with the overlay by using
// the developer-provided theme color for a better experience. Context:
// https://crbug.com/1219073.
- if (linux_ui && !browser_view_->AppUsesWindowControlsOverlay()) {
+ if (linux_ui &&
+ (!browser_view_ || !browser_view_->AppUsesWindowControlsOverlay())) {
native_theme = linux_ui->GetNativeTheme(GetNativeWindow());
}
#endif
diff --git chrome/browser/ui/views/frame/browser_frame.h chrome/browser/ui/views/frame/browser_frame.h
index 6a1e9abbc66aa..aa9e3ebe2599c 100644
index 67496d7ab6c50..fa97b9abe6253 100644
--- chrome/browser/ui/views/frame/browser_frame.h
+++ chrome/browser/ui/views/frame/browser_frame.h
@@ -53,7 +53,9 @@ enum class TabDragKind {
@ -129,10 +139,10 @@ index 6a1e9abbc66aa..aa9e3ebe2599c 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 8138e50a55072..e01b2274119b8 100644
index 0f9a2e8b91715..355bdf6fa9074 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -291,11 +291,10 @@ using content::WebContents;
@@ -297,11 +297,10 @@ using content::WebContents;
using views::ColumnSet;
using web_modal::WebContentsModalDialogHost;
@ -147,7 +157,7 @@ index 8138e50a55072..e01b2274119b8 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation.
@@ -683,11 +682,22 @@ class BrowserView::SidePanelButtonHighlighter : public views::ViewObserver {
@@ -689,11 +688,22 @@ class BrowserView::SidePanelButtonHighlighter : public views::ViewObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@ -171,7 +181,7 @@ index 8138e50a55072..e01b2274119b8 100644
SetShowIcon(::ShouldShowWindowIcon(browser_.get()));
// In forced app mode, all size controls are always disabled. Otherwise, use
@@ -701,7 +711,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -727,7 +737,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
}
browser_->tab_strip_model()->AddObserver(this);
@ -179,7 +189,7 @@ index 8138e50a55072..e01b2274119b8 100644
// Top container holds tab strip region and toolbar and lives at the front of
// the view hierarchy.
@@ -749,8 +758,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -770,8 +779,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_));
@ -197,7 +207,7 @@ index 8138e50a55072..e01b2274119b8 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1587,6 +1603,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
@@ -1646,6 +1662,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
if (immersive_mode_controller_->IsEnabled())
return false;
@ -206,7 +216,7 @@ index 8138e50a55072..e01b2274119b8 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
@@ -2731,7 +2749,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const {
@@ -2824,7 +2842,8 @@ BrowserView::GetNativeViewHostsForTopControlsSlide() const {
}
void BrowserView::ReparentTopContainerForEndOfImmersive() {
@ -216,7 +226,7 @@ index 8138e50a55072..e01b2274119b8 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -3220,8 +3239,10 @@ void BrowserView::Layout() {
@@ -3313,8 +3332,10 @@ void BrowserView::Layout() {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -229,7 +239,7 @@ index 8138e50a55072..e01b2274119b8 100644
// Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode.
@@ -3284,6 +3305,11 @@ void BrowserView::AddedToWidget() {
@@ -3380,6 +3401,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@ -241,7 +251,7 @@ index 8138e50a55072..e01b2274119b8 100644
toolbar_->Init();
// TODO(pbos): Manage this either inside SidePanel or the corresponding button
@@ -3336,13 +3362,9 @@ void BrowserView::AddedToWidget() {
@@ -3432,13 +3458,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
@ -257,7 +267,7 @@ index 8138e50a55072..e01b2274119b8 100644
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -3761,7 +3783,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
@@ -3859,7 +3881,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@ -267,7 +277,7 @@ index 8138e50a55072..e01b2274119b8 100644
}
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
@@ -4052,6 +4075,8 @@ Profile* BrowserView::GetProfile() {
@@ -4186,6 +4209,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@ -276,7 +286,7 @@ index 8138e50a55072..e01b2274119b8 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -4074,6 +4099,8 @@ void BrowserView::HideDownloadShelf() {
@@ -4208,6 +4233,8 @@ void BrowserView::HideDownloadShelf() {
}
bool BrowserView::CanUserExitFullscreen() const {
@ -286,10 +296,10 @@ index 8138e50a55072..e01b2274119b8 100644
}
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 02d9793dd5c8d..fe8b0cef88375 100644
index a8abae057e699..c237aae395be8 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -125,11 +125,16 @@ class BrowserView : public BrowserWindow,
@@ -127,11 +127,16 @@ class BrowserView : public BrowserWindow,
public webapps::AppBannerManager::Observer {
public:
METADATA_HEADER(BrowserView);
@ -306,7 +316,7 @@ index 02d9793dd5c8d..fe8b0cef88375 100644
void set_frame(BrowserFrame* frame) { frame_ = frame; }
BrowserFrame* frame() const { return frame_; }
@@ -705,6 +710,12 @@ class BrowserView : public BrowserWindow,
@@ -723,6 +728,12 @@ class BrowserView : public BrowserWindow,
const std::map<std::string, std::string>& extra_data) override;
#endif
@ -320,7 +330,7 @@ index 02d9793dd5c8d..fe8b0cef88375 100644
// Do not friend BrowserViewLayout. Use the BrowserViewLayoutDelegate
// interface to keep these two classes decoupled and testable.
diff --git chrome/browser/ui/views/frame/browser_view_layout.cc chrome/browser/ui/views/frame/browser_view_layout.cc
index 1d22e4b057c6c..d73b547f09e0b 100644
index 5f8af5f46bf46..54aba6eb904d6 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -40,6 +40,10 @@
@ -347,10 +357,10 @@ index 1d22e4b057c6c..d73b547f09e0b 100644
bool toolbar_visible = delegate_->IsToolbarVisible();
int height = toolbar_visible ? toolbar_->GetPreferredSize().height() : 0;
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
index b5706099ce923..07cebc2f8b65f 100644
index 9a42c3bd2207b..4de0fb1b33bce 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -559,37 +559,53 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
@@ -563,37 +563,53 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
}
bool BrowserTabStripController::IsFrameCondensed() const {
@ -405,10 +415,10 @@ index b5706099ce923..07cebc2f8b65f 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index b5098154b2f7e..4a3121cedf083 100644
index 5ea77d3196bc0..1be02aea8cec6 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -168,12 +168,13 @@ auto& GetViewCommandMap() {
@@ -169,12 +169,13 @@ auto& GetViewCommandMap() {
////////////////////////////////////////////////////////////////////////////////
// ToolbarView, public:
@ -424,7 +434,7 @@ index b5098154b2f7e..4a3121cedf083 100644
SetID(VIEW_ID_TOOLBAR);
UpgradeDetector::GetInstance()->AddObserver(this);
@@ -208,7 +209,7 @@ void ToolbarView::Init() {
@@ -209,7 +210,7 @@ void ToolbarView::Init() {
#endif
auto location_bar = std::make_unique<LocationBarView>(
browser_, browser_->profile(), browser_->command_controller(), this,
@ -434,10 +444,10 @@ index b5098154b2f7e..4a3121cedf083 100644
size_animation_.Reset(1);
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index 79efc97f711f1..6915479340275 100644
index a60109508b7f5..3df342afd279b 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,
@@ -94,7 +94,8 @@ class ToolbarView : public views::AccessiblePaneView,
// needs to be displayed.
};

View File

@ -1,34 +0,0 @@
diff --git chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
index 78d2b6eef6ca6..ebefa586902c9 100644
--- chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
+++ chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.cc
@@ -94,9 +94,15 @@ WebUIConfigList CreateConfigs() {
} // namespace
// static
-void ChromeUntrustedWebUIControllerFactory::RegisterInstance() {
+ChromeUntrustedWebUIControllerFactory*
+ChromeUntrustedWebUIControllerFactory::GetInstance() {
static base::NoDestructor<ChromeUntrustedWebUIControllerFactory> instance;
- content::WebUIControllerFactory::RegisterFactory(instance.get());
+ return instance.get();
+}
+
+// static
+void ChromeUntrustedWebUIControllerFactory::RegisterInstance() {
+ content::WebUIControllerFactory::RegisterFactory(GetInstance());
}
ChromeUntrustedWebUIControllerFactory::ChromeUntrustedWebUIControllerFactory()
diff --git chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
index fd16bca71a3f0..738afa6654e42 100644
--- chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
+++ chrome/browser/ui/webui/chrome_untrusted_web_ui_controller_factory.h
@@ -12,6 +12,7 @@ class ChromeUntrustedWebUIControllerFactory
public:
// Register the singleton instance of this class.
static void RegisterInstance();
+ static ChromeUntrustedWebUIControllerFactory* GetInstance();
ChromeUntrustedWebUIControllerFactory();
ChromeUntrustedWebUIControllerFactory(

View File

@ -68,7 +68,7 @@ index 57072bf1263ae..0a93446e4d21c 100644
blink::mojom::V8CacheOptions GetV8CacheOptions();
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index b54d43016f306..b26a292893de8 100644
index a789586193e94..234a687dd1c23 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -32,6 +32,7 @@ component("controller") {

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index ec6be2ff24d23..159ed7776c0aa 100644
index fc87fd9a6ffca..99c6b27018e13 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -576,7 +576,7 @@ void DevToolsHttpHandler::OnJsonRequest(
@ -12,7 +12,7 @@ index ec6be2ff24d23..159ed7776c0aa 100644
GetContentClient()->browser()->GetUserAgent());
version.SetString("V8-Version", V8_VERSION_STRING);
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index c1235f9658b88..040d9afb0d9ff 100644
index b5c2dc992fb19..868661c86c39a 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -665,6 +665,14 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
@ -31,7 +31,7 @@ index c1235f9658b88..040d9afb0d9ff 100644
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
std::move(loader_factory));
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index 2579cf2ce325d..03b60ce3b17cb 100644
index 0e2c7f92937f1..31bb164e25bf6 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -11,7 +11,7 @@
@ -43,7 +43,7 @@ index 2579cf2ce325d..03b60ce3b17cb 100644
#include <utility>
@@ -877,7 +877,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
@@ -883,7 +883,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
void ContentBrowserClient::OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) {}
@ -52,7 +52,7 @@ index 2579cf2ce325d..03b60ce3b17cb 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -886,6 +886,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
@@ -892,6 +892,7 @@ void ContentBrowserClient::ConfigureNetworkContextParams(
cert_verifier_creation_params) {
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = "en-us,en";
@ -61,18 +61,18 @@ index 2579cf2ce325d..03b60ce3b17cb 100644
std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 7d3fafd564118..789bfd693888f 100644
index aa125be3640fe..bf5dec73a5287 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -33,6 +33,7 @@
@@ -34,6 +34,7 @@
#include "content/public/browser/login_delegate.h"
#include "content/public/browser/mojo_binder_policy_map.h"
#include "content/public/browser/storage_partition_config.h"
+#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_ui_browser_interface_broker_registry.h"
#include "content/public/common/alternative_error_page_override_info.mojom.h"
#include "content/public/common/main_function_params.h"
#include "content/public/common/page_visibility_state.h"
@@ -1634,7 +1635,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1658,7 +1659,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.
@ -81,7 +81,7 @@ index 7d3fafd564118..789bfd693888f 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1823,6 +1824,17 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1859,6 +1860,17 @@ class CONTENT_EXPORT ContentBrowserClient {
RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -96,10 +96,10 @@ index 7d3fafd564118..789bfd693888f 100644
+ RenderFrameHost* initiator_document,
+ mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory) { return false; }
+
// Creates an OverlayWindow to be used for Picture-in-Picture. This window
// will house the content shown when in Picture-in-Picture mode. This will
// return a new OverlayWindow.
@@ -1879,6 +1891,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Creates an OverlayWindow to be used for video or document
// Picture-in-Picture respectively. This window will house the content shown
// when in Picture-in-Picture mode. This will return a new OverlayWindow.
@@ -1920,6 +1932,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -111,10 +111,10 @@ index 7d3fafd564118..789bfd693888f 100644
// on blink::features::kUserAgentReduction. Content may cache this value.
virtual std::string GetUserAgent();
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index b914cb91a2b49..2f84201ba4d1e 100644
index 63ead7f8ab838..11f606368d9e8 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -87,6 +87,9 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -88,6 +88,9 @@ class CONTENT_EXPORT ContentRendererClient {
// binding requests from RenderProcessHost::BindReceiver().
virtual void ExposeInterfacesToBrowser(mojo::BinderMap* binders) {}
@ -124,7 +124,7 @@ index b914cb91a2b49..2f84201ba4d1e 100644
// Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -298,6 +301,10 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -303,6 +306,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@ -136,10 +136,10 @@ index b914cb91a2b49..2f84201ba4d1e 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 03f9fac832072..1f45e54e32da9 100644
index 0b42cba866722..d2f0841bd9069 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -640,6 +640,8 @@ void RenderThreadImpl::Init() {
@@ -656,6 +656,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType::kFrame);
@ -149,10 +149,10 @@ index 03f9fac832072..1f45e54e32da9 100644
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index b4e37bbdd3a80..1d16b769a6329 100644
index a64d78c9d8112..0551db7f7d4cc 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1082,6 +1082,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -1090,6 +1090,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------
@ -169,10 +169,10 @@ index b4e37bbdd3a80..1d16b769a6329 100644
RendererBlinkPlatformImpl::GetCodeCacheHost() {
base::AutoLock lock(code_cache_host_lock_);
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 2191ab72dcacc..d902eb707cc99 100644
index 10c96d3915e64..060087d2436ea 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -260,6 +260,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -261,6 +261,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
blink::WebVector<blink::WebContentSecurityPolicyHeader>* csp) override;
base::PlatformThreadId GetIOThreadId() const override;

View File

@ -1,8 +1,8 @@
diff --git content/app/content_main.cc content/app/content_main.cc
index bf4cbe990cb4d..e494fff1fa5d5 100644
index 332b7d026e036..0d63ad05fde4e 100644
--- content/app/content_main.cc
+++ content/app/content_main.cc
@@ -225,16 +225,10 @@ ContentMainParams::~ContentMainParams() = default;
@@ -226,16 +226,10 @@ ContentMainParams::~ContentMainParams() = default;
ContentMainParams::ContentMainParams(ContentMainParams&&) = default;
ContentMainParams& ContentMainParams::operator=(ContentMainParams&&) = default;
@ -21,7 +21,7 @@ index bf4cbe990cb4d..e494fff1fa5d5 100644
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -318,12 +312,6 @@ RunContentProcess(ContentMainParams params,
@@ -320,12 +314,6 @@ RunContentProcess(ContentMainParams params,
#endif
#if BUILDFLAG(IS_MAC)
@ -34,7 +34,7 @@ index bf4cbe990cb4d..e494fff1fa5d5 100644
InitializeMac();
#endif
@@ -396,8 +384,18 @@ RunContentProcess(ContentMainParams params,
@@ -398,8 +386,18 @@ RunContentProcess(ContentMainParams params,
if (IsSubprocess())
CommonSubprocessInit();
@ -54,7 +54,7 @@ index bf4cbe990cb4d..e494fff1fa5d5 100644
if (tracker) {
if (exit_code == 0) {
tracker->SetProcessPhaseIfEnabled(
@@ -409,14 +407,41 @@ RunContentProcess(ContentMainParams params,
@@ -411,14 +409,41 @@ RunContentProcess(ContentMainParams params,
}
}
@ -100,7 +100,7 @@ index bf4cbe990cb4d..e494fff1fa5d5 100644
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 5a365936031e6..ab4a3f2138e28 100644
index 9d22238878e32..e0833ed4572e9 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -44,6 +44,7 @@
@ -111,7 +111,7 @@ index 5a365936031e6..ab4a3f2138e28 100644
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@@ -1182,6 +1183,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1205,6 +1206,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@ -124,10 +124,10 @@ index 5a365936031e6..ab4a3f2138e28 100644
std::unique_ptr<ContentMainRunner> ContentMainRunner::Create() {
return ContentMainRunnerImpl::Create();
diff --git content/app/content_main_runner_impl.h content/app/content_main_runner_impl.h
index 2cfcb5330af5d..e1966af803dfb 100644
index 225a0aa930732..48b5aa44c8441 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -31,7 +31,7 @@ namespace content {
@@ -30,7 +30,7 @@ namespace content {
class ContentClient;
class MojoIpcSupport;
@ -136,7 +136,7 @@ index 2cfcb5330af5d..e1966af803dfb 100644
public:
static std::unique_ptr<ContentMainRunnerImpl> Create();
@@ -50,6 +50,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
@@ -49,6 +49,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
int Run() override;
void Shutdown() override;

View File

@ -248,10 +248,10 @@ index 70f1628354455..cd043a821e96d 100644
//! \brief Calls ProcessPendingReports() in response to ReportPending() having
//! been called on any thread, as well as periodically on a timer.
diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc
index cb78aa1680aec..d50ddc7ae3c56 100644
index 48ef8b6530a67..dbe2916492ff7 100644
--- third_party/crashpad/crashpad/handler/handler_main.cc
+++ third_party/crashpad/crashpad/handler/handler_main.cc
@@ -38,6 +38,7 @@
@@ -39,6 +39,7 @@
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -259,7 +259,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
#include "client/crash_report_database.h"
#include "client/crashpad_client.h"
#include "client/crashpad_info.h"
@@ -88,6 +89,10 @@
@@ -89,6 +90,10 @@
#include "util/win/session_end_watcher.h"
#endif // BUILDFLAG(IS_APPLE)
@ -270,7 +270,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
namespace crashpad {
namespace {
@@ -247,6 +252,9 @@ struct Options {
@@ -248,6 +253,9 @@ struct Options {
bool periodic_tasks;
bool rate_limit;
bool upload_gzip;
@ -280,7 +280,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
bool use_cros_crash_reporter = false;
base::FilePath minidump_dir_for_tests;
@@ -616,6 +624,9 @@ int HandlerMain(int argc,
@@ -617,6 +625,9 @@ int HandlerMain(int argc,
kOptionTraceParentWithException,
#endif
kOptionURL,
@ -290,7 +290,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
kOptionUseCrosCrashReporter,
kOptionMinidumpDirForTests,
@@ -716,6 +727,9 @@ int HandlerMain(int argc,
@@ -717,6 +728,9 @@ int HandlerMain(int argc,
#endif // BUILDFLAG(IS_ANDROID)
{"help", no_argument, nullptr, kOptionHelp},
{"version", no_argument, nullptr, kOptionVersion},
@ -300,7 +300,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
{nullptr, 0, nullptr, 0},
};
@@ -873,6 +887,27 @@ int HandlerMain(int argc,
@@ -874,6 +888,27 @@ int HandlerMain(int argc,
options.url = optarg;
break;
}
@ -328,7 +328,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS)
case kOptionUseCrosCrashReporter: {
options.use_cros_crash_reporter = true;
@@ -1022,8 +1057,14 @@ int HandlerMain(int argc,
@@ -1023,8 +1058,14 @@ int HandlerMain(int argc,
upload_thread_options.upload_gzip = options.upload_gzip;
upload_thread_options.watch_pending_reports = options.periodic_tasks;
@ -343,7 +343,7 @@ index cb78aa1680aec..d50ddc7ae3c56 100644
upload_thread.Get()->Start();
}
@@ -1094,7 +1135,8 @@ int HandlerMain(int argc,
@@ -1095,7 +1136,8 @@ int HandlerMain(int argc,
ScopedStoppable prune_thread;
if (options.periodic_tasks) {
prune_thread.Reset(new PruneCrashReportThread(

View File

@ -1,5 +1,5 @@
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
index a001f60b279ed..b0ee6283be54f 100644
index 958a61892a19d..e137ebe5a4146 100644
--- components/embedder_support/user_agent_utils.cc
+++ components/embedder_support/user_agent_utils.cc
@@ -15,6 +15,7 @@
@ -7,19 +7,19 @@ index a001f60b279ed..b0ee6283be54f 100644
#include "build/branding_buildflags.h"
#include "build/build_config.h"
+#include "cef/libcef/common/cef_switches.h"
#include "components/embedder_support/pref_names.h"
#include "components/embedder_support/switches.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/prefs/pref_service.h"
@@ -276,6 +277,12 @@ blink::UserAgentBrandList GetBrandFullVersionList(
} // namespace
@@ -318,6 +319,12 @@ std::string GetMajorVersionForUserAgentString(
std::string GetProduct(const bool allow_version_override) {
std::string GetProduct(const bool allow_version_override,
ForceMajorVersionToMinorPosition force_major_to_minor) {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kUserAgentProductAndVersion)) {
+ return command_line->GetSwitchValueASCII(
+ switches::kUserAgentProductAndVersion);
+ }
+
// FF Priority 1: force major version to 99 and minor version to major version
// number.
// Force major version to 99 and minor version to major position.
if (allow_version_override &&
ShouldForceMajorVersionToMinorPosition(force_major_to_minor))

View File

@ -60,10 +60,10 @@ index 5c903a13a14ed..c85964a7bab17 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 3e827fcf45ae4..e1790599da17b 100644
index 936a1100e25f9..c782d70bc3643 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -60,11 +60,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -57,11 +57,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
DCHECK(host_type == mojom::ViewType::kExtensionBackgroundPage ||
host_type == mojom::ViewType::kExtensionDialog ||
host_type == mojom::ViewType::kExtensionPopup);
@ -79,7 +79,7 @@ index 3e827fcf45ae4..e1790599da17b 100644
main_frame_host_ = host_contents_->GetMainFrame();
// Listen for when an extension is unloaded from the same profile, as it may
@@ -79,6 +80,44 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -76,6 +77,44 @@ ExtensionHost::ExtensionHost(const Extension* extension,
ExtensionHostRegistry::Get(browser_context_)->ExtensionHostCreated(this);
}
@ -125,7 +125,7 @@ index 3e827fcf45ae4..e1790599da17b 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index f88183071e861..a05302a7a2f0b 100644
index dd22bbc07fb52..c695ece6b1a47 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -53,6 +53,12 @@ class ExtensionHost : public DeferredStartRenderHost,
@ -150,7 +150,7 @@ index f88183071e861..a05302a7a2f0b 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_; }
@@ -189,7 +195,8 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -188,7 +194,8 @@ class ExtensionHost : public DeferredStartRenderHost,
raw_ptr<content::BrowserContext> browser_context_;
// The host for our HTML content.
@ -196,7 +196,7 @@ index 1fa1e67dddcfd..7af2a0e231824 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 bee1c92ce2b69..31e6d5587de2a 100644
index 78b6535762526..83675c49911db 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -391,9 +391,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,

View File

@ -1,8 +1,8 @@
diff --git .gn .gn
index 22070a9adc507..e55d32f80b438 100644
index 1810cebef9aa4..06618025b84b0 100644
--- .gn
+++ .gn
@@ -156,6 +156,8 @@ exec_script_whitelist =
@@ -154,6 +154,8 @@ exec_script_whitelist =
"//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
@ -12,10 +12,10 @@ index 22070a9adc507..e55d32f80b438 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index df8b37fc8b0af..e46843b39d228 100644
index fae950dfa67de..5c4f17deed94c 100644
--- BUILD.gn
+++ BUILD.gn
@@ -16,6 +16,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@@ -17,6 +17,7 @@ import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
import("//build/gn_logs.gni")
import("//build/util/generate_wrapper.gni")
@ -23,7 +23,7 @@ index df8b37fc8b0af..e46843b39d228 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/media/router/features.gni")
import("//components/nacl/features.gni")
@@ -267,6 +268,9 @@ group("gn_all") {
@@ -269,6 +270,9 @@ group("gn_all") {
deps += [ "//chrome/test:telemetry_perf_unittests${_target_suffix}" ]
}
}
@ -66,10 +66,10 @@ index 982fbe8d3f0d0..e757be4688f10 100644
+ "studio path")
}
diff --git chrome/app/framework.order chrome/app/framework.order
index 839144aa1e9bd..29c8ab32398a7 100644
index f8f71ef369c08..7a2ed5da7bda3 100644
--- chrome/app/framework.order
+++ chrome/app/framework.order
@@ -28,3 +28,8 @@ _ChromeMain
@@ -31,3 +31,8 @@ _ChromeMain
_lprofDirMode
___llvm_profile_filename
___llvm_profile_raw_version
@ -79,7 +79,7 @@ index 839144aa1e9bd..29c8ab32398a7 100644
+_OBJC_METACLASS_$_UnderlayOpenGLHostingWindow
+
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index c540719a510ab..1107dfc9f2537 100644
index cd468f580cb63..66a06d303580d 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -5,6 +5,7 @@
@ -152,7 +152,7 @@ index 51fa0d7f4cf77..2ede68e9377eb 100644
outputs = [
# See also chrome.packed.7z conditionally added below.
diff --git tools/grit/grit_defines.gni tools/grit/grit_defines.gni
index 60022cbefac60..00f3bcd528ee0 100644
index 061bdf6812cff..3b0a4b832bd24 100644
--- tools/grit/grit_defines.gni
+++ tools/grit/grit_defines.gni
@@ -5,6 +5,7 @@
@ -163,7 +163,7 @@ index 60022cbefac60..00f3bcd528ee0 100644
import("//build/config/ui.gni")
shared_intermediate_dir = rebase_path(root_gen_dir, root_build_dir)
@@ -112,6 +113,13 @@ if (is_android) {
@@ -119,6 +120,13 @@ if (is_android) {
]
}

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 667a253432794..a4601aa2ab136 100644
index 77f77f2deb13f..09939369a62d0 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -916,6 +916,15 @@
@@ -955,6 +955,15 @@
# END "everything else" section.
# Everything but chrome/, components/, content/, and ios/

View File

@ -1,13 +1,13 @@
diff --git third_party/blink/renderer/platform/heap/thread_local.h third_party/blink/renderer/platform/heap/thread_local.h
index 84ef4350bd96d..dbd5b0b73ebb2 100644
index 744b91e5b0c86..e67f542126ac6 100644
--- third_party/blink/renderer/platform/heap/thread_local.h
+++ third_party/blink/renderer/platform/heap/thread_local.h
@@ -36,7 +36,7 @@
#if BLINK_HEAP_HIDE_THREAD_LOCAL_IN_LIBRARY
#define BLINK_HEAP_THREAD_LOCAL_MODEL "local-dynamic"
#else
-#if defined(OS_WIN)
+#if defined(OS_WIN) || (defined(OS_POSIX) && !defined(OS_MAC))
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) || (BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC))
#define BLINK_HEAP_THREAD_LOCAL_MODEL "initial-exec"
#elif defined(OS_ANDROID)
#elif BUILDFLAG(IS_ANDROID)
#define BLINK_HEAP_THREAD_LOCAL_MODEL "local-dynamic"

View File

@ -1,8 +1,8 @@
diff --git ui/ozone/BUILD.gn ui/ozone/BUILD.gn
index 1a8ac4adbe961..473b6b89309d2 100644
index d85d01f06f021..1e77d60e2592e 100644
--- ui/ozone/BUILD.gn
+++ ui/ozone/BUILD.gn
@@ -369,6 +369,8 @@ action("generate_test_support_constructor_list") {
@@ -381,6 +381,8 @@ action("generate_test_support_constructor_list") {
]
deps = [ ":generate_ozone_platform_list" ]

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index d1140d7945a2d..a3b894aa4f6b0 100644
index 1bfea3ac4470c..75a3695c2cfd5 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@

Some files were not shown because too many files have changed in this diff Show More