mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
965d61d914 | ||
|
f09539f1c9 | ||
|
57354b8bbf | ||
|
e52707f8c9 | ||
|
fda35ba29a | ||
|
31668f9570 | ||
|
8929b36b73 | ||
|
a918aa72bc | ||
|
c06c7439df | ||
|
9774348eb5 | ||
|
168febe5db | ||
|
01f47cd36f | ||
|
463bda9a4e |
@@ -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'
|
||||
}
|
||||
|
@@ -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)
|
||||
|
||||
|
||||
#
|
||||
|
@@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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'
|
||||
}
|
||||
]
|
||||
|
@@ -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.
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
|
27
patch/patches/chrome_browser_task_manager_5894650.patch
Normal file
27
patch/patches/chrome_browser_task_manager_5894650.patch
Normal 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
|
@@ -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
|
||||
|
@@ -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");
|
||||
|
@@ -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 @@
|
||||
|
@@ -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.
|
||||
|
@@ -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(
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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();
|
||||
|
@@ -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());
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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 {
|
||||
|
@@ -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"
|
||||
|
||||
|
@@ -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) {
|
||||
|
Reference in New Issue
Block a user