Compare commits

...

13 Commits
7204 ... 6668

Author SHA1 Message Date
Marshall Greenblatt
965d61d914 Pin depot_tools version for out-of-support branch 2024-10-23 12:22:36 -04:00
Marshall Greenblatt
f09539f1c9 Update to Chromium version 129.0.6668.101 2024-10-09 15:19:05 +00:00
Marshall Greenblatt
57354b8bbf Update to Chromium version 129.0.6668.90 2024-10-02 14:29:14 +00:00
Marshall Greenblatt
e52707f8c9 ceftests: Merge ViewsWindowTest fixes to M129 (see #3188) 2024-09-30 13:36:52 -04:00
Marshall Greenblatt
fda35ba29a cmake: Fix set_property argument (fixes #3775) 2024-09-30 12:48:33 -04:00
Marshall Greenblatt
31668f9570 Fix dangling ptr in RenderProcessHostTaskProvider (fixes #3758) 2024-09-30 12:22:39 -04:00
Marshall Greenblatt
8929b36b73 Update to Chromium version 129.0.6668.71 2024-09-30 11:50:30 -04:00
Jacobo Aragunde Pérez
a918aa72bc Fix index out of bounds with dialog accept_types description (fixes #3779) 2024-09-16 12:10:52 +03:00
Nik Pavlov
c06c7439df Account for overlay host Widget in CefWidget::GetForWidget (fixes #3784) 2024-09-16 12:10:52 +03:00
Marshall Greenblatt
9774348eb5 Update to Chromium version 129.0.6668.29 2024-09-05 17:20:17 +00:00
Nik Pavlov
168febe5db Add missing <array> header to performance_test_tests.cc 2024-09-02 14:06:56 +00:00
Marshall Greenblatt
01f47cd36f Update to Chromium version 129.0.6668.22 2024-08-30 07:52:56 +00:00
Marshall Greenblatt
463bda9a4e Update to Chromium version 129.0.6668.12 2024-08-29 11:49:58 +03:00
21 changed files with 211 additions and 150 deletions

View File

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

View File

@@ -142,7 +142,7 @@ set(CMAKE_CONFIGURATION_TYPES Debug Release)
project(cef)
# Use folders in the resulting project files.
set_property(GLOBAL PROPERTY OS_FOLDERS ON)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
#

View File

@@ -515,7 +515,9 @@ CefFileDialogManager::MaybeRunDelegate(
ext_str += FilePathTypeToString16(FILE_PATH_LITERAL(".") + ext);
}
accept_extensions.push_back(ext_str);
accept_descriptions.push_back(descriptions[i]);
if (descriptions.size() == extensions.size()) {
accept_descriptions.push_back(descriptions[i]);
}
}
}

View File

@@ -42,6 +42,9 @@ CefWidget* CefWidget::GetForWidget(views::Widget* widget) {
if (auto window = view_util::GetWindowFor(widget)) {
if (auto* window_view =
static_cast<CefWindowImpl*>(window.get())->cef_window_view()) {
if (auto widget_view = view_util::GetHostView(widget)) {
widget = widget_view->GetWidget();
}
if (window_view->IsChromeStyle()) {
return static_cast<ChromeBrowserFrame*>(widget);
}

View File

@@ -744,5 +744,11 @@ patches = [
# Windows: Add missing check in base/profiler/stack_copier.cc to fix
# compilation error of cef_sandbox.
'name': 'win_sandbox_stack_copier'
},
{
# Fix dangling RenderProcessHost ptr in RenderProcessHostTaskProvider.
# https://github.com/chromiumembedded/cef/issues/3758
# https://chromium-review.googlesource.com/c/chromium/src/+/5894650
'name': 'chrome_browser_task_manager_5894650'
}
]

View File

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

View File

@@ -578,7 +578,7 @@ index 9081a0ed32b64..5fc21fd1c33a4 100644
UnloadController unload_controller_;
diff --git chrome/browser/ui/browser_navigator.cc chrome/browser/ui/browser_navigator.cc
index 31e27cfa516bc..e98078bf64c61 100644
index 41a7c90bc2754..8ccf0dd8b296c 100644
--- chrome/browser/ui/browser_navigator.cc
+++ chrome/browser/ui/browser_navigator.cc
@@ -263,6 +263,10 @@ std::pair<Browser*, int> GetBrowserAndTabForDisposition(
@@ -592,7 +592,7 @@ index 31e27cfa516bc..e98078bf64c61 100644
const BrowserWindow* const browser_window = params.browser->window();
const gfx::NativeWindow native_window =
browser_window ? browser_window->GetNativeWindow()
@@ -551,6 +555,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
@@ -553,6 +557,13 @@ std::unique_ptr<content::WebContents> CreateTargetContents(
std::unique_ptr<WebContents> target_contents =
WebContents::Create(create_params);

View File

@@ -34,7 +34,7 @@ index 4007e26f780c3..26d0d492cf176 100644
WebViewGuestDelegate* ChromeExtensionsAPIClient::CreateWebViewGuestDelegate(
diff --git chrome/browser/extensions/api/tabs/tabs_api.cc chrome/browser/extensions/api/tabs/tabs_api.cc
index 723e68fdb68e0..604989e6bfd1a 100644
index cbfeb699bb92c..259c9b9d5938b 100644
--- chrome/browser/extensions/api/tabs/tabs_api.cc
+++ chrome/browser/extensions/api/tabs/tabs_api.cc
@@ -1552,7 +1552,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -73,23 +73,18 @@ index 723e68fdb68e0..604989e6bfd1a 100644
int opener_id = *params->update_properties.opener_tab_id;
WebContents* opener_contents = nullptr;
if (opener_id == tab_id) {
@@ -1638,11 +1638,11 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1637,7 +1637,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
->SetAutoDiscardable(state);
}
const bool contents_in_an_uneditable_saved_group =
- contents && ExtensionTabUtil::TabIsInSavedTabGroup(
+ browser && contents && ExtensionTabUtil::TabIsInSavedTabGroup(
web_contents_, browser->tab_strip_model()) &&
!ExtensionHasLockedFullscreenPermission(extension());
- if (params->update_properties.pinned) {
+ if (tab_strip && params->update_properties.pinned) {
// Pinning will result in changes to the tabs index/group affiliation in
// some cases, Throw an error if a tab is attempting to be pinned.
if (contents_in_an_uneditable_saved_group) {
@@ -1673,8 +1673,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
}
// Bug fix for crbug.com/1197888. Don't let the extension update the tab if
// the user is dragging tabs.
if (!ExtensionTabUtil::IsTabStripEditable()) {
@@ -1658,8 +1658,9 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
// Navigate the tab to a new location if the url is different.
if (params->update_properties.url) {
std::string updated_url = *params->update_properties.url;
- if (browser->profile()->IsIncognitoProfile() &&
- !IsURLAllowedInIncognito(GURL(updated_url), browser->profile())) {
@@ -99,7 +94,7 @@ index 723e68fdb68e0..604989e6bfd1a 100644
return RespondNow(Error(ErrorUtils::FormatErrorMessage(
tabs_constants::kURLsNotAllowedInIncognitoError, updated_url)));
}
@@ -1688,7 +1689,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
@@ -1673,7 +1674,7 @@ ExtensionFunction::ResponseAction TabsUpdateFunction::Run() {
return RespondNow(Error(std::move(error)));
}
@@ -109,7 +104,7 @@ index 723e68fdb68e0..604989e6bfd1a 100644
current_url, updated_url, js_callstack());
}
diff --git chrome/browser/extensions/extension_tab_util.cc chrome/browser/extensions/extension_tab_util.cc
index 9d33f958ae540..40dc75ebc88b6 100644
index c630431022688..534c6f9e52726 100644
--- chrome/browser/extensions/extension_tab_util.cc
+++ chrome/browser/extensions/extension_tab_util.cc
@@ -18,6 +18,7 @@
@@ -131,7 +126,7 @@ index 9d33f958ae540..40dc75ebc88b6 100644
using content::NavigationEntry;
using content::WebContents;
using extensions::mojom::APIPermissionID;
@@ -758,6 +763,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
@@ -748,6 +753,20 @@ bool ExtensionTabUtil::GetTabById(int tab_id,
}
}

View File

@@ -0,0 +1,27 @@
diff --git chrome/browser/task_manager/providers/render_process_host_task_provider.cc chrome/browser/task_manager/providers/render_process_host_task_provider.cc
index 11b05cbfc6077..45a5b11158a21 100644
--- chrome/browser/task_manager/providers/render_process_host_task_provider.cc
+++ chrome/browser/task_manager/providers/render_process_host_task_provider.cc
@@ -110,18 +110,14 @@ void RenderProcessHostTaskProvider::OnRenderProcessHostCreated(
void RenderProcessHostTaskProvider::RenderProcessExited(
content::RenderProcessHost* host,
const content::ChildProcessTerminationInfo& info) {
- if (is_updating_) {
- DeleteTask(host->GetID());
- host_observation_.RemoveObservation(host);
- }
+ DeleteTask(host->GetID());
+ host_observation_.RemoveObservation(host);
}
void RenderProcessHostTaskProvider::RenderProcessHostDestroyed(
content::RenderProcessHost* host) {
- if (is_updating_) {
- DeleteTask(host->GetID());
- host_observation_.RemoveObservation(host);
- }
+ DeleteTask(host->GetID());
+ host_observation_.RemoveObservation(host);
}
} // namespace task_manager

View File

@@ -13,7 +13,7 @@ index 67428f15a7c50..4e418019327e6 100644
@@ -611,6 +612,7 @@ struct MainFunction {
int (*function)(content::MainFunctionParams);
};
+#if !BUILDFLAG(ENABLE_CEF)
// Initializes the user data dir. Must be called before InitializeLocalState().
void InitializeUserDataDir(base::CommandLine* command_line) {
@@ -23,13 +23,13 @@ index 67428f15a7c50..4e418019327e6 100644
#endif // BUILDFLAG(IS_WIN)
}
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// If Lacros was prelaunched at login screen, this method blocks waiting
@@ -855,6 +858,10 @@ ChromeMainDelegate::~ChromeMainDelegate() {
ChromeMainDelegate::~ChromeMainDelegate() = default;
#endif // !BUILDFLAG(IS_ANDROID)
+void ChromeMainDelegate::CleanupOnUIThread() {
+ memory_system_.reset();
+}
@@ -40,14 +40,14 @@ index 67428f15a7c50..4e418019327e6 100644
@@ -880,7 +887,7 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// future session's metrics.
DeferBrowserMetrics(user_data_dir);
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// In the case the process is not the singleton process, the uninstall tasks
// need to be executed here. A window will be displayed asking to close all
// running instances.
@@ -1040,7 +1047,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
// Initializes the resource bundle and determines the locale.
std::string actual_locale = LoadLocalState(
- chrome_feature_list_creator, invoked_in_browser->is_running_test);
@@ -55,11 +55,11 @@ index 67428f15a7c50..4e418019327e6 100644
+ invoked_in_browser->is_running_test);
chrome_feature_list_creator->SetApplicationLocale(actual_locale);
chrome_feature_list_creator->OverrideCachedUIStrings();
@@ -1057,6 +1065,8 @@ std::optional<int> ChromeMainDelegate::PostEarlyInitialization(
new net::NetworkChangeNotifierFactoryAndroid());
#endif
+#if !BUILDFLAG(ENABLE_CEF)
+ // Avoid CEF crash with multi-threaded-message-loop.
if (base::FeatureList::IsEnabled(
@@ -70,7 +70,7 @@ index 67428f15a7c50..4e418019327e6 100644
chrome_content_browser_client_->startup_data()->RecordCoreSystemProfile();
}
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_ANDROID)
UmaSessionStats::OnStartup();
@@ -1104,8 +1115,8 @@ bool ChromeMainDelegate::ShouldInitializeMojo(InvokedIn invoked_in) {
@@ -87,23 +87,23 @@ index 67428f15a7c50..4e418019327e6 100644
@@ -1517,6 +1528,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
std::string process_type =
command_line.GetSwitchValueASCII(switches::kProcessType);
+#if !BUILDFLAG(ENABLE_CEF)
crash_reporter::InitializeCrashKeys();
#if BUILDFLAG(IS_POSIX)
@@ -1527,6 +1539,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
InitMacCrashReporter(command_line, process_type);
SetUpInstallerPreferences(command_line);
#endif
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_WIN)
child_process_logging::Init();
@@ -1538,6 +1551,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
base::CPU cpu_info;
#endif
+#if !BUILDFLAG(ENABLE_CEF)
// Initialize the user data dir for any process type that needs it.
bool initialize_user_data_dir = chrome::ProcessNeedsProfileDir(process_type);
@@ -113,7 +113,7 @@ index 67428f15a7c50..4e418019327e6 100644
InitializeUserDataDir(base::CommandLine::ForCurrentProcess());
}
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_CHROMEOS_LACROS)
// Generate shared resource file only on browser process. This is to avoid
@@ -1707,7 +1722,8 @@ void ChromeMainDelegate::PreSandboxStartup() {
@@ -123,13 +123,13 @@ index 67428f15a7c50..4e418019327e6 100644
- locale, nullptr, ui::ResourceBundle::LOAD_COMMON_RESOURCES);
+ locale, GetResourceBundleDelegate(),
+ ui::ResourceBundle::LOAD_COMMON_RESOURCES);
base::FilePath resources_pack_path;
base::PathService::Get(chrome::FILE_RESOURCES_PACK, &resources_pack_path);
@@ -1737,6 +1753,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
CHECK(!loaded_locale.empty()) << "Locale could not be found for " << locale;
}
+#if !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC)
// Zygote needs to call InitCrashReporter() in RunZygote().
@@ -139,29 +139,29 @@ index 67428f15a7c50..4e418019327e6 100644
// line for crash reporting.
crash_keys::SetCrashKeysFromCommandLine(command_line);
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(ENABLE_PDF)
MaybePatchGdiGetFontData();
@@ -1900,6 +1918,7 @@ void ChromeMainDelegate::ZygoteForked() {
SetUpProfilingShutdownHandler();
}
+#if !BUILDFLAG(ENABLE_CEF)
// 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 =
@@ -1912,6 +1931,7 @@ void ChromeMainDelegate::ZygoteForked() {
// Reset the command line for the newly spawned process.
crash_keys::SetCrashKeysFromCommandLine(*command_line);
+#endif // !BUILDFLAG(ENABLE_CEF)
}
#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
@@ -2020,6 +2040,7 @@ void ChromeMainDelegate::InitializeMemorySystem() {
: memory_system::DispatcherParameters::
AllocationTraceRecorderInclusion::kIgnore;
+ memory_system_ = std::make_unique<memory_system::MemorySystem>();
memory_system::Initializer()
.SetGwpAsanParameters(gwp_asan_boost_sampling, process_type)
@@ -182,22 +182,22 @@ index 521d5710b6387..8a5f3e6a312d2 100644
#include "components/memory_system/memory_system.h"
#include "content/public/app/content_main_delegate.h"
+#include "ui/base/resource/resource_bundle.h"
namespace base {
class CommandLine;
@@ -55,6 +56,8 @@ class ChromeMainDelegate : public content::ContentMainDelegate {
~ChromeMainDelegate() override;
+ virtual void CleanupOnUIThread();
+
protected:
// content::ContentMainDelegate:
std::optional<int> BasicStartupComplete() override;
@@ -99,13 +102,17 @@ class ChromeMainDelegate : public content::ContentMainDelegate {
void InitializeMemorySystem();
+ virtual ui::ResourceBundle::Delegate* GetResourceBundleDelegate() {
+ return nullptr;
+ }
@@ -205,12 +205,12 @@ index 521d5710b6387..8a5f3e6a312d2 100644
std::unique_ptr<ChromeContentBrowserClient> chrome_content_browser_client_;
std::unique_ptr<ChromeContentUtilityClient> chrome_content_utility_client_;
std::unique_ptr<tracing::TracingSamplerProfiler> tracing_sampler_profiler_;
ChromeContentClient chrome_content_client_;
- memory_system::MemorySystem memory_system_;
+ std::unique_ptr<memory_system::MemorySystem> memory_system_;
#if BUILDFLAG(IS_CHROMEOS_LACROS)
std::unique_ptr<chromeos::LacrosService> lacros_service_;
diff --git chrome/app_shim/BUILD.gn chrome/app_shim/BUILD.gn
@@ -239,13 +239,13 @@ index ac1361bd6bc2e..a303ca169c7f7 100644
#include "chrome/app_shim/app_shim_delegate.h"
@@ -171,7 +172,9 @@ int APP_SHIM_ENTRY_POINT_NAME(const app_mode::ChromeAppModeInfo* info) {
base::FilePath(info->user_data_dir).DirName().DirName().DirName();
// TODO(crbug.com/40807881): Specify `user_data_dir` to CrashPad.
+#if !BUILDFLAG(ENABLE_CEF)
ChromeCrashReporterClient::Create();
+#endif
crash_reporter::InitializeCrashpad(true, "app_shim");
base::PathService::OverrideAndCreateIfNeeded(
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
index bf8c5df67c1e3..61bf28f46b423 100644
@@ -262,7 +262,7 @@ index bf8c5df67c1e3..61bf28f46b423 100644
@@ -529,7 +530,7 @@ void ProcessSingletonNotificationCallbackImpl(
return;
}
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// The uninstall command-line switch is handled by the origin process; see
@@ -271,7 +271,7 @@ index bf8c5df67c1e3..61bf28f46b423 100644
@@ -833,7 +834,7 @@ int ChromeBrowserMainParts::PreEarlyInitialization() {
return content::RESULT_CODE_NORMAL_EXIT;
}
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// If we are running stale binaries then relaunch and exit immediately.
@@ -283,13 +283,13 @@ index bf8c5df67c1e3..61bf28f46b423 100644
}
-#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
return load_local_state_result;
}
@@ -956,7 +957,7 @@ int ChromeBrowserMainParts::OnLocalStateLoaded(
browser_process_->local_state());
platform_management_service->RefreshCache(base::NullCallback());
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
if (first_run::IsChromeFirstRun()) {
@@ -301,13 +301,13 @@ index bf8c5df67c1e3..61bf28f46b423 100644
}
-#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
std::string locale =
startup_data_->chrome_feature_list_creator()->actual_locale();
@@ -1002,6 +1003,7 @@ int ChromeBrowserMainParts::ApplyFirstRunPrefs() {
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
master_prefs_ = std::make_unique<first_run::MasterPrefs>();
+#if !BUILDFLAG(ENABLE_CEF)
std::unique_ptr<installer::InitialPreferences> installer_initial_prefs =
startup_data_->chrome_feature_list_creator()->TakeInitialPrefs();
@@ -321,9 +321,9 @@ index bf8c5df67c1e3..61bf28f46b423 100644
return content::RESULT_CODE_NORMAL_EXIT;
}
@@ -1096,6 +1099,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
browser_process_->browser_policy_connector()->OnResourceBundleCreated();
+#if !BUILDFLAG(ENABLE_CEF)
// Android does first run in Java instead of native.
// Chrome OS has its own out-of-box-experience code.
@@ -333,12 +333,12 @@ index bf8c5df67c1e3..61bf28f46b423 100644
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+#endif // !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_MAC)
#if defined(ARCH_CPU_X86_64)
@@ -1479,6 +1484,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
browser_process_->PreMainMessageLoopRun();
#if BUILDFLAG(IS_WIN)
+#if !BUILDFLAG(ENABLE_CEF)
// If the command line specifies 'uninstall' then we need to work here
@@ -349,13 +349,13 @@ index bf8c5df67c1e3..61bf28f46b423 100644
*base::CommandLine::ForCurrentProcess());
}
+#endif // !BUILDFLAG(ENABLE_CEF)
ui::SelectFileDialog::SetFactory(
std::make_unique<ChromeSelectFileDialogFactory>());
@@ -1515,6 +1522,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // BUILDFLAG(CHROME_FOR_TESTING)
+#if !BUILDFLAG(ENABLE_CEF)
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMakeDefaultBrowser)) {
@@ -365,12 +365,12 @@ index bf8c5df67c1e3..61bf28f46b423 100644
: static_cast<int>(chrome::RESULT_CODE_SHELL_INTEGRATION_FAILED);
}
+#endif // !BUILDFLAG(ENABLE_CEF)
#if defined(USE_AURA)
// Make sure aura::Env has been initialized.
CHECK(aura::Env::GetInstance());
#endif // defined(USE_AURA)
+
+#if !BUILDFLAG(ENABLE_CEF)
#if BUILDFLAG(IS_WIN)
@@ -380,13 +380,13 @@ index bf8c5df67c1e3..61bf28f46b423 100644
return chrome::RESULT_CODE_NORMAL_EXIT_UPGRADE_RELAUNCHED;
#endif // BUILDFLAG(IS_WIN)
+#endif // !BUILDFLAG(ENABLE_CEF)
#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
// Begin relaunch processing immediately if User Data migration is required
@@ -1578,7 +1590,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
}
#endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
-#if BUILDFLAG(IS_WIN)
+#if BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// Check if there is any machine level Chrome installed on the current
@@ -398,13 +398,13 @@ index bf8c5df67c1e3..61bf28f46b423 100644
return chrome::RESULT_CODE_MACHINE_LEVEL_INSTALL_EXISTS;
-#endif // BUILDFLAG(IS_WIN)
+#endif // BUILDFLAG(IS_WIN) && !BUILDFLAG(ENABLE_CEF)
// Desktop construction occurs here, (required before profile creation).
PreProfileInit();
@@ -1660,6 +1672,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Call `PostProfileInit()`and set it up for profiles created later.
profile_init_manager_ = std::make_unique<ProfileInitManager>(this, profile);
+#if !BUILDFLAG(ENABLE_CEF)
#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
// Execute first run specific code after the PrefService has been initialized
@@ -414,7 +414,7 @@ index bf8c5df67c1e3..61bf28f46b423 100644
}
#endif // BUILDFLAG(IS_WIN)
+#endif // !BUILDFLAG(ENABLE_CEF)
// Configure modules that need access to resources.
net::NetModule::SetResourceProvider(ChromeNetResourceProvider);
@@ -1790,6 +1804,11 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
@@ -430,7 +430,7 @@ index bf8c5df67c1e3..61bf28f46b423 100644
if (browser_creator_->Start(*base::CommandLine::ForCurrentProcess(),
base::FilePath(), profile_info,
@@ -1822,11 +1841,14 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
// Create the RunLoop for MainMessageLoopRun() to use and transfer
// ownership of the browser's lifetime to the BrowserProcess.
+ // CEF with the Chrome runtime will create and manage its own RunLoop.
@@ -443,7 +443,7 @@ index bf8c5df67c1e3..61bf28f46b423 100644
+
browser_creator_.reset();
#endif // !BUILDFLAG(IS_ANDROID)
diff --git chrome/browser/chrome_browser_main_mac.mm chrome/browser/chrome_browser_main_mac.mm
index e26e3625c99c8..c0d4a95607e37 100644
--- chrome/browser/chrome_browser_main_mac.mm
@@ -459,7 +459,7 @@ index e26e3625c99c8..c0d4a95607e37 100644
@@ -125,6 +126,7 @@ void ChromeBrowserMainPartsMac::PreCreateMainMessageLoop() {
}
#endif // !BUILDFLAG(CHROME_FOR_TESTING)
+#if !BUILDFLAG(ENABLE_CEF)
// Create the app delegate by requesting the shared AppController.
CHECK_EQ(nil, NSApp.delegate);
@@ -469,12 +469,12 @@ index e26e3625c99c8..c0d4a95607e37 100644
l10n_util::GetStringUTF16(IDS_PRODUCT_NAME), false);
[app_controller mainMenuCreated];
+#endif // BUILDFLAG(ENABLE_CEF)
ui::WarmScreenCapture();
@@ -187,5 +190,7 @@ void ChromeBrowserMainPartsMac::PostMainMessageLoopRun() {
}
void ChromeBrowserMainPartsMac::DidEndMainMessageLoop() {
+#if !BUILDFLAG(ENABLE_CEF)
[AppController.sharedController didEndMainMessageLoop];
@@ -494,7 +494,7 @@ index 4db37945148cb..56a31fecf00a2 100644
#include "chrome/browser/app_mode/app_mode_utils.h"
@@ -1543,6 +1544,8 @@ ChromeContentBrowserClient::GetPopupNavigationDelegateFactoryForTesting() {
}
ChromeContentBrowserClient::ChromeContentBrowserClient() {
+ keepalive_timer_.reset(new base::OneShotTimer());
+
@@ -504,7 +504,7 @@ index 4db37945148cb..56a31fecf00a2 100644
@@ -1580,6 +1583,11 @@ ChromeContentBrowserClient::~ChromeContentBrowserClient() {
}
}
+void ChromeContentBrowserClient::CleanupOnUIThread() {
+ DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
+ keepalive_timer_.reset();
@@ -543,7 +543,7 @@ index 4db37945148cb..56a31fecf00a2 100644
+ ? ui::NativeTheme::PreferredColorScheme::kLight
+ : ui::NativeTheme::PreferredColorScheme::kDark;
}
- // Update based on the ColorProvider associated with `web_contents`. Depends
- // on the browser color mode settings and whether the user profile has set a
- // custom coloring for the browser ui.
@@ -557,24 +557,24 @@ index 4db37945148cb..56a31fecf00a2 100644
+ web_prefs->preferred_root_scrollbar_color_scheme =
+ ToBlinkPreferredColorScheme(preferred_color_scheme);
#endif // BUILDFLAG(IS_ANDROID)
// Reauth WebUI doesn't support dark mode yet because it shares the dialog
@@ -4748,9 +4753,11 @@ void ChromeContentBrowserClient::BrowserURLHandlerCreated(
&search::HandleNewTabURLReverseRewrite);
#endif // BUILDFLAG(IS_ANDROID)
+#if !BUILDFLAG(ENABLE_CEF)
// chrome: & friends.
handler->AddHandlerPair(&ChromeContentBrowserClient::HandleWebUI,
&ChromeContentBrowserClient::HandleWebUIReverse);
+#endif
}
base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
@@ -6877,7 +6884,7 @@ void ChromeContentBrowserClient::OnNetworkServiceCreated(
#endif
}
-void ChromeContentBrowserClient::ConfigureNetworkContextParams(
+bool ChromeContentBrowserClient::ConfigureNetworkContextParams(
content::BrowserContext* context,
@@ -587,7 +587,7 @@ index 4db37945148cb..56a31fecf00a2 100644
+
+ return true;
}
std::vector<base::FilePath>
@@ -8047,11 +8056,11 @@ void ChromeContentBrowserClient::OnKeepaliveRequestStarted(
const auto now = base::TimeTicks::Now();
@@ -627,9 +627,9 @@ index 355d347c1ae84..8b1eb079ab348 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -151,6 +151,8 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
~ChromeContentBrowserClient() override;
+ virtual void CleanupOnUIThread();
+
// TODO(crbug.com/41356866): This file is about calls from content/ out
@@ -645,14 +645,14 @@ index 355d347c1ae84..8b1eb079ab348 100644
bool in_memory,
const base::FilePath& relative_partition_path,
@@ -1255,7 +1257,7 @@ class ChromeContentBrowserClient : public content::ContentBrowserClient {
#if !BUILDFLAG(IS_ANDROID)
uint64_t num_keepalive_requests_ = 0;
- base::OneShotTimer keepalive_timer_;
+ std::unique_ptr<base::OneShotTimer> keepalive_timer_;
base::TimeTicks keepalive_deadline_;
#endif
diff --git chrome/browser/prefs/browser_prefs.cc chrome/browser/prefs/browser_prefs.cc
index 812bb38a0c53e..5fc84ff4b855e 100644
--- chrome/browser/prefs/browser_prefs.cc
@@ -668,7 +668,7 @@ index 812bb38a0c53e..5fc84ff4b855e 100644
@@ -205,6 +206,10 @@
#include "chrome/browser/background/background_mode_manager.h"
#endif
+#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/browser/prefs/browser_prefs.h"
+#endif
@@ -679,15 +679,15 @@ index 812bb38a0c53e..5fc84ff4b855e 100644
@@ -1731,7 +1736,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING)
#endif // BUILDFLAG(IS_WIN)
-#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS)
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) && \
+ BUILDFLAG(ENABLE_DOWNGRADE_PROCESSING)
downgrade::RegisterPrefs(registry);
#endif
@@ -1784,6 +1790,11 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
// This is intentionally last.
RegisterLocalStatePrefsForMigration(registry);
+
@@ -696,12 +696,12 @@ index 812bb38a0c53e..5fc84ff4b855e 100644
+ browser_prefs::RegisterLocalStatePrefs(registry);
+#endif
}
// Register prefs applicable to all profiles.
@@ -2233,6 +2244,10 @@ void RegisterUserProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
const std::string& locale) {
RegisterProfilePrefs(registry, locale);
+#if BUILDFLAG(ENABLE_CEF)
+ browser_prefs::RegisterProfilePrefs(registry);
+#endif

View File

@@ -1,5 +1,5 @@
diff --git chrome/browser/ui/browser_command_controller.cc chrome/browser/ui/browser_command_controller.cc
index c49b266e288ca..d1f9a1ab1e26d 100644
index 1ee39659a3658..e927aa831adbe 100644
--- chrome/browser/ui/browser_command_controller.cc
+++ chrome/browser/ui/browser_command_controller.cc
@@ -413,6 +413,7 @@ bool BrowserCommandController::ExecuteCommandWithDisposition(
@@ -397,7 +397,7 @@ index 14a8a70d853f6..bf81594947886 100644
// regenerated.
bool RegenerateFrameOnThemeChange(BrowserThemeChangeType theme_change_type);
diff --git chrome/browser/ui/views/frame/browser_view.cc chrome/browser/ui/views/frame/browser_view.cc
index 79a944bab28e1..1c236bd829c05 100644
index d775394c47cf5..10f089b2389b3 100644
--- chrome/browser/ui/views/frame/browser_view.cc
+++ chrome/browser/ui/views/frame/browser_view.cc
@@ -366,10 +366,6 @@ constexpr base::FeatureParam<base::TimeDelta> kLoadingTabAnimationFrameDelay = {
@@ -411,7 +411,7 @@ index 79a944bab28e1..1c236bd829c05 100644
#if BUILDFLAG(IS_CHROMEOS_ASH)
// UMA histograms that record animation smoothness for tab loading animation.
constexpr char kTabLoadingSmoothnessHistogramName[] =
@@ -708,6 +704,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
@@ -750,6 +746,14 @@ class BrowserViewLayoutDelegateImpl : public BrowserViewLayoutDelegate {
return browser_view_->frame()->GetTopInset() - browser_view_->y();
}
@@ -426,7 +426,7 @@ index 79a944bab28e1..1c236bd829c05 100644
bool IsToolbarVisible() const override {
return browser_view_->IsToolbarVisible();
}
@@ -859,11 +863,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
@@ -901,11 +905,21 @@ class BrowserView::AccessibilityModeObserver : public ui::AXModeObserver {
///////////////////////////////////////////////////////////////////////////////
// BrowserView, public:
@@ -449,7 +449,7 @@ index 79a944bab28e1..1c236bd829c05 100644
SetShowIcon(
::ShouldShowWindowIcon(browser_.get(), AppUsesWindowControlsOverlay()));
@@ -953,8 +967,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
@@ -995,8 +1009,15 @@ BrowserView::BrowserView(std::unique_ptr<Browser> browser)
contents_container->SetLayoutManager(std::make_unique<ContentsLayoutManager>(
devtools_web_view_, contents_web_view_, watermark_view_));
@@ -467,7 +467,7 @@ index 79a944bab28e1..1c236bd829c05 100644
contents_separator_ =
top_container_->AddChildView(std::make_unique<ContentsSeparator>());
@@ -1035,7 +1056,9 @@ void BrowserView::ToggleCompactModeUI() {
@@ -1077,7 +1098,9 @@ void BrowserView::ToggleCompactModeUI() {
}
BrowserView::~BrowserView() {
@@ -477,7 +477,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// Destroy the top controls slide controller first as it depends on the
// tabstrip model and the browser frame.
@@ -1043,7 +1066,9 @@ BrowserView::~BrowserView() {
@@ -1085,7 +1108,9 @@ BrowserView::~BrowserView() {
// All the tabs should have been destroyed already. If we were closed by the
// OS with some tabs than the NativeBrowserFrame should have destroyed them.
@@ -487,7 +487,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// Stop the animation timer explicitly here to avoid running it in a nested
// message loop, which may run by Browser destructor.
@@ -1052,17 +1077,18 @@ BrowserView::~BrowserView() {
@@ -1094,17 +1119,18 @@ BrowserView::~BrowserView() {
// Immersive mode may need to reparent views before they are removed/deleted.
immersive_mode_controller_.reset();
@@ -510,7 +510,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// `watermark_view_` is a raw pointer to a child view, so it needs to be set
// to null before `RemoveAllChildViews()` is called to avoid dangling.
@@ -1622,6 +1648,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
@@ -1664,6 +1690,13 @@ gfx::Point BrowserView::GetThemeOffsetFromBrowserView() const {
ThemeProperties::kFrameHeightAboveTabs - browser_view_origin.y());
}
@@ -524,7 +524,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// static:
BrowserView::DevToolsDockedPlacement BrowserView::GetDevToolsDockedPlacement(
const gfx::Rect& contents_webview_bounds,
@@ -2036,9 +2069,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
@@ -2078,9 +2111,14 @@ void BrowserView::OnExclusiveAccessUserInput() {
bool BrowserView::ShouldHideUIForFullscreen() const {
// Immersive mode needs UI for the slide-down top panel.
@@ -540,7 +540,7 @@ index 79a944bab28e1..1c236bd829c05 100644
return frame_->GetFrameView()->ShouldHideTopUIForFullscreen();
}
@@ -3212,7 +3250,8 @@ views::View* BrowserView::GetTopContainer() {
@@ -3260,7 +3298,8 @@ views::View* BrowserView::GetTopContainer() {
}
DownloadBubbleUIController* BrowserView::GetDownloadBubbleUIController() {
@@ -550,7 +550,7 @@ index 79a944bab28e1..1c236bd829c05 100644
if (auto* download_button = toolbar_button_provider_->GetDownloadButton())
return download_button->bubble_controller();
return nullptr;
@@ -3767,7 +3806,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
@@ -3815,7 +3854,8 @@ void BrowserView::ReparentTopContainerForEndOfImmersive() {
if (top_container()->parent() == this)
return;
@@ -560,7 +560,7 @@ index 79a944bab28e1..1c236bd829c05 100644
top_container()->DestroyLayer();
AddChildViewAt(top_container(), 0);
EnsureFocusOrder();
@@ -4254,11 +4294,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
@@ -4302,11 +4342,38 @@ void BrowserView::GetAccessiblePanes(std::vector<views::View*>* panes) {
bool BrowserView::ShouldDescendIntoChildForEventHandling(
gfx::NativeView child,
const gfx::Point& location) {
@@ -601,7 +601,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// Draggable regions are defined relative to the web contents.
gfx::Point point_in_contents_web_view_coords(location);
views::View::ConvertPointToTarget(GetWidget()->GetRootView(),
@@ -4267,7 +4334,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
@@ -4315,7 +4382,7 @@ bool BrowserView::ShouldDescendIntoChildForEventHandling(
// Draggable regions should be ignored for clicks into any browser view's
// owned widgets, for example alerts, permission prompts or find bar.
@@ -610,7 +610,7 @@ index 79a944bab28e1..1c236bd829c05 100644
point_in_contents_web_view_coords.x(),
point_in_contents_web_view_coords.y()) ||
WidgetOwnedByAnchorContainsPoint(point_in_contents_web_view_coords);
@@ -4378,8 +4445,10 @@ void BrowserView::Layout(PassKey) {
@@ -4426,8 +4493,10 @@ void BrowserView::Layout(PassKey) {
// TODO(jamescook): Why was this in the middle of layout code?
toolbar_->location_bar()->omnibox_view()->SetFocusBehavior(
@@ -623,7 +623,7 @@ index 79a944bab28e1..1c236bd829c05 100644
// Some of the situations when the BrowserView is laid out are:
// - Enter/exit immersive fullscreen mode.
@@ -4445,6 +4514,11 @@ void BrowserView::AddedToWidget() {
@@ -4493,6 +4562,11 @@ void BrowserView::AddedToWidget() {
SetThemeProfileForWindow(GetNativeWindow(), browser_->profile());
#endif
@@ -635,7 +635,7 @@ index 79a944bab28e1..1c236bd829c05 100644
toolbar_->Init();
// TODO(pbos): Investigate whether the side panels should be creatable when
@@ -4487,13 +4561,9 @@ void BrowserView::AddedToWidget() {
@@ -4535,13 +4609,9 @@ void BrowserView::AddedToWidget() {
EnsureFocusOrder();
@@ -651,7 +651,7 @@ index 79a944bab28e1..1c236bd829c05 100644
using_native_frame_ = frame_->ShouldUseNativeFrame();
MaybeInitializeWebUITabStrip();
@@ -4857,7 +4927,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
@@ -4905,7 +4975,8 @@ void BrowserView::ProcessFullscreen(bool fullscreen, const int64_t display_id) {
// Undo our anti-jankiness hacks and force a re-layout.
in_process_fullscreen_ = false;
ToolbarSizeChanged(false);
@@ -661,7 +661,7 @@ index 79a944bab28e1..1c236bd829c05 100644
}
void BrowserView::RequestFullscreen(bool fullscreen, int64_t display_id) {
@@ -5361,6 +5432,8 @@ Profile* BrowserView::GetProfile() {
@@ -5409,6 +5480,8 @@ Profile* BrowserView::GetProfile() {
}
void BrowserView::UpdateUIForTabFullscreen() {
@@ -670,7 +670,7 @@ index 79a944bab28e1..1c236bd829c05 100644
frame()->GetFrameView()->UpdateFullscreenTopUI();
}
@@ -5383,6 +5456,8 @@ void BrowserView::HideDownloadShelf() {
@@ -5431,6 +5504,8 @@ void BrowserView::HideDownloadShelf() {
}
bool BrowserView::CanUserExitFullscreen() const {
@@ -721,7 +721,7 @@ index bff67fba31480..bf3c87a126457 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 7359b0457bf17..e661e2af050f0 100644
index cb14b46b727ca..eef3da9247c54 100644
--- chrome/browser/ui/views/frame/browser_view_layout.cc
+++ chrome/browser/ui/views/frame/browser_view_layout.cc
@@ -53,6 +53,10 @@
@@ -755,16 +755,16 @@ index 7359b0457bf17..e661e2af050f0 100644
return gfx::Point(middle_x - size.width() / 2, top);
}
@@ -151,7 +159,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
@@ -137,7 +145,7 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
// universally.
views::View* view = browser_view_layout_->contents_container_;
gfx::Rect content_area = view->ConvertRectToWidget(view->GetLocalBounds());
- const int top = browser_view_layout_->dialog_top_y_;
+ const int top = GetDialogTopY();
return gfx::Size(content_area.width(), content_area.bottom() - top);
#endif
}
@@ -181,6 +189,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
@@ -166,6 +174,13 @@ class BrowserViewLayout::WebContentsModalDialogHostViews
return host_widget ? host_widget->GetNativeView() : nullptr;
}
@@ -778,7 +778,7 @@ index 7359b0457bf17..e661e2af050f0 100644
// Add/remove observer.
void AddObserver(ModalDialogHostObserver* observer) override {
observer_list_.AddObserver(observer);
@@ -502,6 +517,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
@@ -487,6 +502,8 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
if (exclusive_access_bubble)
exclusive_access_bubble->RepositionIfVisible();
@@ -787,7 +787,7 @@ index 7359b0457bf17..e661e2af050f0 100644
// Adjust any hosted dialogs if the browser's dialog hosting bounds changed.
const gfx::Rect dialog_bounds(dialog_host_->GetDialogPosition(gfx::Size()),
dialog_host_->GetMaximumDialogSize());
@@ -515,6 +532,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
@@ -500,6 +517,7 @@ void BrowserViewLayout::Layout(views::View* browser_view) {
latest_dialog_bounds_in_screen_ = dialog_bounds_in_screen;
dialog_host_->NotifyPositionRequiresUpdate();
}
@@ -795,7 +795,7 @@ index 7359b0457bf17..e661e2af050f0 100644
}
gfx::Size BrowserViewLayout::GetPreferredSize(
@@ -656,6 +674,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
@@ -641,6 +659,13 @@ int BrowserViewLayout::LayoutWebUITabStrip(int top) {
int BrowserViewLayout::LayoutToolbar(int top) {
TRACE_EVENT0("ui", "BrowserViewLayout::LayoutToolbar");

View File

@@ -1,5 +1,5 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index 57ce06d745941..0038e95ce024b 100644
index 307e222ab9ce9..5862a098c118c 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -1350,6 +1350,15 @@

View File

@@ -10,10 +10,10 @@ index aeb79b46f5d21..bd57e874c1240 100644
+// This load will not send any cookies. For CEF usage.
+LOAD_FLAG(DO_NOT_SEND_COOKIES, 1 << 20)
diff --git net/url_request/url_request_http_job.cc net/url_request/url_request_http_job.cc
index 59089072e7c97..09d0b6e64a4d6 100644
index dc8999337c27b..13ea40deba44f 100644
--- net/url_request/url_request_http_job.cc
+++ net/url_request/url_request_http_job.cc
@@ -2053,7 +2053,8 @@ bool URLRequestHttpJob::ShouldAddCookieHeader() const {
@@ -2056,7 +2056,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

@@ -56,10 +56,10 @@ index f1030a744809c..c222a209949e6 100644
return nullptr;
}
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
index c77a3fa9a247c..611baceed3883 100644
index 4b7a2ab4833ce..bc3b1745875fd 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -3190,6 +3190,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
@@ -3191,6 +3191,11 @@ void RenderWidgetHostImpl::DecrementInFlightEventCount(
}
}

View File

@@ -1,5 +1,5 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 7c222473c1b21..45ee9ed945f1d 100644
index c63a9c42f686a..b10a1a0444267 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -931,6 +931,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)

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 ea5a519007ffd..1bb591bba1796 100644
index 9e1bc80a3f131..88fae6a5664ff 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 @@
@@ -18,7 +18,7 @@ index ea5a519007ffd..1bb591bba1796 100644
#include "content/public/common/page_visibility_state.h"
#include "services/service_manager/public/cpp/interface_provider.h"
#include "third_party/blink/public/common/input/web_input_event.h"
@@ -754,10 +756,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -758,10 +760,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
CHECK(GetBackgroundColor());
@@ -35,7 +35,7 @@ index ea5a519007ffd..1bb591bba1796 100644
}
#if BUILDFLAG(IS_WIN)
@@ -2371,6 +2375,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2394,6 +2398,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
window_->layer()->SetColor(GetBackgroundColor() ? *GetBackgroundColor()
: SK_ColorWHITE);
UpdateFrameSinkIdRegistration();

View File

@@ -80,10 +80,10 @@ index f78c6a467befc..97f1d21218eed 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index dff1afbe01fcd..7acfcec4b52ca 100644
index ec0d2386913d0..ea4e0e8b697dd 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -2576,16 +2576,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -2578,16 +2578,20 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
network_service_->network_quality_estimator());
}

View File

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

View File

@@ -23,7 +23,7 @@ index cef40af382b1e..a2cf4691edc37 100644
case ui::SHOW_STATE_END:
return ui::SHOW_STATE_NORMAL;
diff --git components/sessions/core/session_service_commands.cc components/sessions/core/session_service_commands.cc
index 5cd1fb6938b07..3eec7d48690ca 100644
index fc9d96c12b063..3fa0ab80926b3 100644
--- components/sessions/core/session_service_commands.cc
+++ components/sessions/core/session_service_commands.cc
@@ -165,9 +165,10 @@ enum PersistedWindowShowState {

View File

@@ -4,6 +4,8 @@
#include "tests/cefclient/renderer/performance_test.h"
#include <array>
#include "include/cef_v8.h"
#include "tests/cefclient/renderer/performance_test_setup.h"

View File

@@ -145,11 +145,36 @@ void WindowCreateMaximizedImpl(CefRefPtr<CefWaitableEvent> event) {
TestWindowDelegate::RunTest(event, std::move(config));
}
#if defined(OS_MAC)
void WindowFullscreenCreationComplete(CefRefPtr<CefWindow> window,
size_t count) {
EXPECT_FALSE(window->IsMinimized());
EXPECT_EQ(window->IsFullscreen(), window->IsMaximized());
if (window->IsFullscreen()) {
EXPECT_EQ(1U, count);
window->SetFullscreen(false);
} else {
EXPECT_EQ(2U, count);
// End the test by closing the Window.
window->Close();
}
}
#endif
void WindowCreateFullscreenImpl(CefRefPtr<CefWaitableEvent> event) {
auto config = std::make_unique<TestWindowDelegate::Config>();
config->initial_show_state = CEF_SHOW_STATE_FULLSCREEN;
config->on_window_created =
base::BindOnce(RunWindowShow, config->initial_show_state);
#if defined(OS_MAC)
// On macOS, destroying a fullscreen window can take a long time.
// To prevent the next test from starting before the window is fully closed,
// we need to exit fullscreen mode before closing the window.
config->on_window_fullscreen_transition_complete =
base::BindRepeating(WindowFullscreenCreationComplete);
config->close_window = false;
#endif
TestWindowDelegate::RunTest(event, std::move(config));
}
@@ -215,9 +240,9 @@ void CreateBoxLayout(CefRefPtr<CefWindow> parent) {
// The children should each take up 50% of the client area.
ExpectCloseRects(CefRect(0, 0, kWSize, kWSize / 2), panel_child1->GetBounds(),
2);
3);
ExpectCloseRects(CefRect(0, kWSize / 2, kWSize, kWSize / 2),
panel_child2->GetBounds(), 2);
panel_child2->GetBounds(), 3);
}
void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
@@ -242,7 +267,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
EXPECT_TRUE(view2->ConvertPointToScreen(point));
ExpectClosePoints(CefPoint(client_bounds_in_screen.x,
client_bounds_in_screen.y + kWSize / 2),
point, 1);
point, 3);
// Test view from screen coordinate conversions.
point = CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y);
@@ -251,7 +276,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
point = CefPoint(client_bounds_in_screen.x,
client_bounds_in_screen.y + kWSize / 2);
EXPECT_TRUE(view2->ConvertPointFromScreen(point));
ExpectClosePoints(CefPoint(0, 0), point, 1);
ExpectClosePoints(CefPoint(0, 0), point, 3);
// Test view to window coordinate conversions.
point = CefPoint(0, 0);
@@ -259,7 +284,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
EXPECT_EQ(CefPoint(0, 0), point);
point = CefPoint(0, 0);
EXPECT_TRUE(view2->ConvertPointToWindow(point));
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 1);
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 3);
// Test view from window coordinate conversions.
point = CefPoint(0, 0);
@@ -267,23 +292,23 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
EXPECT_EQ(CefPoint(0, 0), point);
point = CefPoint(0, kWSize / 2);
EXPECT_TRUE(view2->ConvertPointFromWindow(point));
ExpectClosePoints(CefPoint(0, 0), point, 1);
ExpectClosePoints(CefPoint(0, 0), point, 3);
// Test view to view coordinate conversions.
point = CefPoint(0, 0);
EXPECT_TRUE(view1->ConvertPointToView(view2, point));
ExpectClosePoints(CefPoint(0, -kWSize / 2), point, 1);
ExpectClosePoints(CefPoint(0, -kWSize / 2), point, 3);
point = CefPoint(0, 0);
EXPECT_TRUE(view2->ConvertPointToView(view1, point));
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 1);
ExpectClosePoints(CefPoint(0, kWSize / 2), point, 3);
// Test view from view coordinate conversions.
point = CefPoint(0, -kWSize / 2);
EXPECT_TRUE(view1->ConvertPointFromView(view2, point));
ExpectClosePoints(CefPoint(0, 0), point, 1);
ExpectClosePoints(CefPoint(0, 0), point, 3);
point = CefPoint(0, kWSize / 2);
EXPECT_TRUE(view2->ConvertPointFromView(view1, point));
ExpectClosePoints(CefPoint(0, 0), point, 1);
ExpectClosePoints(CefPoint(0, 0), point, 3);
CefRefPtr<CefDisplay> display = window->GetDisplay();
EXPECT_TRUE(display.get());
@@ -299,7 +324,7 @@ void RunWindowLayoutAndCoords(CefRefPtr<CefWindow> window) {
point = CefPoint(client_bounds_in_screen.x, client_bounds_in_screen.y);
const auto pixels = CefDisplay::ConvertScreenPointToPixels(point);
const auto dip = CefDisplay::ConvertScreenPointFromPixels(pixels);
EXPECT_EQ(point, dip);
ExpectClosePoints(point, dip, 1);
}
void WindowLayoutAndCoordsImpl(CefRefPtr<CefWaitableEvent> event) {