Compare commits

...

28 Commits

Author SHA1 Message Date
CEF Spotify
04c8d5653c Update to Chromium version 91.0.4472.164 2021-07-19 15:42:33 +00:00
CEF Spotify
c67b5dd17a Update to Chromium version 91.0.4472.124 2021-07-02 02:05:30 +00:00
Marshall Greenblatt
9dd45fe159 Update to Chromium version 91.0.4472.114 2021-06-19 21:29:51 -04:00
Matthew Isaacs
58006652e8 widevine: Add arm64 arch manifest value (see issue #2981) 2021-06-17 10:11:14 -04:00
Marshall Greenblatt
a92e5d5e3d alloy: Fix link click navigation in PDF files (fixes issue #3143)
This change adds a minimal implementation of the |tabs.update| extension API and
modifies StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent to return a valid
|streamInfo.tabId| value as required by the navigateInCurrentTab implementation
in chrome/browser/resources/pdf/browser_api.js.
2021-06-16 16:19:46 -04:00
Alex Maitland
b0e72423cf Expose certificate error codes to OnLoadError 2021-06-16 12:05:27 -04:00
Marshall Greenblatt
18455833f1 widevine: Fix VP9 version string for v4.10.2209.0 (fixes issue #3138) 2021-06-14 14:49:43 -04:00
Marshall Greenblatt
c95b2a1c4c Windows: Allow non-component Debug official sandbox builds (see issue #2679) 2021-06-11 20:57:48 -04:00
Marshall Greenblatt
0b869d2aff Use Chromium code for cookie date validity check (fixes issue #2927) 2021-06-11 13:51:57 -04:00
Marshall Greenblatt
2a9d8b8ee4 Add --disable-request-handling-for-testing option
Add a command-line option to bypass request handling in CEF to faciliate
debugging of network-related issues.
2021-06-11 13:51:50 -04:00
Marshall Greenblatt
a65fc80313 Windows: Forbid non-component Debug builds (see issue #2679) 2021-06-11 13:51:43 -04:00
Marshall Greenblatt
cf0c26af87 Update to Chromium version 91.0.4472.101 2021-06-10 22:00:18 -04:00
Marshall Greenblatt
70b6b712ac Fix CefBrowser::GetMainFrame assumptions in the renderer process (see issue #2421)
ClientAppRenderer::Delegate callbacks are executed for all tests. In this case
CorsTest.IframeAllowScriptsCustomNonStandardSchemeToServer was crashing on Linux
because CefBrowser::GetMainFrame() returns nullptr in the renderer process when
called from a cross-origin sub-frame.
2021-06-10 16:49:57 -04:00
Marshall Greenblatt
2e83e000ad Mac: Fix Xcode 12.5 build errors related to implicit copy assignment operators 2021-06-10 16:46:57 -04:00
Marshall Greenblatt
c19f7e2fb7 Mac: Don't enable dSYMs by default for non-offical builds
Building with dSYMs enabled results in substantially longer link times and
provides minimal benefit for builds that are not intended for distribution.

They can still optionally be enabled by setting enable_dsyms=true via
GN_DEFINES. They remain enabled by default for official builds generated
with is_official_build=true and are required if packaging symbols via the
make_distrib.py script.
2021-06-10 16:46:48 -04:00
Marshall Greenblatt
f605ad04f4 Mac: Fix flaky ResourceRequestHandlerTest failures
The AbortAfterCreated and AbortBeforeBrowse tests were flaking due to a race
between request handling and browser close. The tests would fail if the request
handling completed first.
2021-06-10 16:46:37 -04:00
Marshall Greenblatt
cb517af03e Linux: Fix Check failed: generated_timestamp < total_latency_stage.end_time (see issue #3102) 2021-06-10 16:46:24 -04:00
Marshall Greenblatt
8a752eb705 Update to Chromium version 91.0.4472.77 2021-05-27 00:26:45 -04:00
Marshall Greenblatt
719b66a9e5 Restore support for CreateBrowserSync with NULL |request_context| (see issue #2969)
This was unintentionally lost during the Chrome runtime refactoring effort.
2021-05-20 15:16:30 -04:00
Marshall Greenblatt
10153e24f8 Fix crash closing DevTools window (fixes issue #3111) 2021-05-05 12:49:36 -04:00
Marshall Greenblatt
f48ea7f032 Fix crash in OnGuestDetached when unloading PDF (fixes issue #3121) 2021-05-04 13:29:16 -04:00
Marshall Greenblatt
fae1e9eaa1 Restore async CreateBrowser behavior (fixes issue #3116, fixes issue #3118)
Restore the async CreateBrowser behavior that existed prior to commit 691c9c2
because executing synchronously (for example, from inside OnContextInitialized)
causes issues on MacOS and possibly other platforms.
2021-04-29 17:35:08 -04:00
Marshall Greenblatt
ddf5446588 chrome: Support configuration of accept language (see issue #2969)
This change adds support for CEF settings configuration of accept_language_list.
If specified, this value will take precedence over the "intl.accept_languages"
preference which is controlled by chrome://settings/languages.
2021-04-28 14:29:28 -04:00
Marshall Greenblatt
351901861c chrome: Support configuration of user agent and locale (see issue #2969)
This change adds support for CefSettings and command-line configuration of
user_agent, user_agent_product (formerly product_version) and locale.
2021-04-27 12:44:42 -04:00
Marshall Greenblatt
a149cf128f Windows: Disable iterator debugging for cef_sandbox builds (fixes issue #3109)
Iterator debugging has been disabled by default (_HAS_ITERATOR_DEBUGGING=0)
for CEF/Chromium builds using clang/LLVM since 2018. Inversely, it is enabled
by default (_ITERATOR_DEBUG_LEVEL=2) for the MSVC Debug build configuration.
In order to minimize configuration-related headaches for MSVC-based clients
we have been building the Debug cef_sandbox.lib with iterator debugging
enabled. Recently, we have identified a number of crashes that may be due to
bugs in current clang/LLVM or MSVC versions but in any case can be resolved by
disabling iterator debugging:

- Crash when loading chrome://sandbox.
- Crash if an application lists libraries that utilize iterators after
  cef_sandbox.lib in the linker order.

To resolve these crashes we will now disable iterator debugging by default
for the cef_sandbox.lib builds. Client applications that link cef_sandbox.lib
will now also need to build with iterator debugging disabled by setting
_HAS_ITERATOR_DEBUGGING=0 or _ITERATOR_DEBUG_LEVEL=0 in their project
configuration (this will be done for you if you use cef_variables.cmake from
the binary distribution).

In addition to the crash fixes mentioned above, this change also:

- Reduces the size of the Debug cef_sandbox.lib by ~10MB.
- May result in faster Debug executables (see https://crbug.com/539996).
2021-04-26 18:22:00 -04:00
Marshall Greenblatt
16095a90f6 ceftests: Add missing newline at end of file 2021-04-23 21:03:01 -04:00
Marshall Greenblatt
7fb78654cb Linux: cefclient: Don't use std::make_unique which requires C++14 2021-04-23 21:02:54 -04:00
Marshall Greenblatt
fef384b1fc Update to Chromium version 91.0.4472.19 2021-04-23 17:52:43 -04:00
115 changed files with 922 additions and 693 deletions

View File

@@ -261,12 +261,6 @@ if (is_clang) {
assert(!clang_use_chrome_plugins)
}
if (is_mac) {
# Always generate dSYM files. The make_distrib script will fail if
# enable_dsyms=true is not explicitly set when is_official_build=false.
assert(enable_dsyms)
}
#
# Local variables.
@@ -487,6 +481,8 @@ static_library("libcef_static") {
"libcef/browser/extensions/api/storage/sync_value_store_cache.h",
"libcef/browser/extensions/api/tabs/tabs_api.cc",
"libcef/browser/extensions/api/tabs/tabs_api.h",
"libcef/browser/extensions/alloy_extensions_util.cc",
"libcef/browser/extensions/alloy_extensions_util.h",
"libcef/browser/extensions/browser_extensions_util.cc",
"libcef/browser/extensions/browser_extensions_util.h",
"libcef/browser/extensions/browser_platform_delegate_background.cc",

View File

@@ -7,5 +7,6 @@
# https://bitbucket.org/chromiumembedded/cef/wiki/BranchesAndBuilding
{
'chromium_checkout': 'refs/tags/91.0.4472.0'
'chromium_checkout': 'refs/tags/91.0.4472.164',
'depot_tools_checkout': '61bf6e8d69'
}

View File

@@ -491,6 +491,9 @@ if(OS_WINDOWS)
PSAPI_VERSION=1 # Required by cef_sandbox.lib
CEF_USE_SANDBOX # Used by apps to test if the sandbox is enabled
)
list(APPEND CEF_COMPILER_DEFINES_DEBUG
_HAS_ITERATOR_DEBUGGING=0 # Disable iterator debugging
)
# Libraries required by cef_sandbox.lib.
set(CEF_SANDBOX_STANDARD_LIBS

View File

@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=09b6ebd4116e983b4af634f1efa17b326a3fc517$
// $hash=92c4d38f6895018f72fbafeecb13c47320ef0b1d$
//
#ifndef CEF_INCLUDE_CAPI_CEF_BROWSER_CAPI_H_
@@ -139,7 +139,11 @@ typedef struct _cef_browser_t {
int(CEF_CALLBACK* has_document)(struct _cef_browser_t* self);
///
// Returns the main (top-level) frame for the browser window.
// Returns the main (top-level) frame for the browser window. In the browser
// process this will return a valid object until after
// cef_life_span_handler_t::OnBeforeClose is called. In the renderer process
// this will return NULL if the main frame is hosted in a different renderer
// process (e.g. for cross-origin sub-frames).
///
struct _cef_frame_t*(CEF_CALLBACK* get_main_frame)(
struct _cef_browser_t* self);

View File

@@ -33,7 +33,7 @@
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
// $hash=d8b5b641cc036a9cd9375442254d558b066ada69$
// $hash=f74bf4d33914d56d760f1bf5aadcf2651740c711$
//
#ifndef CEF_INCLUDE_CAPI_CEF_WEB_PLUGIN_CAPI_H_
@@ -214,7 +214,7 @@ CEF_EXPORT void cef_is_web_plugin_unstable(
// D. "x-cdm-interface-versions": Interface API version (e.g. "8").
// E. "x-cdm-host-versions": Host API version (e.g. "8").
// F. "version": CDM version (e.g. "1.4.8.903").
// G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1").
// G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp09,avc1").
//
// A through E are used to verify compatibility with the current Chromium
// version. If the CDM is not compatible the registration will fail and

View File

@@ -42,13 +42,13 @@
// way that may cause binary incompatibility with other builds. The universal
// hash value will change if any platform is affected whereas the platform hash
// values will change only if that particular platform is affected.
#define CEF_API_HASH_UNIVERSAL "d128245052a84dd90cd38fed0e6be65824d37de5"
#define CEF_API_HASH_UNIVERSAL "d026196d35d8894a836ab3a3d033b84195cdb835"
#if defined(OS_WIN)
#define CEF_API_HASH_PLATFORM "9b1a4706bf1fca26d542aa5f8b05d222f483c872"
#define CEF_API_HASH_PLATFORM "4150bd26e7bf639a9b1f3e5860af8c76eeae8570"
#elif defined(OS_MAC)
#define CEF_API_HASH_PLATFORM "0038a822915e3567f2434053ebc49723fe6951d5"
#define CEF_API_HASH_PLATFORM "5cc32f88bd134410eff86b21095138b339d572f2"
#elif defined(OS_LINUX)
#define CEF_API_HASH_PLATFORM "66613a535ec6a1aafce6ece8e98cd3876f79633b"
#define CEF_API_HASH_PLATFORM "b227b3fdd6142a9d8ff0f2252a71425f15960800"
#endif
#ifdef __cplusplus

View File

@@ -142,7 +142,11 @@ class CefBrowser : public virtual CefBaseRefCounted {
virtual bool HasDocument() = 0;
///
// Returns the main (top-level) frame for the browser window.
// Returns the main (top-level) frame for the browser window. In the browser
// process this will return a valid object until after
// CefLifeSpanHandler::OnBeforeClose is called. In the renderer process this
// will return NULL if the main frame is hosted in a different renderer
// process (e.g. for cross-origin sub-frames).
///
/*--cef()--*/
virtual CefRefPtr<CefFrame> GetMainFrame() = 0;

View File

@@ -191,7 +191,7 @@ class CefRegisterCdmCallback : public virtual CefBaseRefCounted {
// D. "x-cdm-interface-versions": Interface API version (e.g. "8").
// E. "x-cdm-host-versions": Host API version (e.g. "8").
// F. "version": CDM version (e.g. "1.4.8.903").
// G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp9.0,avc1").
// G. "x-cdm-codecs": List of supported codecs (e.g. "vp8,vp09,avc1").
//
// A through E are used to verify compatibility with the current Chromium
// version. If the CDM is not compatible the registration will fail and

View File

@@ -304,9 +304,9 @@ typedef struct _cef_settings_t {
// Value that will be inserted as the product portion of the default
// User-Agent string. If empty the Chromium product version will be used. If
// |userAgent| is specified this value will be ignored. Also configurable
// using the "product-version" command-line switch.
// using the "user-agent-product" command-line switch.
///
cef_string_t product_version;
cef_string_t user_agent_product;
///
// The locale string that will be passed to WebKit. If empty the default

View File

@@ -151,10 +151,9 @@ class CefPoint : public CefStructBase<CefPointTraits> {
public:
typedef CefStructBase<CefPointTraits> parent;
CefPoint() : parent() {}
CefPoint() {}
CefPoint(const cef_point_t& r) : parent(r) {}
CefPoint(const CefPoint& r) : parent(r) {}
CefPoint(int x, int y) : parent() { Set(x, y); }
CefPoint(int x, int y) { Set(x, y); }
bool IsEmpty() const { return x <= 0 && y <= 0; }
void Set(int x_val, int y_val) { x = x_val, y = y_val; }
@@ -188,12 +187,9 @@ class CefRect : public CefStructBase<CefRectTraits> {
public:
typedef CefStructBase<CefRectTraits> parent;
CefRect() : parent() {}
CefRect() {}
CefRect(const cef_rect_t& r) : parent(r) {}
CefRect(const CefRect& r) : parent(r) {}
CefRect(int x, int y, int width, int height) : parent() {
Set(x, y, width, height);
}
CefRect(int x, int y, int width, int height) { Set(x, y, width, height); }
bool IsEmpty() const { return width <= 0 || height <= 0; }
void Set(int x_val, int y_val, int width_val, int height_val) {
@@ -240,10 +236,9 @@ class CefSize : public CefStructBase<CefSizeTraits> {
public:
typedef CefStructBase<CefSizeTraits> parent;
CefSize() : parent() {}
CefSize() {}
CefSize(const cef_size_t& r) : parent(r) {}
CefSize(const CefSize& r) : parent(r) {}
CefSize(int width, int height) : parent() { Set(width, height); }
CefSize(int width, int height) { Set(width, height); }
bool IsEmpty() const { return width <= 0 || height <= 0; }
void Set(int width_val, int height_val) {
@@ -279,10 +274,9 @@ class CefRange : public CefStructBase<CefRangeTraits> {
public:
typedef CefStructBase<CefRangeTraits> parent;
CefRange() : parent() {}
CefRange() {}
CefRange(const cef_range_t& r) : parent(r) {}
CefRange(const CefRange& r) : parent(r) {}
CefRange(int from, int to) : parent() { Set(from, to); }
CefRange(int from, int to) { Set(from, to); }
void Set(int from_val, int to_val) { from = from_val, to = to_val; }
};
@@ -315,10 +309,9 @@ class CefInsets : public CefStructBase<CefInsetsTraits> {
public:
typedef CefStructBase<CefInsetsTraits> parent;
CefInsets() : parent() {}
CefInsets() {}
CefInsets(const cef_insets_t& r) : parent(r) {}
CefInsets(const CefInsets& r) : parent(r) {}
CefInsets(int top, int left, int bottom, int right) : parent() {
CefInsets(int top, int left, int bottom, int right) {
Set(top, left, bottom, right);
}
@@ -356,10 +349,9 @@ class CefDraggableRegion : public CefStructBase<CefDraggableRegionTraits> {
public:
typedef CefStructBase<CefDraggableRegionTraits> parent;
CefDraggableRegion() : parent() {}
CefDraggableRegion() {}
CefDraggableRegion(const cef_draggable_region_t& r) : parent(r) {}
CefDraggableRegion(const CefDraggableRegion& r) : parent(r) {}
CefDraggableRegion(const CefRect& bounds, bool draggable) : parent() {
CefDraggableRegion(const CefRect& bounds, bool draggable) {
Set(bounds, draggable);
}
@@ -405,16 +397,14 @@ class CefScreenInfo : public CefStructBase<CefScreenInfoTraits> {
public:
typedef CefStructBase<CefScreenInfoTraits> parent;
CefScreenInfo() : parent() {}
CefScreenInfo() {}
CefScreenInfo(const cef_screen_info_t& r) : parent(r) {}
CefScreenInfo(const CefScreenInfo& r) : parent(r) {}
CefScreenInfo(float device_scale_factor,
int depth,
int depth_per_component,
bool is_monochrome,
const CefRect& rect,
const CefRect& available_rect)
: parent() {
const CefRect& available_rect) {
Set(device_scale_factor, depth, depth_per_component, is_monochrome, rect,
available_rect);
}
@@ -548,7 +538,7 @@ struct CefSettingsTraits {
cef_string_clear(&s->root_cache_path);
cef_string_clear(&s->user_data_path);
cef_string_clear(&s->user_agent);
cef_string_clear(&s->product_version);
cef_string_clear(&s->user_agent_product);
cef_string_clear(&s->locale);
cef_string_clear(&s->log_file);
cef_string_clear(&s->javascript_flags);
@@ -587,8 +577,8 @@ struct CefSettingsTraits {
cef_string_set(src->user_agent.str, src->user_agent.length,
&target->user_agent, copy);
cef_string_set(src->product_version.str, src->product_version.length,
&target->product_version, copy);
cef_string_set(src->user_agent_product.str, src->user_agent_product.length,
&target->user_agent_product, copy);
cef_string_set(src->locale.str, src->locale.length, &target->locale, copy);
cef_string_set(src->log_file.str, src->log_file.length, &target->log_file,
@@ -806,11 +796,10 @@ class CefTime : public CefStructBase<CefTimeTraits> {
public:
typedef CefStructBase<CefTimeTraits> parent;
CefTime() : parent() {}
CefTime() {}
CefTime(const cef_time_t& r) : parent(r) {}
CefTime(const CefTime& r) : parent(r) {}
explicit CefTime(time_t r) : parent() { SetTimeT(r); }
explicit CefTime(double r) : parent() { SetDoubleT(r); }
explicit CefTime(time_t r) { SetTimeT(r); }
explicit CefTime(double r) { SetDoubleT(r); }
// Converts to/from time_t.
void SetTimeT(time_t r) { cef_time_from_timet(r, this); }

View File

@@ -253,7 +253,7 @@ class CefAllowCertificateErrorCallbackImpl : public CefRequestCallback {
CEF_REQUIRE_UIT();
std::move(callback).Run(
allow ? content::CERTIFICATE_REQUEST_RESULT_TYPE_CONTINUE
: content::CERTIFICATE_REQUEST_RESULT_TYPE_CANCEL);
: content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY);
}
CallbackType callback_;
@@ -695,9 +695,9 @@ void AlloyContentBrowserClient::AppendExtraCommandLineSwitches(
switches::kLocalesDirPath,
switches::kLogFile,
switches::kLogSeverity,
switches::kProductVersion,
switches::kResourcesDirPath,
embedder_support::kUserAgent,
switches::kUserAgentProductAndVersion,
};
command_line->CopySwitchesFrom(*browser_cmd, kSwitchNames,
base::size(kSwitchNames));
@@ -855,7 +855,7 @@ void AlloyContentBrowserClient::AllowCertificateError(
// A sub-resource has a certificate error. The user doesn't really
// have a context for making the right decision, so block the request
// hard.
std::move(callback).Run(content::CERTIFICATE_REQUEST_RESULT_TYPE_CANCEL);
std::move(callback).Run(content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY);
return;
}
@@ -882,7 +882,7 @@ void AlloyContentBrowserClient::AllowCertificateError(
// |callback| may be null if the user executed it despite returning false.
callback = callbackImpl->Disconnect();
if (!callback.is_null()) {
std::move(callback).Run(content::CERTIFICATE_REQUEST_RESULT_TYPE_CANCEL);
std::move(callback).Run(content::CERTIFICATE_REQUEST_RESULT_TYPE_DENY);
}
}
}

View File

@@ -88,7 +88,12 @@ bool CefBrowserHost::CreateBrowser(
// Wait for the browser context to be initialized before creating the browser.
request_context_impl->ExecuteWhenBrowserContextInitialized(base::BindOnce(
[](std::unique_ptr<CreateBrowserHelper> helper) { helper->Run(); },
[](std::unique_ptr<CreateBrowserHelper> helper) {
// Always execute asynchronously to avoid potential issues if we're
// being called synchronously during app initialization.
CEF_POST_TASK(CEF_UIT, base::BindOnce(&CreateBrowserHelper::Run,
std::move(helper)));
},
std::move(helper)));
return true;
@@ -114,6 +119,10 @@ CefRefPtr<CefBrowser> CefBrowserHost::CreateBrowserSync(
return nullptr;
}
if (!request_context) {
request_context = CefRequestContext::GetGlobalContext();
}
// Verify that the browser context is valid.
auto request_context_impl =
static_cast<CefRequestContextImpl*>(request_context.get());

View File

@@ -4,7 +4,6 @@
#include "libcef/browser/chrome/chrome_browser_context.h"
#include "libcef/browser/prefs/browser_prefs.h"
#include "libcef/browser/thread_util.h"
#include "chrome/browser/browser_process.h"
@@ -110,7 +109,6 @@ void ChromeBrowserContext::ProfileCreated(Profile* profile,
if (status == Profile::CreateStatus::CREATE_STATUS_INITIALIZED) {
CHECK(profile_);
browser_prefs::SetLanguagePrefs(profile_);
// Must set |profile_| before Init() calls
// ChromeContentBrowserClientCef::ConfigureNetworkContextParams so that

View File

@@ -16,6 +16,7 @@
#include "libcef/browser/net_service/login_delegate.h"
#include "libcef/browser/net_service/proxy_url_loader_factory.h"
#include "libcef/browser/net_service/resource_request_handler_wrapper.h"
#include "libcef/browser/prefs/browser_prefs.h"
#include "libcef/browser/prefs/renderer_prefs.h"
#include "libcef/common/app_manager.h"
#include "libcef/common/cef_switches.h"
@@ -91,6 +92,16 @@ void ChromeContentBrowserClientCef::AppendExtraCommandLineSwitches(
const base::CommandLine* browser_cmd = base::CommandLine::ForCurrentProcess();
{
// Propagate the following switches to all command lines (along with any
// associated values) if present in the browser command line.
static const char* const kSwitchNames[] = {
switches::kUserAgentProductAndVersion,
};
command_line->CopySwitchesFrom(*browser_cmd, kSwitchNames,
base::size(kSwitchNames));
}
const std::string& process_type =
command_line->GetSwitchValueASCII(switches::kProcessType);
if (process_type == switches::kRendererProcess) {
@@ -297,6 +308,17 @@ void ChromeContentBrowserClientCef::ConfigureNetworkContextParams(
network_context_params->cookieable_schemes =
cef_context ? cef_context->GetCookieableSchemes()
: CefBrowserContext::GetGlobalCookieableSchemes();
// Prefer the CEF settings configuration, if specified, instead of the
// kAcceptLanguages preference which is controlled by the
// chrome://settings/languages configuration.
const std::string& accept_language_list =
browser_prefs::GetAcceptLanguageList(cef_context, /*browser=*/nullptr,
/*expand=*/true);
if (!accept_language_list.empty() &&
accept_language_list != network_context_params->accept_language) {
network_context_params->accept_language = accept_language_list;
}
}
std::unique_ptr<content::LoginDelegate>

View File

@@ -435,8 +435,6 @@ void CefContext::PopulateGlobalRequestContextSettings(
settings->ignore_certificate_errors =
settings_.ignore_certificate_errors ||
command_line->HasSwitch(switches::kIgnoreCertificateErrors);
CefString(&settings->accept_language_list) =
CefString(&settings_.accept_language_list);
CefString(&settings->cookieable_schemes_list) =
CefString(&settings_.cookieable_schemes_list);
@@ -449,12 +447,6 @@ void CefContext::NormalizeRequestContextSettings(
// The |root_cache_path| value was already normalized in Initialize.
const base::FilePath& root_cache_path = CefString(&settings_.root_cache_path);
NormalizeCachePathAndSet(settings->cache_path, root_cache_path);
if (settings->accept_language_list.length == 0) {
// Use the global language list setting.
CefString(&settings->accept_language_list) =
CefString(&settings_.accept_language_list);
}
}
void CefContext::AddObserver(Observer* observer) {

View File

@@ -532,8 +532,10 @@ void CefDevToolsFrontend::HandleMessageFromDevToolsFrontend(
void CefDevToolsFrontend::DispatchProtocolMessage(
content::DevToolsAgentHost* agent_host,
base::span<const uint8_t> message) {
if (frontend_browser_->GetWebContents()->IsBeingDestroyed())
if (!frontend_browser_->GetWebContents() ||
frontend_browser_->GetWebContents()->IsBeingDestroyed()) {
return;
}
base::StringPiece str_message(reinterpret_cast<const char*>(message.data()),
message.size());

View File

@@ -0,0 +1,20 @@
// Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be found
// in the LICENSE file.
#include "libcef/browser/extensions/alloy_extensions_util.h"
#include "libcef/browser/alloy/alloy_browser_host_impl.h"
namespace extensions {
namespace alloy {
int GetTabIdForWebContents(content::WebContents* web_contents) {
auto browser = AlloyBrowserHostImpl::GetBrowserForContents(web_contents);
if (!browser)
return -1;
return browser->GetIdentifier();
}
} // namespace alloy
} // namespace extensions

View File

@@ -0,0 +1,21 @@
// Copyright 2021 The Chromium Embedded Framework Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be found
// in the LICENSE file.
#ifndef CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_
#define CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_
namespace content {
class WebContents;
}
namespace extensions {
namespace alloy {
// Returns the tabId for |web_contents|, or -1 if not found.
int GetTabIdForWebContents(content::WebContents* web_contents);
} // namespace alloy
} // namespace extensions
#endif // CEF_LIBCEF_BROWSER_EXTENSIONS_ALLOY_EXTENSIONS_UTIL_H_

View File

@@ -6,10 +6,15 @@
#include "libcef/browser/extensions/extension_web_contents_observer.h"
#include "base/notreached.h"
#include "base/strings/string_number_conversions.h"
#include "chrome/browser/extensions/api/tabs/tabs_constants.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "components/zoom/zoom_controller.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/site_instance.h"
#include "extensions/browser/extension_api_frame_id_map.h"
#include "extensions/browser/extension_zoom_request_client.h"
#include "extensions/common/error_utils.h"
@@ -17,6 +22,8 @@
#include "extensions/common/permissions/permissions_data.h"
#include "third_party/blink/public/common/page/page_zoom.h"
using zoom::ZoomController;
namespace extensions {
namespace cef {
@@ -97,6 +104,148 @@ ExtensionFunction::ResponseAction TabsCreateFunction::Run() {
: NoArguments());
}
BaseAPIFunction::BaseAPIFunction() : cef_details_(this) {}
content::WebContents* BaseAPIFunction::GetWebContents(int tab_id) {
// Find a browser that we can access, or set |error_| and return nullptr.
CefRefPtr<AlloyBrowserHostImpl> browser =
cef_details_.GetBrowserForTabIdFirstTime(tab_id, &error_);
if (!browser)
return nullptr;
return browser->web_contents();
}
ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
std::unique_ptr<tabs::Update::Params> params(
tabs::Update::Params::Create(*args_));
EXTENSION_FUNCTION_VALIDATE(params.get());
tab_id_ = params->tab_id ? *params->tab_id : -1;
content::WebContents* web_contents = GetWebContents(tab_id_);
if (!web_contents)
return RespondNow(Error(std::move(error_)));
web_contents_ = web_contents;
// TODO(rafaelw): handle setting remaining tab properties:
// -title
// -favIconUrl
// Navigate the tab to a new location if the url is different.
if (params->update_properties.url.get()) {
std::string updated_url = *params->update_properties.url;
if (!UpdateURL(updated_url, tab_id_, &error_))
return RespondNow(Error(std::move(error_)));
}
bool active = false;
// TODO(rafaelw): Setting |active| from js doesn't make much sense.
// Move tab selection management up to window.
if (params->update_properties.selected.get())
active = *params->update_properties.selected;
// The 'active' property has replaced 'selected'.
if (params->update_properties.active.get())
active = *params->update_properties.active;
if (active) {
// TODO: Activate the tab at |tab_id_|.
NOTIMPLEMENTED();
return RespondNow(Error(tabs_constants::kTabStripNotEditableError));
}
if (params->update_properties.highlighted.get() &&
*params->update_properties.highlighted) {
// TODO: Highlight the tab at |tab_id_|.
NOTIMPLEMENTED();
return RespondNow(Error(tabs_constants::kTabStripNotEditableError));
}
if (params->update_properties.pinned.get() &&
*params->update_properties.pinned) {
// TODO: Pin the tab at |tab_id_|.
NOTIMPLEMENTED();
return RespondNow(Error(tabs_constants::kTabStripNotEditableError));
}
if (params->update_properties.muted.get()) {
// TODO: Mute/unmute the tab at |tab_id_|.
NOTIMPLEMENTED();
return RespondNow(Error(ErrorUtils::FormatErrorMessage(
tabs_constants::kCannotUpdateMuteCaptured,
base::NumberToString(tab_id_))));
}
if (params->update_properties.opener_tab_id.get()) {
int opener_id = *params->update_properties.opener_tab_id;
if (opener_id == tab_id_)
return RespondNow(Error("Cannot set a tab's opener to itself."));
// TODO: Set the opener for the tab at |tab_id_|.
NOTIMPLEMENTED();
return RespondNow(Error(tabs_constants::kTabStripNotEditableError));
}
if (params->update_properties.auto_discardable.get()) {
// TODO: Set auto-discardable state for the tab at |tab_id_|.
NOTIMPLEMENTED();
}
return RespondNow(GetResult());
}
bool TabsUpdateFunction::UpdateURL(const std::string& url_string,
int tab_id,
std::string* error) {
GURL url;
if (!ExtensionTabUtil::PrepareURLForNavigation(url_string, extension(), &url,
error)) {
return false;
}
const bool is_javascript_scheme = url.SchemeIs(url::kJavaScriptScheme);
// JavaScript URLs are forbidden in chrome.tabs.update().
if (is_javascript_scheme) {
*error = tabs_constants::kJavaScriptUrlsNotAllowedInTabsUpdate;
return false;
}
content::NavigationController::LoadURLParams load_params(url);
// Treat extension-initiated navigations as renderer-initiated so that the URL
// does not show in the omnibox until it commits. This avoids URL spoofs
// since URLs can be opened on behalf of untrusted content.
load_params.is_renderer_initiated = true;
// All renderer-initiated navigations need to have an initiator origin.
load_params.initiator_origin = extension()->origin();
// |source_site_instance| needs to be set so that a renderer process
// compatible with |initiator_origin| is picked by Site Isolation.
load_params.source_site_instance = content::SiteInstance::CreateForURL(
web_contents_->GetBrowserContext(),
load_params.initiator_origin->GetURL());
// Marking the navigation as initiated via an API means that the focus
// will stay in the omnibox - see https://crbug.com/1085779.
load_params.transition_type = ui::PAGE_TRANSITION_FROM_API;
web_contents_->GetController().LoadURLWithParams(load_params);
DCHECK_EQ(url,
web_contents_->GetController().GetPendingEntry()->GetVirtualURL());
return true;
}
ExtensionFunction::ResponseValue TabsUpdateFunction::GetResult() {
if (!has_callback())
return NoArguments();
return ArgumentList(tabs::Get::Results::Create(*cef_details_.CreateTabObject(
AlloyBrowserHostImpl::GetBrowserForContents(web_contents_),
/*opener_browser_id=*/-1, /*active=*/true, tab_id_)));
}
ExecuteCodeInTabFunction::ExecuteCodeInTabFunction()
: cef_details_(this), execute_tab_id_(-1) {}
@@ -244,165 +393,124 @@ bool TabsRemoveCSSFunction::ShouldRemoveCSS() const {
return true;
}
ZoomAPIFunction::ZoomAPIFunction() : cef_details_(this) {}
content::WebContents* ZoomAPIFunction::GetWebContents(int tab_id) {
// Find a browser that we can access, or set |error_| and return nullptr.
CefRefPtr<AlloyBrowserHostImpl> browser =
cef_details_.GetBrowserForTabIdFirstTime(tab_id, &error_);
if (!browser)
return nullptr;
return browser->web_contents();
}
void ZoomAPIFunction::SendResponse(bool success) {
ResponseValue response;
if (success) {
response = ArgumentList(std::move(results_));
} else {
response = results_ ? ErrorWithArguments(std::move(results_), error_)
: Error(error_);
}
Respond(std::move(response));
}
ExtensionFunction::ResponseAction ZoomAPIFunction::Run() {
if (RunAsync())
return RespondLater();
// TODO(devlin): Track these down and eliminate them if possible. We
// shouldn't return results and an error.
if (results_)
return RespondNow(ErrorWithArguments(std::move(results_), error_));
return RespondNow(Error(error_));
}
bool TabsSetZoomFunction::RunAsync() {
ExtensionFunction::ResponseAction TabsSetZoomFunction::Run() {
std::unique_ptr<tabs::SetZoom::Params> params(
tabs::SetZoom::Params::Create(*args_));
EXTENSION_FUNCTION_PRERUN_VALIDATE(params);
EXTENSION_FUNCTION_VALIDATE(params);
int tab_id = params->tab_id ? *params->tab_id : -1;
content::WebContents* web_contents = GetWebContents(tab_id);
if (!web_contents)
return false;
return RespondNow(Error(std::move(error_)));
GURL url(web_contents->GetVisibleURL());
if (extension()->permissions_data()->IsRestrictedUrl(url, &error_))
return false;
return RespondNow(Error(std::move(error_)));
zoom::ZoomController* zoom_controller =
zoom::ZoomController::FromWebContents(web_contents);
ZoomController* zoom_controller =
ZoomController::FromWebContents(web_contents);
double zoom_level =
params->zoom_factor > 0
? blink::PageZoomFactorToZoomLevel(params->zoom_factor)
: zoom_controller->GetDefaultZoomLevel();
scoped_refptr<extensions::ExtensionZoomRequestClient> client(
new extensions::ExtensionZoomRequestClient(extension()));
auto client = base::MakeRefCounted<ExtensionZoomRequestClient>(extension());
if (!zoom_controller->SetZoomLevelByClient(zoom_level, client)) {
// Tried to zoom a tab in disabled mode.
error_ = keys::kCannotZoomDisabledTabError;
return false;
return RespondNow(Error(tabs_constants::kCannotZoomDisabledTabError));
}
SendResponse(true);
return true;
return RespondNow(NoArguments());
}
bool TabsGetZoomFunction::RunAsync() {
ExtensionFunction::ResponseAction TabsGetZoomFunction::Run() {
std::unique_ptr<tabs::GetZoom::Params> params(
tabs::GetZoom::Params::Create(*args_));
EXTENSION_FUNCTION_PRERUN_VALIDATE(params);
EXTENSION_FUNCTION_VALIDATE(params);
int tab_id = params->tab_id ? *params->tab_id : -1;
content::WebContents* web_contents = GetWebContents(tab_id);
if (!web_contents)
return false;
return RespondNow(Error(std::move(error_)));
double zoom_level =
zoom::ZoomController::FromWebContents(web_contents)->GetZoomLevel();
double zoom_factor = blink::PageZoomLevelToZoomFactor(zoom_level);
results_ = tabs::GetZoom::Results::Create(zoom_factor);
SendResponse(true);
return true;
return RespondNow(ArgumentList(tabs::GetZoom::Results::Create(zoom_factor)));
}
bool TabsSetZoomSettingsFunction::RunAsync() {
ExtensionFunction::ResponseAction TabsSetZoomSettingsFunction::Run() {
using api::tabs::ZoomSettings;
std::unique_ptr<tabs::SetZoomSettings::Params> params(
tabs::SetZoomSettings::Params::Create(*args_));
EXTENSION_FUNCTION_PRERUN_VALIDATE(params);
EXTENSION_FUNCTION_VALIDATE(params);
int tab_id = params->tab_id ? *params->tab_id : -1;
content::WebContents* web_contents = GetWebContents(tab_id);
if (!web_contents)
return false;
return RespondNow(Error(std::move(error_)));
GURL url(web_contents->GetVisibleURL());
std::string error;
if (extension()->permissions_data()->IsRestrictedUrl(url, &error_))
return false;
return RespondNow(Error(std::move(error_)));
// "per-origin" scope is only available in "automatic" mode.
if (params->zoom_settings.scope == tabs::ZOOM_SETTINGS_SCOPE_PER_ORIGIN &&
params->zoom_settings.mode != tabs::ZOOM_SETTINGS_MODE_AUTOMATIC &&
params->zoom_settings.mode != tabs::ZOOM_SETTINGS_MODE_NONE) {
error_ = keys::kPerOriginOnlyInAutomaticError;
return false;
return RespondNow(Error(tabs_constants::kPerOriginOnlyInAutomaticError));
}
// Determine the correct internal zoom mode to set |web_contents| to from the
// user-specified |zoom_settings|.
zoom::ZoomController::ZoomMode zoom_mode =
zoom::ZoomController::ZOOM_MODE_DEFAULT;
ZoomController::ZoomMode zoom_mode = ZoomController::ZOOM_MODE_DEFAULT;
switch (params->zoom_settings.mode) {
case tabs::ZOOM_SETTINGS_MODE_NONE:
case tabs::ZOOM_SETTINGS_MODE_AUTOMATIC:
switch (params->zoom_settings.scope) {
case tabs::ZOOM_SETTINGS_SCOPE_NONE:
case tabs::ZOOM_SETTINGS_SCOPE_PER_ORIGIN:
zoom_mode = zoom::ZoomController::ZOOM_MODE_DEFAULT;
zoom_mode = ZoomController::ZOOM_MODE_DEFAULT;
break;
case tabs::ZOOM_SETTINGS_SCOPE_PER_TAB:
zoom_mode = zoom::ZoomController::ZOOM_MODE_ISOLATED;
zoom_mode = ZoomController::ZOOM_MODE_ISOLATED;
}
break;
case tabs::ZOOM_SETTINGS_MODE_MANUAL:
zoom_mode = zoom::ZoomController::ZOOM_MODE_MANUAL;
zoom_mode = ZoomController::ZOOM_MODE_MANUAL;
break;
case tabs::ZOOM_SETTINGS_MODE_DISABLED:
zoom_mode = zoom::ZoomController::ZOOM_MODE_DISABLED;
zoom_mode = ZoomController::ZOOM_MODE_DISABLED;
}
zoom::ZoomController::FromWebContents(web_contents)->SetZoomMode(zoom_mode);
ZoomController::FromWebContents(web_contents)->SetZoomMode(zoom_mode);
SendResponse(true);
return true;
return RespondNow(NoArguments());
}
bool TabsGetZoomSettingsFunction::RunAsync() {
ExtensionFunction::ResponseAction TabsGetZoomSettingsFunction::Run() {
std::unique_ptr<tabs::GetZoomSettings::Params> params(
tabs::GetZoomSettings::Params::Create(*args_));
EXTENSION_FUNCTION_PRERUN_VALIDATE(params);
EXTENSION_FUNCTION_VALIDATE(params);
int tab_id = params->tab_id ? *params->tab_id : -1;
content::WebContents* web_contents = GetWebContents(tab_id);
if (!web_contents)
return false;
zoom::ZoomController* zoom_controller =
zoom::ZoomController::FromWebContents(web_contents);
return RespondNow(Error(std::move(error_)));
ZoomController* zoom_controller =
ZoomController::FromWebContents(web_contents);
zoom::ZoomController::ZoomMode zoom_mode = zoom_controller->zoom_mode();
ZoomController::ZoomMode zoom_mode = zoom_controller->zoom_mode();
api::tabs::ZoomSettings zoom_settings;
ZoomModeToZoomSettings(zoom_mode, &zoom_settings);
zoom_settings.default_zoom_factor.reset(
new double(blink::PageZoomLevelToZoomFactor(
zoom_controller->GetDefaultZoomLevel())));
zoom_settings.default_zoom_factor = std::make_unique<double>(
blink::PageZoomLevelToZoomFactor(zoom_controller->GetDefaultZoomLevel()));
results_ = api::tabs::GetZoomSettings::Results::Create(zoom_settings);
SendResponse(true);
return true;
return RespondNow(
ArgumentList(api::tabs::GetZoomSettings::Results::Create(zoom_settings)));
}
} // namespace cef

View File

@@ -42,6 +42,37 @@ class TabsCreateFunction : public ExtensionFunction {
const CefExtensionFunctionDetails cef_details_;
};
class BaseAPIFunction : public ExtensionFunction {
public:
BaseAPIFunction();
protected:
~BaseAPIFunction() override {}
// Gets the WebContents for |tab_id| if it is specified. Otherwise get the
// WebContents for the active tab in the current window. Calling this function
// may set |error_|.
content::WebContents* GetWebContents(int tab_id);
std::string error_;
const CefExtensionFunctionDetails cef_details_;
};
class TabsUpdateFunction : public BaseAPIFunction {
private:
~TabsUpdateFunction() override {}
ResponseAction Run() override;
bool UpdateURL(const std::string& url, int tab_id, std::string* error);
ResponseValue GetResult();
DECLARE_EXTENSION_FUNCTION("tabs.update", TABS_UPDATE)
int tab_id_ = -1;
content::WebContents* web_contents_ = nullptr;
};
// Implement API calls tabs.executeScript, tabs.insertCSS, and tabs.removeCSS.
class ExecuteCodeInTabFunction : public ExecuteCodeFunction {
public:
@@ -108,58 +139,44 @@ class ZoomAPIFunction : public ExtensionFunction {
// may set |error_|.
content::WebContents* GetWebContents(int tab_id);
virtual bool RunAsync() = 0;
// Responds with success/failure. |results_| or |error_| should be set
// accordingly.
void SendResponse(bool success);
// Exposed versions of ExtensionFunction::results_ and
// ExtensionFunction::error_ that are curried into the response.
// These need to keep the same name to avoid breaking existing
// implementations, but this should be temporary with crbug.com/648275
// and crbug.com/634140.
std::unique_ptr<base::ListValue> results_;
std::string error_;
private:
ResponseAction Run() final;
const CefExtensionFunctionDetails cef_details_;
};
class TabsSetZoomFunction : public ZoomAPIFunction {
class TabsSetZoomFunction : public BaseAPIFunction {
private:
~TabsSetZoomFunction() override {}
bool RunAsync() override;
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("tabs.setZoom", TABS_SETZOOM)
};
class TabsGetZoomFunction : public ZoomAPIFunction {
class TabsGetZoomFunction : public BaseAPIFunction {
private:
~TabsGetZoomFunction() override {}
bool RunAsync() override;
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("tabs.getZoom", TABS_GETZOOM)
};
class TabsSetZoomSettingsFunction : public ZoomAPIFunction {
class TabsSetZoomSettingsFunction : public BaseAPIFunction {
private:
~TabsSetZoomSettingsFunction() override {}
bool RunAsync() override;
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("tabs.setZoomSettings", TABS_SETZOOMSETTINGS)
};
class TabsGetZoomSettingsFunction : public ZoomAPIFunction {
class TabsGetZoomSettingsFunction : public BaseAPIFunction {
private:
~TabsGetZoomSettingsFunction() override {}
bool RunAsync() override;
ResponseAction Run() override;
DECLARE_EXTENSION_FUNCTION("tabs.getZoomSettings", TABS_GETZOOMSETTINGS)
};

View File

@@ -51,6 +51,7 @@ const char* const kSupportedAPIs[] = {
"tabs",
EXTENSION_FUNCTION_NAME(cefimpl::TabsGetFunction),
EXTENSION_FUNCTION_NAME(cefimpl::TabsCreateFunction),
EXTENSION_FUNCTION_NAME(cefimpl::TabsUpdateFunction),
EXTENSION_FUNCTION_NAME(cefimpl::TabsExecuteScriptFunction),
EXTENSION_FUNCTION_NAME(cefimpl::TabsInsertCSSFunction),
EXTENSION_FUNCTION_NAME(cefimpl::TabsRemoveCSSFunction),
@@ -95,6 +96,7 @@ void ChromeFunctionRegistry::RegisterAll(ExtensionFunctionRegistry* registry) {
registry->RegisterFunction<cefimpl::TabsRemoveCSSFunction>();
registry->RegisterFunction<cefimpl::TabsGetFunction>();
registry->RegisterFunction<cefimpl::TabsCreateFunction>();
registry->RegisterFunction<cefimpl::TabsUpdateFunction>();
registry->RegisterFunction<cefimpl::TabsSetZoomFunction>();
registry->RegisterFunction<cefimpl::TabsGetZoomFunction>();
registry->RegisterFunction<cefimpl::TabsSetZoomSettingsFunction>();

View File

@@ -7,7 +7,6 @@
#include "libcef/browser/browser_context.h"
#include "libcef/browser/extensions/browser_extensions_util.h"
#include "libcef/browser/extensions/extension_system.h"
#include "libcef/browser/navigate_params.h"
#include "libcef/browser/thread_util.h"
#include "base/strings/utf_string_conversions.h"
@@ -319,24 +318,12 @@ base::DictionaryValue* CefExtensionFunctionDetails::OpenTab(
GURL url;
if (params.url.get()) {
std::string url_string = *params.url;
url = ExtensionTabUtil::ResolvePossiblyRelativeURL(url_string,
function()->extension());
if (!url.is_valid()) {
if (error_message) {
*error_message =
ErrorUtils::FormatErrorMessage(keys::kInvalidUrlError, url_string);
}
if (!ExtensionTabUtil::PrepareURLForNavigation(
url_string, function()->extension(), &url, error_message)) {
return nullptr;
}
}
// Don't let extensions crash the browser or renderers.
if (ExtensionTabUtil::IsKillURL(url)) {
if (error_message)
*error_message = keys::kNoCrashBrowserError;
return nullptr;
}
// Default to foreground for the new tab. The presence of 'active' property
// will override this default.
bool active = true;

View File

@@ -182,6 +182,11 @@ gfx::Vector2d CefBrowserPlatformDelegateNativeAura::GetUiWheelEventOffset(
return gfx::Vector2d(deltaX, deltaY);
}
// static
base::TimeTicks CefBrowserPlatformDelegateNativeAura::GetEventTimeStamp() {
return base::TimeTicks::Now();
}
// static
int CefBrowserPlatformDelegateNativeAura::TranslateUiEventModifiers(
uint32 cef_modifiers) {

View File

@@ -66,9 +66,9 @@ class CefBrowserPlatformDelegateNativeAura
int deltaX,
int deltaY) const;
virtual gfx::Vector2d GetUiWheelEventOffset(int deltaX, int deltaY) const;
virtual base::TimeTicks GetEventTimeStamp() const = 0;
protected:
static base::TimeTicks GetEventTimeStamp();
static int TranslateUiEventModifiers(uint32 cef_modifiers);
static int TranslateUiChangedButtonFlags(uint32 cef_modifiers);

View File

@@ -4,8 +4,6 @@
#include "libcef/browser/native/browser_platform_delegate_native_linux.h"
#include <sys/sysinfo.h>
#include "libcef/browser/browser_host_base.h"
#include "libcef/browser/context.h"
#include "libcef/browser/native/menu_runner_linux.h"
@@ -30,18 +28,6 @@
#include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h"
#endif
namespace {
// Returns the number of seconds since system boot.
long GetSystemUptime() {
struct sysinfo info;
if (sysinfo(&info) == 0)
return info.uptime;
return 0;
}
} // namespace
CefBrowserPlatformDelegateNativeLinux::CefBrowserPlatformDelegateNativeLinux(
const CefWindowInfo& window_info,
SkColor background_color)
@@ -328,8 +314,3 @@ CefBrowserPlatformDelegateNativeLinux::TranslateWebKeyEvent(
}
return content::NativeWebKeyboardEvent(ui_event);
}
base::TimeTicks CefBrowserPlatformDelegateNativeLinux::GetEventTimeStamp()
const {
return base::TimeTicks() + base::TimeDelta::FromSeconds(GetSystemUptime());
}

View File

@@ -41,7 +41,6 @@ class CefBrowserPlatformDelegateNativeLinux
ui::KeyEvent TranslateUiKeyEvent(const CefKeyEvent& key_event) const override;
content::NativeWebKeyboardEvent TranslateWebKeyEvent(
const CefKeyEvent& key_event) const override;
base::TimeTicks GetEventTimeStamp() const override;
private:
// True if the host window has been created.

View File

@@ -486,10 +486,6 @@ gfx::Vector2d CefBrowserPlatformDelegateNativeWin::GetUiWheelEventOffset(
return gfx::Vector2d(scrollDeltaX, scrollDeltaY);
}
base::TimeTicks CefBrowserPlatformDelegateNativeWin::GetEventTimeStamp() const {
return base::TimeTicks::Now();
}
// static
void CefBrowserPlatformDelegateNativeWin::RegisterWindowClass() {
static bool registered = false;

View File

@@ -41,7 +41,6 @@ class CefBrowserPlatformDelegateNativeWin
// CefBrowserPlatformDelegateNativeAura methods:
ui::KeyEvent TranslateUiKeyEvent(const CefKeyEvent& key_event) const override;
gfx::Vector2d GetUiWheelEventOffset(int deltaX, int deltaY) const override;
base::TimeTicks GetEventTimeStamp() const override;
private:
static void RegisterWindowClass();

View File

@@ -8,10 +8,12 @@
#include "libcef/browser/context.h"
#include "libcef/browser/origin_whitelist_impl.h"
#include "libcef/browser/thread_util.h"
#include "libcef/common/cef_switches.h"
#include "libcef/common/net/scheme_registration.h"
#include "libcef/common/net_service/net_service_util.h"
#include "base/barrier_closure.h"
#include "base/command_line.h"
#include "base/strings/string_number_conversions.h"
#include "components/safe_browsing/core/common/safebrowsing_constants.h"
#include "content/public/browser/browser_context.h"
@@ -52,6 +54,14 @@ void CreateProxyHelper(
std::move(request_handler));
}
bool DisableRequestHandlingForTesting() {
static bool disabled([]() -> bool {
return base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kDisableRequestHandlingForTesting);
}());
return disabled;
}
} // namespace
// Owns all of the ProxyURLLoaderFactorys for a given BrowserContext. Since
@@ -1302,8 +1312,7 @@ void ProxyURLLoaderFactory::CreateLoaderAndStart(
return;
}
bool pass_through = false;
if (pass_through) {
if (DisableRequestHandlingForTesting()) {
// This is the so-called pass-through, no-op option.
if (target_factory_) {
target_factory_->CreateLoaderAndStart(std::move(receiver), request_id,

View File

@@ -11,6 +11,7 @@
#include "libcef/browser/net_service/proxy_url_loader_factory.h"
#include "libcef/browser/net_service/resource_handler_wrapper.h"
#include "libcef/browser/net_service/response_filter_wrapper.h"
#include "libcef/browser/prefs/browser_prefs.h"
#include "libcef/browser/thread_util.h"
#include "libcef/common/app_manager.h"
#include "libcef/common/net/scheme_registration.h"
@@ -28,7 +29,6 @@
#include "content/public/browser/web_contents.h"
#include "net/base/load_flags.h"
#include "net/http/http_status_code.h"
#include "net/http/http_util.h"
#include "third_party/blink/public/mojom/loader/resource_load_info.mojom-shared.h"
#include "ui/base/page_transition_types.h"
#include "url/origin.h"
@@ -78,28 +78,6 @@ class RequestCallbackWrapper : public CefRequestCallback {
DISALLOW_COPY_AND_ASSIGN(RequestCallbackWrapper);
};
std::string GetAcceptLanguageList(content::BrowserContext* browser_context,
CefRefPtr<CefBrowserHostBase> browser) {
if (browser) {
const CefBrowserSettings& browser_settings = browser->settings();
if (browser_settings.accept_language_list.length > 0) {
return CefString(&browser_settings.accept_language_list);
}
}
// This defaults to the value from CefRequestContextSettings via
// browser_prefs::CreatePrefService().
auto prefs = Profile::FromBrowserContext(browser_context)->GetPrefs();
return prefs->GetString(language::prefs::kAcceptLanguages);
}
// Match the logic in chrome/browser/net/profile_network_context_service.cc.
std::string ComputeAcceptLanguageFromPref(const std::string& language_pref) {
std::string accept_languages_str =
net::HttpUtil::ExpandLanguageList(language_pref);
return net::HttpUtil::GenerateAcceptLanguageHeader(accept_languages_str);
}
class InterceptedRequestHandlerWrapper : public InterceptedRequestHandler {
public:
struct RequestState {
@@ -286,8 +264,8 @@ class InterceptedRequestHandlerWrapper : public InterceptedRequestHandler {
unhandled_request_callback_ = unhandled_request_callback;
// Default values for standard headers.
accept_language_ = ComputeAcceptLanguageFromPref(
GetAcceptLanguageList(browser_context, browser));
accept_language_ = browser_prefs::GetAcceptLanguageList(
cef_browser_context, browser.get(), /*expand=*/true);
DCHECK(!accept_language_.empty());
user_agent_ =
CefAppManager::Get()->GetContentClient()->browser()->GetUserAgent();

View File

@@ -5,6 +5,8 @@
#include "libcef/browser/prefs/browser_prefs.h"
#include "libcef/browser/browser_context.h"
#include "libcef/browser/browser_host_base.h"
#include "libcef/browser/context.h"
#include "libcef/browser/media_capture_devices_dispatcher.h"
#include "libcef/browser/prefs/pref_store.h"
#include "libcef/browser/prefs/renderer_prefs.h"
@@ -58,6 +60,7 @@
#include "content/public/browser/browser_thread.h"
#include "extensions/browser/extension_prefs.h"
#include "extensions/buildflags/buildflags.h"
#include "net/http/http_util.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/ui_base_switches.h"
@@ -75,12 +78,35 @@ namespace browser_prefs {
namespace {
std::string GetAcceptLanguageList(Profile* profile) {
const CefRequestContextSettings& context_settings =
CefBrowserContext::FromBrowserContext(profile)->settings();
if (context_settings.accept_language_list.length > 0) {
return CefString(&context_settings.accept_language_list);
// Match the logic in chrome/browser/net/profile_network_context_service.cc.
std::string ComputeAcceptLanguageFromPref(const std::string& language_pref) {
std::string accept_languages_str =
net::HttpUtil::ExpandLanguageList(language_pref);
return net::HttpUtil::GenerateAcceptLanguageHeader(accept_languages_str);
}
// Return the most relevant setting based on |browser_context| and |browser|.
std::string GetAcceptLanguageListSetting(CefBrowserContext* browser_context,
CefBrowserHostBase* browser) {
if (browser) {
const auto& settings = browser->settings();
if (settings.accept_language_list.length > 0) {
return CefString(&settings.accept_language_list);
}
}
if (browser_context) {
const auto& settings = browser_context->settings();
if (settings.accept_language_list.length > 0) {
return CefString(&settings.accept_language_list);
}
}
const auto& settings = CefContext::Get()->settings();
if (settings.accept_language_list.length > 0) {
return CefString(&settings.accept_language_list);
}
return std::string();
}
@@ -295,7 +321,8 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
// Language preferences. Used by ProfileNetworkContextService and
// InterceptedRequestHandlerWrapper.
const std::string& accept_language_list = GetAcceptLanguageList(profile);
const std::string& accept_language_list = GetAcceptLanguageListSetting(
CefBrowserContext::FromProfile(profile), /*browser=*/nullptr);
if (!accept_language_list.empty()) {
registry->SetDefaultPrefValue(language::prefs::kAcceptLanguages,
base::Value(accept_language_list));
@@ -307,12 +334,26 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
return factory.CreateSyncable(registry.get());
}
void SetLanguagePrefs(Profile* profile) {
const std::string& accept_language_list = GetAcceptLanguageList(profile);
if (!accept_language_list.empty()) {
profile->GetPrefs()->SetString(language::prefs::kAcceptLanguages,
accept_language_list);
std::string GetAcceptLanguageList(CefBrowserContext* browser_context,
CefBrowserHostBase* browser,
bool expand) {
// Always prefer to the CEF settings configuration, if specified.
std::string accept_language_list =
GetAcceptLanguageListSetting(browser_context, browser);
if (accept_language_list.empty() && browser_context) {
// Fall back to the preference value. For the Alloy runtime the default
// value comes from browser_prefs::CreatePrefService() above. For the Chrome
// runtime the default value comes from the configured locale
// (IDS_ACCEPT_LANGUAGES) which is then overridden by the user preference in
// chrome://settings/languages, all managed by language::LanguagePrefs.
auto prefs = browser_context->AsProfile()->GetPrefs();
accept_language_list = prefs->GetString(language::prefs::kAcceptLanguages);
}
if (!accept_language_list.empty() && expand) {
return ComputeAcceptLanguageFromPref(accept_language_list);
}
return std::string();
}
} // namespace browser_prefs

View File

@@ -11,6 +11,8 @@ namespace base {
class FilePath;
}
class CefBrowserContext;
class CefBrowserHostBase;
class PrefRegistrySimple;
class PrefService;
class Profile;
@@ -29,8 +31,12 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
const base::FilePath& cache_path,
bool persist_user_preferences);
// Set language preferences on |profile|.
void SetLanguagePrefs(Profile* profile);
// Returns the value for populating the accept-language HTTP request header.
// |browser_context| and/or |browser| may be nullptr. If |expand| is true then
// base languages and Q values may be added.
std::string GetAcceptLanguageList(CefBrowserContext* browser_context,
CefBrowserHostBase* browser,
bool expand);
} // namespace browser_prefs

View File

@@ -150,9 +150,10 @@ bool AlloyMainDelegate::BasicStartupComplete(int* exit_code) {
if (settings_->user_agent.length > 0) {
command_line->AppendSwitchASCII(embedder_support::kUserAgent,
CefString(&settings_->user_agent));
} else if (settings_->product_version.length > 0) {
command_line->AppendSwitchASCII(switches::kProductVersion,
CefString(&settings_->product_version));
} else if (settings_->user_agent_product.length > 0) {
command_line->AppendSwitchASCII(
switches::kUserAgentProductAndVersion,
CefString(&settings_->user_agent_product));
}
if (settings_->locale.length > 0) {

View File

@@ -126,6 +126,14 @@ const char kEnableChromeRuntime[] = "enable-chrome-runtime";
// using the Chrome runtime.
const char kDisableChromeLoginPrompt[] = "disable-chrome-login-prompt";
// Override the product component of the default User-Agent string.
const char kUserAgentProductAndVersion[] = "user-agent-product";
// Disable request handling in CEF to faciliate debugging of network-related
// issues.
const char kDisableRequestHandlingForTesting[] =
"disable-request-handling-for-testing";
#if defined(OS_MAC)
// Path to the framework directory.
const char kFrameworkDirPath[] = "framework-dir-path";

View File

@@ -55,6 +55,8 @@ extern const char kDisableNewBrowserInfoTimeout[];
extern const char kDevToolsProtocolLogFile[];
extern const char kEnableChromeRuntime[];
extern const char kDisableChromeLoginPrompt[];
extern const char kUserAgentProductAndVersion[];
extern const char kDisableRequestHandlingForTesting[];
#if defined(OS_MAC)
extern const char kFrameworkDirPath[];

View File

@@ -16,8 +16,10 @@
#include "base/command_line.h"
#include "base/lazy_instance.h"
#include "chrome/common/chrome_switches.h"
#include "components/embedder_support/switches.h"
#include "content/public/common/content_switches.h"
#include "sandbox/policy/switches.h"
#include "ui/base/ui_base_switches.h"
#if defined(OS_MAC)
#include "libcef/common/util_mac.h"
@@ -79,6 +81,22 @@ bool ChromeMainDelegateCef::BasicStartupComplete(int* exit_code) {
command_line->AppendSwitch(sandbox::policy::switches::kNoSandbox);
}
if (settings_->user_agent.length > 0) {
command_line->AppendSwitchASCII(embedder_support::kUserAgent,
CefString(&settings_->user_agent));
} else if (settings_->user_agent_product.length > 0) {
command_line->AppendSwitchASCII(
switches::kUserAgentProductAndVersion,
CefString(&settings_->user_agent_product));
}
if (settings_->locale.length > 0) {
command_line->AppendSwitchASCII(switches::kLang,
CefString(&settings_->locale));
} else if (!command_line->HasSwitch(switches::kLang)) {
command_line->AppendSwitchASCII(switches::kLang, "en-US");
}
if (settings_->javascript_flags.length > 0) {
command_line->AppendSwitchASCII(switches::kJavaScriptFlags,
CefString(&settings_->javascript_flags));

View File

@@ -6,6 +6,23 @@
#include "base/macros.h"
#if defined(OS_WIN)
#include <limits>
namespace {
// From MSDN, FILETIME "Contains a 64-bit value representing the number of
// 100-nanosecond intervals since January 1, 1601 (UTC)." This value must
// be less than 0x8000000000000000. Otherwise, the function
// FileTimeToSystemTime fails.
// From base/time/time_win.cc:
bool CanConvertToFileTime(int64_t us) {
return us >= 0 && us <= (std::numeric_limits<int64_t>::max() / 10);
}
} // namespace
#endif // defined(OS_WIN)
void cef_time_to_basetime(const cef_time_t& cef_time, base::Time& time) {
base::Time::Exploded exploded;
exploded.year = cef_time.year;
@@ -22,11 +39,7 @@ void cef_time_to_basetime(const cef_time_t& cef_time, base::Time& time) {
void cef_time_from_basetime(const base::Time& time, cef_time_t& cef_time) {
#if defined(OS_WIN)
int64_t t = time.ToDeltaSinceWindowsEpoch().InMicroseconds();
// From MSDN, FILETIME "Contains a 64-bit value representing the number of
// 100-nanosecond intervals since January 1, 1601 (UTC)." This value must
// be less than 0x8000000000000000. Otherwise, the function
// FileTimeToSystemTime fails.
if (t < 0 || static_cast<uint64_t>(t * 10) >= 0x8000000000000000)
if (!CanConvertToFileTime(t))
return;
#endif

View File

@@ -51,7 +51,9 @@ const char kWidevineCdmArch[] =
"ia32"; // This differs from the component updater which uses "x86".
#elif defined(ARCH_CPU_X86_64)
"x64";
#else // TODO(viettrungluu): Support an ARM check?
#elif defined(ARCH_CPU_ARM64)
"arm64";
#else
"???";
#endif
@@ -90,7 +92,7 @@ const char kCdmSupportedEncryptionSchemesName[] =
// The following strings are used to specify supported codecs in the
// parameter |kCdmCodecsListName|.
const char kCdmSupportedCodecVp8[] = "vp8";
const char kCdmSupportedCodecVp9[] = "vp9.0";
const char kCdmSupportedCodecVp9[] = "vp09";
#if BUILDFLAG(USE_PROPRIETARY_CODECS)
const char kCdmSupportedCodecAvc1[] = "avc1";
#endif

View File

@@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index f9e098611a176..f956745c27fbe 100644
index 7d3506c3587c..7f86e15e508d 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -34,6 +34,7 @@ import("//build/config/ui.gni")
@@ -10,7 +10,7 @@ index f9e098611a176..f956745c27fbe 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
@@ -1742,7 +1743,11 @@ component("base") {
@@ -1746,7 +1747,11 @@ component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@@ -23,7 +23,7 @@ index f9e098611a176..f956745c27fbe 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -1951,6 +1956,12 @@ component("base") {
@@ -1955,6 +1960,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}
@@ -37,7 +37,7 @@ index f9e098611a176..f956745c27fbe 100644
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
diff --git base/hash/md5.h base/hash/md5.h
index 8a49f08dcb04d..2f03d7a6d1b34 100644
index 8a49f08dcb04..2f03d7a6d1b3 100644
--- base/hash/md5.h
+++ base/hash/md5.h
@@ -10,8 +10,9 @@
@@ -52,7 +52,7 @@ index 8a49f08dcb04d..2f03d7a6d1b34 100644
#else
#include "base/hash/md5_boringssl.h"
diff --git base/hash/sha1.h base/hash/sha1.h
index 5bb10fe069850..206344d0fd3b1 100644
index 5bb10fe06985..206344d0fd3b 100644
--- base/hash/sha1.h
+++ base/hash/sha1.h
@@ -14,7 +14,9 @@

View File

@@ -1,5 +1,5 @@
diff --git base/strings/string_piece.h base/strings/string_piece.h
index f4f37ad5242b2..ddb9b3fd87474 100644
index f4f37ad5242b..ddb9b3fd8747 100644
--- base/strings/string_piece.h
+++ base/strings/string_piece.h
@@ -24,6 +24,7 @@

View File

@@ -1,5 +1,5 @@
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
index 82801d316d76c..4616c1caf4934 100644
index 82801d316d76..4616c1caf493 100644
--- content/browser/scheduler/browser_task_executor.cc
+++ content/browser/scheduler/browser_task_executor.cc
@@ -240,7 +240,7 @@ void BrowserTaskExecutor::PostFeatureListSetup() {

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 efb7c635e6885..cbbf37a092441 100644
index 51b159f1ab77..df64ef6cfa7e 100644
--- content/browser/child_process_security_policy_impl.cc
+++ content/browser/child_process_security_policy_impl.cc
@@ -1728,6 +1728,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
@@ -1719,6 +1719,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
// DeclarativeApiTest.PersistRules.
if (actual_process_lock.matches_scheme(url::kDataScheme))
return true;
@@ -20,10 +20,10 @@ index efb7c635e6885..cbbf37a092441 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 12132d0bc651a..4c4b7821d9131 100644
index 6f1fe2a9f91d..d711e0f2a5b4 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -5304,6 +5304,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactory() {
@@ -5320,6 +5320,12 @@ url::Origin NavigationRequest::GetOriginForURLLoaderFactory() {
// Calculate an approximation of the origin. The sandbox/csp are ignored.
url::Origin origin = GetOriginForURLLoaderFactoryUnchecked(this);

View File

@@ -1,5 +1,5 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index 72ea590d69681..0c34d20addfa8 100644
index 72ea590d6968..0c34d20addfa 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -1834,8 +1834,6 @@ config("thin_archive") {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index c7970e581a976..045e18b4313b5 100644
index 9fedd8330743..c8323ddcbc7f 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -13,6 +13,7 @@ import("//build/config/features.gni")
@@ -10,7 +10,7 @@ index c7970e581a976..045e18b4313b5 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -1902,6 +1903,7 @@ static_library("browser") {
@@ -1908,6 +1909,7 @@ static_library("browser") {
"//build:chromeos_buildflags",
"//build/config/compiler:compiler_buildflags",
"//cc",
@@ -18,7 +18,7 @@ index c7970e581a976..045e18b4313b5 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2450,6 +2452,10 @@ static_library("browser") {
@@ -2456,6 +2458,10 @@ static_library("browser") {
]
}

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/app_controller_mac.mm chrome/browser/app_controller_mac.mm
index 3f0c080690084..52d0d8eb43c3e 100644
index 8fd9ba22110e..327c788df2d3 100644
--- chrome/browser/app_controller_mac.mm
+++ chrome/browser/app_controller_mac.mm
@@ -31,6 +31,7 @@
@@ -26,7 +26,7 @@ index 3f0c080690084..52d0d8eb43c3e 100644
}
// Same as |-commandDispatch:|, but executes commands using a disposition
@@ -1606,6 +1609,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
@@ -1607,6 +1610,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
// TODO(rickcam): Mock out BackgroundApplicationListModel, then add unit
// tests which use the mock in place of the profile-initialized model.
@@ -34,7 +34,7 @@ index 3f0c080690084..52d0d8eb43c3e 100644
// Avoid breaking unit tests which have no profile.
if (profile) {
BackgroundApplicationListModel applications(profile);
@@ -1632,6 +1636,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
@@ -1633,6 +1637,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
}
}
}
@@ -42,7 +42,7 @@ index 3f0c080690084..52d0d8eb43c3e 100644
return dockMenu;
}
@@ -1861,11 +1866,13 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
@@ -1862,11 +1867,13 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
namespace {
void UpdateProfileInUse(Profile* profile, Profile::CreateStatus status) {
@@ -57,7 +57,7 @@ index 3f0c080690084..52d0d8eb43c3e 100644
} // namespace
diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h
index 3d634db18900a..96e44ad48e5e5 100644
index 3d634db18900..96e44ad48e5e 100644
--- chrome/browser/browser_process.h
+++ chrome/browser/browser_process.h
@@ -197,9 +197,9 @@ class BrowserProcess {
@@ -72,7 +72,7 @@ index 3d634db18900a..96e44ad48e5e5 100644
std::unique_ptr<BackgroundModeManager> manager) = 0;
#endif
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
index 89a682d5c9352..946ccbda587c7 100644
index 89a682d5c935..946ccbda587c 100644
--- chrome/browser/browser_process_impl.cc
+++ chrome/browser/browser_process_impl.cc
@@ -947,18 +947,14 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
@@ -96,7 +96,7 @@ index 89a682d5c9352..946ccbda587c7 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 b4ceefbccd083..7d60206c83b13 100644
index b4ceefbccd08..7d60206c83b1 100644
--- chrome/browser/browser_process_impl.h
+++ chrome/browser/browser_process_impl.h
@@ -169,8 +169,8 @@ class BrowserProcessImpl : public BrowserProcess,
@@ -110,7 +110,7 @@ index b4ceefbccd083..7d60206c83b13 100644
std::unique_ptr<BackgroundModeManager> manager) override;
#endif
diff --git chrome/browser/lifetime/browser_close_manager.cc chrome/browser/lifetime/browser_close_manager.cc
index e0cafee5eedd6..06ded156be3cc 100644
index e0cafee5eedd..06ded156be3c 100644
--- chrome/browser/lifetime/browser_close_manager.cc
+++ chrome/browser/lifetime/browser_close_manager.cc
@@ -148,12 +148,14 @@ void BrowserCloseManager::CloseBrowsers() {
@@ -128,29 +128,11 @@ index e0cafee5eedd6..06ded156be3cc 100644
// Make a copy of the BrowserList to simplify the case where we need to
// destroy a Browser during the loop.
diff --git chrome/browser/sessions/app_session_service.cc chrome/browser/sessions/app_session_service.cc
index 071884fe257bb..47160e3e47bdb 100644
--- chrome/browser/sessions/app_session_service.cc
+++ chrome/browser/sessions/app_session_service.cc
@@ -90,8 +90,11 @@ void AppSessionService::MaybeDeleteSessionOnlyData() {
// Clear session data if the last window for a profile has been closed and
// closing the last window would normally close Chrome, unless background mode
// is active. Tests don't have a background_mode_manager.
- if (browser_defaults::kBrowserAliveWithNoWindows ||
- g_browser_process->background_mode_manager()->IsBackgroundModeActive()) {
+ if (browser_defaults::kBrowserAliveWithNoWindows
+#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
+ || g_browser_process->background_mode_manager()->IsBackgroundModeActive()
+#endif
+ ) {
return;
}
diff --git chrome/browser/sessions/session_service.cc chrome/browser/sessions/session_service.cc
index e5074800fbb00..e6c59d05ee204 100644
index 24a6b1a3634d..abcb36d783de 100644
--- chrome/browser/sessions/session_service.cc
+++ chrome/browser/sessions/session_service.cc
@@ -553,12 +553,19 @@ void SessionService::MaybeDeleteSessionOnlyData() {
@@ -516,12 +516,19 @@ void SessionService::MaybeDeleteSessionOnlyData() {
if (profile()->AsTestingProfile())
return;

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/browser_about_handler.cc chrome/browser/browser_about_handler.cc
index ba0c5c3fc0446..b4df9af95ecd1 100644
index ba0c5c3fc044..b4df9af95ecd 100644
--- chrome/browser/browser_about_handler.cc
+++ chrome/browser/browser_about_handler.cc
@@ -70,6 +70,9 @@ bool HandleNonNavigationAboutURL(const GURL& url) {
@@ -13,10 +13,10 @@ index ba0c5c3fc0446..b4df9af95ecd1 100644
return false;
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index 37b121e2b667d..ae70272bf2764 100644
index 29d0321fae4c..287a95ff00de 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -257,6 +257,20 @@
@@ -259,6 +259,20 @@
#include "components/captive_portal/content/captive_portal_tab_helper.h"
#endif
@@ -37,7 +37,7 @@ index 37b121e2b667d..ae70272bf2764 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -481,6 +495,13 @@ Browser::Browser(const CreateParams& params)
@@ -488,6 +502,13 @@ Browser::Browser(const CreateParams& params)
tab_strip_model_->AddObserver(this);
@@ -51,7 +51,7 @@ index 37b121e2b667d..ae70272bf2764 100644
location_bar_model_ = std::make_unique<LocationBarModelImpl>(
location_bar_model_delegate_.get(), content::kMaxURLDisplayChars);
@@ -1320,6 +1341,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
@@ -1348,6 +1369,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@@ -66,7 +66,7 @@ index 37b121e2b667d..ae70272bf2764 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1327,8 +1356,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1355,8 +1384,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@@ -87,7 +87,7 @@ index 37b121e2b667d..ae70272bf2764 100644
}
bool Browser::TabsNeedBeforeUnloadFired() {
@@ -1549,6 +1588,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
@@ -1577,6 +1616,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
return window->OpenURLFromTab(source, params);
}
@@ -102,7 +102,7 @@ index 37b121e2b667d..ae70272bf2764 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -1648,6 +1695,15 @@ void Browser::AddNewContents(WebContents* source,
@@ -1676,6 +1723,15 @@ void Browser::AddNewContents(WebContents* source,
source, disposition);
}
@@ -118,7 +118,7 @@ index 37b121e2b667d..ae70272bf2764 100644
chrome::AddWebContents(this, source, std::move(new_contents), target_url,
disposition, initial_rect);
}
@@ -1666,6 +1722,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -1694,6 +1750,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool to_different_document) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, to_different_document);
@@ -127,7 +127,7 @@ index 37b121e2b667d..ae70272bf2764 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -1693,6 +1751,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -1721,6 +1779,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -136,7 +136,7 @@ index 37b121e2b667d..ae70272bf2764 100644
if (!GetStatusBubble())
return;
@@ -1700,6 +1760,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -1728,6 +1788,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@@ -154,7 +154,7 @@ index 37b121e2b667d..ae70272bf2764 100644
void Browser::ContentsMouseEvent(WebContents* source,
bool motion,
bool exited) {
@@ -1816,6 +1887,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
@@ -1844,6 +1915,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 37b121e2b667d..ae70272bf2764 100644
}
void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) {
@@ -1852,6 +1927,8 @@ void Browser::RendererResponsive(
@@ -1880,6 +1955,8 @@ void Browser::RendererResponsive(
void Browser::DidNavigateMainFramePostCommit(WebContents* web_contents) {
if (web_contents == tab_strip_model_->GetActiveWebContents())
UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
@@ -174,7 +174,7 @@ index 37b121e2b667d..ae70272bf2764 100644
}
content::JavaScriptDialogManager* Browser::GetJavaScriptDialogManager(
@@ -1898,11 +1975,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -1926,11 +2003,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 37b121e2b667d..ae70272bf2764 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2742,6 +2823,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -2775,6 +2856,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 37b121e2b667d..ae70272bf2764 100644
void Browser::TabDetachedAtImpl(content::WebContents* contents,
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index f1c66751bff73..886375f473b91 100644
index f1c66751bff7..886375f473b9 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -21,6 +21,7 @@
@@ -294,7 +294,7 @@ index f1c66751bff73..886375f473b91 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 a50d5b83afa2d..21c6ca8d7188f 100644
index a50d5b83afa2..21c6ca8d7188 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -454,6 +454,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -312,7 +312,7 @@ index a50d5b83afa2d..21c6ca8d7188f 100644
// tab helpers, so the entire set of tab helpers needs to be set up
// immediately.
diff --git chrome/browser/ui/browser_tabstrip.cc chrome/browser/ui/browser_tabstrip.cc
index 899b0e532c451..2fad68ec3e513 100644
index 899b0e532c45..2fad68ec3e51 100644
--- chrome/browser/ui/browser_tabstrip.cc
+++ chrome/browser/ui/browser_tabstrip.cc
@@ -30,9 +30,13 @@ void AddTabAt(Browser* browser,

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc
index c1e6c77a57267..d3c41d3dac053 100644
index c1e6c77a5726..d3c41d3dac05 100644
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -8,6 +8,7 @@
@@ -54,7 +54,7 @@ index c1e6c77a57267..d3c41d3dac053 100644
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
SupervisedUserSettingsService* supervised_service =
diff --git components/content_settings/renderer/content_settings_agent_impl.cc components/content_settings/renderer/content_settings_agent_impl.cc
index b6b38ab9a2513..048c6f8c544f1 100644
index b6b38ab9a251..048c6f8c544f 100644
--- components/content_settings/renderer/content_settings_agent_impl.cc
+++ components/content_settings/renderer/content_settings_agent_impl.cc
@@ -172,7 +172,7 @@ ContentSetting GetContentSettingFromRulesImpl(

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index 13ad2a7529bb1..0b003c26815e0 100644
index 13ad2a7529bb..0b003c26815e 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -254,6 +254,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@@ -69,7 +69,7 @@ index 13ad2a7529bb1..0b003c26815e0 100644
RenderViewContextMenu::GetHandlersForLinkUrl() {
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 5178db60ba644..845461049e54e 100644
index 5178db60ba64..845461049e54 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -91,6 +91,12 @@ class RenderViewContextMenu : public RenderViewContextMenuBase {
@@ -96,7 +96,7 @@ index 5178db60ba644..845461049e54e 100644
// "Use enhanced spell check" items.
std::unique_ptr<SpellingMenuObserver> spelling_suggestions_menu_observer_;
diff --git chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
index feec153dcc146..0959c1020bad9 100644
index feec153dcc14..0959c1020bad 100644
--- chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
+++ chrome/browser/ui/views/renderer_context_menu/render_view_context_menu_views.cc
@@ -136,6 +136,9 @@ void RenderViewContextMenuViews::RunMenuAt(views::Widget* parent,
@@ -110,7 +110,7 @@ index feec153dcc146..0959c1020bad9 100644
// that Ctrl+C, Ctrl+V, Ctrl+X, Ctrl-A, etc do what they normally do.
switch (command_id) {
diff --git components/renderer_context_menu/render_view_context_menu_base.cc components/renderer_context_menu/render_view_context_menu_base.cc
index 62100403d27f0..54182e7d97e3c 100644
index 62100403d27f..54182e7d97e3 100644
--- components/renderer_context_menu/render_view_context_menu_base.cc
+++ components/renderer_context_menu/render_view_context_menu_base.cc
@@ -375,6 +375,17 @@ bool RenderViewContextMenuBase::IsCommandIdChecked(int id) const {
@@ -132,7 +132,7 @@ index 62100403d27f0..54182e7d97e3c 100644
command_executed_ = true;
RecordUsedItem(id);
diff --git components/renderer_context_menu/render_view_context_menu_base.h components/renderer_context_menu/render_view_context_menu_base.h
index 52002b190fded..ce3277e9f9350 100644
index 52002b190fde..ce3277e9f935 100644
--- components/renderer_context_menu/render_view_context_menu_base.h
+++ components/renderer_context_menu/render_view_context_menu_base.h
@@ -81,6 +81,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
@@ -176,7 +176,7 @@ index 52002b190fded..ce3277e9f9350 100644
bool IsCustomItemEnabled(int id) const;
diff --git components/renderer_context_menu/render_view_context_menu_observer.cc components/renderer_context_menu/render_view_context_menu_observer.cc
index 2e2d05f91c646..85b256b2be9bd 100644
index 2e2d05f91c64..85b256b2be9b 100644
--- components/renderer_context_menu/render_view_context_menu_observer.cc
+++ components/renderer_context_menu/render_view_context_menu_observer.cc
@@ -15,3 +15,8 @@ bool RenderViewContextMenuObserver::IsCommandIdChecked(int command_id) {
@@ -189,7 +189,7 @@ index 2e2d05f91c646..85b256b2be9bd 100644
+ return false;
+}
diff --git components/renderer_context_menu/render_view_context_menu_observer.h components/renderer_context_menu/render_view_context_menu_observer.h
index b360a8eb4e820..6f9023a629046 100644
index b360a8eb4e82..6f9023a62904 100644
--- components/renderer_context_menu/render_view_context_menu_observer.h
+++ components/renderer_context_menu/render_view_context_menu_observer.h
@@ -11,6 +11,10 @@ namespace content {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 94e40ecd52276..597810f96ba53 100644
index 5c150b1b020e..acd30a6f485d 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -12,6 +12,7 @@ import("//build/config/features.gni")
@@ -38,7 +38,7 @@ index 94e40ecd52276..597810f96ba53 100644
"//components/reading_list/features:flags",
"//components/safe_browsing/core/common:safe_browsing_policy_handler",
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index a12ad7b5e7eb6..9dba0f6642313 100644
index a12ad7b5e7eb..9dba0f664231 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -21,6 +21,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/profiles/profile_window.cc chrome/browser/profiles/profile_window.cc
index 69d6f442d1208..46f2be62e0466 100644
index 69d6f442d120..46f2be62e046 100644
--- chrome/browser/profiles/profile_window.cc
+++ chrome/browser/profiles/profile_window.cc
@@ -262,7 +262,9 @@ void BubbleViewModeFromAvatarBubbleMode(BrowserWindow::AvatarBubbleMode mode,
@@ -14,7 +14,7 @@ index 69d6f442d1208..46f2be62e0466 100644
: profiles::BUBBLE_VIEW_MODE_PROFILE_CHOOSER;
}
diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc
index b6ce61c8f4b03..dc5d111325b1f 100644
index b6ce61c8f4b0..dc5d111325b1 100644
--- chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -37,7 +37,9 @@
@@ -29,7 +29,7 @@ index b6ce61c8f4b03..dc5d111325b1f 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 319404417dc43..795dccb655e07 100644
index 319404417dc4..795dccb655e0 100644
--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc
+++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc
@@ -494,7 +494,9 @@ void ProfileMenuViewBase::ShowBubble(

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
index 4e361cfd4ec86..bd156f6b76696 100644
index 4e361cfd4ec8..bd156f6b7669 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -644,7 +644,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@@ -14,7 +14,7 @@ index 4e361cfd4ec86..bd156f6b76696 100644
}
diff --git chrome/browser/profiles/profile.cc chrome/browser/profiles/profile.cc
index 94aafe60eb458..ebc3ecc2585a3 100644
index 94aafe60eb45..ebc3ecc2585a 100644
--- chrome/browser/profiles/profile.cc
+++ chrome/browser/profiles/profile.cc
@@ -81,6 +81,7 @@ base::LazyInstance<std::set<content::BrowserContext*>>::Leaky
@@ -52,7 +52,7 @@ index 94aafe60eb458..ebc3ecc2585a3 100644
Profile::OTRProfileID Profile::OTRProfileID::CreateUniqueForDevTools() {
return CreateUnique(kDevToolsOTRProfileIDPrefix);
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
index a2b145ece628e..41afec2cfa4cb 100644
index a2b145ece628..41afec2cfa4c 100644
--- chrome/browser/profiles/profile.h
+++ chrome/browser/profiles/profile.h
@@ -120,6 +120,10 @@ class Profile : public content::BrowserContext {
@@ -85,7 +85,7 @@ index a2b145ece628e..41afec2cfa4cb 100644
virtual bool IsSignedIn() = 0;
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index 14417b3a65486..9f0fc4b5316bc 100644
index 14417b3a6548..9f0fc4b5316b 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -979,7 +979,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
@@ -100,10 +100,10 @@ index 14417b3a65486..9f0fc4b5316bc 100644
return raw_otr_profile;
}
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index b470744df3fa1..8a4ecc623feab 100644
index d2a29e4e928c..676277932ac4 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -435,7 +435,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -440,7 +440,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
base::Unretained(this)));
#endif
@@ -113,7 +113,7 @@ index b470744df3fa1..8a4ecc623feab 100644
}
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
index 88ee84697998c..40ba18c66127e 100644
index 88ee84697998..40ba18c66127 100644
--- chrome/browser/profiles/profile_manager.h
+++ chrome/browser/profiles/profile_manager.h
@@ -116,7 +116,7 @@ class ProfileManager : public Profile::Delegate {
@@ -144,7 +144,7 @@ index 88ee84697998c..40ba18c66127e 100644
// Get the path of the last used profile, or if that's undefined, the default
// profile.
diff --git chrome/browser/profiles/renderer_updater.cc chrome/browser/profiles/renderer_updater.cc
index 8920c217f0b26..f4864793c5a29 100644
index 8920c217f0b2..f4864793c5a2 100644
--- chrome/browser/profiles/renderer_updater.cc
+++ chrome/browser/profiles/renderer_updater.cc
@@ -8,6 +8,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 825663c0ead5e..2029a401663f1 100644
index 825663c0ead5..2029a401663f 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -27,6 +27,7 @@ static_library("safe_browsing") {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/sharesheet/sharesheet_service_delegate.cc chrome/browser/sharesheet/sharesheet_service_delegate.cc
index 3cb0c531e382e..a40b50e060483 100644
index 3cb0c531e382..a40b50e06048 100644
--- chrome/browser/sharesheet/sharesheet_service_delegate.cc
+++ chrome/browser/sharesheet/sharesheet_service_delegate.cc
@@ -19,8 +19,10 @@ SharesheetServiceDelegate::SharesheetServiceDelegate(
@@ -71,7 +71,7 @@ index 3cb0c531e382e..a40b50e060483 100644
} // namespace sharesheet
diff --git chrome/browser/sharesheet/sharesheet_service_delegate.h chrome/browser/sharesheet/sharesheet_service_delegate.h
index cba3392d1057c..b307678693797 100644
index cba3392d1057..b30767869379 100644
--- chrome/browser/sharesheet/sharesheet_service_delegate.h
+++ chrome/browser/sharesheet/sharesheet_service_delegate.h
@@ -72,7 +72,9 @@ class SharesheetServiceDelegate : public SharesheetController {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
index e48400619537d..635959d7ba9a7 100644
index e48400619537..635959d7ba9a 100644
--- chrome/browser/themes/theme_service.cc
+++ chrome/browser/themes/theme_service.cc
@@ -27,6 +27,7 @@
@@ -42,7 +42,7 @@ index e48400619537d..635959d7ba9a7 100644
theme_syncable_service_ =
std::make_unique<ThemeSyncableService>(profile_, this);
diff --git chrome/browser/themes/theme_service_factory.cc chrome/browser/themes/theme_service_factory.cc
index dc2350f0b2443..7f4b9283534f3 100644
index dc2350f0b244..7f4b9283534f 100644
--- chrome/browser/themes/theme_service_factory.cc
+++ chrome/browser/themes/theme_service_factory.cc
@@ -7,6 +7,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
index 168f980572c10..ffdc06beb2b77 100644
index 168f980572c1..ffdc06beb2b7 100644
--- chrome/browser/plugins/plugin_info_host_impl.cc
+++ chrome/browser/plugins/plugin_info_host_impl.cc
@@ -18,6 +18,7 @@
@@ -115,7 +115,7 @@ index 168f980572c10..ffdc06beb2b77 100644
bool enabled = i < matching_plugins.size();
if (!enabled) {
diff --git chrome/browser/plugins/plugin_utils.cc chrome/browser/plugins/plugin_utils.cc
index a0b3175223f3e..a1117001ad1fc 100644
index a0b3175223f3..a1117001ad1f 100644
--- chrome/browser/plugins/plugin_utils.cc
+++ chrome/browser/plugins/plugin_utils.cc
@@ -5,6 +5,7 @@
@@ -151,7 +151,7 @@ index a0b3175223f3e..a1117001ad1fc 100644
Profile* profile = Profile::FromBrowserContext(browser_context);
const std::vector<std::string>& allowlist =
diff --git chrome/common/google_url_loader_throttle.cc chrome/common/google_url_loader_throttle.cc
index 6555dfc37d5ce..d54030b6f2368 100644
index 6555dfc37d5c..d54030b6f236 100644
--- chrome/common/google_url_loader_throttle.cc
+++ chrome/common/google_url_loader_throttle.cc
@@ -7,6 +7,7 @@
@@ -186,7 +186,7 @@ index 6555dfc37d5ce..d54030b6f2368 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 ceb29f83a9dc1..3f1601ae17931 100644
index ceb29f83a9dc..3f1601ae1793 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -862,6 +862,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -238,7 +238,7 @@ index ceb29f83a9dc1..3f1601ae17931 100644
}
}
diff --git content/browser/browser_plugin/browser_plugin_guest.h content/browser/browser_plugin/browser_plugin_guest.h
index cb6a2dfb9adcf..02f316d646cf7 100644
index cb6a2dfb9adc..02f316d646cf 100644
--- content/browser/browser_plugin/browser_plugin_guest.h
+++ content/browser/browser_plugin/browser_plugin_guest.h
@@ -116,6 +116,8 @@ class CONTENT_EXPORT BrowserPluginGuest : public GuestHost,

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h
index 78d5b763970c2..de98bd0b325b1 100644
index 78d5b763970c..de98bd0b325b 100644
--- chrome/browser/ui/prefs/pref_watcher.h
+++ chrome/browser/ui/prefs/pref_watcher.h
@@ -29,10 +29,10 @@ class PrefWatcher : public KeyedService {

View File

@@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index cd4395923de75..61069e6965057 100644
index cd4395923de7..61069e696505 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 94e871ea16b08..69929718b2704 100644
index 94e871ea16b0..69929718b270 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -29,6 +29,7 @@
@@ -78,7 +78,7 @@ index 94e871ea16b08..69929718b2704 100644
#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index 86b9a324e5da5..b4e1bfebe1162 100644
index 576a12102934..ed2719558569 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -49,6 +49,7 @@
@@ -89,7 +89,7 @@ index 86b9a324e5da5..b4e1bfebe1162 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -896,8 +897,10 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
@@ -914,8 +915,10 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
#if !defined(OS_ANDROID)
// Create the RunLoop for MainMessageLoopRun() to use, and pass a copy of
// its QuitClosure to the BrowserProcessImpl to call when it is time to exit.
@@ -101,7 +101,7 @@ index 86b9a324e5da5..b4e1bfebe1162 100644
// These members must be initialized before returning from this function.
// Android doesn't use StartupBrowserCreator.
@@ -1639,11 +1642,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1657,11 +1660,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|.
@@ -118,7 +118,7 @@ index 86b9a324e5da5..b4e1bfebe1162 100644
// of lacros-chrome is complete.
#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index 8a33ce57766c5..ca69a37eee22b 100644
index 8a33ce57766c..ca69a37eee22 100644
--- chrome/browser/chrome_browser_main_mac.mm
+++ chrome/browser/chrome_browser_main_mac.mm
@@ -16,6 +16,7 @@
@@ -156,7 +156,7 @@ index 8a33ce57766c5..ca69a37eee22b 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 3f152fd798e8c..19346821464f5 100644
index 038944fa1d04..22b79e9259ee 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -37,6 +37,7 @@
@@ -167,7 +167,7 @@ index 3f152fd798e8c..19346821464f5 100644
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_labels_service_factory.h"
#include "chrome/browser/accessibility/caption_util.h"
@@ -3643,9 +3644,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -3667,9 +3668,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // defined(OS_ANDROID)
@@ -180,7 +180,7 @@ index 3f152fd798e8c..19346821464f5 100644
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
diff --git chrome/browser/notifications/alert_dispatcher_xpc.mm chrome/browser/notifications/alert_dispatcher_xpc.mm
index d126ddd3a24dd..5e8c5ae7c093a 100644
index d126ddd3a24d..5e8c5ae7c093 100644
--- chrome/browser/notifications/alert_dispatcher_xpc.mm
+++ chrome/browser/notifications/alert_dispatcher_xpc.mm
@@ -19,6 +19,7 @@
@@ -205,7 +205,7 @@ index d126ddd3a24dd..5e8c5ae7c093a 100644
base::mac::ScopedMachSendRight exceptionPort(
crash_reporter::GetCrashpadClient().GetHandlerMachPort());
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 7f814486ab674..512dbd488d752 100644
index 2d7245565413..0932480573e4 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -10,6 +10,7 @@
@@ -227,7 +227,7 @@ index 7f814486ab674..512dbd488d752 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -974,6 +979,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -976,6 +981,10 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
RegisterSessionServiceLogProfilePrefs(registry);
#endif

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index b0bde494f7b6f..19b11ac5766d0 100644
index b0bde494f7b6..19b11ac5766d 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -354,8 +354,10 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -31,7 +31,7 @@ index b0bde494f7b6f..19b11ac5766d0 100644
void BrowserCommandController::InitCommandState() {
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index 5aff6e51d2186..55a95564fb826 100644
index 5aff6e51d218..55a95564fb82 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -65,15 +65,23 @@ bool IsUsingGtkTheme(Profile* profile) {
@@ -106,7 +106,7 @@ index 5aff6e51d2186..55a95564fb826 100644
->UsingDefaultTheme()) {
return ui::NativeTheme::GetInstanceForDarkUI();
diff --git chrome/browser/ui/views/frame/browser_frame.h chrome/browser/ui/views/frame/browser_frame.h
index 050c0e05e4e3b..0bbcf4af9a92a 100644
index 050c0e05e4e3..0bbcf4af9a92 100644
--- chrome/browser/ui/views/frame/browser_frame.h
+++ chrome/browser/ui/views/frame/browser_frame.h
@@ -53,7 +53,9 @@ enum class TabDragKind {
@@ -120,7 +120,7 @@ index 050c0e05e4e3b..0bbcf4af9a92a 100644
// Initialize the frame (creates the underlying native window).
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index 7fc9e5493ca49..9cb598b648194 100644
index c33c4327974e..fe470132a090 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -576,11 +576,22 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
@@ -234,7 +234,7 @@ index 7fc9e5493ca49..9cb598b648194 100644
MaybeInitializeWebUITabStrip();
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 59ddc0ac10f94..d5f04bfd7ca5f 100644
index 59ddc0ac10f9..d5f04bfd7ca5 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -112,7 +112,9 @@ class BrowserView : public BrowserWindow,
@@ -261,7 +261,7 @@ index 59ddc0ac10f94..d5f04bfd7ca5f 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 56ef53cf379d9..f0f1057896bdb 100644
index 56ef53cf379d..f0f1057896bd 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -415,6 +415,12 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
@@ -278,10 +278,10 @@ index 56ef53cf379d9..f0f1057896bdb 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 9220245ea195d..90dd93503b570 100644
index 8f35534df18f..c29ebc024aa2 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -571,37 +571,53 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
@@ -580,37 +580,53 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
}
bool BrowserTabStripController::IsFrameCondensed() const {
@@ -336,7 +336,7 @@ index 9220245ea195d..90dd93503b570 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index 5f6e182d017d9..be85e6df707d1 100644
index 5f6e182d017d..be85e6df707d 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -156,12 +156,13 @@ auto& GetViewCommandMap() {
@@ -365,7 +365,7 @@ index 5f6e182d017d9..be85e6df707d1 100644
size_animation_.Reset(1);
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index 99358217419a6..425a0741b55a3 100644
index 99358217419a..425a0741b55a 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -87,7 +87,8 @@ class ToolbarView : public views::AccessiblePaneView,

View File

@@ -1,5 +1,5 @@
diff --git third_party/widevine/cdm/BUILD.gn third_party/widevine/cdm/BUILD.gn
index e5009f30f6f5a..8190a72bd450b 100644
index e5009f30f6f5..8190a72bd450 100644
--- third_party/widevine/cdm/BUILD.gn
+++ third_party/widevine/cdm/BUILD.gn
@@ -7,6 +7,7 @@ import("//build/config/chrome_build.gni")

View File

@@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index d106889e860ff..af57383e609b8 100644
index d106889e860f..af57383e609b 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -12,6 +12,7 @@
@@ -20,7 +20,7 @@ index d106889e860ff..af57383e609b8 100644
bool is_navigation,
bool is_download,
diff --git content/browser/renderer_host/input/synthetic_gesture_target_base.h content/browser/renderer_host/input/synthetic_gesture_target_base.h
index eef661b3e0950..6c0dacfa4bc3a 100644
index eef661b3e095..6c0dacfa4bc3 100644
--- content/browser/renderer_host/input/synthetic_gesture_target_base.h
+++ content/browser/renderer_host/input/synthetic_gesture_target_base.h
@@ -9,6 +9,7 @@
@@ -42,7 +42,7 @@ index eef661b3e0950..6c0dacfa4bc3a 100644
explicit SyntheticGestureTargetBase(RenderWidgetHostImpl* host);
~SyntheticGestureTargetBase() override;
diff --git content/common/content_switches_internal.h content/common/content_switches_internal.h
index 57072bf1263ae..0a93446e4d21c 100644
index 57072bf1263a..0a93446e4d21 100644
--- content/common/content_switches_internal.h
+++ content/common/content_switches_internal.h
@@ -15,7 +15,7 @@ class CommandLine;
@@ -55,7 +55,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 8003cd409ff37..8ac3fefade6de 100644
index 8003cd409ff3..8ac3fefade6d 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -29,6 +29,7 @@ component("controller") {
@@ -76,7 +76,7 @@ index 8003cd409ff37..8ac3fefade6de 100644
if (is_linux || is_chromeos) {
diff --git ui/events/keycodes/BUILD.gn ui/events/keycodes/BUILD.gn
index 86bbf620ff0d9..6c06b461c6da1 100644
index 86bbf620ff0d..6c06b461c6da 100644
--- ui/events/keycodes/BUILD.gn
+++ ui/events/keycodes/BUILD.gn
@@ -19,6 +19,8 @@ source_set("xkb") {
@@ -89,7 +89,7 @@ index 86bbf620ff0d9..6c06b461c6da1 100644
"//base",
"//build:chromeos_buildflags",
diff --git ui/events/keycodes/keyboard_code_conversion_xkb.h ui/events/keycodes/keyboard_code_conversion_xkb.h
index 8f56878d4bb42..f0d2457f6a29d 100644
index 8f56878d4bb4..f0d2457f6a29 100644
--- ui/events/keycodes/keyboard_code_conversion_xkb.h
+++ ui/events/keycodes/keyboard_code_conversion_xkb.h
@@ -10,6 +10,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
index f094105ac70c8..b5f4616ff821e 100644
index f094105ac70c..b5f4616ff821 100644
--- chrome/browser/download/download_target_determiner.cc
+++ chrome/browser/download/download_target_determiner.cc
@@ -672,7 +672,7 @@ void IsHandledBySafePlugin(int render_process_id,
@@ -12,7 +12,7 @@ index f094105ac70c8..b5f4616ff821e 100644
if (is_stale && stale_plugin_action == RETRY_IF_STALE_PLUGIN_LIST) {
// The GetPlugins call causes the plugin list to be refreshed. Once that's
diff --git chrome/browser/plugins/chrome_plugin_service_filter.cc chrome/browser/plugins/chrome_plugin_service_filter.cc
index c2bd9b8c3131e..d1283cf3d9b21 100644
index c2bd9b8c3131..d1283cf3d9b2 100644
--- chrome/browser/plugins/chrome_plugin_service_filter.cc
+++ chrome/browser/plugins/chrome_plugin_service_filter.cc
@@ -132,6 +132,7 @@ bool ChromePluginServiceFilter::IsPluginAvailable(
@@ -24,7 +24,7 @@ index c2bd9b8c3131e..d1283cf3d9b21 100644
content::WebPluginInfo* plugin) {
base::AutoLock auto_lock(lock_);
diff --git chrome/browser/plugins/chrome_plugin_service_filter.h chrome/browser/plugins/chrome_plugin_service_filter.h
index 937d3d5bc84fd..ac327392dcf37 100644
index 937d3d5bc84f..ac327392dcf3 100644
--- chrome/browser/plugins/chrome_plugin_service_filter.h
+++ chrome/browser/plugins/chrome_plugin_service_filter.h
@@ -64,6 +64,7 @@ class ChromePluginServiceFilter : public content::PluginServiceFilter,
@@ -36,7 +36,7 @@ index 937d3d5bc84fd..ac327392dcf37 100644
content::WebPluginInfo* plugin) override;
diff --git chrome/browser/plugins/pdf_iframe_navigation_throttle.cc chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
index d0a5a12620bd3..a02e13bbd8154 100644
index d0a5a12620bd..a02e13bbd815 100644
--- chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
+++ chrome/browser/plugins/pdf_iframe_navigation_throttle.cc
@@ -65,7 +65,7 @@ bool IsPDFPluginEnabled(content::NavigationHandle* navigation_handle,
@@ -49,7 +49,7 @@ index d0a5a12620bd3..a02e13bbd8154 100644
false /* allow_wildcard */, is_stale, &plugin_info,
nullptr /* actual_mime_type */);
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index df02e848472f6..955edd0b7ff1f 100644
index df02e848472f..955edd0b7ff1 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -81,7 +81,7 @@ void OnFindURLMimeType(const GURL& url,
@@ -62,7 +62,7 @@ index df02e848472f6..955edd0b7ff1f 100644
#endif
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index 7df791af69af7..6005886106e58 100644
index 7df791af69af..6005886106e5 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -574,7 +574,7 @@ void DevToolsHttpHandler::OnJsonRequest(
@@ -75,7 +75,7 @@ index 7df791af69af7..6005886106e58 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 a46dbf3c52abe..2d83757cef53a 100644
index a46dbf3c52ab..2d83757cef53 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -639,6 +639,13 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
@@ -102,7 +102,7 @@ index a46dbf3c52abe..2d83757cef53a 100644
if (stale) {
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
index 12e48ad8e3e31..1fd51c85ad6fb 100644
index 12e48ad8e3e3..1fd51c85ad6f 100644
--- content/browser/plugin_service_impl.cc
+++ content/browser/plugin_service_impl.cc
@@ -269,6 +269,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
@@ -124,7 +124,7 @@ index 12e48ad8e3e31..1fd51c85ad6fb 100644
if (actual_mime_type)
*actual_mime_type = mime_types[i];
diff --git content/browser/plugin_service_impl.h content/browser/plugin_service_impl.h
index 3ce3ad55eef18..77674a7224551 100644
index 3ce3ad55eef1..77674a722455 100644
--- content/browser/plugin_service_impl.h
+++ content/browser/plugin_service_impl.h
@@ -54,6 +54,7 @@ class CONTENT_EXPORT PluginServiceImpl : public PluginService {
@@ -136,7 +136,7 @@ index 3ce3ad55eef18..77674a7224551 100644
const std::string& mime_type,
bool allow_wildcard,
diff --git content/browser/renderer_host/plugin_registry_impl.cc content/browser/renderer_host/plugin_registry_impl.cc
index a6d6188fb1390..7ac57de6fd55a 100644
index a6d6188fb139..7ac57de6fd55 100644
--- content/browser/renderer_host/plugin_registry_impl.cc
+++ content/browser/renderer_host/plugin_registry_impl.cc
@@ -29,6 +29,7 @@ void PluginRegistryImpl::Bind(
@@ -169,7 +169,7 @@ index a6d6188fb1390..7ac57de6fd55a 100644
auto plugin_blink = blink::mojom::PluginInfo::New();
plugin_blink->name = plugin.name;
diff --git content/browser/renderer_host/plugin_registry_impl.h content/browser/renderer_host/plugin_registry_impl.h
index 632ae86c6fd69..55b749ec12421 100644
index 632ae86c6fd6..55b749ec1242 100644
--- content/browser/renderer_host/plugin_registry_impl.h
+++ content/browser/renderer_host/plugin_registry_impl.h
@@ -24,11 +24,13 @@ class PluginRegistryImpl : public blink::mojom::PluginRegistry {
@@ -188,10 +188,10 @@ index 632ae86c6fd69..55b749ec12421 100644
const std::vector<WebPluginInfo>& all_plugins);
diff --git content/browser/renderer_host/render_frame_host_impl.cc content/browser/renderer_host/render_frame_host_impl.cc
index e5b9d4722ff48..e15707aa31976 100644
index 7f7e6adf5712..79ea43f9ef23 100644
--- content/browser/renderer_host/render_frame_host_impl.cc
+++ content/browser/renderer_host/render_frame_host_impl.cc
@@ -10749,6 +10749,7 @@ void RenderFrameHostImpl::BindHungDetectorHost(
@@ -10739,6 +10739,7 @@ void RenderFrameHostImpl::BindHungDetectorHost(
}
void RenderFrameHostImpl::GetPluginInfo(const GURL& url,
@@ -199,7 +199,7 @@ index e5b9d4722ff48..e15707aa31976 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
GetPluginInfoCallback callback) {
@@ -10756,7 +10757,8 @@ void RenderFrameHostImpl::GetPluginInfo(const GURL& url,
@@ -10746,7 +10747,8 @@ void RenderFrameHostImpl::GetPluginInfo(const GURL& url,
WebPluginInfo info;
std::string actual_mime_type;
bool found = PluginServiceImpl::GetInstance()->GetPluginInfo(
@@ -210,10 +210,10 @@ index e5b9d4722ff48..e15707aa31976 100644
std::move(callback).Run(found, info, actual_mime_type);
}
diff --git content/browser/renderer_host/render_frame_host_impl.h content/browser/renderer_host/render_frame_host_impl.h
index d8d7676dc885c..0cf11c7de7454 100644
index d4a16dbf87ad..ee946606eb14 100644
--- content/browser/renderer_host/render_frame_host_impl.h
+++ content/browser/renderer_host/render_frame_host_impl.h
@@ -2338,6 +2338,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
@@ -2339,6 +2339,7 @@ class CONTENT_EXPORT RenderFrameHostImpl
int32_t plugin_child_id,
const base::FilePath& path) override;
void GetPluginInfo(const GURL& url,
@@ -222,7 +222,7 @@ index d8d7676dc885c..0cf11c7de7454 100644
const std::string& mime_type,
GetPluginInfoCallback callback) override;
diff --git content/common/pepper_plugin.mojom content/common/pepper_plugin.mojom
index a544bfed7ed85..60aad01350c2f 100644
index a544bfed7ed8..60aad01350c2 100644
--- content/common/pepper_plugin.mojom
+++ content/common/pepper_plugin.mojom
@@ -29,6 +29,7 @@ interface PepperHost {
@@ -234,7 +234,7 @@ index a544bfed7ed85..60aad01350c2f 100644
string mime_type) =>
(bool found,
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index 0fadf2a320b0c..8c491e3b48064 100644
index 97c47faadb92..7b732f17360b 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -9,7 +9,7 @@
@@ -247,7 +247,7 @@ index 0fadf2a320b0c..8c491e3b48064 100644
#include <utility>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index b031e69e4fe09..8c91423f8c140 100644
index aac67f9733e5..aadc1036e6af 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -32,6 +32,7 @@
@@ -258,7 +258,7 @@ index b031e69e4fe09..8c91423f8c140 100644
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
#include "device/vr/buildflags/buildflags.h"
@@ -1747,6 +1748,14 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1763,6 +1764,14 @@ class CONTENT_EXPORT ContentBrowserClient {
const base::Optional<url::Origin>& initiating_origin,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@@ -273,7 +273,7 @@ index b031e69e4fe09..8c91423f8c140 100644
// 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.
@@ -1820,6 +1829,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1836,6 +1845,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@@ -285,7 +285,7 @@ index b031e69e4fe09..8c91423f8c140 100644
virtual std::string GetUserAgent();
diff --git content/public/browser/plugin_service.h content/public/browser/plugin_service.h
index 90fb0fcfa822b..d48e64b1573ca 100644
index 90fb0fcfa822..d48e64b1573c 100644
--- content/public/browser/plugin_service.h
+++ content/public/browser/plugin_service.h
@@ -73,6 +73,7 @@ class CONTENT_EXPORT PluginService {
@@ -297,7 +297,7 @@ index 90fb0fcfa822b..d48e64b1573ca 100644
const std::string& mime_type,
bool allow_wildcard,
diff --git content/public/browser/plugin_service_filter.h content/public/browser/plugin_service_filter.h
index 98c59005599e4..69752184745d3 100644
index 98c59005599e..69752184745d 100644
--- content/public/browser/plugin_service_filter.h
+++ content/public/browser/plugin_service_filter.h
@@ -32,6 +32,7 @@ class PluginServiceFilter {
@@ -309,7 +309,7 @@ index 98c59005599e4..69752184745d3 100644
WebPluginInfo* plugin) = 0;
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index f84df6e581606..38e5eeef558b6 100644
index f84df6e58160..38e5eeef558b 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -82,6 +82,9 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -334,7 +334,7 @@ index f84df6e581606..38e5eeef558b6 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 580974507f1a3..86a0514c8b558 100644
index 580974507f1a..86a0514c8b55 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3548,7 +3548,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -348,7 +348,7 @@ index 580974507f1a3..86a0514c8b558 100644
&mime_type);
if (!found)
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 36365398f8fae..b2d3fa8798563 100644
index ed9d15a2832c..7603a77eb945 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -618,6 +618,8 @@ void RenderThreadImpl::Init() {
@@ -361,7 +361,7 @@ index 36365398f8fae..b2d3fa8798563 100644
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 7aec578843ce5..f631601f1bb1e 100644
index 7aec578843ce..f631601f1bb1 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1022,6 +1022,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -381,7 +381,7 @@ index 7aec578843ce5..f631601f1bb1e 100644
if (!code_cache_host_) {
code_cache_host_ = mojo::SharedRemote<blink::mojom::CodeCacheHost>(
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index 7a836b82ee155..8e026751ce350 100644
index 7a836b82ee15..8e026751ce35 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -220,6 +220,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -395,7 +395,7 @@ index 7a836b82ee155..8e026751ce350 100644
// plus eTLD+1, such as https://google.com), or to a more specific origin.
void SetIsLockedToSite();
diff --git content/shell/browser/shell_plugin_service_filter.cc content/shell/browser/shell_plugin_service_filter.cc
index c25b7d1a18432..7e007d964f1a1 100644
index c25b7d1a1843..7e007d964f1a 100644
--- content/shell/browser/shell_plugin_service_filter.cc
+++ content/shell/browser/shell_plugin_service_filter.cc
@@ -17,6 +17,7 @@ bool ShellPluginServiceFilter::IsPluginAvailable(
@@ -407,7 +407,7 @@ index c25b7d1a18432..7e007d964f1a1 100644
WebPluginInfo* plugin) {
return plugin->name == u"Blink Test Plugin" ||
diff --git content/shell/browser/shell_plugin_service_filter.h content/shell/browser/shell_plugin_service_filter.h
index 337b4b0653fe2..107ab4c9d8a85 100644
index 337b4b0653fe..107ab4c9d8a8 100644
--- content/shell/browser/shell_plugin_service_filter.h
+++ content/shell/browser/shell_plugin_service_filter.h
@@ -20,6 +20,7 @@ class ShellPluginServiceFilter : public PluginServiceFilter {
@@ -419,7 +419,7 @@ index 337b4b0653fe2..107ab4c9d8a85 100644
WebPluginInfo* plugin) override;
diff --git content/test/fake_plugin_service.cc content/test/fake_plugin_service.cc
index f816fe5382c7e..7846e2b908675 100644
index f816fe5382c7..7846e2b90867 100644
--- content/test/fake_plugin_service.cc
+++ content/test/fake_plugin_service.cc
@@ -28,6 +28,7 @@ bool FakePluginService::GetPluginInfoArray(
@@ -431,7 +431,7 @@ index f816fe5382c7e..7846e2b908675 100644
const std::string& mime_type,
bool allow_wildcard,
diff --git content/test/fake_plugin_service.h content/test/fake_plugin_service.h
index e5f53ee41161e..b9d73ebee4ec8 100644
index e5f53ee41161..b9d73ebee4ec 100644
--- content/test/fake_plugin_service.h
+++ content/test/fake_plugin_service.h
@@ -29,6 +29,7 @@ class FakePluginService : public PluginService {

View File

@@ -1,5 +1,5 @@
diff --git content/app/content_main.cc content/app/content_main.cc
index 2aba28d210db9..00edc202e2c46 100644
index 2aba28d210db..00edc202e2c4 100644
--- content/app/content_main.cc
+++ content/app/content_main.cc
@@ -205,15 +205,10 @@ void InitializeMojo(mojo::core::Configuration* config) {
@@ -111,7 +111,7 @@ index 2aba28d210db9..00edc202e2c46 100644
return RunContentProcess(params, runner.get());
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 81e48e33cad43..84eabf287b0e9 100644
index 81e48e33cad4..84eabf287b0e 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -44,6 +44,7 @@
@@ -135,7 +135,7 @@ index 81e48e33cad43..84eabf287b0e9 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 86c624e53cf99..090171f7db228 100644
index 86c624e53cf9..090171f7db22 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -39,7 +39,7 @@ class ContentMainDelegate;
@@ -157,7 +157,7 @@ index 86c624e53cf99..090171f7db228 100644
int RunBrowser(MainFunctionParams& main_function_params,
bool start_minimal_browser);
diff --git content/common/set_process_title.cc content/common/set_process_title.cc
index 8b829a4887739..a69a088697287 100644
index 8b829a488773..a69a08869728 100644
--- content/common/set_process_title.cc
+++ content/common/set_process_title.cc
@@ -54,7 +54,7 @@ void SetProcessTitleFromCommandLine(const char** main_argv) {
@@ -170,7 +170,7 @@ index 8b829a4887739..a69a088697287 100644
if (main_argv)
setproctitle_init(main_argv);
diff --git content/public/app/content_main.h content/public/app/content_main.h
index 97aac3d0c7584..fc795ae0287f9 100644
index 97aac3d0c758..fc795ae0287f 100644
--- content/public/app/content_main.h
+++ content/public/app/content_main.h
@@ -68,7 +68,16 @@ struct ContentMainParams {

View File

@@ -1,5 +1,5 @@
diff --git chrome/chrome_elf/BUILD.gn chrome/chrome_elf/BUILD.gn
index 9b08e23e921b0..49182504ae361 100644
index 9b08e23e921b..49182504ae36 100644
--- chrome/chrome_elf/BUILD.gn
+++ chrome/chrome_elf/BUILD.gn
@@ -7,6 +7,7 @@
@@ -47,7 +47,7 @@ index 9b08e23e921b0..49182504ae361 100644
source_set("dll_hash") {
diff --git chrome/chrome_elf/crash/crash_helper.cc chrome/chrome_elf/crash/crash_helper.cc
index 886372e114899..ad3bc2242883b 100644
index 886372e11489..ad3bc2242883 100644
--- chrome/chrome_elf/crash/crash_helper.cc
+++ chrome/chrome_elf/crash/crash_helper.cc
@@ -11,12 +11,17 @@
@@ -81,7 +81,7 @@ index 886372e114899..ad3bc2242883b 100644
g_crash_helper_enabled = true;
return true;
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
index b84f727c9dc64..817df167e5a6b 100644
index b84f727c9dc6..817df167e5a6 100644
--- chrome/common/crash_keys.cc
+++ chrome/common/crash_keys.cc
@@ -4,6 +4,8 @@
@@ -112,7 +112,7 @@ index b84f727c9dc64..817df167e5a6b 100644
void SetActiveExtensions(const std::set<std::string>& extensions) {
diff --git chrome/common/crash_keys.h chrome/common/crash_keys.h
index bcf172e645a23..f879aa745adfc 100644
index bcf172e645a2..f879aa745adf 100644
--- chrome/common/crash_keys.h
+++ chrome/common/crash_keys.h
@@ -17,6 +17,10 @@ class CommandLine;
@@ -127,7 +127,7 @@ index bcf172e645a23..f879aa745adfc 100644
// on the given |command_line|.
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
diff --git components/crash/core/app/breakpad_linux.cc components/crash/core/app/breakpad_linux.cc
index 00009dacdc2b0..e6454d5b1a23d 100644
index 00009dacdc2b..e6454d5b1a23 100644
--- components/crash/core/app/breakpad_linux.cc
+++ components/crash/core/app/breakpad_linux.cc
@@ -28,6 +28,7 @@
@@ -203,7 +203,7 @@ index 00009dacdc2b0..e6454d5b1a23d 100644
writer.Flush();
}
diff --git components/crash/core/app/breakpad_linux.h components/crash/core/app/breakpad_linux.h
index 9ea80370a842c..3043f7d32f33d 100644
index 9ea80370a842..3043f7d32f33 100644
--- components/crash/core/app/breakpad_linux.h
+++ components/crash/core/app/breakpad_linux.h
@@ -20,6 +20,9 @@ extern void InitCrashReporter(const std::string& process_type);
@@ -217,7 +217,7 @@ index 9ea80370a842c..3043f7d32f33d 100644
extern void InitCrashKeysForTesting();
diff --git components/crash/core/app/crash_reporter_client.cc components/crash/core/app/crash_reporter_client.cc
index 89b4bfccd5d32..7cb0a85470d2f 100644
index 89b4bfccd5d3..7cb0a85470d2 100644
--- components/crash/core/app/crash_reporter_client.cc
+++ components/crash/core/app/crash_reporter_client.cc
@@ -87,7 +87,7 @@ int CrashReporterClient::GetResultCodeRespawnFailed() {
@@ -290,7 +290,7 @@ index 89b4bfccd5d32..7cb0a85470d2f 100644
} // namespace crash_reporter
diff --git components/crash/core/app/crash_reporter_client.h components/crash/core/app/crash_reporter_client.h
index 39557cce47443..236806090021a 100644
index 39557cce4744..236806090021 100644
--- components/crash/core/app/crash_reporter_client.h
+++ components/crash/core/app/crash_reporter_client.h
@@ -5,7 +5,9 @@
@@ -357,7 +357,7 @@ index 39557cce47443..236806090021a 100644
} // namespace crash_reporter
diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc
index 27f5504d544a3..fd901ccd5b759 100644
index 27f5504d544a..fd901ccd5b75 100644
--- components/crash/core/app/crashpad.cc
+++ components/crash/core/app/crashpad.cc
@@ -152,7 +152,8 @@ void InitializeCrashpadImpl(bool initial_client,
@@ -371,7 +371,7 @@ index 27f5504d544a3..fd901ccd5b759 100644
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
}
diff --git components/crash/core/app/crashpad_mac.mm components/crash/core/app/crashpad_mac.mm
index 2be2fd857bc5f..04ebef6442af2 100644
index 2be2fd857bc5..04ebef6442af 100644
--- components/crash/core/app/crashpad_mac.mm
+++ components/crash/core/app/crashpad_mac.mm
@@ -16,12 +16,15 @@
@@ -475,7 +475,7 @@ index 2be2fd857bc5f..04ebef6442af2 100644
handler_path, database_path, metrics_path, url,
GetProcessSimpleAnnotations(), arguments, true, false);
diff --git components/crash/core/app/crashpad_win.cc components/crash/core/app/crashpad_win.cc
index 686be7964d77d..6059aab2b69a7 100644
index 686be7964d77..6059aab2b69a 100644
--- components/crash/core/app/crashpad_win.cc
+++ components/crash/core/app/crashpad_win.cc
@@ -36,8 +36,8 @@ void GetPlatformCrashpadAnnotations(

View File

@@ -1,5 +1,5 @@
diff --git third_party/crashpad/crashpad/client/prune_crash_reports.cc third_party/crashpad/crashpad/client/prune_crash_reports.cc
index 492d466239d1a..a1df635870ede 100644
index 492d466239d1..a1df635870ed 100644
--- third_party/crashpad/crashpad/client/prune_crash_reports.cc
+++ third_party/crashpad/crashpad/client/prune_crash_reports.cc
@@ -73,13 +73,19 @@ size_t PruneCrashReportDatabase(CrashReportDatabase* database,
@@ -26,7 +26,7 @@ index 492d466239d1a..a1df635870ede 100644
static const time_t kSecondsInDay = 60 * 60 * 24;
diff --git third_party/crashpad/crashpad/client/prune_crash_reports.h third_party/crashpad/crashpad/client/prune_crash_reports.h
index 07a70980f12af..ddf7f17325fed 100644
index 07a70980f12a..ddf7f17325fe 100644
--- third_party/crashpad/crashpad/client/prune_crash_reports.h
+++ third_party/crashpad/crashpad/client/prune_crash_reports.h
@@ -59,7 +59,8 @@ class PruneCondition {
@@ -40,7 +40,7 @@ index 07a70980f12af..ddf7f17325fed 100644
virtual ~PruneCondition() {}
diff --git third_party/crashpad/crashpad/client/settings.cc third_party/crashpad/crashpad/client/settings.cc
index 0aa525f1b4c00..2ddb73e7dd0cb 100644
index 0aa525f1b4c0..2ddb73e7dd0c 100644
--- third_party/crashpad/crashpad/client/settings.cc
+++ third_party/crashpad/crashpad/client/settings.cc
@@ -86,7 +86,7 @@ void ScopedLockedFileHandleTraits::Free(FileHandle handle) {
@@ -130,7 +130,7 @@ index 0aa525f1b4c00..2ddb73e7dd0cb 100644
Settings::ScopedLockedFileHandle Settings::MakeScopedLockedFileHandle(
FileHandle file,
diff --git third_party/crashpad/crashpad/client/settings.h third_party/crashpad/crashpad/client/settings.h
index 5761c6b965b5c..aee4e6c96033e 100644
index 5761c6b965b5..aee4e6c96033 100644
--- third_party/crashpad/crashpad/client/settings.h
+++ third_party/crashpad/crashpad/client/settings.h
@@ -115,6 +115,11 @@ class Settings {
@@ -146,7 +146,7 @@ index 5761c6b965b5c..aee4e6c96033e 100644
struct Data;
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
index 1d5951e8fc00c..599dde825883e 100644
index 1d5951e8fc00..599dde825883 100644
--- third_party/crashpad/crashpad/handler/BUILD.gn
+++ third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,7 @@
@@ -184,7 +184,7 @@ index 1d5951e8fc00c..599dde825883e 100644
if (crashpad_is_win) {
diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
index b7e445fd9f3ed..c5f1a3c3ceee7 100644
index b7e445fd9f3e..c5f1a3c3ceee 100644
--- third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
+++ third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
@@ -263,6 +263,8 @@ CrashReportUploadThread::UploadResult CrashReportUploadThread::UploadReport(
@@ -197,7 +197,7 @@ index b7e445fd9f3ed..c5f1a3c3ceee7 100644
if (!reader->SeekSet(start_offset)) {
diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.h third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
index 2ec1147d2620d..8ff9a72e0bd79 100644
index 2ec1147d2620..8ff9a72e0bd7 100644
--- third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
+++ third_party/crashpad/crashpad/handler/crash_report_upload_thread.h
@@ -15,6 +15,7 @@
@@ -248,7 +248,7 @@ index 2ec1147d2620d..8ff9a72e0bd79 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 737ee4e09f676..f5a8727f7e6b1 100644
index 737ee4e09f67..f5a8727f7e6b 100644
--- third_party/crashpad/crashpad/handler/handler_main.cc
+++ third_party/crashpad/crashpad/handler/handler_main.cc
@@ -39,6 +39,7 @@

View File

@@ -1,22 +1,24 @@
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
index 569518f209aeb..a4944e7060570 100644
index 569518f209ae..0cf7c2cc23c4 100644
--- components/embedder_support/user_agent_utils.cc
+++ components/embedder_support/user_agent_utils.cc
@@ -7,6 +7,7 @@
#include "base/command_line.h"
#include "base/strings/strcat.h"
#include "build/branding_buildflags.h"
+#include "chrome/common/chrome_switches.h"
+#include "cef/libcef/common/cef_switches.h"
#include "components/embedder_support/switches.h"
#include "components/version_info/version_info.h"
#include "content/public/browser/web_contents.h"
@@ -20,6 +21,10 @@
@@ -20,6 +21,12 @@
namespace embedder_support {
std::string GetProduct() {
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
+ if (command_line->HasSwitch(switches::kProductVersion))
+ return command_line->GetSwitchValueASCII(switches::kProductVersion);
+ if (command_line->HasSwitch(switches::kUserAgentProductAndVersion)) {
+ return command_line->GetSwitchValueASCII(
+ switches::kUserAgentProductAndVersion);
+ }
+
return version_info::GetProductNameAndVersionForUserAgent();
}

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/extensions/api/streams_private/streams_private_api.cc chrome/browser/extensions/api/streams_private/streams_private_api.cc
index 5c903a13a14ed..d385c6c0c95c4 100644
index 5c903a13a14e..c85964a7bab1 100644
--- chrome/browser/extensions/api/streams_private/streams_private_api.cc
+++ chrome/browser/extensions/api/streams_private/streams_private_api.cc
@@ -6,6 +6,7 @@
@@ -10,7 +10,18 @@ index 5c903a13a14ed..d385c6c0c95c4 100644
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/prefetch/no_state_prefetch/chrome_no_state_prefetch_contents_delegate.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
@@ -42,6 +43,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -18,6 +19,10 @@
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
#include "extensions/common/manifest_handlers/mime_types_handler.h"
+#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/browser/extensions/alloy_extensions_util.h"
+#endif
+
namespace extensions {
void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -42,6 +47,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
if (!web_contents)
return;
@@ -18,7 +29,7 @@ index 5c903a13a14ed..d385c6c0c95c4 100644
// If the request was for NoStatePrefetch, abort the prefetcher and do not
// continue. This is because plugins cancel NoStatePrefetch, see
// http://crbug.com/343590.
@@ -52,6 +54,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
@@ -52,6 +58,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
no_state_prefetch_contents->Destroy(prerender::FINAL_STATUS_DOWNLOAD);
return;
}
@@ -26,8 +37,30 @@ index 5c903a13a14ed..d385c6c0c95c4 100644
auto* browser_context = web_contents->GetBrowserContext();
@@ -78,9 +85,18 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
// forms of zooming won't work).
// TODO(1042323): Present a coherent representation of a tab id for portal
// contents.
- int tab_id = web_contents->GetOuterWebContents()
- ? SessionID::InvalidValue().id()
- : ExtensionTabUtil::GetTabId(web_contents);
+ int tab_id;
+ if (web_contents->GetOuterWebContents()) {
+ tab_id = SessionID::InvalidValue().id();
+ } else
+#if BUILDFLAG(ENABLE_CEF)
+ if (cef::IsAlloyRuntimeEnabled()) {
+ tab_id = alloy::GetTabIdForWebContents(web_contents);
+ } else
+#endif // BUILDFLAG(ENABLE_CEF)
+ {
+ tab_id = ExtensionTabUtil::GetTabId(web_contents);
+ }
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 231a3b6c8ce1d..14776d981f506 100644
index 231a3b6c8ce1..14776d981f50 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -63,11 +63,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@@ -92,7 +125,7 @@ index 231a3b6c8ce1d..14776d981f506 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index 305726557f2ea..caa4b798a013e 100644
index 305726557f2e..caa4b798a013 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -53,13 +53,19 @@ class ExtensionHost : public DeferredStartRenderHost,
@@ -127,7 +160,7 @@ index 305726557f2ea..caa4b798a013e 100644
// A pointer to the current or speculative main frame in `host_contents_`. We
// can't access this frame through the `host_contents_` directly as it does
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index 7eb3d073c7b79..3844a9c6033a5 100644
index 7eb3d073c7b7..3844a9c6033a 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -27,6 +27,7 @@
@@ -162,7 +195,7 @@ index 7eb3d073c7b79..3844a9c6033a5 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 26bff09c646be..830ff12c5fc9c 100644
index 26bff09c646b..830ff12c5fc9 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -392,9 +392,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/font_family_cache.h chrome/browser/font_family_cache.h
index 0e5573a7326a2..28eb26fb7af55 100644
index 0e5573a7326a..28eb26fb7af5 100644
--- chrome/browser/font_family_cache.h
+++ chrome/browser/font_family_cache.h
@@ -19,6 +19,8 @@ class Profile;

View File

@@ -1,5 +1,5 @@
diff --git .gn .gn
index 5b010cc8b0147..6f7dce7dd8e4b 100644
index 5b010cc8b014..6f7dce7dd8e4 100644
--- .gn
+++ .gn
@@ -184,6 +184,8 @@ exec_script_whitelist =
@@ -12,7 +12,7 @@ index 5b010cc8b0147..6f7dce7dd8e4b 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 106e853ef8179..2d2fa6b9c284f 100644
index 106e853ef817..2d2fa6b9c284 100644
--- BUILD.gn
+++ BUILD.gn
@@ -16,6 +16,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@@ -34,7 +34,7 @@ index 106e853ef8179..2d2fa6b9c284f 100644
deps += [
"//ios:all",
diff --git build/config/win/visual_studio_version.gni build/config/win/visual_studio_version.gni
index 982fbe8d3f0d0..e757be4688f10 100644
index 982fbe8d3f0d..e757be4688f1 100644
--- build/config/win/visual_studio_version.gni
+++ build/config/win/visual_studio_version.gni
@@ -12,9 +12,8 @@ declare_args() {
@@ -66,7 +66,7 @@ index 982fbe8d3f0d0..e757be4688f10 100644
+ "studio path")
}
diff --git chrome/app/framework.order chrome/app/framework.order
index 839144aa1e9bd..29c8ab32398a7 100644
index 839144aa1e9b..29c8ab32398a 100644
--- chrome/app/framework.order
+++ chrome/app/framework.order
@@ -28,3 +28,8 @@ _ChromeMain
@@ -79,7 +79,7 @@ index 839144aa1e9bd..29c8ab32398a7 100644
+_OBJC_METACLASS_$_UnderlayOpenGLHostingWindow
+
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 8e17878f175bf..3d8fc8848fe9c 100644
index 8e17878f175b..3d8fc8848fe9 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -4,6 +4,7 @@
@@ -102,7 +102,7 @@ index 8e17878f175bf..3d8fc8848fe9c 100644
sources += [
"$root_gen_dir/chrome/extensions_resources.pak",
diff --git chrome/chrome_repack_locales.gni chrome/chrome_repack_locales.gni
index a64a23560460a..b08eee1f789a7 100644
index a64a23560460..b08eee1f789a 100644
--- chrome/chrome_repack_locales.gni
+++ chrome/chrome_repack_locales.gni
@@ -6,6 +6,7 @@ import("//build/config/chrome_build.gni")
@@ -125,7 +125,7 @@ index a64a23560460a..b08eee1f789a7 100644
source_patterns +=
[ "${root_gen_dir}/extensions/strings/extensions_strings_" ]
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index ae43217ef2075..2f0b956872631 100644
index ae43217ef207..2f0b95687263 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -6,6 +6,7 @@ import("//build/config/compiler/compiler.gni")
@@ -152,7 +152,7 @@ index ae43217ef2075..2f0b956872631 100644
outputs = [
# See also chrome.packed.7z conditionally added below.
diff --git tools/grit/grit_defines.gni tools/grit/grit_defines.gni
index 5b92d7a6cd920..ceb274146131c 100644
index 5b92d7a6cd92..ceb274146131 100644
--- tools/grit/grit_defines.gni
+++ tools/grit/grit_defines.gni
@@ -5,6 +5,7 @@

View File

@@ -1,5 +1,5 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 1d3809cbdc35c..f5206f1c96c32 100644
index 1d3809cbdc35..f5206f1c96c3 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -750,4 +750,13 @@

View File

@@ -1,5 +1,5 @@
diff --git ui/base/ime/win/input_method_win_base.cc ui/base/ime/win/input_method_win_base.cc
index bc80f95a6892a..43a87836ebd3e 100644
index bc80f95a6892..43a87836ebd3 100644
--- ui/base/ime/win/input_method_win_base.cc
+++ ui/base/ime/win/input_method_win_base.cc
@@ -262,8 +262,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {

View File

@@ -1,5 +1,5 @@
diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn
index 8068e573cbd48..2fc10cf03bc50 100644
index 8068e573cbd4..2fc10cf03bc5 100644
--- third_party/libxml/BUILD.gn
+++ third_party/libxml/BUILD.gn
@@ -142,6 +142,7 @@ static_library("libxml") {

View File

@@ -1,5 +1,5 @@
diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc
index f3d40b628ec20..7efc41048b3c1 100644
index f3d40b628ec2..7efc41048b3c 100644
--- content/browser/child_process_launcher_helper_linux.cc
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -162,7 +162,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
@@ -12,7 +12,7 @@ index f3d40b628ec20..7efc41048b3c1 100644
base::File file(exe_dir.Append(path),
base::File::FLAG_OPEN | base::File::FLAG_READ);
diff --git sandbox/linux/suid/client/setuid_sandbox_host.cc sandbox/linux/suid/client/setuid_sandbox_host.cc
index 0aaed76c1dda2..517c3d8b57725 100644
index 0aaed76c1dda..517c3d8b5772 100644
--- sandbox/linux/suid/client/setuid_sandbox_host.cc
+++ sandbox/linux/suid/client/setuid_sandbox_host.cc
@@ -120,7 +120,7 @@ bool SetuidSandboxHost::IsDisabledViaEnvironment() {
@@ -25,7 +25,7 @@ index 0aaed76c1dda2..517c3d8b57725 100644
if (base::PathExists(sandbox_candidate))
sandbox_binary = sandbox_candidate;
diff --git ui/gl/init/gl_initializer_linux_x11.cc ui/gl/init/gl_initializer_linux_x11.cc
index 016046d6caa4f..116e4919cda08 100644
index 016046d6caa4..116e4919cda0 100644
--- ui/gl/init/gl_initializer_linux_x11.cc
+++ ui/gl/init/gl_initializer_linux_x11.cc
@@ -82,7 +82,7 @@ bool InitializeStaticEGLInternalFromLibrary(GLImplementation implementation) {

View File

@@ -1,5 +1,5 @@
diff --git build/config/linux/atk/BUILD.gn build/config/linux/atk/BUILD.gn
index bc8e27894732a..5d06ce988f25f 100644
index bc8e27894732..5d06ce988f25 100644
--- build/config/linux/atk/BUILD.gn
+++ build/config/linux/atk/BUILD.gn
@@ -12,7 +12,7 @@ import("//build/config/ui.gni")
@@ -12,7 +12,7 @@ index bc8e27894732a..5d06ce988f25f 100644
if (use_atk) {
assert(use_glib, "use_atk=true requires that use_glib=true")
diff --git build/config/linux/atspi2/BUILD.gn build/config/linux/atspi2/BUILD.gn
index 988a995681361..1791ea607550e 100644
index 988a99568136..1791ea607550 100644
--- build/config/linux/atspi2/BUILD.gn
+++ build/config/linux/atspi2/BUILD.gn
@@ -6,7 +6,7 @@ import("//build/config/linux/pkg_config.gni")

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/page_info/chrome_page_info_client.cc chrome/browser/ui/page_info/chrome_page_info_client.cc
index e2972da9e548d..2f356616ed97c 100644
index e2972da9e548..2f356616ed97 100644
--- chrome/browser/ui/page_info/chrome_page_info_client.cc
+++ chrome/browser/ui/page_info/chrome_page_info_client.cc
@@ -17,5 +17,9 @@ std::unique_ptr<PageInfoDelegate> ChromePageInfoClient::CreatePageInfoDelegate(

View File

@@ -1,5 +1,5 @@
diff --git base/files/file_path_watcher_linux.cc base/files/file_path_watcher_linux.cc
index 713444ccb2d3e..6759f454d1563 100644
index 713444ccb2d3..6759f454d156 100644
--- base/files/file_path_watcher_linux.cc
+++ base/files/file_path_watcher_linux.cc
@@ -5,6 +5,7 @@

View File

@@ -1,5 +1,5 @@
diff --git content/browser/scheduler/responsiveness/native_event_observer_mac.mm content/browser/scheduler/responsiveness/native_event_observer_mac.mm
index 7cb3238e97edb..ae800739b6863 100644
index 7cb3238e97ed..ae800739b686 100644
--- content/browser/scheduler/responsiveness/native_event_observer_mac.mm
+++ content/browser/scheduler/responsiveness/native_event_observer_mac.mm
@@ -12,13 +12,15 @@ namespace content {

View File

@@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/input/fling_scheduler_mac.mm content/browser/renderer_host/input/fling_scheduler_mac.mm
index f10c5d161dd13..92a751dd984e5 100644
index f10c5d161dd1..92a751dd984e 100644
--- content/browser/renderer_host/input/fling_scheduler_mac.mm
+++ content/browser/renderer_host/input/fling_scheduler_mac.mm
@@ -26,6 +26,10 @@ ui::Compositor* FlingSchedulerMac::GetCompositor() {

View File

@@ -1,5 +1,5 @@
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
index 98f3c5a43da3b..55bef97cfc336 100644
index 98f3c5a43da3..55bef97cfc33 100644
--- ui/gl/init/gl_initializer_mac.cc
+++ ui/gl/init/gl_initializer_mac.cc
@@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() {

View File

@@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index 0a3f329f4a524..9546c5add9c8c 100644
index 0a3f329f4a52..9546c5add9c8 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@@ -30,7 +30,7 @@ index 0a3f329f4a524..9546c5add9c8c 100644
}
if (has_msg)
diff --git base/task/current_thread.cc base/task/current_thread.cc
index 9641285fde742..51cc852fcc165 100644
index 9641285fde74..51cc852fcc16 100644
--- base/task/current_thread.cc
+++ base/task/current_thread.cc
@@ -48,6 +48,8 @@ void CurrentThread::AddDestructionObserver(
@@ -43,7 +43,7 @@ index 9641285fde742..51cc852fcc165 100644
current_->RemoveDestructionObserver(destruction_observer);
}
diff --git base/task/current_thread.h base/task/current_thread.h
index bdcd661bfa282..823a1d02ca858 100644
index bdcd661bfa28..823a1d02ca85 100644
--- base/task/current_thread.h
+++ base/task/current_thread.h
@@ -127,6 +127,12 @@ class BASE_EXPORT CurrentThread {

View File

@@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index 5846dcf03078b..b8d8d9e684161 100644
index 5846dcf03078..b8d8d9e68416 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -670,7 +670,8 @@ void MessagePumpUIApplication::Detach() {

View File

@@ -1,5 +1,5 @@
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
index cdbc0273838e5..ee2809a0bb98a 100644
index cdbc0273838e..ee2809a0bb98 100644
--- content/browser/web_contents/web_contents_view.h
+++ content/browser/web_contents/web_contents_view.h
@@ -22,7 +22,7 @@ struct DropData;
@@ -12,7 +12,7 @@ index cdbc0273838e5..ee2809a0bb98a 100644
virtual ~WebContentsView() {}
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index e2b5240255bfd..fc0037f552ec1 100644
index e2b5240255bf..da0648c1eabc 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
@@ -205,6 +205,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -24,22 +24,23 @@ index e2b5240255bfd..fc0037f552ec1 100644
// TODO(erikchen): Fix ownership semantics for guest views.
// https://crbug.com/832879.
std::move(callback).Run(
@@ -215,6 +217,9 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -215,6 +217,10 @@ void MimeHandlerViewGuest::CreateWebContents(
}
void MimeHandlerViewGuest::DidAttachToEmbedder() {
+ is_guest_attached_ = true;
+ if (delegate_)
+ delegate_->OnGuestAttached();
+
DCHECK(stream_->handler_url().SchemeIs(extensions::kExtensionScheme));
web_contents()->GetController().LoadURL(
stream_->handler_url(), content::Referrer(),
@@ -245,6 +250,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
@@ -245,6 +251,11 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
return true;
}
+void MimeHandlerViewGuest::WillDestroy() {
+ if (delegate_)
+ if (is_guest_attached_ && delegate_)
+ delegate_->OnGuestDetached();
+}
+
@@ -47,7 +48,7 @@ index e2b5240255bfd..fc0037f552ec1 100644
WebContents* source,
const content::OpenURLParams& params) {
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index 7d27e12c4e9a7..55c307b5e86ae 100644
index 7d27e12c4e9a..fc234840104e 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
@@ -130,6 +130,7 @@ class MimeHandlerViewGuest
@@ -58,8 +59,16 @@ index 7d27e12c4e9a7..55c307b5e86ae 100644
// WebContentsDelegate implementation.
content::WebContents* OpenURLFromTab(
@@ -188,6 +189,7 @@ class MimeHandlerViewGuest
content::ChildProcessHost::kInvalidUniqueID, MSG_ROUTING_NONE};
int embedder_widget_routing_id_ = MSG_ROUTING_NONE;
+ bool is_guest_attached_ = false;
bool is_guest_fullscreen_ = false;
bool is_embedder_fullscreen_ = false;
bool plugin_can_save_ = false;
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
index 98689e2614604..a1b08274f4556 100644
index 98689e261460..a1b08274f455 100644
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
@@ -8,9 +8,9 @@

View File

@@ -1,5 +1,5 @@
diff --git net/base/load_flags_list.h net/base/load_flags_list.h
index 96d1a51ec1078..e8120a818b1f2 100644
index 96d1a51ec107..e8120a818b1f 100644
--- net/base/load_flags_list.h
+++ net/base/load_flags_list.h
@@ -101,3 +101,6 @@ LOAD_FLAG(RESTRICTED_PREFETCH, 1 << 15)
@@ -10,7 +10,7 @@ index 96d1a51ec1078..e8120a818b1f2 100644
+// This load will not send any cookies. For CEF usage.
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 17)
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
index 393b89a5624a3..ba6e79471c7ba 100644
index 393b89a5624a..ba6e79471c7b 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -549,7 +549,8 @@ void URLRequestHttpJob::AddCookieHeaderAndStart() {
@@ -24,7 +24,7 @@ index 393b89a5624a3..ba6e79471c7ba 100644
request_->force_ignore_site_for_cookies();
if (cookie_store->cookie_access_delegate() &&
diff --git services/network/public/cpp/resource_request.cc services/network/public/cpp/resource_request.cc
index f1bc5816aad10..dfe54f1169e8e 100644
index f1bc5816aad1..dfe54f1169e8 100644
--- services/network/public/cpp/resource_request.cc
+++ services/network/public/cpp/resource_request.cc
@@ -233,7 +233,8 @@ bool ResourceRequest::EqualsForTesting(const ResourceRequest& request) const {

View File

@@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/input/fling_scheduler.cc content/browser/renderer_host/input/fling_scheduler.cc
index c7a4f1f0c3d00..7e6e3b4e56d42 100644
index c7a4f1f0c3d0..7e6e3b4e56d4 100644
--- content/browser/renderer_host/input/fling_scheduler.cc
+++ content/browser/renderer_host/input/fling_scheduler.cc
@@ -68,6 +68,9 @@ void FlingScheduler::ProgressFlingOnBeginFrameIfneeded(
@@ -13,7 +13,7 @@ index c7a4f1f0c3d00..7e6e3b4e56d42 100644
if (host_->GetView() && host_->GetView()->GetNativeView() &&
host_->GetView()->GetNativeView()->GetHost() &&
diff --git content/browser/renderer_host/input/fling_scheduler_base.h content/browser/renderer_host/input/fling_scheduler_base.h
index cc4b13a7b9c67..84f3b9ed7cf49 100644
index cc4b13a7b9c6..84f3b9ed7cf4 100644
--- content/browser/renderer_host/input/fling_scheduler_base.h
+++ content/browser/renderer_host/input/fling_scheduler_base.h
@@ -7,12 +7,23 @@
@@ -41,7 +41,7 @@ index cc4b13a7b9c67..84f3b9ed7cf49 100644
} // namespace content
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index a0e7d4a24f658..e1dec578df6bd 100644
index a0e7d4a24f65..e1dec578df6b 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3042,6 +3042,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
@@ -57,7 +57,7 @@ index a0e7d4a24f658..e1dec578df6bd 100644
const WebInputEvent& event) {
if ((base::FeatureList::IsEnabled(
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
index 7b2ea5e91a29a..5fda523b778de 100644
index 7b2ea5e91a29..5fda523b778d 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -756,6 +756,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
index a95103026c8c3..ae6c676defcc6 100644
index a95103026c8c..ae6c676defcc 100644
--- chrome/browser/download/download_prefs.cc
+++ chrome/browser/download/download_prefs.cc
@@ -24,6 +24,7 @@
@@ -34,7 +34,7 @@ index a95103026c8c3..ae6c676defcc6 100644
}
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index 74536431f6649..3fc69b6560298 100644
index 74536431f664..3fc69b656029 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -17,6 +17,7 @@
@@ -58,7 +58,7 @@ index 74536431f6649..3fc69b6560298 100644
// Add an entry to the map.
preview_dialog_map_[preview_dialog] = initiator;
diff --git chrome/browser/printing/print_view_manager_base.cc chrome/browser/printing/print_view_manager_base.cc
index 9aa99b764ad86..c45424d20315a 100644
index 9aa99b764ad8..c45424d20315 100644
--- chrome/browser/printing/print_view_manager_base.cc
+++ chrome/browser/printing/print_view_manager_base.cc
@@ -21,6 +21,7 @@
@@ -97,7 +97,7 @@ index 9aa99b764ad86..c45424d20315a 100644
void NotifySystemDialogCancelled(int render_process_id, int routing_id) {
diff --git chrome/browser/printing/print_view_manager_base.h chrome/browser/printing/print_view_manager_base.h
index a96e5a33643e4..def5bced1c965 100644
index a96e5a33643e..def5bced1c96 100644
--- chrome/browser/printing/print_view_manager_base.h
+++ chrome/browser/printing/print_view_manager_base.h
@@ -122,9 +122,6 @@ class PrintViewManagerBase : public content::NotificationObserver,
@@ -111,7 +111,7 @@ index a96e5a33643e4..def5bced1c965 100644
void Observe(int type,
const content::NotificationSource& source,
diff --git chrome/browser/resources/print_preview/ui/destination_dialog.html chrome/browser/resources/print_preview/ui/destination_dialog.html
index df858712d3be8..cd146ea0f26b4 100644
index 920f646f0648..76c0b5e5ee04 100644
--- chrome/browser/resources/print_preview/ui/destination_dialog.html
+++ chrome/browser/resources/print_preview/ui/destination_dialog.html
@@ -25,10 +25,7 @@
@@ -126,23 +126,8 @@ index df858712d3be8..cd146ea0f26b4 100644
<cr-button class="cancel-button" on-click="onCancelButtonClick_">
$i18n{cancel}
</cr-button>
diff --git chrome/browser/resources/print_preview/ui/destination_select.html chrome/browser/resources/print_preview/ui/destination_select.html
index 6d3d49c902e7b..4769176b9550c 100644
--- chrome/browser/resources/print_preview/ui/destination_select.html
+++ chrome/browser/resources/print_preview/ui/destination_select.html
@@ -20,10 +20,6 @@
<option value="[[pdfDestinationKey_]]" hidden$="[[pdfPrinterDisabled]]">
$i18n{printToPDF}
</option>
- <option value="[[driveDestinationKey]]"
- hidden$="[[!driveDestinationKey]]">
- $i18n{printToGoogleDrive}
- </option>
<option value="noDestinations"
hidden$="[[!noDestinations]]" selected$="[[noDestinations]]">
$i18n{noDestinationsMessage}
diff --git chrome/browser/ui/webui/constrained_web_dialog_ui.cc chrome/browser/ui/webui/constrained_web_dialog_ui.cc
index 3d415a60d4361..807ab41ee6ef1 100644
index 3d415a60d436..807ab41ee6ef 100644
--- chrome/browser/ui/webui/constrained_web_dialog_ui.cc
+++ chrome/browser/ui/webui/constrained_web_dialog_ui.cc
@@ -26,6 +26,8 @@
@@ -166,7 +151,7 @@ index 3d415a60d4361..807ab41ee6ef1 100644
ConstrainedWebDialogUI::~ConstrainedWebDialogUI() {
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
index 6c43d5381f7c8..d5373865c9850 100644
index 6c43d5381f7c..d5373865c985 100644
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
@@ -22,6 +22,7 @@
@@ -268,7 +253,7 @@ index 6c43d5381f7c8..d5373865c9850 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
drive::DriveIntegrationService* drive_service =
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.h chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
index 9730721279eff..cd3ec0c7e0af6 100644
index 9730721279ef..cd3ec0c7e0af 100644
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
@@ -11,6 +11,7 @@
@@ -296,7 +281,7 @@ index 9730721279eff..cd3ec0c7e0af6 100644
base::FilePath GetSaveLocation() const;
diff --git chrome/browser/ui/webui/print_preview/print_preview_handler.cc chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 5c8ae1be08334..e7074994d89d0 100644
index 82a2ac9bc0e5..280e465d2aea 100644
--- chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -24,6 +24,7 @@
@@ -307,7 +292,7 @@ index 5c8ae1be08334..e7074994d89d0 100644
#include "chrome/browser/account_manager_facade_factory.h"
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/bad_message.h"
@@ -1076,7 +1077,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1025,7 +1026,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return extension_printer_handler_.get();
}
@@ -316,7 +301,7 @@ index 5c8ae1be08334..e7074994d89d0 100644
if (printer_type == PrinterType::kPrivet &&
GetPrefs()->GetBoolean(prefs::kForceEnablePrivetPrinting)) {
if (!privet_printer_handler_) {
@@ -1085,6 +1086,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1034,6 +1035,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return privet_printer_handler_.get();
}
@@ -326,24 +311,8 @@ index 5c8ae1be08334..e7074994d89d0 100644
#endif
if (printer_type == PrinterType::kPdf) {
if (!pdf_printer_handler_) {
@@ -1147,6 +1151,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
}
void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
+#if !BUILDFLAG(ENABLE_CEF)
DCHECK(!identity_manager_);
cloud_print_enabled_ =
!base::Contains(printer_type_deny_list_, PrinterType::kCloud) &&
@@ -1163,6 +1168,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
identity_manager_ = IdentityManagerFactory::GetForProfile(profile);
identity_manager_->AddObserver(this);
+#endif
}
void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index eb353375b0549..45b14ee354677 100644
index a6cd4b390fed..00d6e5c3d024 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -30,6 +30,7 @@

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index 91edb6e296fd9..bcb84f308df69 100644
index 91edb6e296fd..bcb84f308df6 100644
--- chrome/browser/printing/print_job_worker.cc
+++ chrome/browser/printing/print_job_worker.cc
@@ -135,6 +135,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, int render_frame_id)
@@ -11,7 +11,7 @@ index 91edb6e296fd9..bcb84f308df69 100644
PrintJobWorker::~PrintJobWorker() {
diff --git printing/printing_context.h printing/printing_context.h
index 0a9bf2b3a6c1f..7bc8b8b1d1548 100644
index 0a9bf2b3a6c1..7bc8b8b1d154 100644
--- printing/printing_context.h
+++ printing/printing_context.h
@@ -133,6 +133,13 @@ class PRINTING_EXPORT PrintingContext {

View File

@@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
index 00644aa7553c8..2b99e7d84b3f2 100644
index 00644aa7553c..2b99e7d84b3f 100644
--- content/browser/renderer_host/render_view_host_impl.cc
+++ content/browser/renderer_host/render_view_host_impl.cc
@@ -606,6 +606,8 @@ bool RenderViewHostImpl::IsRenderViewLive() {

View File

@@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
index 794160f870d4b..9caa8b6df3416 100644
index 2ed4404e2fcd..fcd3606dba8d 100644
--- chrome/browser/renderer_preferences_util.cc
+++ chrome/browser/renderer_preferences_util.cc
@@ -38,7 +38,8 @@
@@ -42,7 +42,8 @@
#include "ui/base/cocoa/defaults_utils.h"
#endif
@@ -12,7 +12,7 @@ index 794160f870d4b..9caa8b6df3416 100644
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -167,7 +168,8 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
@@ -171,7 +172,8 @@ void UpdateFromSystemSettings(blink::RendererPreferences* prefs,
prefs->caret_blink_interval = interval;
#endif

View File

@@ -1,5 +1,5 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index bb1381fd20f96..cb593885166cb 100644
index bb1381fd20f9..cb593885166c 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -832,6 +832,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@@ -28,7 +28,7 @@ index bb1381fd20f96..cb593885166cb 100644
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == nullptr) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index 9487fbaa237b1..26c42332fa3d6 100644
index 9487fbaa237b..26c42332fa3d 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -191,6 +191,11 @@ class COMPONENT_EXPORT(UI_BASE) ResourceBundle {

View File

@@ -1,5 +1,5 @@
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
index f66de0aa63c9e..98a510a6a2440 100644
index f66de0aa63c9..98a510a6a244 100644
--- build/toolchain/win/setup_toolchain.py
+++ build/toolchain/win/setup_toolchain.py
@@ -154,13 +154,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store):
@@ -26,7 +26,7 @@ index f66de0aa63c9e..98a510a6a2440 100644
if (cpu != 'x64'):
# x64 is default target CPU thus any other CPU requires a target set
diff --git build/vs_toolchain.py build/vs_toolchain.py
index c3b1182b75b4f..04a472b149d42 100755
index c3b1182b75b4..04a472b149d4 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -102,9 +102,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():

View File

@@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
index 9b474bb0f927e..febee0f9afa6e 100644
index 9b474bb0f927..febee0f9afa6 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -648,10 +648,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index b41fe282dea38..c5fc618d2fe89 100644
index b41fe282dea3..c5fc618d2fe8 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -21,6 +21,7 @@
@@ -42,7 +42,7 @@ index b41fe282dea38..c5fc618d2fe89 100644
// change.
network_context_params->http_server_properties_path =
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index dd1ff2e34abc6..755c3ac5441f2 100644
index dd1ff2e34abc..755c3ac5441f 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -495,6 +495,25 @@ void CookieMonster::SetCookieableSchemes(
@@ -72,7 +72,7 @@ index dd1ff2e34abc6..755c3ac5441f2 100644
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
DCHECK(thread_checker_.CalledOnValidThread());
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
index 00446acaabc1f..78235cfc1ed37 100644
index 00446acaabc1..78235cfc1ed3 100644
--- net/cookies/cookie_monster.h
+++ net/cookies/cookie_monster.h
@@ -180,6 +180,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
@@ -85,7 +85,7 @@ index 00446acaabc1f..78235cfc1ed37 100644
// Enables writing session cookies into the cookie database. If this this
// method is called, it must be called before first use of the instance
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
index 5ffbe648343da..3d9a0f2e828f6 100644
index 5ffbe648343d..3d9a0f2e828f 100644
--- net/cookies/cookie_store.h
+++ net/cookies/cookie_store.h
@@ -149,6 +149,11 @@ class NET_EXPORT CookieStore {
@@ -101,7 +101,7 @@ index 5ffbe648343da..3d9a0f2e828f6 100644
virtual void DumpMemoryStats(base::trace_event::ProcessMemoryDump* pmd,
const std::string& parent_absolute_name) const;
diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc
index f91ffe61dba5a..f3482e68cd114 100644
index f91ffe61dba5..f3482e68cd11 100644
--- services/network/cookie_manager.cc
+++ services/network/cookie_manager.cc
@@ -230,14 +230,9 @@ void CookieManager::FlushCookieStore(FlushCookieStoreCallback callback) {
@@ -123,10 +123,10 @@ index f91ffe61dba5a..f3482e68cd114 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 8f70586b27c92..4c59ca3c452ec 100644
index 1532b031db2c..066f68f38fd8 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2000,16 +2000,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2001,16 +2001,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}
@@ -157,7 +157,7 @@ index 8f70586b27c92..4c59ca3c452ec 100644
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index ee27133a56df4..3da7932bac49c 100644
index ee27133a56df..3da7932bac49 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -252,6 +252,9 @@ struct NetworkContextParams {

View File

@@ -1,8 +1,8 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 2a08f566a353e..d361989b60567 100644
index 7ffcbd0ac221..00171ed5482e 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -489,10 +489,6 @@ class LoginHandlerDelegate {
@@ -490,10 +490,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
@@ -13,7 +13,7 @@ index 2a08f566a353e..d361989b60567 100644
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -545,12 +541,6 @@ void OnAuthRequiredContinuation(
@@ -546,12 +542,6 @@ void OnAuthRequiredContinuation(
mojo::PendingRemote<network::mojom::AuthChallengeResponder>
auth_challenge_responder,
base::RepeatingCallback<WebContents*(void)> web_contents_getter) {
@@ -26,7 +26,7 @@ index 2a08f566a353e..d361989b60567 100644
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
@@ -2502,8 +2492,12 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -2524,8 +2514,12 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
@@ -40,7 +40,7 @@ index 2a08f566a353e..d361989b60567 100644
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
@@ -2516,6 +2510,11 @@ void StoragePartitionImpl::InitNetworkContext() {
@@ -2538,6 +2532,11 @@ void StoragePartitionImpl::InitNetworkContext() {
GetContentClient()->browser()->ConfigureNetworkContextParams(
browser_context_, is_in_memory_, relative_partition_path_,
context_params.get(), cert_verifier_creation_params.get());

View File

@@ -1,5 +1,5 @@
diff --git ui/views/controls/native/native_view_host.cc ui/views/controls/native/native_view_host.cc
index 52f9b871022de..4cad419a8e373 100644
index 52f9b871022d..4cad419a8e37 100644
--- ui/views/controls/native/native_view_host.cc
+++ ui/views/controls/native/native_view_host.cc
@@ -161,7 +161,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) {
@@ -12,7 +12,7 @@ index 52f9b871022de..4cad419a8e373 100644
void NativeViewHost::VisibilityChanged(View* starting_from, bool is_visible) {
diff --git ui/views/controls/native/native_view_host.h ui/views/controls/native/native_view_host.h
index ab2371857a00a..8dccc190fa896 100644
index ab2371857a00..8dccc190fa89 100644
--- ui/views/controls/native/native_view_host.h
+++ ui/views/controls/native/native_view_host.h
@@ -95,6 +95,12 @@ class VIEWS_EXPORT NativeViewHost : public View {
@@ -39,7 +39,7 @@ index ab2371857a00a..8dccc190fa896 100644
};
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
index 9cb29421a3df9..a5ed399820a81 100644
index 9cb29421a3df..a5ed399820a8 100644
--- ui/views/controls/webview/webview.cc
+++ ui/views/controls/webview/webview.cc
@@ -130,6 +130,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
@@ -54,7 +54,7 @@ index 9cb29421a3df9..a5ed399820a81 100644
if (crashed_overlay_view_ == crashed_overlay_view)
return;
diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h
index 1bb2399d0d139..5bb1fcde4e3bc 100644
index 1bb2399d0d13..5bb1fcde4e3b 100644
--- ui/views/controls/webview/webview.h
+++ ui/views/controls/webview/webview.h
@@ -78,6 +78,10 @@ class WEBVIEW_EXPORT WebView : public View,

View File

@@ -1,5 +1,5 @@
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
index 676c2cc22baca..e6f9642e1cba5 100644
index 676c2cc22bac..e6f9642e1cba 100644
--- content/browser/blob_storage/chrome_blob_storage_context.cc
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
@@ -120,7 +120,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
@@ -13,7 +13,7 @@ index 676c2cc22baca..e6f9642e1cba5 100644
{base::MayBlock(), base::TaskPriority::USER_VISIBLE,
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
index eb88768c1e1c2..2c6c143d4660e 100644
index eb88768c1e1c..2c6c143d4660 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -152,7 +152,7 @@ StoragePartition* BrowserContext::GetStoragePartition(
@@ -36,7 +36,7 @@ index eb88768c1e1c2..2c6c143d4660e 100644
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
if (use_in_memory_db) {
diff --git content/public/browser/storage_partition_config.cc content/public/browser/storage_partition_config.cc
index 9d87aa95e9300..ae82242746e45 100644
index 9d87aa95e930..ae82242746e4 100644
--- content/public/browser/storage_partition_config.cc
+++ content/public/browser/storage_partition_config.cc
@@ -7,6 +7,7 @@
@@ -58,7 +58,7 @@ index 9d87aa95e9300..ae82242746e45 100644
// static
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index 806e42d494176..1f16adce58383 100644
index 806e42d49417..1f16adce5838 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -494,7 +494,7 @@ bool DatabaseTracker::LazyInit() {

View File

@@ -1,5 +1,5 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index c697f7ced74e8..0982cd85150bc 100644
index c697f7ced74e..0982cd85150b 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -59,6 +59,8 @@

View File

@@ -1,5 +1,5 @@
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index cbf6e7f50b83a..2786d99a8b936 100644
index cbf6e7f50b83..2786d99a8b93 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -122,7 +122,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,

View File

@@ -1,5 +1,5 @@
diff --git ui/base/cocoa/underlay_opengl_hosting_window.h ui/base/cocoa/underlay_opengl_hosting_window.h
index ec1c6c972ee8d..9f73342051325 100644
index ec1c6c972ee8..9f7334205132 100644
--- ui/base/cocoa/underlay_opengl_hosting_window.h
+++ ui/base/cocoa/underlay_opengl_hosting_window.h
@@ -12,7 +12,7 @@

View File

@@ -1,5 +1,5 @@
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
index 2f8dd2c08a95b..e2ca02b74ffba 100644
index 2f8dd2c08a95..e2ca02b74ffb 100644
--- ui/base/models/menu_model.h
+++ ui/base/models/menu_model.h
@@ -13,8 +13,11 @@
@@ -43,7 +43,7 @@ index 2f8dd2c08a95b..e2ca02b74ffba 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index c80c92f084177..609a2681a4c6d 100644
index c80c92f08417..609a2681a4c6 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -623,6 +623,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
@@ -82,7 +82,7 @@ index c80c92f084177..609a2681a4c6d 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index b4e825ddfb6bd..3b894beade251 100644
index b4e825ddfb6b..3b894beade25 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -345,6 +345,10 @@ class GFX_EXPORT RenderText {
@@ -106,7 +106,7 @@ index b4e825ddfb6bd..3b894beade251 100644
};
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
index 8c8f77fc26db3..0a9f50df07c1d 100644
index 8c8f77fc26db..0a9f50df07c1 100644
--- ui/views/animation/ink_drop_host_view.h
+++ ui/views/animation/ink_drop_host_view.h
@@ -142,6 +142,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
@@ -119,7 +119,7 @@ index 8c8f77fc26db3..0a9f50df07c1d 100644
// Size used for the default SquareInkDropRipple.
static constexpr gfx::Size kDefaultInkDropSize = gfx::Size(24, 24);
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 7e744be3c39e2..0150a0e347111 100644
index 7e744be3c39e..0150a0e34711 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -498,6 +498,12 @@ void LabelButton::OnThemeChanged() {
@@ -136,7 +136,7 @@ index 7e744be3c39e2..0150a0e347111 100644
Button::StateChanged(old_state);
ResetLabelEnabledColor();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index 1ad627bb786b8..624061e6ba3c7 100644
index 1ad627bb786b..624061e6ba3c 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -133,6 +133,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -150,7 +150,7 @@ index 1ad627bb786b8..624061e6ba3c7 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index 382b0ea115a5c..32d213250c938 100644
index 382b0ea115a5..32d213250c93 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -49,12 +49,27 @@ enum LabelPropertyKey {
@@ -215,7 +215,7 @@ index 382b0ea115a5c..32d213250c938 100644
}
diff --git ui/views/controls/label.h ui/views/controls/label.h
index 269425ed7c04a..5dea3a3dbd652 100644
index 269425ed7c04..5dea3a3dbd65 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -225,6 +225,10 @@ class VIEWS_EXPORT Label : public View,
@@ -238,7 +238,7 @@ index 269425ed7c04a..5dea3a3dbd652 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 7c081b7d8a4e1..36c5bb5e8f93a 100644
index 7c081b7d8a4e..36c5bb5e8f93 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2748,8 +2748,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -269,7 +269,7 @@ index 7c081b7d8a4e1..36c5bb5e8f93a 100644
SetSelection(item, SELECTION_UPDATE_IMMEDIATELY);
else if (item->GetParentMenuItem()->GetParentMenuItem())
diff --git ui/views/controls/menu/menu_delegate.h ui/views/controls/menu/menu_delegate.h
index a280e9d74016e..59a8eda9b1d84 100644
index a280e9d74016..59a8eda9b1d8 100644
--- ui/views/controls/menu/menu_delegate.h
+++ ui/views/controls/menu/menu_delegate.h
@@ -79,6 +79,22 @@ class VIEWS_EXPORT MenuDelegate {
@@ -308,7 +308,7 @@ index a280e9d74016e..59a8eda9b1d84 100644
virtual int GetMaxWidthForMenu(MenuItemView* menu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index e12fe2ac6ad80..347174b8c21a3 100644
index ef778c706f68..3256f3f38fe3 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1087,6 +1087,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -342,7 +342,7 @@ index e12fe2ac6ad80..347174b8c21a3 100644
GetMenuController() && GetMenuController()->use_touchable_layout()
? style::CONTEXT_TOUCH_MENU
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index fbd30c4914bbe..851d03a9d45e8 100644
index fbd30c4914bb..851d03a9d45e 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -242,6 +242,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
@@ -424,7 +424,7 @@ index fbd30c4914bbe..851d03a9d45e8 100644
// Look up the menu model for this menu.
const std::map<MenuItemView*, ui::MenuModel*>::const_iterator map_iterator =
diff --git ui/views/controls/menu/menu_model_adapter.h ui/views/controls/menu/menu_model_adapter.h
index c7aaf7286b74d..2ba3a9c10fe03 100644
index c7aaf7286b74..2ba3a9c10fe0 100644
--- ui/views/controls/menu/menu_model_adapter.h
+++ ui/views/controls/menu/menu_model_adapter.h
@@ -84,6 +84,20 @@ class VIEWS_EXPORT MenuModelAdapter : public MenuDelegate,
@@ -449,7 +449,7 @@ index c7aaf7286b74d..2ba3a9c10fe03 100644
void WillHideMenu(MenuItemView* menu) override;
void OnMenuClosed(MenuItemView* menu) override;
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 3f9f76315def1..9f0e0c791eb0e 100644
index 3f9f76315def..9f0e0c791eb0 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -234,6 +234,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@@ -465,7 +465,7 @@ index 3f9f76315def1..9f0e0c791eb0e 100644
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
diff --git ui/views/test/ui_controls_factory_desktop_aurax11.cc ui/views/test/ui_controls_factory_desktop_aurax11.cc
index 64e09ff4359a8..714e8e9ff6610 100644
index 64e09ff4359a..714e8e9ff661 100644
--- ui/views/test/ui_controls_factory_desktop_aurax11.cc
+++ ui/views/test/ui_controls_factory_desktop_aurax11.cc
@@ -89,10 +89,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
@@ -480,7 +480,7 @@ index 64e09ff4359a8..714e8e9ff6610 100644
x11_ui_controls_test_helper_.ButtonDownMask() == 0) {
// Move the cursor because EnterNotify/LeaveNotify are generated with the
diff --git ui/views/view.h ui/views/view.h
index b13e80f12a5c1..5c19ea1854e65 100644
index b13e80f12a5c..5c19ea1854e6 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -25,6 +25,7 @@

View File

@@ -1,5 +1,5 @@
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
index cb85ae32d6f0d..530375718eb09 100644
index cb85ae32d6f0..530375718eb0 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -561,6 +561,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
@@ -18,7 +18,7 @@ index cb85ae32d6f0d..530375718eb09 100644
if (!GetMouseWheelPhaseHandler())
return;
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
index b9d5c2bba2a9f..b4de628ddaacc 100644
index b9d5c2bba2a9..b4de628ddaac 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -65,6 +65,7 @@ class CursorManager;
@@ -63,7 +63,7 @@ index b9d5c2bba2a9f..b4de628ddaacc 100644
FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest,
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
index b18cbdf6cd352..b28104e40ccc7 100644
index b18cbdf6cd35..b28104e40ccc 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -37,6 +37,10 @@
@@ -111,7 +111,7 @@ index b18cbdf6cd352..b28104e40ccc7 100644
if (host_ && set_focus_on_mouse_down_or_key_event_) {
set_focus_on_mouse_down_or_key_event_ = false;
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
index 12761b4460f00..3263598db64f8 100644
index 12761b4460f0..3263598db64f 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -249,6 +249,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -130,7 +130,7 @@ index 12761b4460f00..3263598db64f8 100644
// Set the view's active state (i.e., tint state of controls).
virtual void SetActive(bool active) = 0;
diff --git ui/platform_window/x11/x11_window.cc ui/platform_window/x11/x11_window.cc
index 37649f7f332fc..4a77ed9229d53 100644
index 37649f7f332f..4a77ed9229d5 100644
--- ui/platform_window/x11/x11_window.cc
+++ ui/platform_window/x11/x11_window.cc
@@ -1610,7 +1610,8 @@ void X11Window::CreateXWindow(const PlatformWindowInitProperties& properties,
@@ -144,7 +144,7 @@ index 37649f7f332fc..4a77ed9229d53 100644
req.y = bounds_in_pixels_.y();
req.width = bounds_in_pixels_.width();
diff --git ui/views/widget/desktop_aura/desktop_screen_win.cc ui/views/widget/desktop_aura/desktop_screen_win.cc
index 91c516429c2a4..762a108fedf69 100644
index 91c516429c2a..762a108fedf6 100644
--- ui/views/widget/desktop_aura/desktop_screen_win.cc
+++ ui/views/widget/desktop_aura/desktop_screen_win.cc
@@ -18,6 +18,8 @@ DesktopScreenWin::~DesktopScreenWin() {
@@ -157,7 +157,7 @@ index 91c516429c2a4..762a108fedf69 100644
return host ? host->GetAcceleratedWidget() : nullptr;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
index 1493ae74f478d..f793ddb33c288 100644
index 1493ae74f478..f793ddb33c28 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -187,6 +187,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
@@ -189,7 +189,7 @@ index 1493ae74f478d..f793ddb33c288 100644
properties->x11_extension_delegate = this;
}
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
index e0339379e1a85..b31f4ac179f69 100644
index e0339379e1a8..b31f4ac179f6 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
@@ -66,6 +66,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
@@ -221,7 +221,7 @@ index e0339379e1a85..b31f4ac179f69 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
index c8c26cfacffb6..703fe69604b59 100644
index 6a804c0d36a9..2c18f4b9ce0b 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -140,8 +140,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@@ -238,7 +238,7 @@ index c8c26cfacffb6..703fe69604b59 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -925,11 +929,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -928,11 +932,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@@ -257,7 +257,7 @@ index c8c26cfacffb6..703fe69604b59 100644
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
index 5642a689cb3f0..126184e619cc7 100644
index 5642a689cb3f..126184e619cc 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
@@ -292,6 +292,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
@@ -272,7 +272,7 @@ index 5642a689cb3f0..126184e619cc7 100644
// a reference.
corewm::TooltipWin* tooltip_;
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 59f7da0e3c1a1..3c3b03767a97f 100644
index 69612ac67472..aa1db83db413 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -314,7 +314,8 @@ void Widget::Init(InitParams params) {
@@ -299,7 +299,7 @@ index 59f7da0e3c1a1..3c3b03767a97f 100644
}
observation_.Observe(GetNativeTheme());
@@ -1203,10 +1209,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1206,10 +1212,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {
@@ -317,7 +317,7 @@ index 59f7da0e3c1a1..3c3b03767a97f 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index dde160f1a382f..f04bc2b4f98a5 100644
index dde160f1a382..f04bc2b4f98a 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -322,6 +322,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -330,7 +330,7 @@ index dde160f1a382f..f04bc2b4f98a5 100644
// the NativeWidget may specify a default size. If the parent is specified,
// |bounds| is in the parent's coordinate system. If the parent is not
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
index eba8040b8e1b9..27bc5a210fc1a 100644
index eba8040b8e1b..27bc5a210fc1 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -385,6 +385,10 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -345,7 +345,7 @@ index eba8040b8e1b9..27bc5a210fc1a 100644
bool enable_arrow_key_traversal() const {
return params_.enable_arrow_key_traversal;
diff --git ui/views/widget/widget_hwnd_utils.cc ui/views/widget/widget_hwnd_utils.cc
index 89f5b62f95dfe..8f6971929a12e 100644
index 89f5b62f95df..8f6971929a12 100644
--- ui/views/widget/widget_hwnd_utils.cc
+++ ui/views/widget/widget_hwnd_utils.cc
@@ -67,7 +67,7 @@ void CalculateWindowStylesFromInitParams(
@@ -358,10 +358,10 @@ index 89f5b62f95dfe..8f6971929a12e 100644
if (native_widget_delegate->IsDialogBox()) {
*style |= DS_MODALFRAME;
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
index 8bcb03a45d2fa..bc8062171c818 100644
index df245fc92202..27ec78c13357 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -3108,10 +3108,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3116,10 +3116,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

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