Update to Chromium version 112.0.5615.0

- Windows: VS2022 and Win11 SDK 10.0.22621.0 are now required.
This commit is contained in:
Marshall Greenblatt 2023-02-27 13:52:38 -05:00
parent 3c85154faf
commit 584b19967a
82 changed files with 622 additions and 549 deletions

View File

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

View File

@ -538,9 +538,11 @@ if(OS_WINDOWS)
psapi.lib
SetupAPI.lib
Shell32.lib
Shcore.lib
Userenv.lib
version.lib
wbemuuid.lib
WindowsApp.lib
winmm.lib
)

View File

@ -123,7 +123,7 @@ class SupportsWeakPtr;
template <typename T>
class WeakPtr;
namespace internal {
namespace cef_internal {
// These classes are part of the WeakPtr implementation.
// DO NOT USE THESE CLASSES DIRECTLY YOURSELF.
@ -197,7 +197,7 @@ class WeakPtrBase {
WeakPtrBase& operator=(WeakPtrBase&& other) noexcept = default;
void reset() {
ref_ = internal::WeakReference();
ref_ = cef_internal::WeakReference();
ptr_ = 0;
}
@ -225,7 +225,7 @@ class SupportsWeakPtrBase {
template <typename Derived>
static WeakPtr<Derived> StaticAsWeakPtr(Derived* t) {
static_assert(
std::is_base_of<internal::SupportsWeakPtrBase, Derived>::value,
std::is_base_of<cef_internal::SupportsWeakPtrBase, Derived>::value,
"AsWeakPtr argument must inherit from SupportsWeakPtr");
return AsWeakPtrImpl<Derived>(t);
}
@ -242,7 +242,7 @@ class SupportsWeakPtrBase {
}
};
} // namespace internal
} // namespace cef_internal
template <typename T>
class WeakPtrFactory;
@ -264,7 +264,7 @@ class WeakPtrFactory;
/// </pre>
///
template <typename T>
class WeakPtr : public internal::WeakPtrBase {
class WeakPtr : public cef_internal::WeakPtrBase {
public:
WeakPtr() = default;
WeakPtr(std::nullptr_t) {}
@ -325,13 +325,13 @@ class WeakPtr : public internal::WeakPtrBase {
bool WasInvalidated() const { return ptr_ && !ref_.IsValid(); }
private:
friend class internal::SupportsWeakPtrBase;
friend class cef_internal::SupportsWeakPtrBase;
template <typename U>
friend class WeakPtr;
friend class SupportsWeakPtr<T>;
friend class WeakPtrFactory<T>;
WeakPtr(const internal::WeakReference& ref, T* ptr)
WeakPtr(const cef_internal::WeakReference& ref, T* ptr)
: WeakPtrBase(ref, reinterpret_cast<uintptr_t>(ptr)) {}
};
@ -355,15 +355,15 @@ bool operator==(std::nullptr_t, const WeakPtr<T>& weak_ptr) {
return weak_ptr == nullptr;
}
namespace internal {
namespace cef_internal {
class WeakPtrFactoryBase {
protected:
WeakPtrFactoryBase(uintptr_t ptr);
~WeakPtrFactoryBase();
internal::WeakReferenceOwner weak_reference_owner_;
cef_internal::WeakReferenceOwner weak_reference_owner_;
uintptr_t ptr_;
};
} // namespace internal
} // namespace cef_internal
///
/// A class may be composed of a WeakPtrFactory and thereby control how it
@ -374,7 +374,7 @@ class WeakPtrFactoryBase {
/// bool.
///
template <class T>
class WeakPtrFactory : public internal::WeakPtrFactoryBase {
class WeakPtrFactory : public cef_internal::WeakPtrFactoryBase {
public:
WeakPtrFactory() = delete;
@ -416,7 +416,7 @@ class WeakPtrFactory : public internal::WeakPtrFactoryBase {
/// destroyed, its use can lead to subtle use-after-destroy issues.
///
template <class T>
class SupportsWeakPtr : public internal::SupportsWeakPtrBase {
class SupportsWeakPtr : public cef_internal::SupportsWeakPtrBase {
public:
SupportsWeakPtr() = default;
@ -431,7 +431,7 @@ class SupportsWeakPtr : public internal::SupportsWeakPtrBase {
~SupportsWeakPtr() = default;
private:
internal::WeakReferenceOwner weak_reference_owner_;
cef_internal::WeakReferenceOwner weak_reference_owner_;
};
///
@ -459,7 +459,7 @@ class SupportsWeakPtr : public internal::SupportsWeakPtrBase {
///
template <typename Derived>
WeakPtr<Derived> AsWeakPtr(Derived* t) {
return internal::SupportsWeakPtrBase::StaticAsWeakPtr<Derived>(t);
return cef_internal::SupportsWeakPtrBase::StaticAsWeakPtr<Derived>(t);
}
} // namespace base

View File

@ -52,7 +52,6 @@
#include "base/stl_util.h"
#include "base/threading/thread_restrictions.h"
#include "cef/grit/cef_resources.h"
#include "chrome/browser/accessibility/live_caption_unavailability_notifier.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/extensions/chrome_content_browser_client_extensions_part.h"
@ -82,6 +81,7 @@
#include "chrome/grit/browser_resources.h"
#include "chrome/grit/generated_resources.h"
#include "chrome/services/printing/printing_service.h"
#include "chrome/services/speech/buildflags/buildflags.h"
#include "components/content_settings/core/browser/cookie_settings.h"
#include "components/embedder_support/switches.h"
#include "components/embedder_support/user_agent_utils.h"
@ -157,9 +157,12 @@
#endif
#if BUILDFLAG(IS_WIN)
#if BUILDFLAG(ENABLE_SPEECH_SERVICE)
#include "media/mojo/mojom/renderer_extensions.mojom.h"
#endif
#include "net/ssl/client_cert_store_win.h"
#include "sandbox/win/src/sandbox_policy.h"
#endif
#endif // BUILDFLAG(IS_WIN)
#if BUILDFLAG(USE_NSS_CERTS)
#include "net/ssl/client_cert_store_nss.h"
@ -284,10 +287,12 @@ void BindBadgeServiceForServiceWorker(
const content::ServiceWorkerVersionBaseInfo& info,
mojo::PendingReceiver<blink::mojom::BadgeService> receiver) {}
#if BUILDFLAG(IS_WIN) && BUILDFLAG(ENABLE_SPEECH_SERVICE)
void BindMediaFoundationRendererNotifierHandler(
content::RenderFrameHost* frame_host,
mojo::PendingReceiver<media::mojom::MediaFoundationRendererNotifier>
receiver) {}
#endif
void BindNetworkHintsHandler(
content::RenderFrameHost* frame_host,
@ -1250,8 +1255,10 @@ void AlloyContentBrowserClient::RegisterBrowserInterfaceBindersForFrame(
map);
map->Add<blink::mojom::BadgeService>(base::BindRepeating(&BindBadgeService));
#if BUILDFLAG(IS_WIN) && BUILDFLAG(ENABLE_SPEECH_SERVICE)
map->Add<media::mojom::MediaFoundationRendererNotifier>(
base::BindRepeating(&BindMediaFoundationRendererNotifierHandler));
#endif
map->Add<network_hints::mojom::NetworkHintsHandler>(
base::BindRepeating(&BindNetworkHintsHandler));
@ -1358,10 +1365,8 @@ bool AlloyContentBrowserClient::ArePersistentMediaDeviceIDsAllowed(
// Persistent MediaDevice IDs are allowed if cookies are allowed.
return CookieSettingsFactory::GetForProfile(
Profile::FromBrowserContext(browser_context))
->IsFullCookieAccessAllowed(
url, site_for_cookies, top_frame_origin,
net::CookieSettingOverrides(),
content_settings::CookieSettings::QueryReason::kSiteStorage);
->IsFullCookieAccessAllowed(url, site_for_cookies, top_frame_origin,
net::CookieSettingOverrides());
}
void AlloyContentBrowserClient::OnWebContentsCreated(

View File

@ -30,6 +30,7 @@
#include "base/path_service.h"
#include "chrome/browser/chrome_browser_main.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/navigation_throttle.h"

View File

@ -195,8 +195,12 @@ bool TabsUpdateFunction::UpdateURL(const std::string& url_string,
int tab_id,
std::string* error) {
GURL url;
if (!ExtensionTabUtil::PrepareURLForNavigation(url_string, extension(), &url,
error)) {
auto url_expected =
ExtensionTabUtil::PrepareURLForNavigation(url_string, extension());
if (url_expected.has_value()) {
url = *url_expected;
} else {
*error = std::move(url_expected.error());
return false;
}

View File

@ -43,6 +43,7 @@ const char* const kSupportedAPIs[] = {
ContentSettingsContentSettingGetResourceIdentifiersFunction),
"pdfViewerPrivate",
EXTENSION_FUNCTION_NAME(PdfViewerPrivateIsAllowedLocalFileAccessFunction),
EXTENSION_FUNCTION_NAME(PdfViewerPrivateIsPdfOcrAlwaysActiveFunction),
"resourcesPrivate",
EXTENSION_FUNCTION_NAME(ResourcesPrivateGetStringsFunction),
"storage",
@ -91,6 +92,7 @@ void ChromeFunctionRegistry::RegisterAll(ExtensionFunctionRegistry* registry) {
ContentSettingsContentSettingGetResourceIdentifiersFunction>();
registry
->RegisterFunction<PdfViewerPrivateIsAllowedLocalFileAccessFunction>();
registry->RegisterFunction<PdfViewerPrivateIsPdfOcrAlwaysActiveFunction>();
registry->RegisterFunction<ResourcesPrivateGetStringsFunction>();
registry->RegisterFunction<StorageStorageAreaGetFunction>();
registry->RegisterFunction<StorageStorageAreaSetFunction>();

View File

@ -324,9 +324,12 @@ std::unique_ptr<api::tabs::Tab> CefExtensionFunctionDetails::OpenTab(
GURL url;
if (params.url.has_value()) {
std::string url_string = *params.url;
if (!ExtensionTabUtil::PrepareURLForNavigation(
url_string, function()->extension(), &url, error_message)) {
auto url_expected = ExtensionTabUtil::PrepareURLForNavigation(
*params.url, function()->extension());
if (url_expected.has_value()) {
url = *url_expected;
} else {
*error_message = std::move(url_expected.error());
return nullptr;
}
}

View File

@ -34,7 +34,7 @@ void CefExtensionHostDelegate::CreateTab(
std::unique_ptr<content::WebContents> web_contents,
const std::string& extension_id,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
const blink::mojom::WindowFeatures& window_features,
bool user_gesture) {
// TODO(cef): Add support for extensions opening popup windows.
NOTIMPLEMENTED();

View File

@ -27,7 +27,7 @@ class CefExtensionHostDelegate : public ExtensionHostDelegate {
void CreateTab(std::unique_ptr<content::WebContents> web_contents,
const std::string& extension_id,
WindowOpenDisposition disposition,
const gfx::Rect& initial_rect,
const blink::mojom::WindowFeatures& window_features,
bool user_gesture) override;
void ProcessMediaAccessRequest(content::WebContents* web_contents,
const content::MediaStreamRequest& request,

View File

@ -12,6 +12,7 @@
#include "libcef/browser/context.h"
#include "libcef/browser/thread_util.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/file_select_helper.h"
#include "content/public/browser/file_select_listener.h"
#include "content/public/browser/render_frame_host.h"

View File

@ -251,16 +251,14 @@ bool CefBrowserPlatformDelegateNativeWin::CreateHostWindow() {
// Add a reference that will later be released in DestroyBrowser().
browser_->AddRef();
if (!called_enable_non_client_dpi_scaling_ && has_frame_ &&
base::win::IsProcessPerMonitorDpiAware()) {
if (!called_enable_non_client_dpi_scaling_ && has_frame_) {
// This call gets Windows to scale the non-client area when WM_DPICHANGED
// is fired on Windows versions < 10.0.14393.0.
// Derived signature; not available in headers.
static auto enable_child_window_dpi_message_func = []() {
using EnableChildWindowDpiMessagePtr = LRESULT(WINAPI*)(HWND, BOOL);
return reinterpret_cast<EnableChildWindowDpiMessagePtr>(GetProcAddress(
GetModuleHandle(L"user32.dll"), "EnableChildWindowDpiMessage"));
}();
using EnableChildWindowDpiMessagePtr = LRESULT(WINAPI*)(HWND, BOOL);
static const auto enable_child_window_dpi_message_func =
reinterpret_cast<EnableChildWindowDpiMessagePtr>(
base::win::GetUser32FunctionPointer("EnableChildWindowDpiMessage"));
if (enable_child_window_dpi_message_func) {
enable_child_window_dpi_message_func(window_info_.window, TRUE);
}
@ -622,15 +620,15 @@ LRESULT CALLBACK CefBrowserPlatformDelegateNativeWin::WndProc(HWND hwnd,
gfx::SetWindowUserData(hwnd, platform_delegate);
platform_delegate->window_info_.window = hwnd;
if (platform_delegate->has_frame_ &&
base::win::IsProcessPerMonitorDpiAware()) {
if (platform_delegate->has_frame_) {
// This call gets Windows to scale the non-client area when
// WM_DPICHANGED is fired on Windows versions >= 10.0.14393.0.
static auto enable_non_client_dpi_scaling_func = []() {
return reinterpret_cast<decltype(::EnableNonClientDpiScaling)*>(
GetProcAddress(GetModuleHandle(L"user32.dll"),
"EnableNonClientDpiScaling"));
}();
using EnableNonClientDpiScalingPtr =
decltype(::EnableNonClientDpiScaling)*;
static const auto enable_non_client_dpi_scaling_func =
reinterpret_cast<EnableNonClientDpiScalingPtr>(
base::win::GetUser32FunctionPointer(
"EnableNonClientDpiScaling"));
platform_delegate->called_enable_non_client_dpi_scaling_ =
!!(enable_non_client_dpi_scaling_func &&
enable_non_client_dpi_scaling_func(hwnd));

View File

@ -433,7 +433,8 @@ class CefBrowserURLRequest::Context
}
}
void OnRedirect(const net::RedirectInfo& redirect_info,
void OnRedirect(const GURL& url_before_redirect,
const net::RedirectInfo& redirect_info,
const network::mojom::URLResponseHead& response_head,
std::vector<std::string>* removed_headers) {
DCHECK(CalledOnValidThread());

View File

@ -111,8 +111,10 @@ struct PopulateAxNodeAttributes {
case ax::mojom::IntAttribute::kDropeffect:
case ax::mojom::IntAttribute::kMemberOfId:
case ax::mojom::IntAttribute::kNextFocusId:
case ax::mojom::IntAttribute::kNextWindowFocusId:
case ax::mojom::IntAttribute::kNextOnLineId:
case ax::mojom::IntAttribute::kPreviousFocusId:
case ax::mojom::IntAttribute::kPreviousWindowFocusId:
case ax::mojom::IntAttribute::kPreviousOnLineId:
case ax::mojom::IntAttribute::kSetSize:
case ax::mojom::IntAttribute::kPosInSet:

View File

@ -908,15 +908,17 @@ void CefRenderWidgetHostViewOSR::NotifyHostAndDelegateOnWasShown(
NOTREACHED();
}
void CefRenderWidgetHostViewOSR::RequestPresentationTimeFromHostOrDelegate(
blink::mojom::RecordContentToVisibleTimeRequestPtr visible_time_request) {
void CefRenderWidgetHostViewOSR::
RequestSuccessfulPresentationTimeFromHostOrDelegate(
blink::mojom::RecordContentToVisibleTimeRequestPtr
visible_time_request) {
// We don't call RenderWidgetHostViewBase::OnShowWithPageVisibility, so this
// method should not be called.
NOTREACHED();
}
void CefRenderWidgetHostViewOSR::
CancelPresentationTimeRequestForHostAndDelegate() {
CancelSuccessfulPresentationTimeRequestForHostAndDelegate() {
// We don't call RenderWidgetHostViewBase::OnShowWithPageVisibility, so this
// method should not be called.
NOTREACHED();

View File

@ -198,10 +198,10 @@ class CefRenderWidgetHostViewOSR
void NotifyHostAndDelegateOnWasShown(
blink::mojom::RecordContentToVisibleTimeRequestPtr visible_time_request)
override;
void RequestPresentationTimeFromHostOrDelegate(
void RequestSuccessfulPresentationTimeFromHostOrDelegate(
blink::mojom::RecordContentToVisibleTimeRequestPtr visible_time_request)
override;
void CancelPresentationTimeRequestForHostAndDelegate() override;
void CancelSuccessfulPresentationTimeRequestForHostAndDelegate() override;
void OnFrameComplete(const viz::BeginFrameAck& ack);

View File

@ -26,7 +26,6 @@
#include "chrome/browser/media/webrtc/permission_bubble_media_access_handler.h"
#include "chrome/browser/net/profile_network_context_service.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/plugins/plugin_info_host_impl.h"
#include "chrome/browser/prefetch/prefetch_prefs.h"
#include "chrome/browser/prefs/chrome_command_line_pref_store.h"
#include "chrome/browser/printing/print_preview_sticky_settings.h"
@ -74,9 +73,10 @@
#endif
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
#include "chrome/browser/profiles/profile_key.h"
#include "chrome/browser/supervised_user/supervised_user_pref_store.h"
#include "chrome/browser/supervised_user/supervised_user_settings_service.h"
#include "chrome/browser/supervised_user/supervised_user_settings_service_factory.h"
#include "components/supervised_user/core/browser/supervised_user_settings_service.h"
#endif
namespace browser_prefs {
@ -176,7 +176,7 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
if (profile) {
// Used to store supervised user preferences.
SupervisedUserSettingsService* supervised_user_settings =
auto* supervised_user_settings =
SupervisedUserSettingsServiceFactory::GetForKey(
profile->GetProfileKey());
@ -223,7 +223,6 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
certificate_transparency::prefs::RegisterPrefs(registry.get());
flags_ui::PrefServiceFlagsStorage::RegisterPrefs(registry.get());
media_router::RegisterLocalStatePrefs(registry.get());
PluginInfoHostImpl::RegisterUserPrefs(registry.get());
PrefProxyConfigTrackerImpl::RegisterPrefs(registry.get());
ProfileNetworkContextService::RegisterLocalStatePrefs(registry.get());
SSLConfigServiceManager::RegisterPrefs(registry.get());
@ -310,6 +309,10 @@ std::unique_ptr<PrefService> CreatePrefService(Profile* profile,
registry->RegisterBooleanPref(
prefs::kAccessControlAllowMethodsInCORSPreflightSpecConformant, true);
// Based on browser_prefs::RegisterProfilePrefs.
registry->RegisterBooleanPref(prefs::kAccessibilityPdfOcrAlwaysActive,
false);
// Spell checking preferences.
// Modify defaults from SpellcheckServiceFactory::RegisterProfilePrefs.
std::string spellcheck_lang =

View File

@ -29,7 +29,7 @@ const char* GetTypeString(base::Value::Type type) {
return "STRING";
case base::Value::Type::BINARY:
return "BINARY";
case base::Value::Type::DICTIONARY:
case base::Value::Type::DICT:
return "DICTIONARY";
case base::Value::Type::LIST:
return "LIST";
@ -57,7 +57,7 @@ CefRefPtr<CefValue> GetPreference(PrefService* pref_service,
CefRefPtr<CefDictionaryValue> GetAllPreferences(PrefService* pref_service,
bool include_defaults) {
// Returns a DeepCopy of the value.
base::Value values = pref_service->GetPreferenceValues(
auto values = pref_service->GetPreferenceValues(
include_defaults ? PrefService::INCLUDE_DEFAULTS
: PrefService::EXCLUDE_DEFAULTS);

View File

@ -23,9 +23,6 @@
#include "ui/aura/test/ui_controls_factory_aura.h"
#include "ui/aura/window.h"
#include "ui/base/test/ui_controls_aura.h"
#if BUILDFLAG(IS_OZONE)
#include "ui/views/test/ui_controls_factory_desktop_aura_ozone.h"
#endif
#endif // defined(USE_AURA)
#if BUILDFLAG(IS_WIN)
@ -45,8 +42,7 @@ void InitializeUITesting() {
ui_controls::InstallUIControlsAura(
aura::test::CreateUIControlsAura(nullptr));
#elif BUILDFLAG(IS_OZONE)
ui_controls::InstallUIControlsAura(
views::test::CreateUIControlsDesktopAuraOzone());
ui_controls::EnableUIControls();
#endif
#endif // defined(USE_AURA)

View File

@ -33,7 +33,6 @@
#include "components/component_updater/component_updater_paths.h"
#include "components/content_settings/core/common/content_settings_pattern.h"
#include "components/embedder_support/switches.h"
#include "components/spellcheck/common/spellcheck_features.h"
#include "components/viz/common/features.h"
#include "content/public/common/content_features.h"
#include "content/public/common/content_switches.h"
@ -260,12 +259,6 @@ absl::optional<int> AlloyMainDelegate::BasicStartupComplete() {
// parent windows (see issue #2805).
disable_features.push_back(features::kCalculateNativeWinOcclusion.name);
}
if (spellcheck::kWinUseBrowserSpellChecker.default_state ==
base::FEATURE_ENABLED_BY_DEFAULT) {
// TODO: Add support for windows spellcheck service (see issue #3055).
disable_features.push_back(spellcheck::kWinUseBrowserSpellChecker.name);
}
#endif // BUILDFLAG(IS_WIN)
if (features::kBackForwardCache.default_state ==

View File

@ -17,6 +17,10 @@
#include "content/public/app/content_main_delegate.h"
#if BUILDFLAG(IS_WIN)
#include "components/spellcheck/common/spellcheck_features.h"
#endif
namespace base {
class CommandLine;
}
@ -90,6 +94,12 @@ class AlloyMainDelegate : public content::ContentMainDelegate,
AlloyContentClient content_client_;
CefResourceBundleDelegate resource_bundle_delegate_;
#if BUILDFLAG(IS_WIN)
// TODO: Add support for windows spellcheck service (see issue #3055).
spellcheck::ScopedDisableBrowserSpellCheckerForTesting
disable_browser_spellchecker_;
#endif
};
#endif // CEF_LIBCEF_COMMON_ALLOY_ALLOY_MAIN_DELEGATE_H_

View File

@ -418,7 +418,7 @@ void CefValueImpl::SetValueInternal(absl::optional<base::Value> value) {
case base::Value::Type::BINARY:
binary_value_ = new CefBinaryValueImpl(std::move(*value));
break;
case base::Value::Type::DICTIONARY:
case base::Value::Type::DICT:
dictionary_value_ =
new CefDictionaryValueImpl(std::move(*value), /*read_only=*/false);
break;
@ -828,7 +828,7 @@ CefValueType CefDictionaryValueImpl::GetType(const CefString& key) {
return VTYPE_STRING;
case base::Value::Type::BINARY:
return VTYPE_BINARY;
case base::Value::Type::DICTIONARY:
case base::Value::Type::DICT:
return VTYPE_DICTIONARY;
case base::Value::Type::LIST:
return VTYPE_LIST;
@ -1275,7 +1275,7 @@ CefValueType CefListValueImpl::GetType(size_t index) {
return VTYPE_STRING;
case base::Value::Type::BINARY:
return VTYPE_BINARY;
case base::Value::Type::DICTIONARY:
case base::Value::Type::DICT:
return VTYPE_DICTIONARY;
case base::Value::Type::LIST:
return VTYPE_LIST;

View File

@ -72,6 +72,7 @@
#include "content/public/common/content_paths.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/url_constants.h"
#include "content/public/renderer/render_frame.h"
#include "extensions/common/manifest_handlers/csp_info.h"
#include "extensions/common/switches.h"
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"

View File

@ -5,7 +5,7 @@
#include "include/base/cef_weak_ptr.h"
namespace base {
namespace internal {
namespace cef_internal {
WeakReference::Flag::Flag() {
// Flags only become bound when checked for validity, or invalidated,
@ -97,5 +97,5 @@ WeakPtrFactoryBase::~WeakPtrFactoryBase() {
ptr_ = 0;
}
} // namespace internal
} // namespace cef_internal
} // namespace base

View File

@ -609,15 +609,18 @@ patches = [
'name': 'linux_glib_deprecated_volatile'
},
{
# Specify an output name for the pdfium build component to fix PDF
# loading with component build.
# https://pdfium-review.googlesource.com/c/pdfium/+/103501
'name': 'pdfium_103501',
'path': 'third_party/pdfium'
# Restore low-level attribute access from WebElement which was removed in
# https://chromium-review.googlesource.com/c/chromium/src/+/4200240
'name': 'blink_web_element_4200240'
},
{
# Windows: Fix cef_sandbox compile error related to unsafe narrowing.
# https://chromium-review.googlesource.com/c/chromium/src/+/4219163
'name': 'win_power_monitor_4219163'
# win: Add missing process_handle.h include for cef_sandbox build.
# https://chromium-review.googlesource.com/c/chromium/src/+/4294575
'name': 'base_logging_4294575'
},
{
# Fix Check failed: !*GetSingletonDisallowedTls() on shutdown.
# https://chromium-review.googlesource.com/c/chromium/src/+/4294854
'name': 'rlz_tracker_4294854'
}
]

View File

@ -0,0 +1,20 @@
diff --git base/logging.cc base/logging.cc
index 496e68dfcd33a..b1b0af0710f28 100644
--- base/logging.cc
+++ base/logging.cc
@@ -20,6 +20,7 @@
#include "base/debug/crash_logging.h"
#include "base/immediate_crash.h"
#include "base/pending_task.h"
+#include "base/process/process_handle.h"
#include "base/strings/string_piece.h"
#include "base/task/common/task_annotator.h"
#include "base/trace_event/base_tracing.h"
@@ -72,7 +73,6 @@ typedef HANDLE FileHandle;
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
-#include "base/process/process_handle.h"
#define MAX_PATH PATH_MAX
typedef FILE* FileHandle;
#endif

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index 1f0e5cc5f0fae..6f2003a67c9ce 100644
index 422702cb196c5..7118ae9c9f467 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -39,6 +39,7 @@ import("//build/config/ui.gni")
@ -10,7 +10,7 @@ index 1f0e5cc5f0fae..6f2003a67c9ce 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
@@ -1960,7 +1961,11 @@ component("base") {
@@ -1509,7 +1510,11 @@ component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]
@ -23,7 +23,7 @@ index 1f0e5cc5f0fae..6f2003a67c9ce 100644
sources += [
"hash/md5_nacl.cc",
"hash/md5_nacl.h",
@@ -2104,6 +2109,12 @@ component("base") {
@@ -1909,6 +1914,12 @@ component("base") {
defines += [ "COM_INIT_CHECK_HOOK_DISABLED" ]
}
@ -35,9 +35,9 @@ index 1f0e5cc5f0fae..6f2003a67c9ce 100644
+
libs += [
"cfgmgr32.lib",
"powrprof.lib",
"ntdll.lib",
diff --git base/allocator/dispatcher/dispatcher.cc base/allocator/dispatcher/dispatcher.cc
index fd6e8a1696c94..df996398c1e78 100644
index 09ce0dc0c5016..8b847a24918f5 100644
--- base/allocator/dispatcher/dispatcher.cc
+++ base/allocator/dispatcher/dispatcher.cc
@@ -13,6 +13,7 @@

View File

@ -0,0 +1,43 @@
diff --git third_party/blink/public/web/web_element.h third_party/blink/public/web/web_element.h
index a23dd0a402704..91e4d3615fb6a 100644
--- third_party/blink/public/web/web_element.h
+++ third_party/blink/public/web/web_element.h
@@ -81,6 +81,9 @@ class BLINK_EXPORT WebElement : public WebNode {
void SetAttribute(const WebString& name, const WebString& value);
WebString TextContent() const;
WebString InnerHTML() const;
+ WebString AttributeLocalName(unsigned index) const;
+ WebString AttributeValue(unsigned index) const;
+ unsigned AttributeCount() const;
// Returns all <label> elements associated to this element.
WebVector<WebLabelElement> Labels() const;
diff --git third_party/blink/renderer/core/exported/web_element.cc third_party/blink/renderer/core/exported/web_element.cc
index 31c5027c972a7..ae418a4c1d004 100644
--- third_party/blink/renderer/core/exported/web_element.cc
+++ third_party/blink/renderer/core/exported/web_element.cc
@@ -106,6 +106,24 @@ void WebElement::SetAttribute(const WebString& attr_name,
IGNORE_EXCEPTION_FOR_TESTING);
}
+unsigned WebElement::AttributeCount() const {
+ if (!ConstUnwrap<Element>()->hasAttributes())
+ return 0;
+ return ConstUnwrap<Element>()->Attributes().size();
+}
+
+WebString WebElement::AttributeLocalName(unsigned index) const {
+ if (index >= AttributeCount())
+ return WebString();
+ return ConstUnwrap<Element>()->Attributes().at(index).LocalName();
+}
+
+WebString WebElement::AttributeValue(unsigned index) const {
+ if (index >= AttributeCount())
+ return WebString();
+ return ConstUnwrap<Element>()->Attributes().at(index).Value();
+}
+
WebString WebElement::TextContent() const {
return ConstUnwrap<Element>()->textContent();
}

View File

@ -20,10 +20,10 @@ index 4dbf8a2811c9e..917b6a2e7b56f 100644
// Make an exception to allow most visited tiles to commit in
diff --git content/browser/renderer_host/navigation_request.cc content/browser/renderer_host/navigation_request.cc
index 76c8470dfd3e5..9ab6ce0759c9a 100644
index a02a6e4a5eb91..bd5ded3609b10 100644
--- content/browser/renderer_host/navigation_request.cc
+++ content/browser/renderer_host/navigation_request.cc
@@ -6936,10 +6936,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
@@ -6973,10 +6973,22 @@ NavigationRequest::GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
bool use_opaque_origin =
(sandbox_flags & network::mojom::WebSandboxFlags::kOrigin) ==
network::mojom::WebSandboxFlags::kOrigin;
@ -47,7 +47,7 @@ index 76c8470dfd3e5..9ab6ce0759c9a 100644
}
return origin_and_debug_info;
@@ -6969,6 +6981,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
@@ -7006,6 +7018,15 @@ NavigationRequest::GetOriginForURLLoaderFactoryAfterResponseWithDebugInfo() {
GetOriginForURLLoaderFactoryBeforeResponseWithDebugInfo(
SandboxFlagsToCommit());

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index ef3285ae74e1b..c669380332eb9 100644
index 9afb4425840b9..cc12baba6d36e 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -1911,8 +1911,6 @@ config("thin_archive") {
@@ -1920,8 +1920,6 @@ config("thin_archive") {
# confuses lldb.
if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) {
arflags = [ "-T" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 42712ea4134e1..eee57ad898aa9 100644
index cc7851e0bbb7e..4502edc5de8e6 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -11,6 +11,7 @@ import("//build/config/compiler/pgo/pgo.gni")
@ -10,7 +10,7 @@ index 42712ea4134e1..eee57ad898aa9 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/browser/downgrade/buildflags.gni")
import("//chrome/common/features.gni")
@@ -1974,6 +1975,7 @@ static_library("browser") {
@@ -1980,6 +1981,7 @@ static_library("browser") {
"//build/config/chromebox_for_meetings:buildflags",
"//build/config/compiler:compiler_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 42712ea4134e1..eee57ad898aa9 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2537,6 +2539,10 @@ static_library("browser") {
@@ -2548,6 +2550,10 @@ static_library("browser") {
]
}
@ -29,7 +29,7 @@ index 42712ea4134e1..eee57ad898aa9 100644
if (is_android) {
sources += [
"after_startup_task_utils_android.cc",
@@ -6076,8 +6082,6 @@ static_library("browser") {
@@ -6092,8 +6098,6 @@ static_library("browser") {
sources += [
"enterprise/chrome_browser_main_extra_parts_enterprise.cc",
"enterprise/chrome_browser_main_extra_parts_enterprise.h",

View File

@ -13,7 +13,7 @@ index 370d6ab102471..fe1e4111780ed 100644
return false;
}
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index 03a6d3a2ee5e8..a19224279243c 100644
index 94f900fb2e05e..2d5719c3bc936 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -9,6 +9,7 @@ import("//build/config/compiler/compiler.gni")
@ -24,7 +24,7 @@ index 03a6d3a2ee5e8..a19224279243c 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/ash/components/assistant/assistant.gni")
@@ -361,6 +362,10 @@ static_library("ui") {
@@ -362,6 +363,10 @@ static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -35,7 +35,7 @@ index 03a6d3a2ee5e8..a19224279243c 100644
# Since browser and browser_ui actually depend on each other,
# we must omit the dependency from browser_ui to browser.
# However, this means browser_ui and browser should more or less
@@ -385,6 +390,7 @@ static_library("ui") {
@@ -386,6 +391,7 @@ static_library("ui") {
"//build:chromeos_buildflags",
"//build/config/chromebox_for_meetings:buildflags",
"//cc/paint",
@ -43,7 +43,7 @@ index 03a6d3a2ee5e8..a19224279243c 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2527,6 +2533,8 @@ static_library("ui") {
@@ -2543,6 +2549,8 @@ static_library("ui") {
"views/apps/app_dialog/app_block_dialog_view.h",
"views/apps/app_dialog/app_pause_dialog_view.cc",
"views/apps/app_dialog/app_pause_dialog_view.h",
@ -52,7 +52,7 @@ index 03a6d3a2ee5e8..a19224279243c 100644
"views/apps/app_info_dialog/arc_app_info_links_panel.cc",
"views/apps/app_info_dialog/arc_app_info_links_panel.h",
"views/apps/chrome_app_window_client_views_chromeos.cc",
@@ -4292,8 +4300,6 @@ static_library("ui") {
@@ -4321,8 +4329,6 @@ static_library("ui") {
"views/accessibility/theme_tracking_non_accessible_image_view.h",
"views/apps/app_dialog/app_dialog_view.cc",
"views/apps/app_dialog/app_dialog_view.h",
@ -61,7 +61,7 @@ index 03a6d3a2ee5e8..a19224279243c 100644
"views/apps/app_info_dialog/app_info_dialog_container.cc",
"views/apps/app_info_dialog/app_info_dialog_container.h",
"views/apps/app_info_dialog/app_info_dialog_views.cc",
@@ -5799,6 +5805,7 @@ static_library("ui") {
@@ -5853,6 +5859,7 @@ static_library("ui") {
if (enable_printing) {
deps += [
"//components/printing/browser",
@ -70,10 +70,10 @@ index 03a6d3a2ee5e8..a19224279243c 100644
]
}
diff --git chrome/browser/ui/browser.cc chrome/browser/ui/browser.cc
index 08ac5f0afd874..9248d822a3745 100644
index f800d1439fd03..0eda6648fa029 100644
--- chrome/browser/ui/browser.cc
+++ chrome/browser/ui/browser.cc
@@ -264,6 +264,25 @@
@@ -263,6 +263,25 @@
#include "components/captive_portal/content/captive_portal_tab_helper.h"
#endif
@ -99,7 +99,7 @@ index 08ac5f0afd874..9248d822a3745 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/extension_browser_window_helper.h"
#endif
@@ -510,6 +529,13 @@ Browser::Browser(const CreateParams& params)
@@ -509,6 +528,13 @@ Browser::Browser(const CreateParams& params)
tab_strip_model_->AddObserver(this);
@ -113,7 +113,7 @@ index 08ac5f0afd874..9248d822a3745 100644
location_bar_model_ = std::make_unique<LocationBarModelImpl>(
location_bar_model_delegate_.get(), content::kMaxURLDisplayChars);
@@ -650,6 +676,12 @@ Browser::~Browser() {
@@ -648,6 +674,12 @@ Browser::~Browser() {
// away so they don't try and call back to us.
if (select_file_dialog_.get())
select_file_dialog_->ListenerDestroyed();
@ -126,7 +126,7 @@ index 08ac5f0afd874..9248d822a3745 100644
}
///////////////////////////////////////////////////////////////////////////////
@@ -1359,6 +1391,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
@@ -1357,6 +1389,14 @@ content::KeyboardEventProcessingResult Browser::PreHandleKeyboardEvent(
if (exclusive_access_manager_->HandleUserKeyEvent(event))
return content::KeyboardEventProcessingResult::HANDLED;
@ -141,7 +141,7 @@ index 08ac5f0afd874..9248d822a3745 100644
return window()->PreHandleKeyboardEvent(event);
}
@@ -1366,8 +1406,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
@@ -1364,8 +1404,18 @@ bool Browser::HandleKeyboardEvent(content::WebContents* source,
const NativeWebKeyboardEvent& event) {
DevToolsWindow* devtools_window =
DevToolsWindow::GetInstanceForInspectedWebContents(source);
@ -162,7 +162,7 @@ index 08ac5f0afd874..9248d822a3745 100644
}
bool Browser::TabsNeedBeforeUnloadFired() {
@@ -1575,6 +1625,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
@@ -1568,6 +1618,14 @@ WebContents* Browser::OpenURLFromTab(WebContents* source,
return window->OpenURLFromTab(source, params);
}
@ -177,7 +177,7 @@ index 08ac5f0afd874..9248d822a3745 100644
NavigateParams nav_params(this, params.url, params.transition);
nav_params.FillNavigateParamsFromOpenURLParams(params);
nav_params.source_contents = source;
@@ -1730,6 +1788,8 @@ void Browser::LoadingStateChanged(WebContents* source,
@@ -1723,6 +1781,8 @@ void Browser::LoadingStateChanged(WebContents* source,
bool should_show_loading_ui) {
ScheduleUIUpdate(source, content::INVALIDATE_TYPE_LOAD);
UpdateWindowForLoadingStateChanged(source, should_show_loading_ui);
@ -186,7 +186,7 @@ index 08ac5f0afd874..9248d822a3745 100644
}
void Browser::CloseContents(WebContents* source) {
@@ -1757,6 +1817,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
@@ -1750,6 +1810,8 @@ void Browser::SetContentsBounds(WebContents* source, const gfx::Rect& bounds) {
}
void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@ -195,7 +195,7 @@ index 08ac5f0afd874..9248d822a3745 100644
if (!GetStatusBubble())
return;
@@ -1764,6 +1826,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
@@ -1757,6 +1819,17 @@ void Browser::UpdateTargetURL(WebContents* source, const GURL& url) {
GetStatusBubble()->SetURL(url);
}
@ -213,7 +213,7 @@ index 08ac5f0afd874..9248d822a3745 100644
void Browser::ContentsMouseEvent(WebContents* source,
bool motion,
bool exited) {
@@ -1788,6 +1861,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
@@ -1781,6 +1854,19 @@ bool Browser::TakeFocus(content::WebContents* source, bool reverse) {
return false;
}
@ -233,7 +233,7 @@ index 08ac5f0afd874..9248d822a3745 100644
void Browser::BeforeUnloadFired(WebContents* web_contents,
bool proceed,
bool* proceed_to_fire_unload) {
@@ -1880,6 +1966,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
@@ -1873,6 +1959,10 @@ void Browser::WebContentsCreated(WebContents* source_contents,
// Make the tab show up in the task manager.
task_manager::WebContentsTags::CreateForTabContents(new_contents);
@ -244,7 +244,7 @@ index 08ac5f0afd874..9248d822a3745 100644
}
void Browser::PortalWebContentsCreated(WebContents* portal_web_contents) {
@@ -1991,11 +2081,15 @@ void Browser::EnterFullscreenModeForTab(
@@ -1984,11 +2074,15 @@ void Browser::EnterFullscreenModeForTab(
const blink::mojom::FullscreenOptions& options) {
exclusive_access_manager_->fullscreen_controller()->EnterFullscreenModeForTab(
requesting_frame, options.display_id);
@ -260,7 +260,7 @@ index 08ac5f0afd874..9248d822a3745 100644
}
bool Browser::IsFullscreenForTabOrPending(const WebContents* web_contents) {
@@ -2189,6 +2283,15 @@ void Browser::RequestMediaAccessPermission(
@@ -2188,6 +2282,15 @@ void Browser::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) {
@ -276,7 +276,7 @@ index 08ac5f0afd874..9248d822a3745 100644
const extensions::Extension* extension =
GetExtensionForOrigin(profile_, request.security_origin);
MediaCaptureDevicesDispatcher::GetInstance()->ProcessMediaAccessRequest(
@@ -2725,13 +2828,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
@@ -2728,13 +2831,20 @@ void Browser::RemoveScheduledUpdatesFor(WebContents* contents) {
// Browser, Getters for UI (private):
StatusBubble* Browser::GetStatusBubble() {
@ -298,7 +298,7 @@ index 08ac5f0afd874..9248d822a3745 100644
return window_ ? window_->GetStatusBubble() : nullptr;
}
@@ -2863,6 +2973,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
@@ -2868,6 +2978,8 @@ void Browser::SetAsDelegate(WebContents* web_contents, bool set_delegate) {
BookmarkTabHelper::FromWebContents(web_contents)->RemoveObserver(this);
web_contents_collection_.StopObserving(web_contents);
}
@ -308,7 +308,7 @@ index 08ac5f0afd874..9248d822a3745 100644
void Browser::TabDetachedAtImpl(content::WebContents* contents,
diff --git chrome/browser/ui/browser.h chrome/browser/ui/browser.h
index 08879ac2f134a..cdd6615f72db4 100644
index 486cff37b13ac..21a3a39f49247 100644
--- chrome/browser/ui/browser.h
+++ chrome/browser/ui/browser.h
@@ -22,6 +22,7 @@
@ -330,8 +330,8 @@ index 08879ac2f134a..cdd6615f72db4 100644
#if BUILDFLAG(IS_ANDROID)
#error This file should only be included on desktop.
#endif
@@ -315,6 +320,11 @@ class Browser : public TabStripModelObserver,
float initial_aspect_ratio = 1.0f;
@@ -323,6 +328,11 @@ class Browser : public TabStripModelObserver,
double initial_aspect_ratio = 1.0;
bool lock_aspect_ratio = false;
+#if BUILDFLAG(ENABLE_CEF)
@ -342,7 +342,7 @@ index 08879ac2f134a..cdd6615f72db4 100644
private:
friend class Browser;
friend class WindowSizerChromeOSTest;
@@ -390,6 +400,13 @@ class Browser : public TabStripModelObserver,
@@ -398,6 +408,13 @@ class Browser : public TabStripModelObserver,
force_skip_warning_user_on_close_ = force_skip_warning_user_on_close;
}
@ -356,7 +356,7 @@ index 08879ac2f134a..cdd6615f72db4 100644
// Accessors ////////////////////////////////////////////////////////////////
const CreateParams& create_params() const { return create_params_; }
@@ -463,6 +480,12 @@ class Browser : public TabStripModelObserver,
@@ -471,6 +488,12 @@ class Browser : public TabStripModelObserver,
base::WeakPtr<Browser> AsWeakPtr();
@ -369,7 +369,7 @@ index 08879ac2f134a..cdd6615f72db4 100644
// Get the FindBarController for this browser, creating it if it does not
// yet exist.
FindBarController* GetFindBarController();
@@ -839,11 +862,19 @@ class Browser : public TabStripModelObserver,
@@ -847,11 +870,19 @@ class Browser : public TabStripModelObserver,
void SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) override;
void UpdateTargetURL(content::WebContents* source, const GURL& url) override;
@ -389,7 +389,7 @@ index 08879ac2f134a..cdd6615f72db4 100644
void BeforeUnloadFired(content::WebContents* source,
bool proceed,
bool* proceed_to_fire_unload) override;
@@ -1248,6 +1279,8 @@ class Browser : public TabStripModelObserver,
@@ -1255,6 +1286,8 @@ class Browser : public TabStripModelObserver,
const std::string initial_workspace_;
bool initial_visible_on_all_workspaces_state_;
@ -398,7 +398,7 @@ index 08879ac2f134a..cdd6615f72db4 100644
CreationSource creation_source_ = CreationSource::kUnknown;
UnloadController unload_controller_;
@@ -1312,6 +1345,10 @@ class Browser : public TabStripModelObserver,
@@ -1319,6 +1352,10 @@ class Browser : public TabStripModelObserver,
extension_browser_window_helper_;
#endif
@ -410,10 +410,10 @@ index 08879ac2f134a..cdd6615f72db4 100644
// The opener browser of the document picture-in-picture browser. Null if the
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index f6df2d49dc719..01e5e7a42fa96 100644
index baf326245646a..1b631e80ac3f0 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -565,6 +565,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -554,6 +554,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params);
@ -428,10 +428,10 @@ index f6df2d49dc719..01e5e7a42fa96 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 a3dbf97b6f943..799a64e17fca5 100644
index 535d038f7023b..f861a0f37bf85 100644
--- chrome/browser/ui/browser_tabstrip.cc
+++ chrome/browser/ui/browser_tabstrip.cc
@@ -33,9 +33,13 @@ void AddTabAt(Browser* browser,
@@ -32,9 +32,13 @@ void AddTabAt(Browser* browser,
// Time new tab page creation time. We keep track of the timing data in
// WebContents, but we want to include the time it takes to create the
// WebContents object too.
@ -446,7 +446,7 @@ index a3dbf97b6f943..799a64e17fca5 100644
params.disposition = foreground ? WindowOpenDisposition::NEW_FOREGROUND_TAB
: WindowOpenDisposition::NEW_BACKGROUND_TAB;
params.tabstrip_index = idx;
@@ -71,6 +75,16 @@ void AddWebContents(Browser* browser,
@@ -70,6 +74,16 @@ void AddWebContents(Browser* browser,
// Can't create a new contents for the current tab - invalid case.
DCHECK(disposition != WindowOpenDisposition::CURRENT_TAB);

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc
index c8a0156b69cc3..6a6fac072143d 100644
index 9a405503f15bd..7edad568f1bb4 100644
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -9,6 +9,7 @@
@ -10,7 +10,7 @@ index c8a0156b69cc3..6a6fac072143d 100644
#include "chrome/browser/content_settings/one_time_geolocation_permission_provider.h"
#include "chrome/browser/permissions/last_tab_standing_tracker_factory.h"
#include "chrome/browser/profiles/off_the_record_profile_impl.h"
@@ -22,6 +23,10 @@
@@ -23,6 +24,10 @@
#include "extensions/buildflags/buildflags.h"
#include "ui/webui/webui_allowlist_provider.h"
@ -21,7 +21,7 @@ index c8a0156b69cc3..6a6fac072143d 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "base/trace_event/trace_event.h"
#include "extensions/browser/api/content_settings/content_settings_custom_extension_provider.h"
@@ -61,7 +66,13 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
@@ -62,7 +67,13 @@ HostContentSettingsMapFactory::HostContentSettingsMapFactory()
DependsOn(TemplateURLServiceFactory::GetInstance());
#endif
#if BUILDFLAG(ENABLE_EXTENSIONS)
@ -35,7 +35,7 @@ index c8a0156b69cc3..6a6fac072143d 100644
#endif
// Used by way of ShouldRestoreOldSessionCookies().
#if BUILDFLAG(ENABLE_SESSION_SERVICE)
@@ -135,6 +146,9 @@ scoped_refptr<RefcountedKeyedService>
@@ -136,6 +147,9 @@ scoped_refptr<RefcountedKeyedService>
}
#if BUILDFLAG(ENABLE_EXTENSIONS)
@ -45,7 +45,7 @@ index c8a0156b69cc3..6a6fac072143d 100644
// These must be registered before before the HostSettings are passed over to
// the IOThread. Simplest to do this on construction.
settings_map->RegisterProvider(
@@ -147,6 +161,9 @@ scoped_refptr<RefcountedKeyedService>
@@ -148,6 +162,9 @@ scoped_refptr<RefcountedKeyedService>
// the case where profile->IsOffTheRecord() is true? And what is the
// interaction with profile->IsGuestSession()?
false));
@ -54,7 +54,7 @@ index c8a0156b69cc3..6a6fac072143d 100644
+#endif
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
#if BUILDFLAG(ENABLE_SUPERVISED_USERS)
SupervisedUserSettingsService* supervised_service =
supervised_user::SupervisedUserSettingsService* supervised_service =
diff --git components/content_settings/renderer/content_settings_agent_impl.cc components/content_settings/renderer/content_settings_agent_impl.cc
index c65b17d8ee9e2..1c6e91858ba9e 100644
--- components/content_settings/renderer/content_settings_agent_impl.cc

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.cc chrome/browser/renderer_context_menu/render_view_context_menu.cc
index c3350ad6f9d34..851eb1cfed65b 100644
index e0d7724c3a341..40a25b08152a5 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.cc
+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc
@@ -313,6 +313,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
@@ -315,6 +315,13 @@ base::OnceCallback<void(RenderViewContextMenu*)>* GetMenuShownCallback() {
return callback.get();
}
@ -16,7 +16,7 @@ index c3350ad6f9d34..851eb1cfed65b 100644
enum class UmaEnumIdLookupType {
GeneralEnumId,
ContextSpecificEnumId,
@@ -555,6 +562,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
@@ -561,6 +568,10 @@ int FindUMAEnumValueForCommand(int id, UmaEnumIdLookupType type) {
if (ContextMenuMatcher::IsExtensionsCustomCommandId(id))
return 1;
@ -27,7 +27,7 @@ index c3350ad6f9d34..851eb1cfed65b 100644
id = CollapseCommandsForUMA(id);
const auto& map = GetIdcToUmaMap(type);
auto it = map.find(id);
@@ -756,6 +767,14 @@ RenderViewContextMenu::RenderViewContextMenu(
@@ -774,6 +785,14 @@ RenderViewContextMenu::RenderViewContextMenu(
#if BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
pdf_ocr_submenu_model_ = std::make_unique<ui::SimpleMenuModel>(this);
#endif // BUILDFLAG(ENABLE_SCREEN_AI_SERVICE)
@ -42,7 +42,7 @@ index c3350ad6f9d34..851eb1cfed65b 100644
}
RenderViewContextMenu::~RenderViewContextMenu() = default;
@@ -1170,6 +1189,12 @@ void RenderViewContextMenu::InitMenu() {
@@ -1187,6 +1206,12 @@ void RenderViewContextMenu::InitMenu() {
// menu, meaning that each menu item added/removed in this function will cause
// it to visibly jump on the screen (see b/173569669).
AppendQuickAnswersItems();
@ -55,7 +55,7 @@ index c3350ad6f9d34..851eb1cfed65b 100644
}
Profile* RenderViewContextMenu::GetProfile() const {
@@ -3050,6 +3075,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
@@ -3130,6 +3155,12 @@ void RenderViewContextMenu::RegisterExecutePluginActionCallbackForTesting(
execute_plugin_action_callback_ = std::move(cb);
}
@ -69,7 +69,7 @@ index c3350ad6f9d34..851eb1cfed65b 100644
RenderViewContextMenu::GetHandlersForLinkUrl() {
custom_handlers::ProtocolHandlerRegistry::ProtocolHandlerList handlers =
diff --git chrome/browser/renderer_context_menu/render_view_context_menu.h chrome/browser/renderer_context_menu/render_view_context_menu.h
index f0c2e640e7373..5bf9f35335878 100644
index 19678cd892b6e..1e65a38e4cc69 100644
--- chrome/browser/renderer_context_menu/render_view_context_menu.h
+++ chrome/browser/renderer_context_menu/render_view_context_menu.h
@@ -139,6 +139,12 @@ class RenderViewContextMenu
@ -85,7 +85,7 @@ index f0c2e640e7373..5bf9f35335878 100644
protected:
Profile* GetProfile() const;
@@ -386,6 +392,9 @@ class RenderViewContextMenu
@@ -389,6 +395,9 @@ class RenderViewContextMenu
// built.
bool is_protocol_submenu_valid_ = false;
@ -110,7 +110,7 @@ index ab018dd1ce675..1d80631a0c2ec 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 62142213ca3e9..f2187cadb6cdf 100644
index 965a283dea477..74c1ee8258485 100644
--- components/renderer_context_menu/render_view_context_menu_base.cc
+++ components/renderer_context_menu/render_view_context_menu_base.cc
@@ -382,6 +382,17 @@ bool RenderViewContextMenuBase::IsCommandIdChecked(int id) const {
@ -132,10 +132,10 @@ index 62142213ca3e9..f2187cadb6cdf 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 8a555391c8712..3c54143ba61c3 100644
index ee6e005771119..91b5867cd16bf 100644
--- components/renderer_context_menu/render_view_context_menu_base.h
+++ components/renderer_context_menu/render_view_context_menu_base.h
@@ -86,6 +86,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
@@ -87,6 +87,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
const ui::SimpleMenuModel& menu_model() const { return menu_model_; }
const content::ContextMenuParams& params() const { return params_; }
@ -145,7 +145,7 @@ index 8a555391c8712..3c54143ba61c3 100644
// Returns true if the specified command id is known and valid for
// this menu. If the command is known |enabled| is set to indicate
@@ -94,6 +97,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
@@ -95,6 +98,9 @@ class RenderViewContextMenuBase : public ui::SimpleMenuModel::Delegate,
// SimpleMenuModel::Delegate implementation.
bool IsCommandIdChecked(int command_id) const override;

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/file_select_helper.cc chrome/browser/file_select_helper.cc
index 24b1b799392ce..be2d605ab8907 100644
index 3f7a0625e997f..d0e5a1a05af4b 100644
--- chrome/browser/file_select_helper.cc
+++ chrome/browser/file_select_helper.cc
@@ -20,6 +20,7 @@
@ -8,9 +8,9 @@ index 24b1b799392ce..be2d605ab8907 100644
#include "build/chromeos_buildflags.h"
+#include "cef/libcef/features/runtime.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager.h"
#include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_factory.h"
@@ -257,6 +258,13 @@ void FileSelectHelper::OnListFile(
#include "chrome/browser/enterprise/connectors/common.h"
#include "chrome/browser/platform_util.h"
@@ -254,6 +255,13 @@ void FileSelectHelper::OnListFile(
void FileSelectHelper::LaunchConfirmationDialog(
const base::FilePath& path,
std::vector<ui::SelectedFileInfo> selected_files) {
@ -24,7 +24,7 @@ index 24b1b799392ce..be2d605ab8907 100644
ShowFolderUploadConfirmationDialog(
path,
base::BindOnce(&FileSelectHelper::ConvertToFileChooserFileInfoList, this),
@@ -341,6 +349,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded(
@@ -338,6 +346,12 @@ void FileSelectHelper::PerformContentAnalysisIfNeeded(
if (AbortIfWebContentsDestroyed())
return;
@ -37,7 +37,7 @@ index 24b1b799392ce..be2d605ab8907 100644
#if BUILDFLAG(FULL_SAFE_BROWSING)
enterprise_connectors::ContentAnalysisDelegate::Data data;
if (enterprise_connectors::ContentAnalysisDelegate::IsEnabled(
@@ -529,7 +543,8 @@ bool FileSelectHelper::IsDirectoryEnumerationStartedForTesting() {
@@ -526,7 +540,8 @@ bool FileSelectHelper::IsDirectoryEnumerationStartedForTesting() {
std::unique_ptr<ui::SelectFileDialog::FileTypeInfo>
FileSelectHelper::GetFileTypesFromAcceptType(
@ -47,7 +47,7 @@ index 24b1b799392ce..be2d605ab8907 100644
auto base_file_type = std::make_unique<ui::SelectFileDialog::FileTypeInfo>();
if (accept_types.empty())
return base_file_type;
@@ -542,17 +557,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -539,17 +554,24 @@ FileSelectHelper::GetFileTypesFromAcceptType(
std::vector<base::FilePath::StringType>* extensions =
&file_type->extensions.back();
@ -73,7 +73,7 @@ index 24b1b799392ce..be2d605ab8907 100644
} else {
if (!base::IsStringASCII(accept_type))
continue;
@@ -563,10 +585,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -560,10 +582,18 @@ FileSelectHelper::GetFileTypesFromAcceptType(
description_id = IDS_AUDIO_FILES;
else if (ascii_type == "video/*")
description_id = IDS_VIDEO_FILES;
@ -94,7 +94,7 @@ index 24b1b799392ce..be2d605ab8907 100644
if (extensions->size() > old_extension_size)
valid_type_count++;
}
@@ -591,6 +621,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -588,6 +618,15 @@ FileSelectHelper::GetFileTypesFromAcceptType(
l10n_util::GetStringUTF16(description_id));
}
@ -110,7 +110,7 @@ index 24b1b799392ce..be2d605ab8907 100644
return file_type;
}
@@ -598,7 +637,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
@@ -595,7 +634,8 @@ FileSelectHelper::GetFileTypesFromAcceptType(
void FileSelectHelper::RunFileChooser(
content::RenderFrameHost* render_frame_host,
scoped_refptr<content::FileSelectListener> listener,
@ -120,7 +120,7 @@ index 24b1b799392ce..be2d605ab8907 100644
Profile* profile = Profile::FromBrowserContext(
render_frame_host->GetProcess()->GetBrowserContext());
@@ -617,6 +657,7 @@ void FileSelectHelper::RunFileChooser(
@@ -614,6 +654,7 @@ void FileSelectHelper::RunFileChooser(
// message.
scoped_refptr<FileSelectHelper> file_select_helper(
new FileSelectHelper(profile));
@ -128,7 +128,7 @@ index 24b1b799392ce..be2d605ab8907 100644
file_select_helper->RunFileChooser(render_frame_host, std::move(listener),
params.Clone());
}
@@ -670,7 +711,8 @@ void FileSelectHelper::RunFileChooser(
@@ -667,7 +708,8 @@ void FileSelectHelper::RunFileChooser(
}
void FileSelectHelper::GetFileTypesInThreadPool(FileChooserParamsPtr params) {

View File

@ -112,7 +112,7 @@ index 51ed6bcf6b540..9ae4737e0737e 100644
virtual gfx::Point GetDialogPosition(const gfx::Size& size) = 0;
// Returns whether a dialog currently about to be shown should be activated.
diff --git ui/views/window/dialog_delegate.cc ui/views/window/dialog_delegate.cc
index fca1500246f01..e0c719b90f5da 100644
index dfd41ce139940..b695144ceaf48 100644
--- ui/views/window/dialog_delegate.cc
+++ ui/views/window/dialog_delegate.cc
@@ -54,10 +54,12 @@ DialogDelegate::DialogDelegate() {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/extensions/api/chrome_extensions_api_client.cc chrome/browser/extensions/api/chrome_extensions_api_client.cc
index e49e111d2e867..83f3c9221fa1e 100644
index cc2cce154cbbf..4298bd8ab3f1c 100644
--- chrome/browser/extensions/api/chrome_extensions_api_client.cc
+++ chrome/browser/extensions/api/chrome_extensions_api_client.cc
@@ -13,6 +13,7 @@
@ -10,7 +10,7 @@ index e49e111d2e867..83f3c9221fa1e 100644
#include "chrome/browser/extensions/api/automation_internal/chrome_automation_internal_api_delegate.h"
#include "chrome/browser/extensions/api/chrome_device_permissions_prompt.h"
#include "chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry.h"
@@ -83,6 +84,10 @@
@@ -84,6 +85,10 @@
#include "chrome/browser/extensions/clipboard_extension_helper_chromeos.h"
#endif
@ -21,7 +21,7 @@ index e49e111d2e867..83f3c9221fa1e 100644
#if BUILDFLAG(ENABLE_PDF)
#include "chrome/browser/ui/pdf/chrome_pdf_web_contents_helper_client.h"
#include "components/pdf/browser/pdf_web_contents_helper.h"
@@ -305,6 +310,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate(
@@ -306,6 +311,11 @@ ChromeExtensionsAPIClient::CreateGuestViewManagerDelegate(
std::unique_ptr<MimeHandlerViewGuestDelegate>
ChromeExtensionsAPIClient::CreateMimeHandlerViewGuestDelegate(
MimeHandlerViewGuest* guest) const {

View File

@ -44,7 +44,7 @@ index 16107572d4d0d..409e9ea870482 100644
base::FeatureList::IsEnabled(
features::kPeriodicSyncPermissionForDefaultSearchEngine) &&
diff --git chrome/browser/permissions/chrome_permissions_client.cc chrome/browser/permissions/chrome_permissions_client.cc
index faa6ee8eb3dbc..4cf7c6959c7e6 100644
index d0d4fd4f7925b..0755927b00e2c 100644
--- chrome/browser/permissions/chrome_permissions_client.cc
+++ chrome/browser/permissions/chrome_permissions_client.cc
@@ -14,6 +14,7 @@
@ -65,7 +65,7 @@ index faa6ee8eb3dbc..4cf7c6959c7e6 100644
return site_engagement::SiteEngagementService::Get(
Profile::FromBrowserContext(browser_context))
->GetScore(origin);
@@ -320,8 +324,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
@@ -321,8 +325,10 @@ ChromePermissionsClient::CreatePermissionUiSelectors(
std::make_unique<ContextualNotificationPermissionUiSelector>());
selectors.emplace_back(std::make_unique<PrefNotificationPermissionUiSelector>(
Profile::FromBrowserContext(browser_context)));
@ -100,7 +100,7 @@ index 5e3e2bd6f1e69..4594213db914f 100644
delegates.media_stream_device_enumerator =
MediaCaptureDevicesDispatcher::GetInstance();
diff --git chrome/browser/storage/durable_storage_permission_context.cc chrome/browser/storage/durable_storage_permission_context.cc
index 9836207f50e5b..09d8f5549820c 100644
index c96408b160973..8bda825517235 100644
--- chrome/browser/storage/durable_storage_permission_context.cc
+++ chrome/browser/storage/durable_storage_permission_context.cc
@@ -8,6 +8,7 @@
@ -111,7 +111,7 @@ index 9836207f50e5b..09d8f5549820c 100644
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/content_settings/cookie_settings_factory.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
@@ -55,7 +56,9 @@ void DurableStoragePermissionContext::DecidePermission(
@@ -56,7 +57,9 @@ void DurableStoragePermissionContext::DecidePermission(
// Durable is only allowed to be granted to the top-level origin. Embedding
// origin is the last committed navigation origin to the web contents.

View File

@ -44,10 +44,10 @@ index caa20ec03434a..2a3ca921445c1 100644
avatar_toolbar_button, GetBrowser().profile(), type);
DCHECK_EQ(nullptr, bubble_tracker_.view());
diff --git chrome/browser/ui/views/profiles/incognito_menu_view.cc chrome/browser/ui/views/profiles/incognito_menu_view.cc
index 723920ef96f9a..cb3cbbd18a957 100644
index f5f266328283d..672609d94d1b7 100644
--- chrome/browser/ui/views/profiles/incognito_menu_view.cc
+++ chrome/browser/ui/views/profiles/incognito_menu_view.cc
@@ -37,7 +37,9 @@
@@ -36,7 +36,9 @@
IncognitoMenuView::IncognitoMenuView(views::Button* anchor_button,
Browser* browser)
: ProfileMenuViewBase(anchor_button, browser) {

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/profiles/off_the_record_profile_impl.cc chrome/browser/profiles/off_the_record_profile_impl.cc
index 45357cf77c472..c5a4104a3414f 100644
index 43431d7a42fe5..a440d7732f7dd 100644
--- chrome/browser/profiles/off_the_record_profile_impl.cc
+++ chrome/browser/profiles/off_the_record_profile_impl.cc
@@ -656,7 +656,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
@@ -659,7 +659,9 @@ std::unique_ptr<Profile> Profile::CreateOffTheRecordProfile(
#endif
if (!profile)
profile = std::make_unique<OffTheRecordProfileImpl>(parent, otr_profile_id);
@ -84,10 +84,10 @@ index 1e6a22d95a53f..6ec4182bfc5e7 100644
// Returns whether the user has signed in this profile to an account.
diff --git chrome/browser/profiles/profile_impl.cc chrome/browser/profiles/profile_impl.cc
index 1340e751c0381..a0875155ddad2 100644
index 6836199037155..5e0ad06d62fe9 100644
--- chrome/browser/profiles/profile_impl.cc
+++ chrome/browser/profiles/profile_impl.cc
@@ -1013,7 +1013,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
@@ -1018,7 +1018,9 @@ Profile* ProfileImpl::GetOffTheRecordProfile(const OTRProfileID& otr_profile_id,
otr_profiles_[otr_profile_id] = std::move(otr_profile);
@ -99,10 +99,10 @@ index 1340e751c0381..a0875155ddad2 100644
return raw_otr_profile;
}
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index 4f6dd066df3de..4d04f0ad554df 100644
index 145d5d837ae86..6eeb39eddc79b 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -381,7 +381,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -385,7 +385,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
base::Unretained(this)));
#endif

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index da80c70f42a61..31441ecc1ee83 100644
index 038a280213b6a..f823d021afa1e 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -30,6 +30,7 @@ static_library("safe_browsing") {
@@ -32,6 +32,7 @@ static_library("safe_browsing") {
"//components/browser_sync",
"//components/enterprise:enterprise",
"//components/enterprise/common:strings",

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
index f59ecb8fa3246..bb55ea9d91a73 100644
index cb9253cf1ab6a..b46c6b92a30ce 100644
--- chrome/browser/plugins/plugin_info_host_impl.cc
+++ chrome/browser/plugins/plugin_info_host_impl.cc
@@ -142,6 +142,10 @@ bool IsPluginLoadingAccessibleResourceInWebView(
@@ -140,6 +140,10 @@ bool IsPluginLoadingAccessibleResourceInWebView(
extensions::ExtensionRegistry* extension_registry,
int process_id,
const GURL& resource) {
@ -42,10 +42,10 @@ index 8b3f569882aeb..afc8007a6228b 100644
const extensions::Extension* extension =
registry->enabled_extensions().GetByID(extension_id);
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
index eab276d6ebe23..aa6ca12d1b8bc 100644
index a91227b208c16..d89e3d6ba0ad7 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -971,6 +971,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -983,6 +983,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
@ -53,7 +53,7 @@ index eab276d6ebe23..aa6ca12d1b8bc 100644
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
@@ -1138,7 +1139,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1150,7 +1151,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -63,7 +63,7 @@ index eab276d6ebe23..aa6ca12d1b8bc 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1147,7 +1149,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1159,7 +1161,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -73,7 +73,7 @@ index eab276d6ebe23..aa6ca12d1b8bc 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1157,7 +1160,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1169,7 +1172,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
@ -105,7 +105,7 @@ index ad5f1925735fd..a871f4a7792a7 100644
BrowserPluginEmbedder(const BrowserPluginEmbedder&) = delete;
BrowserPluginEmbedder& operator=(const BrowserPluginEmbedder&) = delete;
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
index a731c5ef5b714..99e313b92c242 100644
index a7501a57c5149..1c148767f67a6 100644
--- content/browser/browser_plugin/browser_plugin_guest.cc
+++ content/browser/browser_plugin/browser_plugin_guest.cc
@@ -80,6 +80,8 @@ void BrowserPluginGuest::InitInternal(WebContentsImpl* owner_web_contents) {
@ -118,19 +118,19 @@ index a731c5ef5b714..99e313b92c242 100644
BrowserPluginGuest::~BrowserPluginGuest() = default;
diff --git content/browser/browser_plugin/browser_plugin_guest.h content/browser/browser_plugin/browser_plugin_guest.h
index aec6a0eb9cbd0..286e7de6887a7 100644
index 17e98b60e8f7e..41f05cdd88d40 100644
--- content/browser/browser_plugin/browser_plugin_guest.h
+++ content/browser/browser_plugin/browser_plugin_guest.h
@@ -68,6 +68,8 @@ class BrowserPluginGuest : public WebContentsObserver {
@@ -70,6 +70,8 @@ class BrowserPluginGuest : public WebContentsObserver {
WebContentsImpl* GetWebContents() const;
RenderFrameHostImpl* GetProspectiveOuterDocument();
+ WebContentsImpl* owner_web_contents() const { return owner_web_contents_; }
+
private:
// BrowserPluginGuest is a WebContentsObserver of |web_contents| and
// |web_contents| has to stay valid for the lifetime of BrowserPluginGuest.
@@ -77,6 +79,8 @@ class BrowserPluginGuest : public WebContentsObserver {
@@ -79,6 +81,8 @@ class BrowserPluginGuest : public WebContentsObserver {
void InitInternal(WebContentsImpl* owner_web_contents);
const raw_ptr<BrowserPluginGuestDelegate, DanglingUntriaged> delegate_;

View File

@ -1,5 +1,5 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 6a646ba3e1975..8849ea7e53996 100644
index 53733390bf73d..215112f3f5723 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -5,6 +5,7 @@
@ -10,7 +10,7 @@ index 6a646ba3e1975..8849ea7e53996 100644
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -124,6 +125,7 @@ static_library("renderer") {
@@ -122,6 +123,7 @@ static_library("renderer") {
deps = [
"//base/allocator:buildflags",
"//build:chromeos_buildflags",
@ -18,7 +18,7 @@ index 6a646ba3e1975..8849ea7e53996 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -221,6 +223,10 @@ static_library("renderer") {
@@ -220,6 +222,10 @@ static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
index 18b59a7014ea2..82f2fd1b32897 100644
--- chrome/app/chrome_main_delegate.cc
+++ chrome/app/chrome_main_delegate.cc
@@ -39,6 +39,7 @@
@ -10,7 +10,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
#include "chrome/browser/chrome_content_browser_client.h"
#include "chrome/browser/chrome_resource_bundle_helper.h"
#include "chrome/browser/defaults.h"
@@ -527,6 +528,8 @@ struct MainFunction {
@@ -503,6 +504,8 @@ struct MainFunction {
// Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) {
@ -19,7 +19,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
#if BUILDFLAG(IS_WIN)
// Reach out to chrome_elf for the truth on the user data directory.
// Note that in tests, this links to chrome_elf_test_stubs.
@@ -676,6 +679,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
@@ -652,6 +655,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
ChromeMainDelegate::~ChromeMainDelegate() = default;
#endif // !BUILDFLAG(IS_ANDROID)
@ -30,17 +30,17 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
absl::optional<int> ChromeMainDelegate::PostEarlyInitialization(
InvokedIn invoked_in) {
DCHECK(base::ThreadPoolInstance::Get());
@@ -959,7 +966,9 @@ void ChromeMainDelegate::CommonEarlyInitialization() {
}
@@ -857,7 +864,8 @@ absl::optional<int> ChromeMainDelegate::PostEarlyInitialization(
#if BUILDFLAG(IS_WIN)
+ if (!cef::IsChromeRuntimeEnabled()) {
SetUpExtendedCrashReporting(is_browser_process);
+ }
base::sequence_manager::internal::ThreadControllerPowerMonitor::
InitializeOnMainThread();
base::InitializePlatformThreadFeatures();
@@ -1324,6 +1333,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
if (base::FeatureList::IsEnabled(
features::kWriteBasicSystemProfileToPersistentHistogramsFile)) {
- bool record = true;
+ // Avoid CEF crash with multi-threaded-message-loop.
+ bool record = !cef::IsChromeRuntimeEnabled();
#if BUILDFLAG(IS_ANDROID)
record =
base::FeatureList::IsEnabled(chrome::android::kUmaBackgroundSessions);
@@ -1310,6 +1318,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
@ -48,7 +48,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_POSIX)
@@ -1334,6 +1344,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1320,6 +1329,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line);
#endif
@ -56,7 +56,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
#if BUILDFLAG(IS_WIN)
child_process_logging::Init();
@@ -1528,6 +1539,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1514,6 +1524,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
@ -64,7 +64,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
@@ -1571,6 +1583,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -1557,6 +1568,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line);
@ -72,7 +72,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
#if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData();
@@ -1672,6 +1685,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1680,6 +1692,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler();
}
@ -80,7 +80,7 @@ index 6ecb3aeadd6e3..cdeca82d8bfe6 100644
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner.
const base::CommandLine* command_line =
@@ -1694,6 +1708,7 @@ void ChromeMainDelegate::ZygoteForked() {
@@ -1702,6 +1715,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
@ -102,7 +102,7 @@ index bfafb0a895b0f..f42ebc52d4a1a 100644
// content::ContentMainDelegate:
absl::optional<int> BasicStartupComplete() override;
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index a09033cda2e09..df8f48d6d0403 100644
index b05ce3c764ddd..92be5fda315cf 100644
--- chrome/browser/chrome_browser_main.cc
+++ chrome/browser/chrome_browser_main.cc
@@ -51,6 +51,7 @@
@ -113,7 +113,7 @@ index a09033cda2e09..df8f48d6d0403 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/active_use_util.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1473,7 +1474,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1475,7 +1476,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
@ -122,7 +122,7 @@ index a09033cda2e09..df8f48d6d0403 100644
// Handle special early return paths (which couldn't be processed even earlier
// as they require the process singleton to be held) first.
@@ -1520,7 +1521,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1522,7 +1523,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
return content::RESULT_CODE_NORMAL_EXIT;
#endif // BUILDFLAG(IS_WIN)
}
@ -131,7 +131,7 @@ index a09033cda2e09..df8f48d6d0403 100644
#if BUILDFLAG(IS_WIN)
// Check if there is any machine level Chrome installed on the current
@@ -1573,12 +1574,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1577,12 +1578,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->local_state());
}
@ -146,7 +146,7 @@ index a09033cda2e09..df8f48d6d0403 100644
#if BUILDFLAG(IS_ANDROID)
page_info::SetPageInfoClient(new ChromePageInfoClient());
@@ -1727,6 +1730,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1731,6 +1734,10 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@ -157,7 +157,7 @@ index a09033cda2e09..df8f48d6d0403 100644
// This step is costly and is already measured in
// Startup.StartupBrowserCreator_Start.
// See the comment above for an explanation of |process_command_line|.
@@ -1765,11 +1772,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -1769,11 +1776,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
@ -211,10 +211,10 @@ index 194833d0bae43..21564d96466c0 100644
+#endif
}
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 95fc727fe36b7..06e56e9525a84 100644
index 600dd1ab9abc4..b4bc133b4a445 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -36,6 +36,7 @@
@@ -37,6 +37,7 @@
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -222,7 +222,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_labels_service_factory.h"
#include "chrome/browser/after_startup_task_utils.h"
@@ -1515,6 +1516,8 @@ void HandleStringData(
@@ -1527,6 +1528,8 @@ void HandleStringData(
} // namespace
ChromeContentBrowserClient::ChromeContentBrowserClient() {
@ -231,7 +231,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
#if BUILDFLAG(ENABLE_PLUGINS)
extra_parts_.push_back(new ChromeContentBrowserClientPluginsPart);
#endif
@@ -1540,6 +1543,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
@@ -1552,6 +1555,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
extra_parts_.clear();
}
@ -243,7 +243,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
// static
void ChromeContentBrowserClient::RegisterLocalStatePrefs(
PrefRegistrySimple* registry) {
@@ -4280,9 +4288,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
@@ -4313,9 +4321,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
@ -255,7 +255,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6157,7 +6167,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
@@ -6213,7 +6223,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
network_service);
}
@ -264,7 +264,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -6175,6 +6185,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
@@ -6231,6 +6241,8 @@ void ChromeContentBrowserClient::ConfigureNetworkContextParams(
network_context_params->user_agent = GetUserAgentBasedOnPolicy(context);
network_context_params->accept_language = GetApplicationLocale();
}
@ -273,7 +273,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
}
std::vector<base::FilePath>
@@ -7081,10 +7093,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
@@ -7137,10 +7149,10 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now();
const auto timeout = GetKeepaliveTimerTimeout(context);
keepalive_deadline_ = std::max(keepalive_deadline_, now + timeout);
@ -286,7 +286,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
FROM_HERE, keepalive_deadline_ - now,
base::BindOnce(
&ChromeContentBrowserClient::OnKeepaliveTimerFired,
@@ -7103,7 +7115,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
@@ -7159,7 +7171,8 @@ void ChromeContentBrowserClient::OnKeepaliveRequestFinished() {
--num_keepalive_requests_;
if (num_keepalive_requests_ == 0) {
DVLOG(1) << "Stopping the keepalive timer";
@ -296,7 +296,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
// This deletes the keep alive handle attached to the timer function and
// unblock the shutdown sequence.
}
@@ -7239,7 +7252,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
@@ -7295,7 +7308,7 @@ void ChromeContentBrowserClient::OnKeepaliveTimerFired(
const auto now = base::TimeTicks::Now();
const auto then = keepalive_deadline_;
if (now < then) {
@ -306,7 +306,7 @@ index 95fc727fe36b7..06e56e9525a84 100644
base::BindOnce(&ChromeContentBrowserClient::OnKeepaliveTimerFired,
weak_factory_.GetWeakPtr(),
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
index 071a3dd11e61b..7b15b6f4abb24 100644
index 7ecb90a89f1d7..c80ce831382db 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -121,6 +121,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@ -318,7 +318,7 @@ index 071a3dd11e61b..7b15b6f4abb24 100644
// TODO(https://crbug.com/787567): This file is about calls from content/ out
// to chrome/ to get values or notify about events, but both of these
// functions are from chrome/ to chrome/ and don't involve content/ at all.
@@ -601,7 +603,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -602,7 +604,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
override;
void OnNetworkServiceCreated(
network::mojom::NetworkService* network_service) override;
@ -327,7 +327,7 @@ index 071a3dd11e61b..7b15b6f4abb24 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -962,7 +964,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
@@ -966,7 +968,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0;
@ -337,7 +337,7 @@ index 071a3dd11e61b..7b15b6f4abb24 100644
#endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 193d174d20d45..9b8d8a6b4a051 100644
index ff57c231cc784..59ac71c36caa0 100644
--- chrome/browser/prefs/browser_prefs.cc
+++ chrome/browser/prefs/browser_prefs.cc
@@ -11,6 +11,7 @@
@ -348,7 +348,7 @@ index 193d174d20d45..9b8d8a6b4a051 100644
#include "chrome/browser/about_flags.h"
#include "chrome/browser/accessibility/accessibility_labels_service.h"
#include "chrome/browser/accessibility/accessibility_ui.h"
@@ -172,6 +173,10 @@
@@ -174,6 +175,10 @@
#include "chrome/browser/background/background_mode_manager.h"
#endif
@ -359,7 +359,7 @@ index 193d174d20d45..9b8d8a6b4a051 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/accessibility/animation_policy_prefs.h"
#include "chrome/browser/apps/platform_apps/shortcut_manager.h"
@@ -1366,6 +1371,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
@@ -1305,6 +1310,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
@ -371,7 +371,7 @@ index 193d174d20d45..9b8d8a6b4a051 100644
}
// Register prefs applicable to all profiles.
@@ -1761,6 +1771,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
@@ -1704,6 +1714,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& locale) {
RegisterProfilePrefs(registry, locale);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index 100baefb933be..4e1501387aa6c 100644
index f91c359d9792a..9fe7a7faf33bc 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -390,6 +390,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -389,6 +389,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
// choose to not implement CommandUpdaterDelegate inside this class and
// therefore command_updater_ doesn't have the delegate set).
if (!SupportsCommand(id) || !IsCommandEnabled(id)) {
@ -10,7 +10,7 @@ index 100baefb933be..4e1501387aa6c 100644
return false;
}
@@ -406,6 +407,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -405,6 +406,13 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
DCHECK(command_updater_.IsCommandEnabled(id))
<< "Invalid/disabled command " << id;
@ -24,7 +24,7 @@ index 100baefb933be..4e1501387aa6c 100644
// The order of commands in this switch statement must match the function
// declaration order in browser.h!
switch (id) {
@@ -1040,11 +1048,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
@@ -1042,11 +1050,13 @@ void BrowserCommandController::TabRestoreServiceLoaded(
// BrowserCommandController, private:
bool BrowserCommandController::IsShowingMainUI() {
@ -41,7 +41,7 @@ index 100baefb933be..4e1501387aa6c 100644
bool BrowserCommandController::IsWebAppOrCustomTab() const {
diff --git chrome/browser/ui/views/frame/browser_frame.cc chrome/browser/ui/views/frame/browser_frame.cc
index 1b8cd7a3ff295..b837a9379bd04 100644
index 090ad157308b7..d0534ffb8091c 100644
--- chrome/browser/ui/views/frame/browser_frame.cc
+++ chrome/browser/ui/views/frame/browser_frame.cc
@@ -67,15 +67,23 @@ bool IsUsingLinuxSystemTheme(Profile* profile) {
@ -70,7 +70,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
}
BrowserFrame::~BrowserFrame() {}
@@ -147,6 +155,12 @@ gfx::Rect BrowserFrame::GetBoundsForTabStripRegion(
@@ -166,6 +174,12 @@ void BrowserFrame::LayoutWebAppWindowTitle(
}
int BrowserFrame::GetTopInset() const {
@ -83,7 +83,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
return browser_frame_view_->GetTopInset(false);
}
@@ -163,6 +177,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const {
@@ -182,6 +196,8 @@ BrowserNonClientFrameView* BrowserFrame::GetFrameView() const {
}
bool BrowserFrame::UseCustomFrame() const {
@ -92,7 +92,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
return native_browser_frame_->UseCustomFrame();
}
@@ -176,20 +192,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const {
@@ -195,20 +211,30 @@ bool BrowserFrame::ShouldDrawFrameHeader() const {
void BrowserFrame::GetWindowPlacement(gfx::Rect* bounds,
ui::WindowShowState* show_state) const {
@ -123,7 +123,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
browser_frame_view_->OnBrowserViewInitViewsComplete();
}
@@ -251,7 +277,7 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
@@ -270,7 +296,7 @@ const ui::ThemeProvider* BrowserFrame::GetThemeProvider() const {
ui::ColorProviderManager::ThemeInitializerSupplier*
BrowserFrame::GetCustomTheme() const {
// Do not return any custom theme if the browser has to use the dark theme.
@ -132,7 +132,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
return nullptr;
Browser* browser = browser_view_->browser();
@@ -268,6 +294,8 @@ BrowserFrame::GetCustomTheme() const {
@@ -287,6 +313,8 @@ BrowserFrame::GetCustomTheme() const {
}
void BrowserFrame::OnNativeWidgetWorkspaceChanged() {
@ -141,7 +141,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
chrome::SaveWindowWorkspace(browser_view_->browser(), GetWorkspace());
chrome::SaveWindowVisibleOnAllWorkspaces(browser_view_->browser(),
IsVisibleOnAllWorkspaces());
@@ -355,6 +383,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) {
@@ -374,6 +402,8 @@ void BrowserFrame::SetTabDragKind(TabDragKind tab_drag_kind) {
ui::ColorProviderManager::Key BrowserFrame::GetColorProviderKey() const {
auto key = Widget::GetColorProviderKey();
@ -150,7 +150,7 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
key.frame_type = UseCustomFrame()
? ui::ColorProviderManager::FrameType::kChromium
: ui::ColorProviderManager::FrameType::kNative;
@@ -441,5 +471,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
@@ -460,5 +490,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange(
}
bool BrowserFrame::ShouldUseDarkTheme() const {
@ -159,10 +159,10 @@ index 1b8cd7a3ff295..b837a9379bd04 100644
return browser_view_->browser()->profile()->IsIncognitoProfile();
}
diff --git chrome/browser/ui/views/frame/browser_frame.h chrome/browser/ui/views/frame/browser_frame.h
index 28085aa32d7d8..312911b8a4564 100644
index 89262a0c87266..f94cc5faafb90 100644
--- chrome/browser/ui/views/frame/browser_frame.h
+++ chrome/browser/ui/views/frame/browser_frame.h
@@ -56,7 +56,9 @@ enum class TabDragKind {
@@ -57,7 +57,9 @@ enum class TabDragKind {
// This is a virtual interface that allows system specific browser frames.
class BrowserFrame : public views::Widget, public views::ContextMenuController {
public:
@ -173,7 +173,7 @@ index 28085aa32d7d8..312911b8a4564 100644
BrowserFrame(const BrowserFrame&) = delete;
BrowserFrame& operator=(const BrowserFrame&) = delete;
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index bc22da820add3..04798b83011e2 100644
index 7f4c8115e35fc..28331cec6c3c7 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -307,11 +307,10 @@ using content::NativeWebKeyboardEvent;
@ -191,7 +191,7 @@ index bc22da820add3..04798b83011e2 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation.
@@ -826,11 +825,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
@@ -863,11 +862,22 @@ class BrowserView::SidePanelVisibilityController : public views::ViewObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@ -215,7 +215,7 @@ index bc22da820add3..04798b83011e2 100644
SetShowIcon(
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
@@ -874,7 +884,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -912,7 +922,6 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
}
browser_->tab_strip_model()->AddObserver(this);
@ -223,7 +223,7 @@ index bc22da820add3..04798b83011e2 100644
// Top container holds tab strip region and toolbar and lives at the front of
// the view hierarchy.
@@ -920,8 +929,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -969,8 +978,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_));
@ -241,7 +241,7 @@ index bc22da820add3..04798b83011e2 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1839,6 +1855,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
@@ -1900,6 +1916,8 @@ bool BrowserView::ShouldHideUIForFullscreen() const {
if (immersive_mode_controller_->IsEnabled())
return false;
@ -250,7 +250,7 @@ index bc22da820add3..04798b83011e2 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
@@ -2734,7 +2752,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
@@ -2799,7 +2817,8 @@ DownloadShelf* BrowserView::GetDownloadShelf() {
}
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
@ -260,7 +260,7 @@ index bc22da820add3..04798b83011e2 100644
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
return download_button->bubble_controller();
return nullptr;
@@ -3226,7 +3245,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
@@ -3291,7 +3310,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this)
return;
@ -270,7 +270,7 @@ index bc22da820add3..04798b83011e2 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -3765,8 +3785,10 @@ void BrowserView::Layout() {
@@ -3850,8 +3870,10 @@ void BrowserView::Layout() {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@ -283,7 +283,7 @@ index bc22da820add3..04798b83011e2 100644
// Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode.
@@ -3832,6 +3854,11 @@ void BrowserView::AddedToWidget() {
@@ -3917,6 +3939,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@ -295,7 +295,7 @@ index bc22da820add3..04798b83011e2 100644
toolbar_->Init();
// TODO(pbos): Manage this either inside SidePanel or the corresponding button
@@ -3887,13 +3914,9 @@ void BrowserView::AddedToWidget() {
@@ -3973,13 +4000,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
@ -311,7 +311,7 @@ index bc22da820add3..04798b83011e2 100644
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -4302,7 +4325,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
@@ -4385,7 +4408,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen,
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@ -321,7 +321,7 @@ index bc22da820add3..04798b83011e2 100644
}
bool BrowserView::ShouldUseImmersiveFullscreenForUrl(const GURL& url) const {
@@ -4650,6 +4674,8 @@ Profile* BrowserView::GetProfile() {
@@ -4733,6 +4757,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@ -330,7 +330,7 @@ index bc22da820add3..04798b83011e2 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -4672,6 +4698,8 @@ void BrowserView::HideDownloadShelf() {
@@ -4755,6 +4781,8 @@ void BrowserView::HideDownloadShelf() {
}
bool BrowserView::CanUserExitFullscreen() const {
@ -340,7 +340,7 @@ index bc22da820add3..04798b83011e2 100644
}
diff --git chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view.h
index 673e626f60cd4..1444e9db81cfc 100644
index d769d3914a123..6a94752bc96ea 100644
--- chrome/browser/ui/views/frame/browser_view.h
+++ chrome/browser/ui/views/frame/browser_view.h
@@ -124,11 +124,16 @@ class BrowserView : public BrowserWindow,
@ -360,9 +360,9 @@ index 673e626f60cd4..1444e9db81cfc 100644
void set_frame(BrowserFrame* frame) {
frame_ = frame;
paint_as_active_subscription_ =
@@ -777,6 +782,12 @@ class BrowserView : public BrowserWindow,
void SetLoadingAnimationStateChangeClosureForTesting(
base::OnceClosure closure);
@@ -788,6 +793,12 @@ class BrowserView : public BrowserWindow,
return web_app_frame_toolbar();
}
+ protected:
+ virtual ToolbarView* OverrideCreateToolbar(Browser* browser,
@ -374,12 +374,12 @@ index 673e626f60cd4..1444e9db81cfc 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 991e095456a35..2373048a30123 100644
index c9b4becda8dfa..0284fd5f01bc6 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -46,6 +46,10 @@
#include "ui/views/widget/widget.h"
@@ -48,6 +48,10 @@
#include "ui/views/window/client_view.h"
#include "ui/views/window/hit_test_utils.h"
+#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/browser/chrome/views/chrome_views_util.h"
@ -388,7 +388,7 @@ index 991e095456a35..2373048a30123 100644
using views::View;
using web_modal::ModalDialogHostObserver;
using web_modal::WebContentsModalDialogHost;
@@ -466,6 +470,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
@@ -564,6 +568,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
int BrowserViewLayout::LayoutToolbar(int top) {
TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar");
@ -419,10 +419,10 @@ index 5e059b9878fc2..c1f6fbcd40ec4 100644
ContentsWebView::~ContentsWebView() {
diff --git chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
index 4f04525fafb8e..eea2013607200 100644
index f4a5c3ad8cc9c..4f9c1a111e7ce 100644
--- chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
+++ chrome/browser/ui/views/tabs/browser_tab_strip_controller.cc
@@ -564,33 +564,47 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
@@ -565,33 +565,47 @@ gfx::Range BrowserTabStripController::ListTabsInGroup(
}
bool BrowserTabStripController::IsFrameCondensed() const {
@ -471,7 +471,7 @@ index 4f04525fafb8e..eea2013607200 100644
}
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
index 46ce747cfdec8..99a718aaffe01 100644
index 65ba764446ced..dbe856f34caca 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -164,12 +164,13 @@ auto& GetViewCommandMap() {
@ -500,10 +500,10 @@ index 46ce747cfdec8..99a718aaffe01 100644
size_animation_.Reset(1);
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
index 8c2ea74023637..a24cab7c58f93 100644
index 05dfd39061580..29c677a735672 100644
--- chrome/browser/ui/views/toolbar/toolbar_view.h
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -92,7 +92,8 @@ class ToolbarView : public views::AccessiblePaneView,
@@ -88,7 +88,8 @@ class ToolbarView : public views::AccessiblePaneView,
// needs to be displayed.
};

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
index 7ea19dc8d32eb..f592668272a41 100644
index ba37a4f5c3604..be5d4c2020660 100644
--- content/browser/devtools/devtools_instrumentation.h
+++ content/browser/devtools/devtools_instrumentation.h
@@ -102,7 +102,7 @@ bool ApplyUserAgentMetadataOverrides(
@ -68,10 +68,10 @@ index 97c7dc7c25000..63c42610bfd9c 100644
blink::mojom::V8CacheOptions GetV8CacheOptions();
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
index 2cf3784f871e2..df32d4ea7e027 100644
index fcdf677c9772e..b7bfed642fff6 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -32,6 +32,7 @@ component("controller") {
@@ -36,6 +36,7 @@ component("controller") {
configs += [
"//build/config/compiler:wexit_time_destructors",
@ -79,7 +79,7 @@ index 2cf3784f871e2..df32d4ea7e027 100644
"//third_party/blink/renderer:config",
"//third_party/blink/renderer:inside_blink",
"//third_party/blink/renderer:non_test_config",
@@ -57,6 +58,8 @@ component("controller") {
@@ -61,6 +62,8 @@ component("controller") {
"performance_manager/v8_detailed_memory_reporter_impl.h",
"performance_manager/v8_worker_memory_reporter.cc",
"performance_manager/v8_worker_memory_reporter.h",

View File

@ -1,5 +1,5 @@
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index a6e355d835004..9087d3cc485ea 100644
index b91c420730c5e..d69af17943fe7 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -589,7 +589,7 @@ void DevToolsHttpHandler::OnJsonRequest(
@ -12,10 +12,10 @@ index a6e355d835004..9087d3cc485ea 100644
version.Set("V8-Version", V8_VERSION_STRING);
std::string host = info.GetHeaderValue("host");
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
index 059dca9146bde..ef5537248308f 100644
index 22fe0e4ff65ce..e38329c932bf2 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -712,6 +712,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() {
@@ -721,6 +721,17 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest() {
resource_request_->has_user_gesture, initiating_origin,
initiator_document_.AsRenderFrameHostIfValid(), &loader_factory);
@ -34,7 +34,7 @@ index 059dca9146bde..ef5537248308f 100644
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
std::move(loader_factory));
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
index 75dbea1be3e60..3c9d427c9b790 100644
index 78ae48dcbed95..a5a77e9ad81ce 100644
--- content/public/browser/content_browser_client.cc
+++ content/public/browser/content_browser_client.cc
@@ -965,7 +965,7 @@ ContentBrowserClient::CreateURLLoaderHandlerForServiceWorkerNavigationPreload(
@ -55,7 +55,7 @@ index 75dbea1be3e60..3c9d427c9b790 100644
std::vector<base::FilePath>
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index 868dd480c66e3..4c788029e9c52 100644
index ceff9665cdb15..657f88d32efd4 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -35,6 +35,7 @@
@ -66,7 +66,7 @@ index 868dd480c66e3..4c788029e9c52 100644
#include "content/public/common/alternative_error_page_override_info.mojom-forward.h"
#include "content/public/common/page_visibility_state.h"
#include "content/public/common/window_container_type.mojom-forward.h"
@@ -1775,7 +1776,7 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1776,7 +1777,7 @@ class CONTENT_EXPORT ContentBrowserClient {
//
// If |relative_partition_path| is the empty string, it means this needs to
// create the default NetworkContext for the BrowserContext.
@ -75,7 +75,7 @@ index 868dd480c66e3..4c788029e9c52 100644
BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1978,6 +1979,19 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1979,6 +1980,19 @@ class CONTENT_EXPORT ContentBrowserClient {
RenderFrameHost* initiator_document,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -95,7 +95,7 @@ index 868dd480c66e3..4c788029e9c52 100644
// Creates an OverlayWindow to be used for video or Picture-in-Picture.
// This window will house the content shown when in Picture-in-Picture mode.
// This will return a new OverlayWindow.
@@ -2034,6 +2048,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -2035,6 +2049,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -132,10 +132,10 @@ index 77f2c4fbf8c88..ddbacedde912a 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 2fb8a5e9b9f18..12a07a0619514 100644
index 11759a9fcbe02..87936d85135d9 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -620,6 +620,8 @@ void RenderThreadImpl::Init() {
@@ -628,6 +628,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
blink::URLLoaderThrottleProviderType::kFrame);
@ -145,10 +145,10 @@ index 2fb8a5e9b9f18..12a07a0619514 100644
base::BindRepeating(&RenderThreadImpl::OnRendererInterfaceReceiver,
base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index a0811daead7bc..2beb0d03cd671 100644
index e63b39bbeda10..06bd7d40d0f5c 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -1001,6 +1001,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
@@ -976,6 +976,15 @@ SkBitmap* RendererBlinkPlatformImpl::GetSadPageBitmap() {
//------------------------------------------------------------------------------
@ -165,10 +165,10 @@ index a0811daead7bc..2beb0d03cd671 100644
RendererBlinkPlatformImpl::CreateWebV8ValueConverter() {
return std::make_unique<V8ValueConverterImpl>();
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
index f9b61ff32e3e7..ea649425e7b34 100644
index 1c83b5a848a35..909f986cc09df 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -235,6 +235,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
@@ -231,6 +231,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
uint64_t private_memory_footprint_bytes) override;
#endif
@ -179,11 +179,11 @@ index f9b61ff32e3e7..ea649425e7b34 100644
// plus eTLD+1, such as https://google.com), or to a more specific origin.
void SetIsLockedToSite();
diff --git headless/lib/browser/headless_content_browser_client.cc headless/lib/browser/headless_content_browser_client.cc
index 5c1f3a069c00b..db5f4250330ad 100644
index fab5d1d83f08c..012f4efe4f63e 100644
--- headless/lib/browser/headless_content_browser_client.cc
+++ headless/lib/browser/headless_content_browser_client.cc
@@ -284,7 +284,7 @@ bool HeadlessContentBrowserClient::ShouldEnableStrictSiteIsolation() {
return false;
@@ -299,7 +299,7 @@ bool HeadlessContentBrowserClient::IsSharedStorageSelectURLAllowed(
return true;
}
-void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
@ -191,7 +191,7 @@ index 5c1f3a069c00b..db5f4250330ad 100644
content::BrowserContext* context,
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -294,6 +294,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
@@ -309,6 +309,7 @@ void HeadlessContentBrowserClient::ConfigureNetworkContextParams(
HeadlessBrowserContextImpl::From(context)->ConfigureNetworkContextParams(
in_memory, relative_partition_path, network_context_params,
cert_verifier_creation_params);
@ -200,12 +200,12 @@ index 5c1f3a069c00b..db5f4250330ad 100644
std::string HeadlessContentBrowserClient::GetProduct() {
diff --git headless/lib/browser/headless_content_browser_client.h headless/lib/browser/headless_content_browser_client.h
index c96642d57f5cd..bfcf88fa2559d 100644
index 603ebb3aadfec..b189791360362 100644
--- headless/lib/browser/headless_content_browser_client.h
+++ headless/lib/browser/headless_content_browser_client.h
@@ -71,7 +71,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient {
std::unique_ptr<content::ClientCertificateDelegate> delegate) override;
bool ShouldEnableStrictSiteIsolation() override;
@@ -79,7 +79,7 @@ class HeadlessContentBrowserClient : public content::ContentBrowserClient {
const url::Origin& top_frame_origin,
const url::Origin& accessing_origin) override;
- void ConfigureNetworkContextParams(
+ bool ConfigureNetworkContextParams(

View File

@ -1,5 +1,5 @@
diff --git content/app/content_main.cc content/app/content_main.cc
index 00c293219a70c..e68d0d3abd95e 100644
index a3cc7fabebb07..d1e88823f7931 100644
--- content/app/content_main.cc
+++ content/app/content_main.cc
@@ -173,11 +173,8 @@ ContentMainParams::~ContentMainParams() = default;
@ -16,17 +16,17 @@ index 00c293219a70c..e68d0d3abd95e 100644
base::FeatureList::FailOnFeatureAccessWithoutFeatureList();
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Lacros is launched with inherited priority. Revert to normal priority
@@ -186,9 +183,6 @@ RunContentProcess(ContentMainParams params,
@@ -185,9 +182,6 @@ RunContentProcess(ContentMainParams params,
base::PlatformThread::SetCurrentThreadType(base::ThreadType::kDefault);
#endif
int exit_code = -1;
base::debug::GlobalActivityTracker* tracker = nullptr;
-#if BUILDFLAG(IS_MAC)
- std::unique_ptr<base::mac::ScopedNSAutoreleasePool> autorelease_pool;
-#endif
// A flag to indicate whether Main() has been called before. On Android, we
// may re-run Main() without restarting the browser process. This flag
@@ -274,12 +268,6 @@ RunContentProcess(ContentMainParams params,
@@ -273,12 +267,6 @@ RunContentProcess(ContentMainParams params,
#endif
#if BUILDFLAG(IS_MAC)
@ -39,36 +39,25 @@ index 00c293219a70c..e68d0d3abd95e 100644
InitializeMac();
#endif
@@ -321,8 +309,18 @@ RunContentProcess(ContentMainParams params,
@@ -321,16 +309,49 @@ RunContentProcess(ContentMainParams params,
if (IsSubprocess())
CommonSubprocessInit();
- exit_code = content_main_runner->Run();
+ return exit_code;
+}
+
+// This function must be marked with NO_STACK_PROTECTOR or it may crash on
+// return, see the --change-stack-guard-on-fork command line flag.
+int NO_STACK_PROTECTOR
+ContentMainRun(ContentMainRunner* content_main_runner) {
+ int exit_code = content_main_runner->Run();
+
+ base::debug::GlobalActivityTracker* tracker =
+ base::debug::GlobalActivityTracker::Get();
if (tracker) {
if (exit_code == 0) {
tracker->SetProcessPhaseIfEnabled(
@@ -334,14 +332,41 @@ RunContentProcess(ContentMainParams params,
}
}
-#if BUILDFLAG(IS_MAC)
- autorelease_pool.reset();
-#endif
+ return exit_code;
+}
+// This function must be marked with NO_STACK_PROTECTOR or it may crash on
+// return, see the --change-stack-guard-on-fork command line flag.
+int NO_STACK_PROTECTOR
+ContentMainRun(ContentMainRunner* content_main_runner) {
+ return content_main_runner->Run();
+}
+
+void ContentMainShutdown(ContentMainRunner* content_main_runner) {
#if !BUILDFLAG(IS_ANDROID)
content_main_runner->Shutdown();
@ -105,7 +94,7 @@ index 00c293219a70c..e68d0d3abd95e 100644
}
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 5029cbe44e4bd..fc6616da947eb 100644
index 8bfbf0e73fb8d..f80f322b65535 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -46,6 +46,7 @@
@ -116,7 +105,7 @@ index 5029cbe44e4bd..fc6616da947eb 100644
#include "base/time/time.h"
#include "base/trace_event/trace_event.h"
#include "build/build_config.h"
@@ -1290,6 +1291,12 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1306,6 +1307,12 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@ -130,7 +119,7 @@ index 5029cbe44e4bd..fc6616da947eb 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 ea9b5233820cd..aba62b3384134 100644
index 22173f344ae14..fe63790ef128f 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -27,7 +27,7 @@ class DiscardableSharedMemoryManager;
@ -152,7 +141,7 @@ index ea9b5233820cd..aba62b3384134 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 04a08015aaff6..694f5c43a29e1 100644
index 283161145d792..9f3f635abdd1c 100644
--- content/common/set_process_title.cc
+++ content/common/set_process_title.cc
@@ -54,7 +54,7 @@ void SetProcessTitleFromCommandLine(const char** main_argv) {

View File

@ -81,7 +81,7 @@ index 27a803784eb9e..a8b033f475cb4 100644
g_crash_helper_enabled = true;
return true;
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
index f748d2dd47946..98371cf551a75 100644
index 819bffbbe47c1..c00e3e6925cfe 100644
--- chrome/common/crash_keys.cc
+++ chrome/common/crash_keys.cc
@@ -6,6 +6,8 @@
@ -93,9 +93,9 @@ index f748d2dd47946..98371cf551a75 100644
#include "base/base_switches.h"
#include "base/command_line.h"
#include "base/format_macros.h"
@@ -93,8 +95,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) {
@@ -90,8 +92,10 @@ void HandleEnableDisableFeatures(const base::CommandLine& command_line) {
"commandline-disabled-feature");
}
#endif
+} // namespace
+
@ -105,16 +105,14 @@ index f748d2dd47946..98371cf551a75 100644
static const char* const kIgnoreSwitches[] = {
switches::kEnableLogging,
switches::kFlagSwitchesBegin,
@@ -154,13 +158,11 @@ bool IsBoringSwitch(const std::string& flag) {
@@ -149,11 +153,9 @@ bool IsBoringSwitch(const std::string& flag) {
return false;
}
-} // namespace
-
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) {
#if BUILDFLAG(IS_CHROMEOS)
HandleEnableDisableFeatures(command_line);
#endif
- SetSwitchesFromCommandLine(command_line, &IsBoringSwitch);
+ SetSwitchesFromCommandLine(command_line, &IsBoringChromeSwitch);
}

View File

@ -1,5 +1,5 @@
diff --git components/embedder_support/user_agent_utils.cc components/embedder_support/user_agent_utils.cc
index e7fe1c565aac5..45980ceed2c50 100644
index f213668d18044..32a2d4bcfb1b8 100644
--- components/embedder_support/user_agent_utils.cc
+++ components/embedder_support/user_agent_utils.cc
@@ -17,6 +17,7 @@
@ -21,7 +21,7 @@ index e7fe1c565aac5..45980ceed2c50 100644
namespace embedder_support {
namespace {
@@ -339,6 +344,14 @@ std::string GetMajorVersionForUserAgentString(
@@ -351,6 +356,14 @@ std::string GetMajorVersionForUserAgentString(
std::string GetProductAndVersion(
ForceMajorVersionToMinorPosition force_major_to_minor,
UserAgentReductionEnterprisePolicyState user_agent_reduction) {

View File

@ -60,7 +60,7 @@ index cead7cfa14bae..24142c2e4896f 100644
std::unique_ptr<StreamContainer> stream_container(
new StreamContainer(tab_id, embedded, handler_url, extension_id,
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 4d29671429220..e0f287f785668 100644
index 91928c8b7811e..a9c5913f4f5d0 100644
--- extensions/browser/extension_host.cc
+++ extensions/browser/extension_host.cc
@@ -62,11 +62,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
@ -161,7 +161,7 @@ index 9ba85048d1fcf..f3a5b8bc9bda0 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/extension_registry.cc extensions/browser/extension_registry.cc
index 10d751cceab73..128af05925e07 100644
index f142a40362c75..ed283ef8f1251 100644
--- extensions/browser/extension_registry.cc
+++ extensions/browser/extension_registry.cc
@@ -6,9 +6,14 @@
@ -179,7 +179,7 @@ index 10d751cceab73..128af05925e07 100644
namespace extensions {
ExtensionRegistry::ExtensionRegistry(content::BrowserContext* browser_context)
@@ -17,6 +22,11 @@ ExtensionRegistry::~ExtensionRegistry() {}
@@ -17,6 +22,11 @@ ExtensionRegistry::~ExtensionRegistry() = default;
// static
ExtensionRegistry* ExtensionRegistry::Get(content::BrowserContext* context) {
@ -192,10 +192,10 @@ index 10d751cceab73..128af05925e07 100644
}
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
index bb7a1c1860f7f..25f9d0c47e5ab 100644
index 2b0287529078a..e4144e0755e4b 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -31,6 +31,7 @@
@@ -30,6 +30,7 @@
#include "url/gurl.h"
class ExtensionFunctionRegistry;
@ -203,7 +203,7 @@ index bb7a1c1860f7f..25f9d0c47e5ab 100644
class PrefService;
namespace base {
@@ -73,6 +74,7 @@ class ComponentExtensionResourceManager;
@@ -74,6 +75,7 @@ class ComponentExtensionResourceManager;
class Extension;
class ExtensionCache;
class ExtensionError;
@ -211,7 +211,7 @@ index bb7a1c1860f7f..25f9d0c47e5ab 100644
class ExtensionHostDelegate;
class ExtensionSet;
class ExtensionSystem;
@@ -248,6 +250,14 @@ class ExtensionsBrowserClient {
@@ -249,6 +251,14 @@ class ExtensionsBrowserClient {
virtual std::unique_ptr<ExtensionHostDelegate>
CreateExtensionHostDelegate() = 0;
@ -227,10 +227,10 @@ index bb7a1c1860f7f..25f9d0c47e5ab 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 0a9fa13f82250..2d0ed7c2396c4 100644
index 115f31f9ce46d..914b2564d5a21 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -380,9 +380,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -379,9 +379,17 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();

View File

@ -12,7 +12,7 @@ index a9b0a5a827fc8..9a0fd388756f3 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index 7cfadb4724141..e59835c875ec6 100644
index 057b4081c95e5..9817b4c62a89e 100644
--- BUILD.gn
+++ BUILD.gn
@@ -18,6 +18,7 @@ import("//build/config/sanitizers/sanitizers.gni")
@ -23,7 +23,7 @@ index 7cfadb4724141..e59835c875ec6 100644
import("//chrome/browser/buildflags.gni")
import("//components/nacl/features.gni")
import("//device/vr/buildflags/buildflags.gni")
@@ -274,6 +275,10 @@ group("gn_all") {
@@ -279,6 +280,10 @@ group("gn_all") {
deps += root_extra_deps
@ -35,7 +35,7 @@ index 7cfadb4724141..e59835c875ec6 100644
deps += [ "//printing:printing_unittests" ]
}
diff --git build/config/win/visual_studio_version.gni build/config/win/visual_studio_version.gni
index d9024468296e7..11bfae65b7b02 100644
index 2314ab505bfa2..9b79bce8fff54 100644
--- build/config/win/visual_studio_version.gni
+++ build/config/win/visual_studio_version.gni
@@ -12,9 +12,8 @@ declare_args() {
@ -50,8 +50,8 @@ index d9024468296e7..11bfae65b7b02 100644
# Full path to the Windows SDK, not including a backslash at the end.
# This value is the default location, override if you have a different
@@ -28,12 +27,11 @@ if (visual_studio_path == "") {
visual_studio_path = toolchain_data.vs_path
@@ -29,12 +28,11 @@ if (visual_studio_path == "") {
windows_sdk_version = toolchain_data.sdk_version
windows_sdk_path = toolchain_data.sdk_path
visual_studio_version = toolchain_data.vs_version
- wdk_path = toolchain_data.wdk_dir
@ -80,7 +80,7 @@ index 60f573a736ba5..90dd6d0b37314 100644
+_OBJC_METACLASS_$_UnderlayOpenGLHostingWindow
+
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index a16658689a69e..36515332da633 100644
index b3f457a9ce656..1af43bc3bb657 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -6,6 +6,7 @@ import("//ash/ambient/resources/resources.gni")
@ -91,7 +91,7 @@ index a16658689a69e..36515332da633 100644
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//extensions/buildflags/buildflags.gni")
@@ -73,6 +74,10 @@ template("chrome_repack_percent") {
@@ -79,6 +80,10 @@ template("chrome_repack_percent") {
"//ui/chromeos/resources",
]
}

View File

@ -1,8 +1,8 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 15e77b25cc0b1..96d70a5ba039f 100644
index d8a54f29cdc9b..127f545f967ee 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -1110,6 +1110,15 @@
@@ -1121,6 +1121,15 @@
# END "everything else" section.
# Everything but chrome/, components/, content/, and ios/

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 b7f21237e87fa..11e4c166ab8a6 100644
index 1b4f9c8e3b79a..0a6e83421a6d6 100644
--- content/browser/child_process_launcher_helper_linux.cc
+++ content/browser/child_process_launcher_helper_linux.cc
@@ -183,7 +183,7 @@ ZygoteCommunication* ChildProcessLauncherHelper::GetZygoteForLaunch() {

View File

@ -1,5 +1,5 @@
diff --git device/bluetooth/BUILD.gn device/bluetooth/BUILD.gn
index 0b526044dcc7c..349ffa6a6ceca 100644
index b434121d8f4ea..3c70588acfbec 100644
--- device/bluetooth/BUILD.gn
+++ device/bluetooth/BUILD.gn
@@ -46,10 +46,12 @@ source_set("deprecated_experimental_mojo") {

View File

@ -1,5 +1,5 @@
diff --git chrome/common/media/component_widevine_cdm_hint_file_linux.cc chrome/common/media/component_widevine_cdm_hint_file_linux.cc
index 85a55fdd22a4f..0b935334136cb 100644
index ba25a6223d60e..508bb0e59f512 100644
--- chrome/common/media/component_widevine_cdm_hint_file_linux.cc
+++ chrome/common/media/component_widevine_cdm_hint_file_linux.cc
@@ -16,6 +16,7 @@
@ -44,7 +44,7 @@ index 85a55fdd22a4f..0b935334136cb 100644
- &hint_file_path));
+ CHECK(GetHintFilePath(&hint_file_path));
base::Value dict(base::Value::Type::DICTIONARY);
base::Value dict(base::Value::Type::DICT);
dict.SetStringPath(kPath, cdm_base_path.value());
@@ -62,8 +82,7 @@ bool UpdateWidevineCdmHintFile(const base::FilePath& cdm_base_path) {

View File

@ -1,5 +1,5 @@
diff --git ui/accessibility/platform/BUILD.gn ui/accessibility/platform/BUILD.gn
index 3bec9f0f7d46f..59c527bdd29cd 100644
index ebc2470893838..dd3b924499c9c 100644
--- ui/accessibility/platform/BUILD.gn
+++ ui/accessibility/platform/BUILD.gn
@@ -285,6 +285,10 @@ component("platform") {
@ -14,10 +14,10 @@ index 3bec9f0f7d46f..59c527bdd29cd 100644
}
}
diff --git ui/gtk/BUILD.gn ui/gtk/BUILD.gn
index 4fc6b6d617832..77f17ecf4caf0 100644
index 76ab8c9765bec..8bc3cdd0fec96 100644
--- ui/gtk/BUILD.gn
+++ ui/gtk/BUILD.gn
@@ -176,4 +176,8 @@ component("gtk") {
@@ -174,4 +174,8 @@ component("gtk") {
# TODO: This should be removed.
deps += [ "//ui/ozone" ]

View File

@ -1,5 +1,5 @@
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
index e0969d4ad3087..267ac89aab806 100644
index 7f5be88878bc6..f72a323b0c8b6 100644
--- base/message_loop/message_pump_win.cc
+++ base/message_loop/message_pump_win.cc
@@ -2,6 +2,7 @@
@ -10,7 +10,7 @@ index e0969d4ad3087..267ac89aab806 100644
#include "base/message_loop/message_pump_win.h"
#include <algorithm>
@@ -491,7 +492,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
@@ -487,7 +488,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
ctx.event()->set_chrome_message_pump();
msg_pump_data->set_sent_messages_in_queue(more_work_is_plausible);
});

View File

@ -1,8 +1,8 @@
diff --git base/message_loop/message_pump_mac.mm base/message_loop/message_pump_mac.mm
index 25ee65396cfb7..3c9b433cb31bb 100644
index 26223d7db1757..aa3261d2d3e7e 100644
--- base/message_loop/message_pump_mac.mm
+++ base/message_loop/message_pump_mac.mm
@@ -813,7 +813,8 @@ void MessagePumpUIApplication::Detach() {
@@ -786,7 +786,8 @@ void MessagePumpUIApplication::Detach() {
#else
ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@ -12,7 +12,7 @@ index 25ee65396cfb7..3c9b433cb31bb 100644
DCHECK_EQ(kNSApplicationModalSafeModeMask, g_app_pump->GetModeMask());
// Pumping events in private runloop modes is known to interact badly with
// app modal windows like NSAlert.
@@ -823,7 +824,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
@@ -796,7 +797,8 @@ ScopedPumpMessagesInPrivateModes::ScopedPumpMessagesInPrivateModes() {
}
ScopedPumpMessagesInPrivateModes::~ScopedPumpMessagesInPrivateModes() {

View File

@ -12,7 +12,7 @@ index ddf25382e49fc..fe64fa31a7a85 100644
virtual ~WebContentsView() = default;
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
index ec5521a6e2005..a9f3f55ffd176 100644
index 44d0b99677a74..843c49ccaecc3 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
@@ -228,6 +228,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@ -35,7 +35,7 @@ index ec5521a6e2005..a9f3f55ffd176 100644
DCHECK(stream_->handler_url().SchemeIs(extensions::kExtensionScheme));
GetController().LoadURL(stream_->handler_url(), content::Referrer(),
ui::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string());
@@ -493,6 +499,14 @@ void MimeHandlerViewGuest::DidFinishNavigation(
@@ -497,6 +503,14 @@ void MimeHandlerViewGuest::DidFinishNavigation(
}
}
@ -51,10 +51,10 @@ index ec5521a6e2005..a9f3f55ffd176 100644
mojo::PendingReceiver<mime_handler::BeforeUnloadControl> receiver) {
if (!pending_before_unload_control_)
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
index 810289b11cba7..714b7c64c9ba2 100644
index 2ade4d0b28ba4..8ba6293863a93 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
@@ -193,6 +193,7 @@ class MimeHandlerViewGuest
@@ -196,6 +196,7 @@ class MimeHandlerViewGuest
void ReadyToCommitNavigation(
content::NavigationHandle* navigation_handle) final;
void DidFinishNavigation(content::NavigationHandle* navigation_handle) final;
@ -62,7 +62,7 @@ index 810289b11cba7..714b7c64c9ba2 100644
std::unique_ptr<MimeHandlerViewGuestDelegate> delegate_;
std::unique_ptr<StreamContainer> stream_;
@@ -201,6 +202,7 @@ class MimeHandlerViewGuest
@@ -204,6 +205,7 @@ class MimeHandlerViewGuest
content::ChildProcessHost::kInvalidUniqueID, MSG_ROUTING_NONE};
int embedder_widget_routing_id_ = MSG_ROUTING_NONE;

View File

@ -10,10 +10,10 @@ index f936d951fe272..90a3165172dce 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 31b8af59f7b5e..162d54de19abf 100644
index 48d7ae0d56f20..f8546bd81957c 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -1705,7 +1705,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
@@ -1714,7 +1714,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
// Read cookies whenever allow_credentials() is true, even if the PrivacyMode
// is being overridden by NetworkDelegate and will eventually block them, as
// blocked cookies still need to be logged in that case.

View File

@ -1,8 +1,8 @@
diff --git net/test/embedded_test_server/embedded_test_server.cc net/test/embedded_test_server/embedded_test_server.cc
index d112bec7c7dce..ca88a6df95e5d 100644
index c7cfa008b872f..e401aef2c54e2 100644
--- net/test/embedded_test_server/embedded_test_server.cc
+++ net/test/embedded_test_server/embedded_test_server.cc
@@ -982,7 +982,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWait(base::OnceClosure closure) {
@@ -984,7 +984,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWait(base::OnceClosure closure) {
if (!base::CurrentThread::Get())
temporary_loop = std::make_unique<base::SingleThreadTaskExecutor>();
@ -11,7 +11,7 @@ index d112bec7c7dce..ca88a6df95e5d 100644
if (!io_thread_->task_runner()->PostTaskAndReply(
FROM_HERE, std::move(closure), run_loop.QuitClosure())) {
return false;
@@ -1009,7 +1009,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWaitWithResult(
@@ -1011,7 +1011,7 @@ bool EmbeddedTestServer::PostTaskToIOThreadAndWaitWithResult(
if (!base::CurrentThread::Get())
temporary_loop = std::make_unique<base::SingleThreadTaskExecutor>();

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 84e5d2a493556..160478790e261 100644
index 431df5d50debe..0fcc9ea8fbb1a 100644
--- content/browser/renderer_host/input/fling_scheduler.cc
+++ content/browser/renderer_host/input/fling_scheduler.cc
@@ -68,6 +68,9 @@ void FlingScheduler::ProgressFlingOnBeginFrameIfneeded(
@ -9,9 +9,9 @@ index 84e5d2a493556..160478790e261 100644
+ if (compositor_) {
+ return compositor_;
+ }
#if defined(USE_AURA)
if (host_->GetView() && host_->GetView()->GetNativeView() &&
host_->GetView()->GetNativeView()->GetHost() &&
if (!host_->GetView()) {
return nullptr;
}
diff --git content/browser/renderer_host/input/fling_scheduler_base.h content/browser/renderer_host/input/fling_scheduler_base.h
index afefe3cd83dee..6668463247644 100644
--- content/browser/renderer_host/input/fling_scheduler_base.h
@ -41,7 +41,7 @@ index afefe3cd83dee..6668463247644 100644
} // namespace content
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index a689c6e60b5d5..5a1204c01f04a 100644
index 5c162ee2f6edd..c6f31297e33fe 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3144,6 +3144,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
@ -57,7 +57,7 @@ index a689c6e60b5d5..5a1204c01f04a 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 3910d3a1642ab..8738df72afced 100644
index 5b2482ee77ef3..54fa2ea322206 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -791,6 +791,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl

View File

@ -1,12 +0,0 @@
diff --git BUILD.gn BUILD.gn
index a8532128d..f5a098afa 100644
--- BUILD.gn
+++ BUILD.gn
@@ -338,6 +338,7 @@ group("pdfium_public_headers") {
}
component("pdfium") {
+ output_name = "pdfium"
libs = []
configs += [ ":pdfium_strict_config" ]
public_configs = [ ":pdfium_public_config" ]

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
index 35c194b2d8dc4..8b9cc3095906c 100644
index 6fe1ebe84e584..2500dac50ffe3 100644
--- chrome/browser/download/download_prefs.cc
+++ chrome/browser/download/download_prefs.cc
@@ -24,6 +24,7 @@
@ -10,8 +10,8 @@ index 35c194b2d8dc4..8b9cc3095906c 100644
#include "chrome/browser/download/chrome_download_manager_delegate.h"
#include "chrome/browser/download/download_core_service_factory.h"
#include "chrome/browser/download/download_core_service_impl.h"
@@ -61,6 +62,10 @@
#include "chrome/browser/ui/pdf/adobe_reader_info_win.h"
@@ -64,6 +65,10 @@
#include "chrome/browser/download/bubble/download_bubble_prefs.h"
#endif
+#if BUILDFLAG(ENABLE_CEF)
@ -21,7 +21,7 @@ index 35c194b2d8dc4..8b9cc3095906c 100644
using content::BrowserContext;
using content::BrowserThread;
using content::DownloadManager;
@@ -348,6 +353,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
@@ -355,6 +360,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
// static
DownloadPrefs* DownloadPrefs::FromBrowserContext(
content::BrowserContext* context) {
@ -34,7 +34,7 @@ index 35c194b2d8dc4..8b9cc3095906c 100644
}
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index b848ee0d185ec..c3ddbc8932f66 100644
index f2dca42faf347..458703a565501 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -15,6 +15,7 @@
@ -46,10 +46,10 @@ index b848ee0d185ec..c3ddbc8932f66 100644
#include "chrome/browser/printing/print_view_manager.h"
#include "chrome/browser/task_manager/web_contents_tags.h"
diff --git chrome/browser/printing/print_view_manager_base.cc chrome/browser/printing/print_view_manager_base.cc
index 34d6001efd674..d8c99f9f01e3c 100644
index a2adc3c992aba..8cd9aa18e2383 100644
--- chrome/browser/printing/print_view_manager_base.cc
+++ chrome/browser/printing/print_view_manager_base.cc
@@ -610,13 +610,14 @@ void PrintViewManagerBase::UpdatePrintSettings(
@@ -625,13 +625,14 @@ void PrintViewManagerBase::UpdatePrintSettings(
job_settings.Set(kSettingRasterizePdfDpi, value);
}
@ -104,10 +104,10 @@ index d5767fe27db0d..5778847a68208 100644
}
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
index 2680a3e16f53f..a925307664c15 100644
index e51bf24fcc74f..ed48fb4d6968d 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -23,6 +23,7 @@
@@ -22,6 +22,7 @@
#include "base/values.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -115,7 +115,7 @@ index 2680a3e16f53f..a925307664c15 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/pdf/pdf_extension_util.h"
#include "chrome/browser/policy/management_utils.h"
@@ -101,6 +102,13 @@ const char16_t kBasicPrintShortcut[] = u"\u0028\u21e7\u2318\u0050\u0029";
@@ -100,6 +101,13 @@ const char16_t kBasicPrintShortcut[] = u"\u0028\u21e7\u2318\u0050\u0029";
const char16_t kBasicPrintShortcut[] = u"(Ctrl+Shift+P)";
#endif
@ -129,7 +129,7 @@ index 2680a3e16f53f..a925307664c15 100644
constexpr char kInvalidArgsForDidStartPreview[] =
"Invalid arguments for DidStartPreview";
constexpr char kInvalidPageNumberForDidPreviewPage[] =
@@ -329,7 +337,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) {
@@ -328,7 +336,7 @@ void AddPrintPreviewStrings(content::WebUIDataSource* source) {
source->AddLocalizedStrings(kLocalizedStrings);
#if !BUILDFLAG(IS_CHROMEOS)

View File

@ -28,10 +28,10 @@ index a013ab393c6b0..1187c26bb65f8 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 1ea959098a63a..82afff58caf65 100644
index a60f965097653..4e7819d776a2c 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -216,6 +216,11 @@ class COMPONENT_EXPORT(UI_BASE) ResourceBundle {
@@ -220,6 +220,11 @@ class COMPONENT_EXPORT(UI_BASE) ResourceBundle {
ResourceBundle(const ResourceBundle&) = delete;
ResourceBundle& operator=(const ResourceBundle&) = delete;

View File

@ -0,0 +1,36 @@
diff --git components/rlz/rlz_tracker.cc components/rlz/rlz_tracker.cc
index b59d3ba6f1aa4..74e488cd4f3c6 100644
--- components/rlz/rlz_tracker.cc
+++ components/rlz/rlz_tracker.cc
@@ -219,7 +219,8 @@ class RLZTracker::WrapperURLLoaderFactory
// static
RLZTracker* RLZTracker::GetInstance() {
- return tracker_ ? tracker_ : base::Singleton<RLZTracker>::get();
+ static base::NoDestructor<RLZTracker> instance;
+ return tracker_ ? tracker_ : instance.get();
}
RLZTracker::RLZTracker()
diff --git components/rlz/rlz_tracker.h components/rlz/rlz_tracker.h
index 5e30a66838620..bd2166db1f53f 100644
--- components/rlz/rlz_tracker.h
+++ components/rlz/rlz_tracker.h
@@ -10,7 +10,7 @@
#include <string>
#include "base/memory/ref_counted.h"
-#include "base/memory/singleton.h"
+#include "base/no_destructor.h"
#include "base/sequence_checker.h"
#include "base/thread_annotations.h"
#include "base/time/time.h"
@@ -128,7 +128,7 @@ class RLZTracker {
void PingNowImpl();
private:
- friend struct base::DefaultSingletonTraits<RLZTracker>;
+ friend class base::NoDestructor<RLZTracker>;
friend class base::RefCountedThreadSafe<RLZTracker>;
// Implementation called from SetRlzDelegate() static method.

View File

@ -1,8 +1,8 @@
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
index 026bcc96c3439..cbc827b27a0ba 100644
index d2f5798ce6535..64d6d388c9a27 100644
--- build/toolchain/win/setup_toolchain.py
+++ build/toolchain/win/setup_toolchain.py
@@ -165,13 +165,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store):
@@ -167,13 +167,17 @@ def _LoadToolchainEnv(cpu, toolchain_root, sdk_dir, target_store):
del os.environ['LIB']
if 'LIBPATH' in os.environ:
del os.environ['LIBPATH']
@ -26,10 +26,10 @@ index 026bcc96c3439..cbc827b27a0ba 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 6ca0be49fe8ed..28e134716c116 100755
index a420dad636df4..3bf547aeacf1b 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -106,9 +106,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():
@@ -112,9 +112,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():
runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs)
os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH']
elif sys.platform == 'win32' and not depot_tools_win_toolchain:
@ -46,7 +46,7 @@ index 6ca0be49fe8ed..28e134716c116 100755
# When using an installed toolchain these files aren't needed in the output
# directory in order to run binaries locally, but they are needed in order
# to create isolates or the mini_installer. Copying them to the output
@@ -157,6 +164,10 @@ def _RegistryGetValue(key, value):
@@ -163,6 +170,10 @@ def _RegistryGetValue(key, value):
def GetVisualStudioVersion():
"""Return best available version of Visual Studio.
"""
@ -57,12 +57,12 @@ index 6ca0be49fe8ed..28e134716c116 100755
supported_versions = list(MSVS_VERSIONS.keys())
# VS installed in depot_tools for Googlers
@@ -430,7 +441,7 @@ def _CopyDebugger(target_dir, target_cpu):
@@ -421,7 +432,7 @@ def _CopyDebugger(target_dir, target_cpu):
# List of debug files that should be copied, the first element of the tuple is
# the name of the file and the second indicates if it's optional.
- debug_files = [('dbghelp.dll', False), ('dbgcore.dll', True)]
+ debug_files = []
# The UCRT is not a redistributable component on arm64.
if target_cpu != 'arm64':
debug_files.extend([('api-ms-win-downlevel-kernel32-l2-1-0.dll', False),
for debug_file, is_optional in debug_files:
full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file)
if not os.path.exists(full_path):

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 65daab4054860..14c44d8bd5512 100644
index 4cd6bcb8c4ace..6518bf9383621 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -6,6 +6,7 @@
@ -10,7 +10,7 @@ index 65daab4054860..14c44d8bd5512 100644
#include <set>
#include <utility>
@@ -724,10 +725,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -727,10 +728,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -27,7 +27,7 @@ index 65daab4054860..14c44d8bd5512 100644
}
absl::optional<DisplayFeature> RenderWidgetHostViewAura::GetDisplayFeature() {
@@ -2240,6 +2243,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2238,6 +2241,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
// This needs to happen only after |window_| has been initialized using
// Init(), because it needs to have the layer.
window_->SetEmbedFrameSinkId(frame_sink_id_);

View File

@ -21,7 +21,7 @@ index 53383355d6646..d7a713017e16d 100644
enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext(
profile);
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index 99fb0211efd6b..5f4a4c2d7c977 100644
index dd097856a0245..8f07b4b4bdfb2 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -22,6 +22,7 @@
@ -32,7 +32,7 @@ index 99fb0211efd6b..5f4a4c2d7c977 100644
#include "chrome/browser/browser_features.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_content_browser_client.h"
@@ -283,8 +284,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
@@ -298,8 +299,10 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
base::Unretained(this)));
cookie_settings_ = CookieSettingsFactory::GetForProfile(profile);
cookie_settings_observation_.Observe(cookie_settings_.get());
@ -45,7 +45,7 @@ index 99fb0211efd6b..5f4a4c2d7c977 100644
DisableQuicIfNotAllowed();
@@ -324,7 +327,9 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
@@ -339,7 +342,9 @@ ProfileNetworkContextService::ProfileNetworkContextService(Profile* profile)
base::Unretained(this)));
#if BUILDFLAG(ENABLE_EXTENSIONS)
@ -56,7 +56,7 @@ index 99fb0211efd6b..5f4a4c2d7c977 100644
#endif
}
@@ -828,7 +833,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
@@ -832,7 +837,19 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
// Configure on-disk storage for non-OTR profiles. OTR profiles just use
// default behavior (in memory storage, default sizes).
@ -77,7 +77,7 @@ index 99fb0211efd6b..5f4a4c2d7c977 100644
PrefService* local_state = g_browser_process->local_state();
// Configure the HTTP cache path and size.
base::FilePath base_cache_path;
@@ -841,7 +858,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
@@ -845,7 +862,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
base_cache_path.Append(chrome::kCacheDirname);
network_context_params->http_cache_max_size =
local_state->GetInteger(prefs::kDiskCacheSize);
@ -87,14 +87,6 @@ index 99fb0211efd6b..5f4a4c2d7c977 100644
network_context_params->file_paths =
::network::mojom::NetworkContextFilePaths::New();
@@ -1039,6 +1058,7 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
network_context_params->require_network_isolation_key = true;
network_context_params->block_trust_tokens =
+ cef::IsAlloyRuntimeEnabled() ||
!PrivacySandboxSettingsFactory::GetForProfile(profile_)
->IsTrustTokensAllowed();
diff --git chrome/browser/signin/identity_manager_factory.cc chrome/browser/signin/identity_manager_factory.cc
index 0f92e4682eee9..ea6e6ed6f1e05 100644
--- chrome/browser/signin/identity_manager_factory.cc
@ -197,10 +189,10 @@ index 5b4fe64a4374a..780c9726a03d3 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index 47bba434b56d8..92060d40e0a84 100644
index 569b32218cb3c..cf041cc909878 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2252,16 +2252,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2257,16 +2257,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}
@ -229,10 +221,10 @@ index 47bba434b56d8..92060d40e0a84 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 b2254b765c313..9d7da9a963f40 100644
index 9433e0e6bbd2c..8f15dca8748a2 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -347,6 +347,9 @@ struct NetworkContextParams {
@@ -349,6 +349,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@ -1,5 +1,5 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index a0aa623d7f673..2d60f2a4d40e5 100644
index c0a0fa84be58e..59543775a9c5b 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -494,10 +494,6 @@ class LoginHandlerDelegate {
@ -26,7 +26,7 @@ index a0aa623d7f673..2d60f2a4d40e5 100644
new LoginHandlerDelegate(
std::move(auth_challenge_responder), std::move(web_contents_getter),
auth_info, is_request_for_primary_main_frame, process_id, request_id, url,
@@ -2939,8 +2929,12 @@ void StoragePartitionImpl::GetQuotaSettings(
@@ -2985,8 +2975,12 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
@ -40,7 +40,7 @@ index a0aa623d7f673..2d60f2a4d40e5 100644
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
@@ -2950,9 +2944,12 @@ void StoragePartitionImpl::InitNetworkContext() {
@@ -2996,9 +2990,12 @@ void StoragePartitionImpl::InitNetworkContext() {
cert_verifier::mojom::CertVerifierCreationParamsPtr
cert_verifier_creation_params =
cert_verifier::mojom::CertVerifierCreationParams::New();

View File

@ -13,7 +13,7 @@ index 3bfd99c004c55..e95bb2a6d78c2 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 fe0f45376b729..2120ae8ef7665 100644
index 21e72bb8a6994..f4d9994c2fc57 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -130,7 +130,7 @@ StoragePartition* BrowserContext::GetStoragePartition(
@ -58,7 +58,7 @@ index 81013d6eb993a..89abfbe7fec6c 100644
// static
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index 27861ffd3321e..6983995e38815 100644
index 3ee340ca7e21f..f341d1e25a0ab 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -568,7 +568,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 686b0af1442fb..859c7ad4c64aa 100644
index ee17e77330c49..3a4bbed8d4db4 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -64,6 +64,8 @@

View File

@ -43,7 +43,7 @@ index f1f8f33165a4a..8b07817c654e8 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index 68a3c1f68f6c1..721bc530f8690 100644
index 2beb8043a684a..52654691534d6 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -665,6 +665,14 @@ void RenderText::SetWhitespaceElision(absl::optional<bool> whitespace_elision) {
@ -61,7 +61,7 @@ index 68a3c1f68f6c1..721bc530f8690 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -1994,6 +2002,19 @@ void RenderText::OnTextAttributeChanged() {
@@ -2034,6 +2042,19 @@ void RenderText::OnTextAttributeChanged() {
layout_text_up_to_date_ = false;
@ -82,7 +82,7 @@ index 68a3c1f68f6c1..721bc530f8690 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index 5d9aaef31ecea..a6b47cd468270 100644
index 3c78525361ebf..c922dfe5019a3 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -347,6 +347,10 @@ class GFX_EXPORT RenderText {
@ -106,10 +106,10 @@ index 5d9aaef31ecea..a6b47cd468270 100644
} // namespace gfx
diff --git ui/views/animation/ink_drop_host.h ui/views/animation/ink_drop_host.h
index 427aed77cff26..415d8a4b22460 100644
index a1d08dcdf927a..d2e97e608b357 100644
--- ui/views/animation/ink_drop_host.h
+++ ui/views/animation/ink_drop_host.h
@@ -179,6 +179,8 @@ class VIEWS_EXPORT InkDropHost {
@@ -181,6 +181,8 @@ class VIEWS_EXPORT InkDropHost {
View* host_view() { return host_view_; }
const View* host_view() const { return host_view_; }
@ -119,10 +119,10 @@ index 427aed77cff26..415d8a4b22460 100644
friend class test::InkDropHostTestApi;
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
index 5f48fe806d0ca..6253c7e880106 100644
index 55f76e5035abb..4b1cd927c591d 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -538,6 +538,12 @@ void LabelButton::OnThemeChanged() {
@@ -534,6 +534,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@ -136,10 +136,10 @@ index 5f48fe806d0ca..6253c7e880106 100644
Button::StateChanged(old_state);
ResetLabelEnabledColor();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index 2da2766eeb055..0a8fbf3c51c13 100644
index 80e21893c23fb..29b05f765c016 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -141,6 +141,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -144,6 +144,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
ui::NativeTheme::State GetForegroundThemeState(
ui::NativeTheme::ExtraParams* params) const override;
@ -150,10 +150,10 @@ index 2da2766eeb055..0a8fbf3c51c13 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index b544876cabea1..51efa38cda76e 100644
index cc9794448399b..22e2abfd34b0f 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -52,12 +52,29 @@ enum LabelPropertyKey {
@@ -51,12 +51,29 @@ enum LabelPropertyKey {
kLabelLineHeight,
kLabelObscured,
kLabelAllowCharacterBreak,
@ -183,7 +183,7 @@ index b544876cabea1..51efa38cda76e 100644
} // namespace
namespace views {
@@ -448,6 +465,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
@@ -454,6 +471,15 @@ void Label::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
OnPropertyChanged(&elide_behavior_, kPropertyEffectsPreferredSizeChanged);
}
@ -199,7 +199,7 @@ index b544876cabea1..51efa38cda76e 100644
std::u16string Label::GetTooltipText() const {
return tooltip_text_;
}
@@ -753,6 +779,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
@@ -759,6 +785,16 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SelectRange(stored_selection_range_);
}
@ -217,10 +217,10 @@ index b544876cabea1..51efa38cda76e 100644
}
diff --git ui/views/controls/label.h ui/views/controls/label.h
index 78bf64d40a649..16b889859d358 100644
index cfcc785aec6e2..1eedb3474e4af 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -237,6 +237,10 @@ class VIEWS_EXPORT Label : public View,
@@ -241,6 +241,10 @@ class VIEWS_EXPORT Label : public View,
gfx::ElideBehavior GetElideBehavior() const;
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
@ -231,7 +231,7 @@ index 78bf64d40a649..16b889859d358 100644
// Gets/Sets the tooltip text. Default behavior for a label (single-line) is
// to show the full text if it is wider than its bounds. Calling this
// overrides the default behavior and lets you set a custom tooltip. To
@@ -497,6 +501,7 @@ class VIEWS_EXPORT Label : public View,
@@ -501,6 +505,7 @@ class VIEWS_EXPORT Label : public View,
int max_width_ = 0;
// This is used in single-line mode.
int max_width_single_line_ = 0;
@ -240,7 +240,7 @@ index 78bf64d40a649..16b889859d358 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index 64229eeead5f9..d3a13d1c0ab27 100644
index 2309794bb1692..ad6730b449bf9 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -471,7 +471,8 @@ void MenuController::Run(Widget* parent,
@ -261,7 +261,7 @@ index 64229eeead5f9..d3a13d1c0ab27 100644
// Only create a MenuPreTargetHandler for non-nested menus. Nested menus
// will use the existing one.
@@ -2199,6 +2201,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
@@ -2196,6 +2198,7 @@ void MenuController::OpenMenuImpl(MenuItemView* item, bool show) {
params.do_capture = do_capture;
params.native_view_for_gestures = native_view_for_gestures_;
params.owned_window_anchor = anchor;
@ -269,7 +269,7 @@ index 64229eeead5f9..d3a13d1c0ab27 100644
if (item->GetParentMenuItem()) {
params.context = state_.item->GetWidget();
@@ -2899,8 +2902,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
@@ -2896,8 +2899,13 @@ MenuItemView* MenuController::FindInitialSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -284,7 +284,7 @@ index 64229eeead5f9..d3a13d1c0ab27 100644
MenuItemView* to_select = nullptr;
if (!item->GetSubmenu()->GetMenuItems().empty())
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2919,8 +2927,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2916,8 +2924,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -396,10 +396,10 @@ index 67cdb883886f8..4ca7d632ad7f9 100644
explicit MenuHost(SubmenuView* submenu);
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
index 5cef5b698b9db..0e07b10be1744 100644
index d49c73d71593e..84bbf9fd78fde 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1095,6 +1095,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1097,6 +1097,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
@ -415,7 +415,7 @@ index 5cef5b698b9db..0e07b10be1744 100644
} else if (paint_as_selected) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == Type::kActionableSubMenu) {
@@ -1161,6 +1170,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
@@ -1163,6 +1172,13 @@ void MenuItemView::PaintMinorIconAndText(gfx::Canvas* canvas, SkColor color) {
}
SkColor MenuItemView::GetTextColor(bool minor, bool paint_as_selected) const {
@ -430,7 +430,7 @@ index 5cef5b698b9db..0e07b10be1744 100644
GetMenuController() && GetMenuController()->use_ash_system_ui_layout()
? style::CONTEXT_TOUCH_MENU
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
index 944a82d709df8..08aaf00b0208e 100644
index daf9fff97149b..39ba5daae6eb1 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -4,6 +4,7 @@
@ -441,8 +441,8 @@ index 944a82d709df8..08aaf00b0208e 100644
#include <list>
#include <memory>
#include <utility>
@@ -243,6 +244,76 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return false;
@@ -220,6 +221,76 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
return model->IsItemCheckedAt(index);
}
+MenuItemView* MenuModelAdapter::GetSiblingMenu(MenuItemView* menu,
@ -651,10 +651,10 @@ index 50291eb07440a..9716791a463aa 100644
void Cancel() override;
base::TimeTicks GetClosingEventTime() const override;
diff --git ui/views/controls/menu/menu_runner_impl_cocoa.mm ui/views/controls/menu/menu_runner_impl_cocoa.mm
index 9ad468f10e9df..ccbaaad5b78bd 100644
index 5f8fdc6564efd..9dbe6f06764b0 100644
--- ui/views/controls/menu/menu_runner_impl_cocoa.mm
+++ ui/views/controls/menu/menu_runner_impl_cocoa.mm
@@ -195,6 +195,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
@@ -194,6 +194,7 @@ void MenuRunnerImplCocoa::RunMenuAt(
MenuAnchorPosition anchor,
int32_t run_types,
gfx::NativeView native_view_for_gestures,
@ -692,10 +692,10 @@ index e9102acc407c8..46a0cfb8bf436 100644
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
diff --git ui/views/test/ui_controls_factory_desktop_aura_ozone.cc ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
index da9cefb9dffc1..6900756b3822d 100644
index 983f9390aa1f6..d6db1ea93e0ef 100644
--- ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
+++ ui/views/test/ui_controls_factory_desktop_aura_ozone.cc
@@ -16,6 +16,7 @@
@@ -15,6 +15,7 @@
#include "base/task/single_thread_task_runner.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
@ -703,20 +703,20 @@ index da9cefb9dffc1..6900756b3822d 100644
#include "ui/aura/client/screen_position_client.h"
#include "ui/aura/env.h"
#include "ui/aura/test/aura_test_utils.h"
@@ -106,9 +107,11 @@ class UIControlsDesktopOzone : public UIControlsAura {
aura::test::QueryLatestMousePositionRequestInHost(host);
host->ConvertPixelsToDIP(&root_current_location);
@@ -172,9 +173,11 @@ bool SendMouseMoveNotifyWhenDone(int screen_x,
aura::test::QueryLatestMousePositionRequestInHost(host);
host->ConvertPixelsToDIP(&root_current_location);
+#if !BUILDFLAG(ENABLE_CEF)
auto* screen = views::test::TestDesktopScreenOzone::GetInstance();
DCHECK_EQ(screen, display::Screen::GetScreen());
screen->set_cursor_screen_point(gfx::Point(screen_x, screen_y));
auto* screen = views::test::TestDesktopScreenOzone::GetInstance();
DCHECK_EQ(screen, display::Screen::GetScreen());
screen->set_cursor_screen_point(gfx::Point(screen_x, screen_y));
+#endif
#if !BUILDFLAG(IS_CHROMEOS_LACROS)
if (root_location != root_current_location &&
if (root_location != root_current_location &&
diff --git ui/views/view.h ui/views/view.h
index 43b50bfdc3cb6..3d23059131467 100644
index 93a815e296c1c..f2031bb782795 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -21,6 +21,7 @@
@ -727,7 +727,7 @@ index 43b50bfdc3cb6..3d23059131467 100644
#include "build/build_config.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "third_party/skia/include/core/SkPath.h"
@@ -271,7 +272,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
@@ -285,7 +286,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
public ui::EventTarget,
public ui::EventHandler,
public ui::PropertyHandler,

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 9a942b2b4dd39..fe77b3fa468e3 100644
index 0c3953a9e8c68..c3ec0b1b6f79f 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -656,6 +656,14 @@ float RenderWidgetHostViewBase::GetScaleOverrideForCapture() const {
@ -18,7 +18,7 @@ index 9a942b2b4dd39..fe77b3fa468e3 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 1425fc2e82e48..312114d238da2 100644
index d83e754fe27be..7d35d07fde46d 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -71,6 +71,7 @@ class CursorManager;
@ -62,7 +62,7 @@ index 1425fc2e82e48..312114d238da2 100644
// Sets the cursor for this view to the one specified.
virtual void UpdateCursor(const ui::Cursor& cursor) = 0;
@@ -675,6 +688,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
@@ -676,6 +689,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
// to all displays.
gfx::Size system_cursor_size_;
@ -73,7 +73,7 @@ index 1425fc2e82e48..312114d238da2 100644
private:
FRIEND_TEST_ALL_PREFIXES(
BrowserSideFlingBrowserTest,
@@ -696,10 +713,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
@@ -697,10 +714,6 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView {
void SynchronizeVisualProperties();
@ -243,10 +243,10 @@ index 01d4ffe408a84..fbe41fefbb2bd 100644
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
};
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
index 113fcb91360fb..8d82b545b51bb 100644
index 1b890d3baef41..c47296b0971a9 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
@@ -275,8 +275,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
@@ -273,8 +273,8 @@ void DesktopWindowTreeHostPlatform::Init(const Widget::InitParams& params) {
if (properties.parent_widget) {
window_parent_ = DesktopWindowTreeHostPlatform::GetHostForWidget(
properties.parent_widget);
@ -359,7 +359,7 @@ index b23ba1bf3a49f..f85ff1bef75e4 100644
// the implementation of ::ShowCursor() is based on a counter, so making this
// member static ensures that ::ShowCursor() is always called exactly once
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index 13d32438918d0..e5152c6e467c2 100644
index 1e80a2a1d3271..73c5297cba951 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -366,7 +366,8 @@ void Widget::Init(InitParams params) {
@ -441,7 +441,7 @@ index 56c992edca67a..21cee8b517edd 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 b162f426dbceb..017eb2562f6eb 100644
index 3b9b00b7d79ae..e759e3c1a9f34 100644
--- ui/views/widget/widget_hwnd_utils.cc
+++ ui/views/widget/widget_hwnd_utils.cc
@@ -63,7 +63,8 @@ void CalculateWindowStylesFromInitParams(
@ -455,23 +455,24 @@ index b162f426dbceb..017eb2562f6eb 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 22bb24f2afcef..9d63bf4013775 100644
index a73f04ed21dcb..d51a187990319 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -826,7 +826,11 @@ bool HWNDMessageHandler::IsVisible() const {
}
bool HWNDMessageHandler::IsActive() const {
- return GetActiveWindow() == hwnd();
@@ -942,8 +942,12 @@ bool HWNDMessageHandler::IsActive() const {
// In headless mode return expected activation state instead of the
// actual one. This ensures that onfocus/onblur notifications work
// as expected and no unexpected throttling occurs.
+ // This active state is checked via FocusManager::SetFocusedViewWithReason.
+ // With CEF external parent hwnd() may be a child window, whereas
+ // GetActiveWindow() will return the root window, so make sure that we always
+ // compare root windows.
+ return GetActiveWindow() == GetAncestor(hwnd(), GA_ROOT);
return IsHeadless() ? headless_mode_window_->active_state
- : GetActiveWindow() == hwnd();
+ : GetActiveWindow() == GetAncestor(hwnd(), GA_ROOT);
}
bool HWNDMessageHandler::IsMinimized() const {
@@ -3187,10 +3191,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -3300,10 +3304,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -80,7 +80,7 @@ index 8af69cac78b74..9f74e511c263d 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index 77fc13c924dd1..3046733922148 100644
index 21a1138ca8df2..283eb9f091583 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -220,6 +220,8 @@ viz_component("service") {
@ -93,7 +93,7 @@ index 77fc13c924dd1..3046733922148 100644
defines = [ "VIZ_SERVICE_IMPLEMENTATION" ]
diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc
index ec7cc3404b5d6..01898ac0cef5b 100644
index 0bc450ca4faf2..bdbdca76246c6 100644
--- components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -17,6 +17,7 @@
@ -112,7 +112,7 @@ index ec7cc3404b5d6..01898ac0cef5b 100644
#include "ui/base/ui_base_switches.h"
#if BUILDFLAG(IS_WIN)
@@ -141,6 +143,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
@@ -144,6 +146,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
if (headless_)
return std::make_unique<SoftwareOutputDevice>();
@ -150,7 +150,7 @@ index d4d4c1444e7a1..d62a3939a31fa 100644
TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this);
diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc
index d4c0be621ecd9..8b6052c4bd807 100644
index a45fa7c141777..0cec28b75fcef 100644
--- content/browser/compositor/viz_process_transport_factory.cc
+++ content/browser/compositor/viz_process_transport_factory.cc
@@ -397,8 +397,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
@ -191,17 +191,18 @@ index d63ec55ae38d6..ff86831efd68b 100644
// running in the same process, so it won't block anything.
// TODO(159346933) Remove once the origin isolation logic is moved outside of
diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom
index 83c153d99c1e2..7396a87b56a94 100644
index c286482bc7ddb..0914982e12be9 100644
--- services/viz/privileged/mojom/compositing/display_private.mojom
+++ services/viz/privileged/mojom/compositing/display_private.mojom
@@ -102,12 +102,14 @@ interface DisplayPrivate {
};
@@ -103,13 +103,15 @@ interface DisplayPrivate {
// DisplayClient allows privileged clients to receive events from the Display.
interface DisplayClient {
+ [Sync]
+ UseProxyOutputDevice() => (bool success);
+
[EnableIf=is_mac]
// Called when new Core Animation Layer params are received.
[EnableIf=is_apple]
OnDisplayReceivedCALayerParams(gfx.mojom.CALayerParams ca_layer_params);
// Creates a LayeredWindowUpdater implementation to draw into a layered
@ -222,7 +223,7 @@ index 2f462f0deb5fc..695869b83cefa 100644
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 2d296b025ec17..a45c73aaa09b8 100644
index e7be43d3f842f..541dc0fde093b 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -33,7 +33,9 @@
@ -260,7 +261,7 @@ index 2d296b025ec17..a45c73aaa09b8 100644
// Sets the root of the layer tree drawn by this Compositor. The root layer
// must have no parent. The compositor's root layer is reset if the root layer
// is destroyed. NULL can be passed to reset the root layer, in which case the
@@ -513,6 +526,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
@@ -520,6 +533,8 @@ class COMPOSITOR_EXPORT Compositor : public base::PowerSuspendObserver,
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index c4db6519acbff..03d173d9bf8fa 100644
index 39e8934e0d54b..bbc9d78392973 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -3182,6 +3182,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3175,6 +3175,12 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
params.main_frame_name, GetOpener(), primary_main_frame_policy,
base::UnguessableToken::Create());
@ -15,7 +15,7 @@ index c4db6519acbff..03d173d9bf8fa 100644
std::unique_ptr<WebContentsViewDelegate> delegate =
GetContentClient()->browser()->GetWebContentsViewDelegate(this);
@@ -3192,6 +3198,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
@@ -3185,6 +3191,7 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params,
view_ = CreateWebContentsView(this, std::move(delegate),
&render_view_host_delegate_view_);
}
@ -23,7 +23,7 @@ index c4db6519acbff..03d173d9bf8fa 100644
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -3372,6 +3379,9 @@ void WebContentsImpl::RenderWidgetCreated(
@@ -3365,6 +3372,9 @@ void WebContentsImpl::RenderWidgetCreated(
OPTIONAL_TRACE_EVENT1("content", "WebContentsImpl::RenderWidgetCreated",
"render_widget_host", render_widget_host);
created_widgets_.insert(render_widget_host);
@ -33,8 +33,8 @@ index c4db6519acbff..03d173d9bf8fa 100644
}
void WebContentsImpl::RenderWidgetDeleted(
@@ -4106,6 +4116,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
params.pip_options->lock_aspect_ratio;
@@ -4096,6 +4106,15 @@ FrameTree* WebContentsImpl::CreateNewWindow(
create_params.picture_in_picture_options = *(params.pip_options);
}
+ if (delegate_) {
@ -49,7 +49,7 @@ index c4db6519acbff..03d173d9bf8fa 100644
// Check whether there is an available prerendered page for this navigation if
// this is not for guest. If it exists, take WebContents pre-created for
// hosting the prerendered page instead of creating new WebContents.
@@ -7996,6 +8015,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
@@ -7999,6 +8018,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
// frames).
SetFocusedFrameTree(&node->frame_tree());
}
@ -60,10 +60,10 @@ index c4db6519acbff..03d173d9bf8fa 100644
void WebContentsImpl::DidCallFocus() {
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index 7778d03105273..b9b6f060201d9 100644
index 5644b0efa9a3e..da63511c87213 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -94,10 +94,12 @@ class BrowserContext;
@@ -95,10 +95,12 @@ class BrowserContext;
class BrowserPluginGuestDelegate;
class RenderFrameHost;
class RenderViewHost;
@ -76,7 +76,7 @@ index 7778d03105273..b9b6f060201d9 100644
class WebUI;
struct DropData;
struct MHTMLGenerationParams;
@@ -240,6 +242,10 @@ class WebContents : public PageNavigator,
@@ -241,6 +243,10 @@ class WebContents : public PageNavigator,
network::mojom::WebSandboxFlags starting_sandbox_flags =
network::mojom::WebSandboxFlags::kNone;
@ -88,7 +88,7 @@ index 7778d03105273..b9b6f060201d9 100644
// the value that'll be returned by GetLastActiveTime(). If this is left
// default initialized then the value is not passed on to the WebContents
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
index 2717fd39b99c6..604d3b75160a4 100644
index b7325f818a264..d37cb4da81eb6 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -58,9 +58,11 @@ class EyeDropperListener;
@ -119,7 +119,7 @@ index 2717fd39b99c6..604d3b75160a4 100644
// typically happens when popups are created.
virtual void WebContentsCreated(WebContents* source_contents,
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
index d89d18e8d2509..9d7df1f8e7bbc 100644
index f4c8ee3fe8b16..2d2f90d9f1269 100644
--- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h
@@ -219,6 +219,9 @@ class CONTENT_EXPORT WebContentsObserver {
@ -132,7 +132,7 @@ index d89d18e8d2509..9d7df1f8e7bbc 100644
// This method is invoked when the `blink::WebView` of the current
// RenderViewHost is ready, e.g. because we recreated it after a crash.
virtual void RenderViewReady() {}
@@ -800,6 +803,10 @@ class CONTENT_EXPORT WebContentsObserver {
@@ -798,6 +801,10 @@ class CONTENT_EXPORT WebContentsObserver {
// WebContents has gained/lost focus.
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
index b2de9ae25b7ac..06b34b5a120cf 100644
index e2fb979da659c..b0686d990445e 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -799,6 +799,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@@ -791,6 +791,11 @@ class BLINK_PLATFORM_EXPORT Platform {
uint64_t private_memory_footprint_bytes) {}
#endif

View File

@ -11,10 +11,10 @@ index c8655d9270b81..d11450d22123a 100644
// Cancels and hides the current popup (datetime, select...) if any.
virtual void CancelPagePopup() = 0;
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
index 9ce7b0b20d0e9..52b7713d3d250 100644
index 823d6d2ab3772..80310bb1ab1e3 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -249,8 +249,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@@ -250,8 +250,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
g_should_use_external_popup_menus = use_external_popup_menus;
}
@ -30,7 +30,7 @@ index 9ce7b0b20d0e9..52b7713d3d250 100644
}
namespace {
@@ -563,6 +568,7 @@ WebViewImpl::WebViewImpl(
@@ -564,6 +569,7 @@ WebViewImpl::WebViewImpl(
chrome_client_(MakeGarbageCollected<ChromeClientImpl>(this)),
minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)),
maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)),
@ -39,7 +39,7 @@ index 9ce7b0b20d0e9..52b7713d3d250 100644
fullscreen_controller_(std::make_unique<FullscreenController>(this)),
page_base_background_color_(
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index ac623b8bd6c06..3e0bd1dd8ce3b 100644
index dcd53ce7503b0..a30c89bf46884 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -134,7 +134,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@ -52,7 +52,7 @@ index ac623b8bd6c06..3e0bd1dd8ce3b 100644
// Returns whether frames under this WebView are backed by a compositor.
bool does_composite() const { return does_composite_; }
@@ -840,6 +841,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -846,6 +847,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
float fake_page_scale_animation_page_scale_factor_ = 0.f;
bool fake_page_scale_animation_use_anchor_ = false;

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 22bf50617329b..40dfc6cc75df0 100644
index be3a3fe0be6cd..8c1dc6b58850c 100644
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
@@ -19,10 +19,12 @@

View File

@ -1,22 +0,0 @@
diff --git base/power_monitor/battery_level_provider_win.cc base/power_monitor/battery_level_provider_win.cc
index 1e9f88154adc7..3c3a4ee7cd511 100644
--- base/power_monitor/battery_level_provider_win.cc
+++ base/power_monitor/battery_level_provider_win.cc
@@ -18,6 +18,7 @@
#include "base/memory/weak_ptr.h"
#include "base/metrics/histogram_macros.h"
+#include "base/numerics/safe_conversions.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/task_traits.h"
#include "base/task/thread_pool.h"
@@ -134,7 +135,8 @@ absl::optional<uint32_t> GetBatteryBatteryDischargeGranularity(
if (!success)
return absl::nullopt;
- size_t nb_elements = bytes_returned / sizeof(BATTERY_REPORTING_SCALE);
+ ptrdiff_t nb_elements = base::checked_cast<ptrdiff_t>(
+ bytes_returned / sizeof(BATTERY_REPORTING_SCALE));
if (!nb_elements)
return absl::nullopt;

View File

@ -1,8 +1,8 @@
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
index 38601d04959aa..de394933d26b9 100644
index fe0394187eae7..0c7927246a9f9 100644
--- sandbox/policy/win/sandbox_win.cc
+++ sandbox/policy/win/sandbox_win.cc
@@ -1017,6 +1017,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
@@ -1006,6 +1006,13 @@ ResultCode SandboxWin::StartSandboxedProcess(
const base::HandlesToInheritVector& handles_to_inherit,
SandboxDelegate* delegate,
base::Process* process) {