mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 86.0.4240.0 (#800218)
- CefURLRequest::Create is no longer supported in the renderer process (see https://crbug.com/891872). Use CefFrame::CreateURLRequest instead. - Mac platform definitions have been changed from `MACOSX` to `MAC` (see https://crbug.com/1105907) and related CMake macro names have been updated. The old `OS_MACOSX` define is still set in code and CMake for backwards compatibility. - Linux ARM build is currently broken (see https://crbug.com/1123214).
This commit is contained in:
@ -1,8 +1,8 @@
|
||||
diff --git base/BUILD.gn base/BUILD.gn
|
||||
index fb85807363f1..bdef6c7f64c7 100644
|
||||
index b2a25c8c376c..c21bc286abf7 100644
|
||||
--- base/BUILD.gn
|
||||
+++ base/BUILD.gn
|
||||
@@ -34,6 +34,7 @@ import("//build/config/ui.gni")
|
||||
@@ -33,6 +33,7 @@ import("//build/config/ui.gni")
|
||||
import("//build/nocompile.gni")
|
||||
import("//build/timestamp.gni")
|
||||
import("//build_overrides/build.gni")
|
||||
@ -10,7 +10,7 @@ index fb85807363f1..bdef6c7f64c7 100644
|
||||
import("//testing/libfuzzer/fuzzer_test.gni")
|
||||
import("//testing/test.gni")
|
||||
import("//third_party/icu/config.gni")
|
||||
@@ -1634,7 +1635,11 @@ jumbo_component("base") {
|
||||
@@ -1641,7 +1642,11 @@ component("base") {
|
||||
"hash/md5_constexpr_internal.h",
|
||||
"hash/sha1.h",
|
||||
]
|
||||
|
12
patch/patches/base_string_piece_1049498.patch
Normal file
12
patch/patches/base_string_piece_1049498.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git base/strings/string_piece.h base/strings/string_piece.h
|
||||
index c650cfa84d59..0d6ff1ab5684 100644
|
||||
--- base/strings/string_piece.h
|
||||
+++ base/strings/string_piece.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
+#include <algorithm>
|
||||
#include <iosfwd>
|
||||
#include <ostream>
|
||||
#include <string>
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
index af7b3249d421..1483a48f9074 100644
|
||||
index 5d8eae87ed64..427c11ceb549 100644
|
||||
--- content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
+++ content/browser/renderer_host/browser_compositor_view_mac.h
|
||||
@@ -58,6 +58,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
|
||||
@ -12,7 +12,7 @@ index af7b3249d421..1483a48f9074 100644
|
||||
// Force a new surface id to be allocated. Returns true if the
|
||||
// RenderWidgetHostImpl sent the resulting surface id to the renderer.
|
||||
diff --git content/browser/renderer_host/browser_compositor_view_mac.mm content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
index ac9fdebbc87d..ebb2556ad908 100644
|
||||
index 07e91e20d4c1..565e98f015eb 100644
|
||||
--- content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
@@ -85,6 +85,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() {
|
||||
|
@ -1,21 +1,21 @@
|
||||
diff --git content/browser/child_process_security_policy_impl.cc content/browser/child_process_security_policy_impl.cc
|
||||
index ca111c5b80ee..35e734fe6a54 100644
|
||||
index 9cd1ff2b9222..2f5264de68c4 100644
|
||||
--- content/browser/child_process_security_policy_impl.cc
|
||||
+++ content/browser/child_process_security_policy_impl.cc
|
||||
@@ -1498,6 +1498,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
|
||||
@@ -1548,6 +1548,16 @@ bool ChildProcessSecurityPolicyImpl::CanAccessDataForOrigin(
|
||||
// DeclarativeApiTest.PersistRules.
|
||||
if (actual_process_lock.SchemeIs(url::kDataScheme))
|
||||
if (actual_process_lock.matches_scheme(url::kDataScheme))
|
||||
return true;
|
||||
+
|
||||
+ // Allow other schemes that are non-standard, non-local and WebSafe.
|
||||
+ if (actual_process_lock.is_valid() &&
|
||||
+ !actual_process_lock.IsStandard() &&
|
||||
+ if (lock_url.is_valid() &&
|
||||
+ !lock_url.IsStandard() &&
|
||||
+ !base::Contains(url::GetLocalSchemes(),
|
||||
+ actual_process_lock.scheme_piece()) &&
|
||||
+ lock_url.scheme_piece()) &&
|
||||
+ base::Contains(schemes_okay_to_request_in_any_process_,
|
||||
+ actual_process_lock.scheme_piece())) {
|
||||
+ lock_url.scheme_piece())) {
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
|
||||
failure_reason = "lock_mismatch";
|
||||
// TODO(wjmaclean): We should update the ProcessLock comparison API to
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||
index 6e219b3994e2..0e14d81370ef 100644
|
||||
index 8166e38ceda5..178099b1ac62 100644
|
||||
--- build/config/compiler/BUILD.gn
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -1742,8 +1742,6 @@ config("thin_archive") {
|
||||
@@ -1767,8 +1767,6 @@ config("thin_archive") {
|
||||
# archive names to 16 characters, which is not what we want).
|
||||
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
|
||||
arflags = [ "-T" ]
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
||||
index 9fe789540c05..a2646c13e5d5 100644
|
||||
index 6cb9ee1f0764..8109a134907e 100644
|
||||
--- chrome/browser/BUILD.gn
|
||||
+++ chrome/browser/BUILD.gn
|
||||
@@ -12,6 +12,7 @@ import("//build/config/crypto.gni")
|
||||
@ -10,15 +10,15 @@ index 9fe789540c05..a2646c13e5d5 100644
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/browser/downgrade/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
@@ -1824,6 +1825,7 @@ static_library("browser") {
|
||||
"//base/util/values:values_util",
|
||||
@@ -1870,6 +1871,7 @@ static_library("browser") {
|
||||
"//build:branding_buildflags",
|
||||
"//build:lacros_buildflags",
|
||||
"//cc",
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2156,6 +2158,10 @@ static_library("browser") {
|
||||
@@ -2221,6 +2223,10 @@ static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@ -29,3 +29,75 @@ index 9fe789540c05..a2646c13e5d5 100644
|
||||
if (is_android) {
|
||||
sources += [
|
||||
"after_startup_task_utils_android.cc",
|
||||
@@ -3422,8 +3428,6 @@ static_library("browser") {
|
||||
"nearby_sharing/outgoing_share_target_info.h",
|
||||
"nearby_sharing/paired_key_verification_runner.cc",
|
||||
"nearby_sharing/paired_key_verification_runner.h",
|
||||
- "nearby_sharing/share_target.cc",
|
||||
- "nearby_sharing/share_target.h",
|
||||
"nearby_sharing/share_target_discovered_callback.h",
|
||||
"nearby_sharing/share_target_info.cc",
|
||||
"nearby_sharing/share_target_info.h",
|
||||
@@ -3617,13 +3621,6 @@ static_library("browser") {
|
||||
"serial/serial_chooser_context_factory.cc",
|
||||
"serial/serial_chooser_context_factory.h",
|
||||
"serial/serial_chooser_histograms.h",
|
||||
- "sharesheet/sharesheet_controller.h",
|
||||
- "sharesheet/sharesheet_service.cc",
|
||||
- "sharesheet/sharesheet_service.h",
|
||||
- "sharesheet/sharesheet_service_delegate.cc",
|
||||
- "sharesheet/sharesheet_service_delegate.h",
|
||||
- "sharesheet/sharesheet_service_factory.cc",
|
||||
- "sharesheet/sharesheet_service_factory.h",
|
||||
"sharing/click_to_call/click_to_call_context_menu_observer.cc",
|
||||
"sharing/click_to_call/click_to_call_context_menu_observer.h",
|
||||
"sharing/click_to_call/click_to_call_metrics.cc",
|
||||
diff --git chrome/browser/ui/views/toolbar/toolbar_view.cc chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
index 7ccd06a9b0fe..183da2c7238d 100644
|
||||
--- chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
+++ chrome/browser/ui/views/toolbar/toolbar_view.cc
|
||||
@@ -232,8 +232,8 @@ void ToolbarView::Init() {
|
||||
media_button = std::make_unique<MediaToolbarButtonView>(browser_);
|
||||
}
|
||||
|
||||
- std::unique_ptr<SharesheetButton> sharesheet_button;
|
||||
#if defined(OS_CHROMEOS)
|
||||
+ std::unique_ptr<SharesheetButton> sharesheet_button;
|
||||
if (base::FeatureList::IsEnabled(features::kSharesheet)) {
|
||||
sharesheet_button = std::make_unique<SharesheetButton>(browser_);
|
||||
}
|
||||
@@ -276,8 +276,10 @@ void ToolbarView::Init() {
|
||||
if (media_button)
|
||||
media_button_ = AddChildView(std::move(media_button));
|
||||
|
||||
+#if defined(OS_CHROMEOS)
|
||||
if (sharesheet_button)
|
||||
sharesheet_button_ = AddChildView(std::move(sharesheet_button));
|
||||
+#endif
|
||||
|
||||
if (toolbar_account_icon_container) {
|
||||
toolbar_account_icon_container_ =
|
||||
@@ -966,3 +968,4 @@ void ToolbarView::OnTouchUiChanged() {
|
||||
PreferredSizeChanged();
|
||||
}
|
||||
}
|
||||
+
|
||||
diff --git chrome/browser/ui/views/toolbar/toolbar_view.h chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||
index f4af66fa98b3..3c4d171c091e 100644
|
||||
--- chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||
+++ chrome/browser/ui/views/toolbar/toolbar_view.h
|
||||
@@ -273,7 +273,9 @@ class ToolbarView : public views::AccessiblePaneView,
|
||||
media_router::CastToolbarButton* cast_ = nullptr;
|
||||
ToolbarAccountIconContainerView* toolbar_account_icon_container_ = nullptr;
|
||||
AvatarToolbarButton* avatar_ = nullptr;
|
||||
+#if defined(OS_CHROMEOS)
|
||||
SharesheetButton* sharesheet_button_ = nullptr;
|
||||
+#endif
|
||||
MediaToolbarButtonView* media_button_ = nullptr;
|
||||
BrowserAppMenuButton* app_menu_button_ = nullptr;
|
||||
|
||||
@@ -302,3 +304,4 @@ class ToolbarView : public views::AccessiblePaneView,
|
||||
};
|
||||
|
||||
#endif // CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_VIEW_H_
|
||||
+
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/app_controller_mac.mm chrome/browser/app_controller_mac.mm
|
||||
index 559e51776e42..a429421f7c61 100644
|
||||
index 8493d1b2233b..69efa5114c6f 100644
|
||||
--- chrome/browser/app_controller_mac.mm
|
||||
+++ chrome/browser/app_controller_mac.mm
|
||||
@@ -1140,6 +1140,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
@@ -1141,6 +1141,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
|
||||
// Run a (background) application in a new tab.
|
||||
- (void)executeApplication:(id)sender {
|
||||
@ -10,7 +10,7 @@ index 559e51776e42..a429421f7c61 100644
|
||||
NSInteger tag = [sender tag];
|
||||
Profile* profile = [self lastProfile];
|
||||
DCHECK(profile);
|
||||
@@ -1148,6 +1149,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
@@ -1149,6 +1150,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
tag < static_cast<int>(applications.size()));
|
||||
const extensions::Extension* extension = applications.GetExtension(tag);
|
||||
BackgroundModeManager::LaunchBackgroundApplication(profile, extension);
|
||||
@ -18,7 +18,7 @@ index 559e51776e42..a429421f7c61 100644
|
||||
}
|
||||
|
||||
// Same as |-commandDispatch:|, but executes commands using a disposition
|
||||
@@ -1529,6 +1531,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
@@ -1530,6 +1532,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
// TODO(rickcam): Mock out BackgroundApplicationListModel, then add unit
|
||||
// tests which use the mock in place of the profile-initialized model.
|
||||
|
||||
@ -26,7 +26,7 @@ index 559e51776e42..a429421f7c61 100644
|
||||
// Avoid breaking unit tests which have no profile.
|
||||
if (profile) {
|
||||
BackgroundApplicationListModel applications(profile);
|
||||
@@ -1555,6 +1558,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
@@ -1556,6 +1559,7 @@ static base::mac::ScopedObjCClassSwizzler* g_swizzle_imk_input_session;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -52,10 +52,10 @@ index 132f2a8d15fd..1262f31d39db 100644
|
||||
// Returns the StatusTray, which provides an API for displaying status icons
|
||||
// in the system status tray. Returns NULL if status icons are not supported
|
||||
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
|
||||
index 77faedcc2944..4d06b472dc64 100644
|
||||
index 254173b22652..93f0eb216cc7 100644
|
||||
--- chrome/browser/browser_process_impl.cc
|
||||
+++ chrome/browser/browser_process_impl.cc
|
||||
@@ -964,24 +964,19 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
|
||||
@@ -955,24 +955,19 @@ DownloadRequestLimiter* BrowserProcessImpl::download_request_limiter() {
|
||||
return download_request_limiter_.get();
|
||||
}
|
||||
|
||||
@ -83,10 +83,10 @@ index 77faedcc2944..4d06b472dc64 100644
|
||||
StatusTray* BrowserProcessImpl::status_tray() {
|
||||
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
|
||||
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
|
||||
index 5ac13a0eecee..0bb9262acf1b 100644
|
||||
index 124ebbf06ea2..c47e6b6cf24c 100644
|
||||
--- chrome/browser/browser_process_impl.h
|
||||
+++ chrome/browser/browser_process_impl.h
|
||||
@@ -164,9 +164,11 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -163,9 +163,11 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
void SetApplicationLocale(const std::string& actual_locale) override;
|
||||
DownloadStatusUpdater* download_status_updater() override;
|
||||
DownloadRequestLimiter* download_request_limiter() override;
|
||||
@ -99,7 +99,7 @@ index 5ac13a0eecee..0bb9262acf1b 100644
|
||||
safe_browsing::SafeBrowsingService* safe_browsing_service() override;
|
||||
subresource_filter::RulesetService* subresource_filter_ruleset_service()
|
||||
diff --git chrome/browser/lifetime/browser_close_manager.cc chrome/browser/lifetime/browser_close_manager.cc
|
||||
index 2f6bb4a8cd34..d6ba58c228aa 100644
|
||||
index d20c93b35f39..badf57a88d90 100644
|
||||
--- chrome/browser/lifetime/browser_close_manager.cc
|
||||
+++ chrome/browser/lifetime/browser_close_manager.cc
|
||||
@@ -148,12 +148,14 @@ void BrowserCloseManager::CloseBrowsers() {
|
||||
@ -118,10 +118,10 @@ index 2f6bb4a8cd34..d6ba58c228aa 100644
|
||||
// Make a copy of the BrowserList to simplify the case where we need to
|
||||
// destroy a Browser during the loop.
|
||||
diff --git chrome/browser/sessions/session_service.cc chrome/browser/sessions/session_service.cc
|
||||
index f5079f6d2189..a43a981d471b 100644
|
||||
index 73d97b1da62a..eec9c645366f 100644
|
||||
--- chrome/browser/sessions/session_service.cc
|
||||
+++ chrome/browser/sessions/session_service.cc
|
||||
@@ -942,12 +942,19 @@ void SessionService::MaybeDeleteSessionOnlyData() {
|
||||
@@ -939,12 +939,19 @@ void SessionService::MaybeDeleteSessionOnlyData() {
|
||||
if (!profile() || profile()->AsTestingProfile())
|
||||
return;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
index e5c0070b722e..987ded2bacfb 100644
|
||||
index 3e2d1221d91e..b0572e99c613 100644
|
||||
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
|
||||
@@ -8,6 +8,7 @@
|
||||
@ -36,7 +36,7 @@ index e5c0070b722e..987ded2bacfb 100644
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -99,10 +110,16 @@ scoped_refptr<RefcountedKeyedService>
|
||||
@@ -98,10 +109,16 @@ scoped_refptr<RefcountedKeyedService>
|
||||
std::move(allowlist_provider));
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
||||
index 7f8d13d8c4c2..ab5688900991 100644
|
||||
index c7bd97a32af1..311f2c52af8d 100644
|
||||
--- chrome/browser/ui/BUILD.gn
|
||||
+++ chrome/browser/ui/BUILD.gn
|
||||
@@ -9,6 +9,7 @@ import("//build/config/crypto.gni")
|
||||
@@ -10,6 +10,7 @@ import("//build/config/crypto.gni")
|
||||
import("//build/config/features.gni")
|
||||
import("//build/config/linux/gtk/gtk.gni")
|
||||
import("//build/config/ui.gni")
|
||||
@ -10,7 +10,7 @@ index 7f8d13d8c4c2..ab5688900991 100644
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//chromeos/assistant/assistant.gni")
|
||||
@@ -335,6 +336,10 @@ static_library("ui") {
|
||||
@@ -334,6 +335,10 @@ static_library("ui") {
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
]
|
||||
|
||||
@ -21,7 +21,7 @@ index 7f8d13d8c4c2..ab5688900991 100644
|
||||
# Since browser and browser_ui actually depend on each other,
|
||||
# we must omit the dependency from browser_ui to browser.
|
||||
# However, this means browser_ui and browser should more or less
|
||||
@@ -356,6 +361,7 @@ static_library("ui") {
|
||||
@@ -355,6 +360,7 @@ static_library("ui") {
|
||||
"//base/allocator:buildflags",
|
||||
"//build:branding_buildflags",
|
||||
"//cc/paint",
|
||||
@ -29,14 +29,23 @@ index 7f8d13d8c4c2..ab5688900991 100644
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -1473,6 +1479,7 @@ static_library("ui") {
|
||||
"//components/keep_alive_registry",
|
||||
@@ -1532,6 +1538,7 @@ static_library("ui") {
|
||||
"//components/network_session_configurator/common",
|
||||
"//components/page_load_metrics/browser",
|
||||
"//components/performance_manager:site_data_proto",
|
||||
+ "//components/printing/common:mojo_interfaces",
|
||||
"//components/profile_metrics",
|
||||
"//components/safety_check",
|
||||
"//components/search_provider_logos",
|
||||
@@ -3905,8 +3912,6 @@ static_library("ui") {
|
||||
"views/toolbar/home_button.h",
|
||||
"views/toolbar/reload_button.cc",
|
||||
"views/toolbar/reload_button.h",
|
||||
- "views/toolbar/sharesheet_button.cc",
|
||||
- "views/toolbar/sharesheet_button.h",
|
||||
"views/toolbar/toolbar_account_icon_container_view.cc",
|
||||
"views/toolbar/toolbar_account_icon_container_view.h",
|
||||
"views/toolbar/toolbar_action_view.cc",
|
||||
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
|
||||
index f27414c41891..b42478315ac0 100644
|
||||
--- chrome/browser/ui/webui/net_export_ui.cc
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
|
||||
index d27f4eb65fa9..9bf1bde37e63 100644
|
||||
index e520e957ddea..34c402af6d35 100644
|
||||
--- chrome/browser/chrome_content_browser_client.cc
|
||||
+++ chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -1021,10 +1021,6 @@ void LaunchURL(const GURL& url,
|
||||
@@ -1022,10 +1022,6 @@ void LaunchURL(const GURL& url,
|
||||
}
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ index d27f4eb65fa9..9bf1bde37e63 100644
|
||||
void MaybeAppendSecureOriginsAllowlistSwitch(base::CommandLine* cmdline) {
|
||||
// |allowlist| combines pref/policy + cmdline switch in the browser process.
|
||||
// For renderer and utility (e.g. NetworkService) processes the switch is the
|
||||
@@ -1191,6 +1187,14 @@ const blink::UserAgentBrandList& GetBrandVersionList() {
|
||||
@@ -1204,6 +1200,14 @@ const blink::UserAgentBrandList& GetBrandVersionList() {
|
||||
return *greased_brand_version_list;
|
||||
}
|
||||
|
||||
@ -29,7 +29,7 @@ index d27f4eb65fa9..9bf1bde37e63 100644
|
||||
base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
if (command_line->HasSwitch(switches::kUserAgent)) {
|
||||
diff --git chrome/browser/chrome_content_browser_client.h chrome/browser/chrome_content_browser_client.h
|
||||
index dad13f199206..43fbc32b5d83 100644
|
||||
index a47818dc2f0f..08148534aeea 100644
|
||||
--- chrome/browser/chrome_content_browser_client.h
|
||||
+++ chrome/browser/chrome_content_browser_client.h
|
||||
@@ -91,7 +91,8 @@ class ChromeXrIntegrationClient;
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
|
||||
index f81028b5cda7..9b934d020ce6 100644
|
||||
index 9b9335369a4f..fea76956bd41 100644
|
||||
--- chrome/browser/profiles/profile_manager.cc
|
||||
+++ chrome/browser/profiles/profile_manager.cc
|
||||
@@ -377,7 +377,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
@@ -374,7 +374,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
|
||||
content::NotificationService::AllSources());
|
||||
|
||||
@ -12,7 +12,7 @@ index f81028b5cda7..9b934d020ce6 100644
|
||||
}
|
||||
|
||||
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
|
||||
index 3e1e28ea7d0e..b70f718c8e94 100644
|
||||
index 93571e419253..bc77bebce943 100644
|
||||
--- chrome/browser/profiles/profile_manager.h
|
||||
+++ chrome/browser/profiles/profile_manager.h
|
||||
@@ -101,7 +101,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
@ -22,9 +22,9 @@ index 3e1e28ea7d0e..b70f718c8e94 100644
|
||||
- Profile* GetProfile(const base::FilePath& profile_dir);
|
||||
+ virtual Profile* GetProfile(const base::FilePath& profile_dir);
|
||||
|
||||
// Returns total number of profiles available on this machine.
|
||||
size_t GetNumberOfProfiles();
|
||||
@@ -131,7 +131,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
// Returns regular or off-the-record profile given its profile key.
|
||||
static Profile* GetProfileFromProfileKey(ProfileKey* profile_key);
|
||||
@@ -134,7 +134,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
|
||||
// Returns true if the profile pointer is known to point to an existing
|
||||
// profile.
|
||||
@ -33,7 +33,7 @@ index 3e1e28ea7d0e..b70f718c8e94 100644
|
||||
|
||||
// Returns the directory where the first created profile is stored,
|
||||
// relative to the user data directory currently in use.
|
||||
@@ -140,7 +140,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
@@ -143,7 +143,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
// Get the Profile last used (the Profile to which owns the most recently
|
||||
// focused window) with this Chrome build. If no signed profile has been
|
||||
// stored in Local State, hand back the Default profile.
|
||||
@ -43,7 +43,7 @@ index 3e1e28ea7d0e..b70f718c8e94 100644
|
||||
// Get the path of the last used profile, or if that's undefined, the default
|
||||
// profile.
|
||||
diff --git chrome/browser/profiles/renderer_updater.cc chrome/browser/profiles/renderer_updater.cc
|
||||
index c1792eccd997..d7434ff76a88 100644
|
||||
index 4eb91c80e57a..02373b149bde 100644
|
||||
--- chrome/browser/profiles/renderer_updater.cc
|
||||
+++ chrome/browser/profiles/renderer_updater.cc
|
||||
@@ -7,6 +7,7 @@
|
||||
@ -54,7 +54,7 @@ index c1792eccd997..d7434ff76a88 100644
|
||||
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/signin/identity_manager_factory.h"
|
||||
@@ -62,8 +63,12 @@ void GetGuestViewDefaultContentSettingRules(
|
||||
@@ -57,8 +58,12 @@ void GetGuestViewDefaultContentSettingRules(
|
||||
|
||||
RendererUpdater::RendererUpdater(Profile* profile)
|
||||
: profile_(profile), identity_manager_observer_(this) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
|
||||
index 82edacf2604a..01c21d259dda 100644
|
||||
index 7f54cacab005..b4f509b766ca 100644
|
||||
--- chrome/browser/safe_browsing/BUILD.gn
|
||||
+++ chrome/browser/safe_browsing/BUILD.gn
|
||||
@@ -251,6 +251,7 @@ static_library("safe_browsing") {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/themes/theme_service.cc chrome/browser/themes/theme_service.cc
|
||||
index 2a6df8119a44..dffe87df9c54 100644
|
||||
index e49552e272e4..b935ef2d47b9 100644
|
||||
--- chrome/browser/themes/theme_service.cc
|
||||
+++ chrome/browser/themes/theme_service.cc
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "build/build_config.h"
|
||||
@ -10,7 +10,7 @@ index 2a6df8119a44..dffe87df9c54 100644
|
||||
#include "chrome/browser/chrome_notification_types.h"
|
||||
#include "chrome/browser/extensions/extension_service.h"
|
||||
#include "chrome/browser/extensions/theme_installed_infobar_delegate.h"
|
||||
@@ -54,6 +55,10 @@
|
||||
@@ -55,6 +56,10 @@
|
||||
#include "extensions/common/extension_set.h"
|
||||
#include "ui/base/layout.h"
|
||||
|
||||
@ -21,7 +21,7 @@ index 2a6df8119a44..dffe87df9c54 100644
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "base/scoped_observer.h"
|
||||
#include "extensions/browser/extension_registry_observer.h"
|
||||
@@ -270,11 +275,19 @@ void ThemeService::Init() {
|
||||
@@ -271,11 +276,19 @@ void ThemeService::Init() {
|
||||
// OnExtensionServiceReady. Otherwise, the ThemeObserver won't be
|
||||
// constructed in time to observe the corresponding events.
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/plugins/plugin_info_host_impl.cc chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
index d49a1df73622..9a389e4383f0 100644
|
||||
index d789ee040ac5..58b45d5a56f2 100644
|
||||
--- chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
+++ chrome/browser/plugins/plugin_info_host_impl.cc
|
||||
@@ -18,6 +18,7 @@
|
||||
@ -128,7 +128,7 @@ index d49a1df73622..9a389e4383f0 100644
|
||||
// If we broke out of the loop, we have found an enabled plugin.
|
||||
bool enabled = i < matching_plugins.size();
|
||||
diff --git chrome/browser/plugins/plugin_utils.cc chrome/browser/plugins/plugin_utils.cc
|
||||
index 4e64db143b8a..3dc127b7b992 100644
|
||||
index 1471b8f2a414..a856ce635719 100644
|
||||
--- chrome/browser/plugins/plugin_utils.cc
|
||||
+++ chrome/browser/plugins/plugin_utils.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -150,7 +150,7 @@ index 4e64db143b8a..3dc127b7b992 100644
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
@@ -182,6 +187,12 @@ base::flat_map<std::string, std::string>
|
||||
@@ -181,6 +186,12 @@ base::flat_map<std::string, std::string>
|
||||
PluginUtils::GetMimeTypeToExtensionIdMap(
|
||||
content::BrowserContext* browser_context) {
|
||||
base::flat_map<std::string, std::string> mime_type_to_extension_id_map;
|
||||
@ -162,7 +162,7 @@ index 4e64db143b8a..3dc127b7b992 100644
|
||||
+
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
Profile* profile = Profile::FromBrowserContext(browser_context);
|
||||
std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
|
||||
const std::vector<std::string>& allowlist =
|
||||
diff --git chrome/common/google_url_loader_throttle.cc chrome/common/google_url_loader_throttle.cc
|
||||
index c1870b0f56ef..d32b8d54fb3f 100644
|
||||
--- chrome/common/google_url_loader_throttle.cc
|
||||
@ -198,10 +198,10 @@ index c1870b0f56ef..d32b8d54fb3f 100644
|
||||
GURL webstore_url(extension_urls::GetWebstoreLaunchURL());
|
||||
if (response_url.SchemeIsHTTPOrHTTPS() &&
|
||||
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
|
||||
index 03d1e6a07843..2fd040ed87b5 100644
|
||||
index eb6e5d353b33..62994a141421 100644
|
||||
--- chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -842,6 +842,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -823,6 +823,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
|
||||
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
|
||||
status == chrome::mojom::PluginStatus::kBlocked) &&
|
||||
@ -209,7 +209,7 @@ index 03d1e6a07843..2fd040ed87b5 100644
|
||||
content_settings_agent_delegate->IsPluginTemporarilyAllowed(
|
||||
identifier)) {
|
||||
status = chrome::mojom::PluginStatus::kAllowed;
|
||||
@@ -1045,7 +1046,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1026,7 +1027,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
|
||||
plugin_auth_host.BindNewEndpointAndPassReceiver());
|
||||
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
|
||||
@ -219,7 +219,7 @@ index 03d1e6a07843..2fd040ed87b5 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlocked: {
|
||||
@@ -1054,7 +1056,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1035,7 +1037,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
|
||||
placeholder->AllowLoading();
|
||||
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
|
||||
@ -229,7 +229,7 @@ index 03d1e6a07843..2fd040ed87b5 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
|
||||
@@ -1064,7 +1067,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1045,7 +1048,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
group_name));
|
||||
RenderThread::Get()->RecordAction(
|
||||
UserMetricsAction("Plugin_BlockedByPolicy"));
|
||||
@ -239,7 +239,7 @@ index 03d1e6a07843..2fd040ed87b5 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
|
||||
@@ -1072,7 +1076,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -1053,7 +1057,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
IDR_BLOCKED_PLUGIN_HTML,
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
|
||||
group_name));
|
||||
@ -250,10 +250,10 @@ index 03d1e6a07843..2fd040ed87b5 100644
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
|
||||
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
index d662fe9310c9..c4c406d16b95 100644
|
||||
index 4e883820f752..267c6af2af6b 100644
|
||||
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
|
||||
@@ -360,8 +360,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
|
||||
@@ -364,8 +364,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
|
||||
|
||||
if (status ==
|
||||
content::RenderFrame::PeripheralContentStatus::CONTENT_STATUS_TINY) {
|
||||
@ -267,3 +267,19 @@ index d662fe9310c9..c4c406d16b95 100644
|
||||
}
|
||||
|
||||
std::string message = base::StringPrintf(
|
||||
diff --git content/browser/browser_plugin/browser_plugin_guest.h content/browser/browser_plugin/browser_plugin_guest.h
|
||||
index c44044339647..3cdb3fb4bb63 100644
|
||||
--- content/browser/browser_plugin/browser_plugin_guest.h
|
||||
+++ content/browser/browser_plugin/browser_plugin_guest.h
|
||||
@@ -130,6 +130,11 @@ class CONTENT_EXPORT BrowserPluginGuest : public GuestHost,
|
||||
void EmbedderSystemDragEnded();
|
||||
void EndSystemDragIfApplicable();
|
||||
|
||||
+ // Returns the embedder frame for this guest.
|
||||
+ RenderFrameHost* GetEmbedderFrame() const {
|
||||
+ return delegate_->GetEmbedderFrame();
|
||||
+ }
|
||||
+
|
||||
protected:
|
||||
// BrowserPluginGuest is a WebContentsObserver of |web_contents| and
|
||||
// |web_contents| has to stay valid for the lifetime of BrowserPluginGuest.
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
|
||||
index 22e0426b61aa..88d226174831 100644
|
||||
index cbf9a60c385e..06146091eb43 100644
|
||||
--- chrome/renderer/BUILD.gn
|
||||
+++ chrome/renderer/BUILD.gn
|
||||
@@ -4,6 +4,7 @@
|
||||
@ -10,7 +10,7 @@ index 22e0426b61aa..88d226174831 100644
|
||||
import("//chrome/common/features.gni")
|
||||
import("//components/nacl/features.gni")
|
||||
import("//components/offline_pages/buildflags/features.gni")
|
||||
@@ -137,6 +138,7 @@ static_library("renderer") {
|
||||
@@ -134,6 +135,7 @@ static_library("renderer") {
|
||||
public_deps = [ "//components/contextual_search:buildflags" ]
|
||||
|
||||
deps = [
|
||||
@ -18,7 +18,7 @@ index 22e0426b61aa..88d226174831 100644
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
"//chrome/common",
|
||||
@@ -201,6 +203,10 @@ static_library("renderer") {
|
||||
@@ -199,6 +201,10 @@ static_library("renderer") {
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/app/chrome_main_delegate.cc chrome/app/chrome_main_delegate.cc
|
||||
index 945cee14368b..38c180a6e7e6 100644
|
||||
index 313975f42c0d..ee7f27dab6b7 100644
|
||||
--- chrome/app/chrome_main_delegate.cc
|
||||
+++ chrome/app/chrome_main_delegate.cc
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "base/time/time.h"
|
||||
#include "base/trace_event/trace_event_impl.h"
|
||||
#include "build/build_config.h"
|
||||
@ -10,7 +10,7 @@ index 945cee14368b..38c180a6e7e6 100644
|
||||
#include "chrome/browser/chrome_content_browser_client.h"
|
||||
#include "chrome/browser/chrome_resource_bundle_helper.h"
|
||||
#include "chrome/browser/defaults.h"
|
||||
@@ -392,6 +393,8 @@ struct MainFunction {
|
||||
@@ -379,6 +380,8 @@ struct MainFunction {
|
||||
|
||||
// Initializes the user data dir. Must be called before InitializeLocalState().
|
||||
void InitializeUserDataDir(base::CommandLine* command_line) {
|
||||
@ -19,16 +19,16 @@ index 945cee14368b..38c180a6e7e6 100644
|
||||
#if defined(OS_WIN)
|
||||
// Reach out to chrome_elf for the truth on the user data directory.
|
||||
// Note that in tests, this links to chrome_elf_test_stubs.
|
||||
@@ -629,7 +632,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() {
|
||||
@@ -624,7 +627,9 @@ void ChromeMainDelegate::PostFieldTrialInitialization() {
|
||||
}
|
||||
|
||||
#if defined(OS_WIN)
|
||||
+ if (!cef::IsChromeRuntimeEnabled()) {
|
||||
SetUpExtendedCrashReporting(is_browser_process);
|
||||
+ }
|
||||
base::Time::ReadMinTimerIntervalLowResMs();
|
||||
base::sequence_manager::internal::ThreadControllerPowerMonitor::
|
||||
InitializeOnMainThread();
|
||||
#endif
|
||||
@@ -906,6 +911,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
std::string process_type =
|
||||
command_line.GetSwitchValueASCII(switches::kProcessType);
|
||||
@ -45,15 +45,15 @@ index 945cee14368b..38c180a6e7e6 100644
|
||||
|
||||
#if defined(OS_WIN)
|
||||
child_process_logging::Init();
|
||||
@@ -1039,6 +1046,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1040,6 +1047,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
locale;
|
||||
}
|
||||
|
||||
+ if (!cef::IsChromeRuntimeEnabled()) {
|
||||
#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
||||
#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
// Zygote needs to call InitCrashReporter() in RunZygote().
|
||||
if (process_type != service_manager::switches::kZygoteProcess) {
|
||||
@@ -1071,6 +1079,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
@@ -1072,6 +1080,7 @@ void ChromeMainDelegate::PreSandboxStartup() {
|
||||
// After all the platform Breakpads have been initialized, store the command
|
||||
// line for crash reporting.
|
||||
crash_keys::SetCrashKeysFromCommandLine(command_line);
|
||||
@ -61,7 +61,7 @@ index 945cee14368b..38c180a6e7e6 100644
|
||||
|
||||
#if BUILDFLAG(ENABLE_PDF)
|
||||
MaybeInitializeGDI();
|
||||
@@ -1169,6 +1178,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
@@ -1170,6 +1179,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
SetUpProfilingShutdownHandler();
|
||||
}
|
||||
|
||||
@ -69,27 +69,27 @@ index 945cee14368b..38c180a6e7e6 100644
|
||||
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
|
||||
// this up for the browser process in a different manner.
|
||||
const base::CommandLine* command_line =
|
||||
@@ -1185,6 +1195,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
@@ -1186,6 +1196,7 @@ void ChromeMainDelegate::ZygoteForked() {
|
||||
|
||||
// Reset the command line for the newly spawned process.
|
||||
crash_keys::SetCrashKeysFromCommandLine(*command_line);
|
||||
+ } // !cef::IsChromeRuntimeEnabled()
|
||||
}
|
||||
|
||||
#endif // defined(OS_LINUX)
|
||||
#endif // defined(OS_LINUX) || defined(OS_CHROMEOS)
|
||||
diff --git chrome/browser/chrome_browser_main.cc chrome/browser/chrome_browser_main.cc
|
||||
index 5117fe3b5ee3..e8f37fa7066f 100644
|
||||
index 68a92d3924f0..280ef9019551 100644
|
||||
--- chrome/browser/chrome_browser_main.cc
|
||||
+++ chrome/browser/chrome_browser_main.cc
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "build/branding_buildflags.h"
|
||||
@@ -49,6 +49,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "build/lacros_buildflags.h"
|
||||
#include "cc/base/switches.h"
|
||||
+#include "cef/libcef/features/runtime.h"
|
||||
#include "chrome/browser/about_flags.h"
|
||||
#include "chrome/browser/active_use_util.h"
|
||||
#include "chrome/browser/after_startup_task_utils.h"
|
||||
@@ -889,8 +890,10 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
|
||||
@@ -892,8 +893,10 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() {
|
||||
#if !defined(OS_ANDROID)
|
||||
// Create the RunLoop for MainMessageLoopRun() to use, and pass a copy of
|
||||
// its QuitClosure to the BrowserProcessImpl to call when it is time to exit.
|
||||
@ -101,7 +101,7 @@ index 5117fe3b5ee3..e8f37fa7066f 100644
|
||||
|
||||
// These members must be initialized before returning from this function.
|
||||
// Android doesn't use StartupBrowserCreator.
|
||||
@@ -1592,11 +1595,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
@@ -1608,11 +1611,13 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
||||
// This step is costly and is already measured in
|
||||
// Startup.StartupBrowserCreator_Start.
|
||||
// See the comment above for an explanation of |process_command_line|.
|
||||
@ -142,7 +142,7 @@ index ad52e63ed83a..6b16ee3ccc96 100644
|
||||
base::mac::ScopedMachSendRight exceptionPort(
|
||||
crash_reporter::GetCrashpadClient().GetHandlerMachPort());
|
||||
diff --git ui/gtk/select_file_dialog_impl_kde.cc ui/gtk/select_file_dialog_impl_kde.cc
|
||||
index 4eba97d573d8..4697b24f4e34 100644
|
||||
index 464aa72e1d47..30a621dea6fc 100644
|
||||
--- ui/gtk/select_file_dialog_impl_kde.cc
|
||||
+++ ui/gtk/select_file_dialog_impl_kde.cc
|
||||
@@ -6,6 +6,8 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git third_party/widevine/cdm/BUILD.gn third_party/widevine/cdm/BUILD.gn
|
||||
index 1919784f5f93..6a8d2d5140f2 100644
|
||||
index 6225a610f11b..693f75b4bb1f 100644
|
||||
--- third_party/widevine/cdm/BUILD.gn
|
||||
+++ third_party/widevine/cdm/BUILD.gn
|
||||
@@ -5,6 +5,7 @@
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
|
||||
index 3746ac12a072..fbc31dd14729 100644
|
||||
index a8ad8c8220c8..91ca3ff02fbe 100644
|
||||
--- content/browser/devtools/devtools_instrumentation.h
|
||||
+++ content/browser/devtools/devtools_instrumentation.h
|
||||
@@ -12,6 +12,7 @@
|
||||
@ -10,7 +10,7 @@ index 3746ac12a072..fbc31dd14729 100644
|
||||
#include "content/common/navigation_params.mojom.h"
|
||||
#include "content/public/browser/certificate_request_result_type.h"
|
||||
#include "mojo/public/cpp/bindings/pending_receiver.h"
|
||||
@@ -75,7 +76,7 @@ bool ApplyUserAgentMetadataOverrides(
|
||||
@@ -74,7 +75,7 @@ bool ApplyUserAgentMetadataOverrides(
|
||||
FrameTreeNode* frame_tree_node,
|
||||
base::Optional<blink::UserAgentMetadata>* override_out);
|
||||
|
||||
@ -55,10 +55,10 @@ index 886bdf0edf8f..1d714000cce5 100644
|
||||
blink::mojom::V8CacheOptions GetV8CacheOptions();
|
||||
|
||||
diff --git third_party/blink/renderer/controller/BUILD.gn third_party/blink/renderer/controller/BUILD.gn
|
||||
index ea7f0d6dbdac..d586c2900861 100644
|
||||
index 9cfeb73eb397..de5bc486f204 100644
|
||||
--- third_party/blink/renderer/controller/BUILD.gn
|
||||
+++ third_party/blink/renderer/controller/BUILD.gn
|
||||
@@ -25,6 +25,7 @@ jumbo_component("controller") {
|
||||
@@ -25,6 +25,7 @@ component("controller") {
|
||||
|
||||
configs += [
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
@ -66,20 +66,20 @@ index ea7f0d6dbdac..d586c2900861 100644
|
||||
"//third_party/blink/renderer:config",
|
||||
"//third_party/blink/renderer:inside_blink",
|
||||
"//third_party/blink/renderer:non_test_config",
|
||||
@@ -43,6 +44,8 @@ jumbo_component("controller") {
|
||||
"dev_tools_frontend_impl.h",
|
||||
"memory_usage_monitor.cc",
|
||||
@@ -45,6 +46,8 @@ component("controller") {
|
||||
"memory_usage_monitor.h",
|
||||
+ "//cef/libcef/renderer/blink_glue.cc",
|
||||
+ "//cef/libcef/renderer/blink_glue.h",
|
||||
"performance_manager/renderer_resource_coordinator_impl.cc",
|
||||
"performance_manager/renderer_resource_coordinator_impl.h",
|
||||
+ "//cef/libcef/renderer/blink_glue.cc",
|
||||
+ "//cef/libcef/renderer/blink_glue.h",
|
||||
]
|
||||
|
||||
if (is_linux) {
|
||||
if (is_linux || is_chromeos) {
|
||||
diff --git ui/events/keycodes/BUILD.gn ui/events/keycodes/BUILD.gn
|
||||
index 0068238c9f9f..67c3632e6239 100644
|
||||
index 12f3abf92434..d73901dece01 100644
|
||||
--- ui/events/keycodes/BUILD.gn
|
||||
+++ ui/events/keycodes/BUILD.gn
|
||||
@@ -17,6 +17,8 @@ jumbo_source_set("xkb") {
|
||||
@@ -16,6 +16,8 @@ source_set("xkb") {
|
||||
|
||||
public_deps = [ "//ui/base:buildflags" ]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
|
||||
index b5bb5e01d7db..f2e23f9fffef 100644
|
||||
index cdeecb35a998..1615185f2a65 100644
|
||||
--- chrome/browser/download/download_target_determiner.cc
|
||||
+++ chrome/browser/download/download_target_determiner.cc
|
||||
@@ -660,7 +660,7 @@ void IsHandledBySafePlugin(int render_process_id,
|
||||
@ -75,7 +75,7 @@ index f66e6bca5e2b..c99998449b6b 100644
|
||||
GetContentClient()->browser()->GetUserAgent());
|
||||
version.SetString("V8-Version", V8_VERSION_STRING);
|
||||
diff --git content/browser/frame_host/render_frame_message_filter.cc content/browser/frame_host/render_frame_message_filter.cc
|
||||
index 75e5dbaa10c9..36f1c1dd5b9f 100644
|
||||
index caa2c1d4d0ab..f20dfe7ca7fe 100644
|
||||
--- content/browser/frame_host/render_frame_message_filter.cc
|
||||
+++ content/browser/frame_host/render_frame_message_filter.cc
|
||||
@@ -300,6 +300,7 @@ void RenderFrameMessageFilter::OnCreateChildFrame(
|
||||
@ -111,10 +111,10 @@ index 8d1c932e9f3a..e6a2c525da06 100644
|
||||
const std::string& mime_type,
|
||||
bool* found,
|
||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
||||
index 6eb685137044..f0cc9ed2cb92 100644
|
||||
index 2b94b8b2839e..36506642484c 100644
|
||||
--- content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -635,6 +635,13 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
||||
@@ -632,6 +632,13 @@ NavigationURLLoaderImpl::PrepareForNonInterceptedRequest(
|
||||
resource_request_->has_user_gesture,
|
||||
resource_request_->request_initiator, &loader_factory);
|
||||
|
||||
@ -128,7 +128,7 @@ index 6eb685137044..f0cc9ed2cb92 100644
|
||||
if (loader_factory) {
|
||||
factory = base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
|
||||
std::move(loader_factory));
|
||||
@@ -836,7 +843,7 @@ void NavigationURLLoaderImpl::CheckPluginAndContinueOnReceiveResponse(
|
||||
@@ -833,7 +840,7 @@ void NavigationURLLoaderImpl::CheckPluginAndContinueOnReceiveResponse(
|
||||
frame_tree_node->current_frame_host()->GetProcess()->GetID();
|
||||
int routing_id = frame_tree_node->current_frame_host()->GetRoutingID();
|
||||
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
|
||||
@ -138,10 +138,10 @@ index 6eb685137044..f0cc9ed2cb92 100644
|
||||
|
||||
if (stale) {
|
||||
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
|
||||
index 20035324c2ad..76785da413c6 100644
|
||||
index e9cb48e03f17..47996036362c 100644
|
||||
--- content/browser/plugin_service_impl.cc
|
||||
+++ content/browser/plugin_service_impl.cc
|
||||
@@ -340,6 +340,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
|
||||
@@ -341,6 +341,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
|
||||
bool PluginServiceImpl::GetPluginInfo(int render_process_id,
|
||||
int render_frame_id,
|
||||
const GURL& url,
|
||||
@ -149,7 +149,7 @@ index 20035324c2ad..76785da413c6 100644
|
||||
const url::Origin& main_frame_origin,
|
||||
const std::string& mime_type,
|
||||
bool allow_wildcard,
|
||||
@@ -357,7 +358,8 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
|
||||
@@ -358,7 +359,8 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
|
||||
for (size_t i = 0; i < plugins.size(); ++i) {
|
||||
if (!filter_ ||
|
||||
filter_->IsPluginAvailable(render_process_id, render_frame_id, url,
|
||||
@ -224,10 +224,10 @@ index 632ae86c6fd6..55b749ec1242 100644
|
||||
const std::vector<WebPluginInfo>& all_plugins);
|
||||
|
||||
diff --git content/common/frame_messages.h content/common/frame_messages.h
|
||||
index 01c30cb72181..f1caf9b44f44 100644
|
||||
index 33db23c32723..acde4d008de3 100644
|
||||
--- content/common/frame_messages.h
|
||||
+++ content/common/frame_messages.h
|
||||
@@ -529,9 +529,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
|
||||
@@ -502,9 +502,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
|
||||
// type. If there is no matching plugin, |found| is false.
|
||||
// |actual_mime_type| is the actual mime type supported by the
|
||||
// found plugin.
|
||||
@ -240,31 +240,31 @@ index 01c30cb72181..f1caf9b44f44 100644
|
||||
std::string /* mime_type */,
|
||||
bool /* found */,
|
||||
diff --git content/public/browser/content_browser_client.cc content/public/browser/content_browser_client.cc
|
||||
index 87375b2ef10c..28a43be9229d 100644
|
||||
index e112645811cb..7758de1bf201 100644
|
||||
--- content/public/browser/content_browser_client.cc
|
||||
+++ content/public/browser/content_browser_client.cc
|
||||
@@ -9,7 +9,7 @@
|
||||
// declarations instead of including more headers. If that is infeasible, adjust
|
||||
// the limit. For more info, see
|
||||
// https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md
|
||||
-#pragma clang max_tokens_here 860000
|
||||
+// #pragma clang max_tokens_here 860000
|
||||
-#pragma clang max_tokens_here 880000
|
||||
+// #pragma clang max_tokens_here 880000
|
||||
|
||||
#include <utility>
|
||||
|
||||
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
|
||||
index edf60410ba57..21da7fc05692 100644
|
||||
index 428ec871deba..16ac7abd2f04 100644
|
||||
--- content/public/browser/content_browser_client.h
|
||||
+++ content/public/browser/content_browser_client.h
|
||||
@@ -29,6 +29,7 @@
|
||||
@@ -31,6 +31,7 @@
|
||||
#include "content/public/browser/certificate_request_result_type.h"
|
||||
#include "content/public/browser/generated_code_cache_settings.h"
|
||||
#include "content/public/browser/storage_partition_config.h"
|
||||
+#include "content/public/browser/web_contents.h"
|
||||
#include "content/public/common/page_visibility_state.h"
|
||||
#include "content/public/common/previews_state.h"
|
||||
#include "content/public/common/window_container_type.mojom-forward.h"
|
||||
@@ -1625,6 +1626,14 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
#include "device/vr/buildflags/buildflags.h"
|
||||
@@ -1664,6 +1665,14 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
const base::Optional<url::Origin>& initiating_origin,
|
||||
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
|
||||
|
||||
@ -279,7 +279,7 @@ index edf60410ba57..21da7fc05692 100644
|
||||
// Creates an OverlayWindow to be used for Picture-in-Picture. This window
|
||||
// will house the content shown when in Picture-in-Picture mode. This will
|
||||
// return a new OverlayWindow.
|
||||
@@ -1693,6 +1702,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1735,6 +1744,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Used as part of the user agent string.
|
||||
virtual std::string GetProduct();
|
||||
|
||||
@ -315,10 +315,10 @@ index 98c59005599e..69752184745d 100644
|
||||
WebPluginInfo* plugin) = 0;
|
||||
|
||||
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
|
||||
index f6d2f50e8d6b..6eb51fcda2eb 100644
|
||||
index 5b0784c844bd..a7b6d3f3c237 100644
|
||||
--- content/public/renderer/content_renderer_client.h
|
||||
+++ content/public/renderer/content_renderer_client.h
|
||||
@@ -85,6 +85,9 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -84,6 +84,9 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// binding requests from RenderProcessHost::BindReceiver().
|
||||
virtual void ExposeInterfacesToBrowser(mojo::BinderMap* binders) {}
|
||||
|
||||
@ -328,7 +328,7 @@ index f6d2f50e8d6b..6eb51fcda2eb 100644
|
||||
// Notifies that a new RenderFrame has been created.
|
||||
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
|
||||
|
||||
@@ -329,6 +332,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -325,6 +328,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// This method may invalidate the frame.
|
||||
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
|
||||
|
||||
@ -340,10 +340,10 @@ index f6d2f50e8d6b..6eb51fcda2eb 100644
|
||||
// started.
|
||||
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
|
||||
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
|
||||
index 74e98485b464..c183359360c2 100644
|
||||
index 16a16b1f075d..94942f76489c 100644
|
||||
--- content/renderer/render_frame_impl.cc
|
||||
+++ content/renderer/render_frame_impl.cc
|
||||
@@ -3644,7 +3644,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
@@ -3853,7 +3853,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
std::string mime_type;
|
||||
bool found = false;
|
||||
Send(new FrameHostMsg_GetPluginInfo(
|
||||
@ -354,10 +354,10 @@ index 74e98485b464..c183359360c2 100644
|
||||
if (!found)
|
||||
return nullptr;
|
||||
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
|
||||
index baee6cbd6369..0c786588a57f 100644
|
||||
index a6118f1f5ce1..7ae0e25160bb 100644
|
||||
--- content/renderer/render_thread_impl.cc
|
||||
+++ content/renderer/render_thread_impl.cc
|
||||
@@ -633,6 +633,8 @@ void RenderThreadImpl::Init() {
|
||||
@@ -632,6 +632,8 @@ void RenderThreadImpl::Init() {
|
||||
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
|
||||
URLLoaderThrottleProviderType::kFrame);
|
||||
|
||||
@ -367,10 +367,10 @@ index baee6cbd6369..0c786588a57f 100644
|
||||
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
|
||||
|
||||
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
|
||||
index a4382a6afa32..9c830bf29e72 100644
|
||||
index d6375e9d16dc..b9e33ebe62d1 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -895,6 +895,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
|
||||
@@ -915,6 +915,15 @@ void RendererBlinkPlatformImpl::SetRenderingColorSpace(
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -387,19 +387,19 @@ index a4382a6afa32..9c830bf29e72 100644
|
||||
if (!code_cache_host_) {
|
||||
code_cache_host_ = mojo::SharedRemote<blink::mojom::CodeCacheHost>(
|
||||
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
|
||||
index 59d7d92cf5f7..221d8e9249d9 100644
|
||||
index cfced914c88d..a8f1ffc14cb7 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.h
|
||||
+++ content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -199,6 +199,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
|
||||
@@ -210,6 +210,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
media::GpuVideoAcceleratorFactories* GetGpuFactories() override;
|
||||
void SetRenderingColorSpace(const gfx::ColorSpace& color_space) override;
|
||||
|
||||
+ void DevToolsAgentAttached() override;
|
||||
+ void DevToolsAgentDetached() override;
|
||||
+
|
||||
// Returns non-null.
|
||||
// It is invalid to call this in an incomplete env where
|
||||
// RenderThreadImpl::current() returns nullptr (e.g. in some tests).
|
||||
// Tells this platform that the renderer is locked to a site (i.e., a scheme
|
||||
// plus eTLD+1, such as https://google.com), or to a more specific origin.
|
||||
void SetIsLockedToSite();
|
||||
diff --git content/shell/browser/shell_plugin_service_filter.cc content/shell/browser/shell_plugin_service_filter.cc
|
||||
index 427132c6920e..4809ddaf21e1 100644
|
||||
--- content/shell/browser/shell_plugin_service_filter.cc
|
||||
|
@ -1,16 +1,16 @@
|
||||
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
|
||||
index f5e5576fd745..086ba8edc63a 100644
|
||||
index 1dec904333df..e1f2ec06d93f 100644
|
||||
--- content/app/content_main_runner_impl.cc
|
||||
+++ content/app/content_main_runner_impl.cc
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "base/strings/stringprintf.h"
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "base/task/post_task.h"
|
||||
#include "base/task/thread_pool/thread_pool_instance.h"
|
||||
#include "base/threading/hang_watcher.h"
|
||||
+#include "base/threading/thread_restrictions.h"
|
||||
#include "base/trace_event/trace_event.h"
|
||||
#include "components/discardable_memory/service/discardable_shared_memory_manager.h"
|
||||
#include "components/download/public/common/download_task_runner.h"
|
||||
@@ -1027,6 +1028,11 @@ void ContentMainRunnerImpl::Shutdown() {
|
||||
@@ -1028,6 +1029,11 @@ void ContentMainRunnerImpl::Shutdown() {
|
||||
is_shutdown_ = true;
|
||||
}
|
||||
|
||||
@ -23,7 +23,7 @@ index f5e5576fd745..086ba8edc63a 100644
|
||||
ContentMainRunner* ContentMainRunner::Create() {
|
||||
return ContentMainRunnerImpl::Create();
|
||||
diff --git content/app/content_main_runner_impl.h content/app/content_main_runner_impl.h
|
||||
index 299af2871498..8639eb8843f7 100644
|
||||
index 50797fdcea18..33acf1f35429 100644
|
||||
--- content/app/content_main_runner_impl.h
|
||||
+++ content/app/content_main_runner_impl.h
|
||||
@@ -51,6 +51,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
|
||||
@ -36,7 +36,7 @@ index 299af2871498..8639eb8843f7 100644
|
||||
int RunServiceManager(MainFunctionParams& main_function_params,
|
||||
bool start_service_manager_only);
|
||||
diff --git content/app/content_service_manager_main_delegate.cc content/app/content_service_manager_main_delegate.cc
|
||||
index 1983ab5b217d..25344b70d343 100644
|
||||
index 1e6ad316bc67..e11e443ae694 100644
|
||||
--- content/app/content_service_manager_main_delegate.cc
|
||||
+++ content/app/content_service_manager_main_delegate.cc
|
||||
@@ -174,4 +174,8 @@ void ContentServiceManagerMainDelegate::SetStartServiceManagerOnly(
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
|
||||
index be208ad722fa..df9c50da18ad 100644
|
||||
index df1d395158a3..2ab2475b9164 100644
|
||||
--- content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
|
||||
+++ content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
|
||||
@@ -56,7 +56,7 @@ PepperFlashFileMessageFilter::PepperFlashFileMessageFilter(
|
||||
|
@ -81,7 +81,7 @@ index 886372e11489..ad3bc2242883 100644
|
||||
g_crash_helper_enabled = true;
|
||||
return true;
|
||||
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
|
||||
index 0c5f0f9af928..b27599cc1494 100644
|
||||
index 2014df5fe810..3cf97e8d8e3c 100644
|
||||
--- chrome/common/crash_keys.cc
|
||||
+++ chrome/common/crash_keys.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
@ -127,7 +127,7 @@ index bcf172e645a2..f879aa745adf 100644
|
||||
// on the given |command_line|.
|
||||
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
|
||||
diff --git components/crash/core/app/breakpad_linux.cc components/crash/core/app/breakpad_linux.cc
|
||||
index d2ca4a9056e5..3a4d8e1e82d9 100644
|
||||
index 9b07ab4667e6..07b61ac63e9d 100644
|
||||
--- components/crash/core/app/breakpad_linux.cc
|
||||
+++ components/crash/core/app/breakpad_linux.cc
|
||||
@@ -28,6 +28,7 @@
|
||||
@ -138,7 +138,7 @@ index d2ca4a9056e5..3a4d8e1e82d9 100644
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/lazy_instance.h"
|
||||
#include "base/linux_util.h"
|
||||
@@ -722,7 +723,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
|
||||
@@ -719,7 +720,7 @@ bool CrashDone(const MinidumpDescriptor& minidump,
|
||||
info.process_type_length = 7;
|
||||
info.distro = base::g_linux_distro;
|
||||
info.distro_length = my_strlen(base::g_linux_distro);
|
||||
@ -147,7 +147,7 @@ index d2ca4a9056e5..3a4d8e1e82d9 100644
|
||||
info.process_start_time = g_process_start_time;
|
||||
info.oom_size = base::g_oom_size;
|
||||
info.pid = g_pid;
|
||||
@@ -1749,10 +1750,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
@@ -1733,10 +1734,19 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
GetCrashReporterClient()->GetProductNameAndVersion(&product_name, &version);
|
||||
|
||||
writer.AddBoundary();
|
||||
@ -169,7 +169,7 @@ index d2ca4a9056e5..3a4d8e1e82d9 100644
|
||||
if (info.pid > 0) {
|
||||
char pid_value_buf[kUint64StringSize];
|
||||
uint64_t pid_value_len = my_uint64_len(info.pid);
|
||||
@@ -1869,6 +1879,9 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
@@ -1853,6 +1863,9 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
crash_reporter::internal::TransitionalCrashKeyStorage;
|
||||
CrashKeyStorage::Iterator crash_key_iterator(*info.crash_keys);
|
||||
const CrashKeyStorage::Entry* entry;
|
||||
@ -177,9 +177,9 @@ index d2ca4a9056e5..3a4d8e1e82d9 100644
|
||||
+ crash_reporter::CrashReporterClient::ParameterMap parameters;
|
||||
+
|
||||
while ((entry = crash_key_iterator.Next())) {
|
||||
if (g_use_crash_key_white_list && !IsInWhiteList(entry->key))
|
||||
continue;
|
||||
@@ -1881,7 +1894,13 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
size_t key_size, value_size;
|
||||
// Check for malformed messages.
|
||||
@@ -1863,7 +1876,13 @@ void HandleCrashDump(const BreakpadInfo& info) {
|
||||
? CrashKeyStorage::value_size - 1
|
||||
: my_strlen(entry->value);
|
||||
|
||||
@ -209,15 +209,15 @@ index 9ea80370a842..3043f7d32f33 100644
|
||||
extern void InitCrashKeysForTesting();
|
||||
|
||||
diff --git components/crash/core/app/crash_reporter_client.cc components/crash/core/app/crash_reporter_client.cc
|
||||
index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
index 1d0fb4f2a633..8226a3d792be 100644
|
||||
--- components/crash/core/app/crash_reporter_client.cc
|
||||
+++ components/crash/core/app/crash_reporter_client.cc
|
||||
@@ -88,7 +88,7 @@ int CrashReporterClient::GetResultCodeRespawnFailed() {
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS)
|
||||
+#if defined(OS_POSIX) && !defined(OS_IOS)
|
||||
-#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+#if defined(OS_POSIX)
|
||||
void CrashReporterClient::GetProductNameAndVersion(const char** product_name,
|
||||
const char** version) {
|
||||
}
|
||||
@ -225,7 +225,7 @@ index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
std::string* version,
|
||||
std::string* channel) {}
|
||||
|
||||
+#if !defined(OS_MACOSX)
|
||||
+#if !defined(OS_MAC)
|
||||
base::FilePath CrashReporterClient::GetReporterLogFilename() {
|
||||
return base::FilePath();
|
||||
}
|
||||
@ -237,7 +237,7 @@ index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
|
||||
#if defined(OS_WIN)
|
||||
bool CrashReporterClient::GetCrashDumpLocation(base::string16* crash_dir) {
|
||||
@@ -148,6 +150,28 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
||||
@@ -140,6 +142,28 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -257,7 +257,7 @@ index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MAC)
|
||||
+bool CrashReporterClient::EnableBrowserCrashForwarding() {
|
||||
+ return true;
|
||||
+}
|
||||
@ -266,14 +266,14 @@ index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
#if defined(OS_ANDROID)
|
||||
unsigned int CrashReporterClient::GetCrashDumpPercentage() {
|
||||
return 100;
|
||||
@@ -210,9 +234,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
|
||||
@@ -202,9 +226,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
|
||||
return false;
|
||||
}
|
||||
|
||||
-bool CrashReporterClient::EnableBreakpadForProcess(
|
||||
- const std::string& process_type) {
|
||||
- return false;
|
||||
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
||||
+#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+CrashReporterClient::ParameterMap
|
||||
+CrashReporterClient::FilterParameters(const ParameterMap& parameters) {
|
||||
+ return parameters;
|
||||
@ -282,7 +282,7 @@ index 44e81b2f95f6..bfa419e46bc8 100644
|
||||
|
||||
} // namespace crash_reporter
|
||||
diff --git components/crash/core/app/crash_reporter_client.h components/crash/core/app/crash_reporter_client.h
|
||||
index 05538423d0b9..60b3403b4b0e 100644
|
||||
index aaa9ad1d58d7..14b98b2e6598 100644
|
||||
--- components/crash/core/app/crash_reporter_client.h
|
||||
+++ components/crash/core/app/crash_reporter_client.h
|
||||
@@ -5,7 +5,9 @@
|
||||
@ -299,8 +299,8 @@ index 05538423d0b9..60b3403b4b0e 100644
|
||||
virtual int GetResultCodeRespawnFailed();
|
||||
#endif
|
||||
|
||||
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS)
|
||||
+#if defined(OS_POSIX) && !defined(OS_IOS)
|
||||
-#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+#if defined(OS_POSIX)
|
||||
// Returns a textual description of the product type and version to include
|
||||
// in the crash report. Neither out parameter should be set to NULL.
|
||||
// TODO(jperaza): Remove the 2-parameter overload of this method once all
|
||||
@ -308,7 +308,7 @@ index 05538423d0b9..60b3403b4b0e 100644
|
||||
std::string* version,
|
||||
std::string* channel);
|
||||
|
||||
+#if !defined(OS_MACOSX)
|
||||
+#if !defined(OS_MAC)
|
||||
virtual base::FilePath GetReporterLogFilename();
|
||||
|
||||
// Custom crash minidump handler after the minidump is generated.
|
||||
@ -320,7 +320,7 @@ index 05538423d0b9..60b3403b4b0e 100644
|
||||
#endif
|
||||
|
||||
// The location where minidump files should be written. Returns true if
|
||||
@@ -210,6 +214,27 @@ class CrashReporterClient {
|
||||
@@ -205,6 +209,27 @@ class CrashReporterClient {
|
||||
|
||||
// Returns true if breakpad should run in the given process type.
|
||||
virtual bool EnableBreakpadForProcess(const std::string& process_type);
|
||||
@ -333,13 +333,13 @@ index 05538423d0b9..60b3403b4b0e 100644
|
||||
+ virtual base::string16 GetCrashExternalHandler(const base::string16& exe_dir);
|
||||
+#endif
|
||||
+
|
||||
+#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MAC)
|
||||
+ // Returns true if forwarding of crashes to the system crash reporter is
|
||||
+ // enabled for the browser process.
|
||||
+ virtual bool EnableBrowserCrashForwarding();
|
||||
+#endif
|
||||
+
|
||||
+#if defined(OS_POSIX) && !defined(OS_MACOSX)
|
||||
+#if defined(OS_POSIX) && !defined(OS_MAC)
|
||||
+ // Provides an oportunity to modify the parameters that will be sent with a
|
||||
+ // crash upload.
|
||||
+ using ParameterMap = std::map<std::string, std::string>;
|
||||
@ -349,7 +349,7 @@ index 05538423d0b9..60b3403b4b0e 100644
|
||||
|
||||
} // namespace crash_reporter
|
||||
diff --git components/crash/core/app/crashpad.cc components/crash/core/app/crashpad.cc
|
||||
index 290b4692c16f..ef91dbdc369d 100644
|
||||
index e1c66df6cecf..681dd496292e 100644
|
||||
--- components/crash/core/app/crashpad.cc
|
||||
+++ components/crash/core/app/crashpad.cc
|
||||
@@ -151,7 +151,8 @@ void InitializeCrashpadImpl(bool initial_client,
|
||||
@ -363,7 +363,7 @@ index 290b4692c16f..ef91dbdc369d 100644
|
||||
->set_system_crash_reporter_forwarding(crashpad::TriState::kDisabled);
|
||||
}
|
||||
diff --git components/crash/core/app/crashpad_mac.mm components/crash/core/app/crashpad_mac.mm
|
||||
index 0b594d053d7c..c79b69a31dd1 100644
|
||||
index aa7c3302f2e3..c471132afe3f 100644
|
||||
--- components/crash/core/app/crashpad_mac.mm
|
||||
+++ components/crash/core/app/crashpad_mac.mm
|
||||
@@ -16,12 +16,15 @@
|
||||
@ -382,18 +382,10 @@ index 0b594d053d7c..c79b69a31dd1 100644
|
||||
#include "third_party/crashpad/crashpad/client/crash_report_database.h"
|
||||
#include "third_party/crashpad/crashpad/client/crashpad_client.h"
|
||||
#include "third_party/crashpad/crashpad/client/crashpad_info.h"
|
||||
@@ -37,12 +40,25 @@ namespace {
|
||||
std::map<std::string, std::string> GetProcessSimpleAnnotations() {
|
||||
static std::map<std::string, std::string> annotations = []() -> auto {
|
||||
@@ -39,14 +42,24 @@ std::map<std::string, std::string> GetProcessSimpleAnnotations() {
|
||||
std::map<std::string, std::string> process_annotations;
|
||||
+
|
||||
@autoreleasepool {
|
||||
NSBundle* outer_bundle = base::mac::OuterBundle();
|
||||
- NSString* product = base::mac::ObjCCast<NSString>([outer_bundle
|
||||
- objectForInfoDictionaryKey:base::mac::CFToNSCast(kCFBundleNameKey)]);
|
||||
- process_annotations["prod"] =
|
||||
- base::SysNSStringToUTF8(product).append("_Mac");
|
||||
+
|
||||
+ CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
|
||||
+ const char* product_name = "";
|
||||
+ const char* product_version = "";
|
||||
@ -401,18 +393,26 @@ index 0b594d053d7c..c79b69a31dd1 100644
|
||||
+ &product_version);
|
||||
+
|
||||
+ if (strlen(product_name) == 0) {
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
- process_annotations["prod"] = "Chrome_Mac";
|
||||
+ process_annotations["product"] = "Chrome_Mac";
|
||||
#else
|
||||
- NSString* product = base::mac::ObjCCast<NSString>([outer_bundle
|
||||
- objectForInfoDictionaryKey:base::mac::CFToNSCast(kCFBundleNameKey)]);
|
||||
- process_annotations["prod"] =
|
||||
- base::SysNSStringToUTF8(product).append("_Mac");
|
||||
+ NSString* product = base::mac::ObjCCast<NSString>([outer_bundle
|
||||
+ objectForInfoDictionaryKey:base::mac::CFToNSCast(
|
||||
+ kCFBundleNameKey)]);
|
||||
+ objectForInfoDictionaryKey:base::mac::CFToNSCast(kCFBundleNameKey)]);
|
||||
+ process_annotations["product"] =
|
||||
+ base::SysNSStringToUTF8(product).append("_Mac");
|
||||
#endif
|
||||
+ } else {
|
||||
+ process_annotations["product"] = product_name;
|
||||
+ }
|
||||
|
||||
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
|
||||
// Empty means stable.
|
||||
@@ -58,12 +74,16 @@ std::map<std::string, std::string> GetProcessSimpleAnnotations() {
|
||||
@@ -62,12 +75,16 @@ std::map<std::string, std::string> GetProcessSimpleAnnotations() {
|
||||
process_annotations["channel"] = "";
|
||||
}
|
||||
|
||||
@ -434,7 +434,7 @@ index 0b594d053d7c..c79b69a31dd1 100644
|
||||
} // @autoreleasepool
|
||||
return process_annotations;
|
||||
}();
|
||||
@@ -123,10 +143,10 @@ base::FilePath PlatformCrashpadInitialization(
|
||||
@@ -127,10 +144,10 @@ base::FilePath PlatformCrashpadInitialization(
|
||||
|
||||
if (initial_client) {
|
||||
@autoreleasepool {
|
||||
@ -449,7 +449,7 @@ index 0b594d053d7c..c79b69a31dd1 100644
|
||||
|
||||
// Is there a way to recover if this fails?
|
||||
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
|
||||
@@ -155,6 +175,12 @@ base::FilePath PlatformCrashpadInitialization(
|
||||
@@ -159,6 +176,12 @@ base::FilePath PlatformCrashpadInitialization(
|
||||
"--reset-own-crash-exception-port-to-system-default");
|
||||
}
|
||||
|
||||
|
@ -146,7 +146,7 @@ index 5761c6b965b5..aee4e6c96033 100644
|
||||
struct Data;
|
||||
|
||||
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
index b314e0a11b92..a374df4728c0 100644
|
||||
index 54af69767c8a..8b659955db3e 100644
|
||||
--- third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
+++ third_party/crashpad/crashpad/handler/BUILD.gn
|
||||
@@ -12,6 +12,7 @@
|
||||
@ -156,8 +156,8 @@ index b314e0a11b92..a374df4728c0 100644
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("../build/crashpad_buildconfig.gni")
|
||||
|
||||
static_library("handler") {
|
||||
@@ -65,6 +66,17 @@ static_library("handler") {
|
||||
if (crashpad_is_in_chromium) {
|
||||
@@ -69,6 +70,17 @@ static_library("handler") {
|
||||
]
|
||||
}
|
||||
|
||||
@ -175,7 +175,7 @@ index b314e0a11b92..a374df4728c0 100644
|
||||
public_configs = [ "..:crashpad_config" ]
|
||||
|
||||
public_deps = [
|
||||
@@ -77,6 +89,7 @@ static_library("handler") {
|
||||
@@ -81,6 +93,7 @@ static_library("handler") {
|
||||
"../minidump",
|
||||
"../snapshot",
|
||||
"../tools:tool_support",
|
||||
@ -184,7 +184,7 @@ index b314e0a11b92..a374df4728c0 100644
|
||||
|
||||
if (crashpad_is_win) {
|
||||
diff --git third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
|
||||
index fd48e1b6bc1f..42a753fafe47 100644
|
||||
index 1e5f12374ce1..d227dea8649c 100644
|
||||
--- third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
|
||||
+++ third_party/crashpad/crashpad/handler/crash_report_upload_thread.cc
|
||||
@@ -263,6 +263,8 @@ CrashReportUploadThread::UploadResult CrashReportUploadThread::UploadReport(
|
||||
@ -248,7 +248,7 @@ index 2ec1147d2620..8ff9a72e0bd7 100644
|
||||
//! \brief Calls ProcessPendingReports() in response to ReportPending() having
|
||||
//! been called on any thread, as well as periodically on a timer.
|
||||
diff --git third_party/crashpad/crashpad/handler/handler_main.cc third_party/crashpad/crashpad/handler/handler_main.cc
|
||||
index d56857ff9042..69fc74639431 100644
|
||||
index c8001f457199..6c64610c69d4 100644
|
||||
--- third_party/crashpad/crashpad/handler/handler_main.cc
|
||||
+++ third_party/crashpad/crashpad/handler/handler_main.cc
|
||||
@@ -36,8 +36,10 @@
|
||||
@ -264,7 +264,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
#include "client/crashpad_info.h"
|
||||
@@ -91,6 +93,10 @@
|
||||
#include "handler/linux/exception_handler_server.h"
|
||||
#endif // OS_MACOSX
|
||||
#endif // OS_APPLE
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+#include "cef/libcef/common/cef_crash_report_upload_thread.h"
|
||||
@ -273,7 +273,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
namespace crashpad {
|
||||
|
||||
namespace {
|
||||
@@ -206,6 +212,9 @@ struct Options {
|
||||
@@ -215,6 +221,9 @@ struct Options {
|
||||
bool periodic_tasks;
|
||||
bool rate_limit;
|
||||
bool upload_gzip;
|
||||
@ -283,7 +283,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
#if defined(OS_CHROMEOS)
|
||||
bool use_cros_crash_reporter = false;
|
||||
base::FilePath minidump_dir_for_tests;
|
||||
@@ -552,6 +561,9 @@ int HandlerMain(int argc,
|
||||
@@ -568,6 +577,9 @@ int HandlerMain(int argc,
|
||||
kOptionTraceParentWithException,
|
||||
#endif
|
||||
kOptionURL,
|
||||
@ -293,7 +293,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
#if defined(OS_CHROMEOS)
|
||||
kOptionUseCrosCrashReporter,
|
||||
kOptionMinidumpDirForTests,
|
||||
@@ -650,6 +662,9 @@ int HandlerMain(int argc,
|
||||
@@ -669,6 +681,9 @@ int HandlerMain(int argc,
|
||||
#endif // OS_ANDROID
|
||||
{"help", no_argument, nullptr, kOptionHelp},
|
||||
{"version", no_argument, nullptr, kOptionVersion},
|
||||
@ -303,7 +303,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
{nullptr, 0, nullptr, 0},
|
||||
};
|
||||
|
||||
@@ -798,6 +813,27 @@ int HandlerMain(int argc,
|
||||
@@ -824,6 +839,27 @@ int HandlerMain(int argc,
|
||||
options.url = optarg;
|
||||
break;
|
||||
}
|
||||
@ -331,7 +331,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
#if defined(OS_CHROMEOS)
|
||||
case kOptionUseCrosCrashReporter: {
|
||||
options.use_cros_crash_reporter = true;
|
||||
@@ -947,8 +983,14 @@ int HandlerMain(int argc,
|
||||
@@ -973,8 +1009,14 @@ int HandlerMain(int argc,
|
||||
upload_thread_options.upload_gzip = options.upload_gzip;
|
||||
upload_thread_options.watch_pending_reports = options.periodic_tasks;
|
||||
|
||||
@ -346,7 +346,7 @@ index d56857ff9042..69fc74639431 100644
|
||||
upload_thread.Get()->Start();
|
||||
}
|
||||
|
||||
@@ -1014,7 +1056,8 @@ int HandlerMain(int argc,
|
||||
@@ -1044,7 +1086,8 @@ int HandlerMain(int argc,
|
||||
ScopedStoppable prune_thread;
|
||||
if (options.periodic_tasks) {
|
||||
prune_thread.Reset(new PruneCrashReportThread(
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/extensions/api/streams_private/streams_private_api.cc chrome/browser/extensions/api/streams_private/streams_private_api.cc
|
||||
index bb4af725af9f..a1389be84f6e 100644
|
||||
index 3cc8dfd2754e..37b34413d506 100644
|
||||
--- chrome/browser/extensions/api/streams_private/streams_private_api.cc
|
||||
+++ chrome/browser/extensions/api/streams_private/streams_private_api.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
@ -8,9 +8,9 @@ index bb4af725af9f..a1389be84f6e 100644
|
||||
|
||||
+#include "cef/libcef/features/features.h"
|
||||
#include "chrome/browser/extensions/extension_tab_util.h"
|
||||
#include "chrome/browser/prerender/prerender_contents.h"
|
||||
#include "components/sessions/core/session_id.h"
|
||||
@@ -41,6 +42,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
|
||||
#include "chrome/browser/prerender/chrome_prerender_contents_delegate.h"
|
||||
#include "components/prerender/browser/prerender_contents.h"
|
||||
@@ -42,6 +43,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
|
||||
if (!web_contents)
|
||||
return;
|
||||
|
||||
@ -18,7 +18,7 @@ index bb4af725af9f..a1389be84f6e 100644
|
||||
// If the request was for a prerender, abort the prerender and do not
|
||||
// continue. This is because plugins cancel prerender, see
|
||||
// http://crbug.com/343590.
|
||||
@@ -50,6 +52,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
|
||||
@@ -51,6 +53,7 @@ void StreamsPrivateAPI::SendExecuteMimeTypeHandlerEvent(
|
||||
prerender_contents->Destroy(prerender::FINAL_STATUS_DOWNLOAD);
|
||||
return;
|
||||
}
|
||||
@ -27,7 +27,7 @@ index bb4af725af9f..a1389be84f6e 100644
|
||||
auto* browser_context = web_contents->GetBrowserContext();
|
||||
|
||||
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
|
||||
index da431bd8ecc5..587952b1af1c 100644
|
||||
index 0f588c70627f..a1b9ea21cc72 100644
|
||||
--- extensions/browser/extension_host.cc
|
||||
+++ extensions/browser/extension_host.cc
|
||||
@@ -66,11 +66,12 @@ ExtensionHost::ExtensionHost(const Extension* extension,
|
||||
@ -97,7 +97,7 @@ index da431bd8ecc5..587952b1af1c 100644
|
||||
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
|
||||
|
||||
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
|
||||
index ee031971ea4c..c82a4f30eb7f 100644
|
||||
index 11bfec21cc9f..416de61f85fa 100644
|
||||
--- extensions/browser/extension_host.h
|
||||
+++ extensions/browser/extension_host.h
|
||||
@@ -51,13 +51,19 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
@ -121,7 +121,7 @@ index ee031971ea4c..c82a4f30eb7f 100644
|
||||
content::RenderViewHost* render_view_host() const;
|
||||
content::RenderProcessHost* render_process_host() const;
|
||||
bool has_loaded_once() const { return has_loaded_once_; }
|
||||
@@ -176,7 +182,8 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
@@ -178,7 +184,8 @@ class ExtensionHost : public DeferredStartRenderHost,
|
||||
content::BrowserContext* browser_context_;
|
||||
|
||||
// The host for our HTML content.
|
||||
@ -132,10 +132,10 @@ index ee031971ea4c..c82a4f30eb7f 100644
|
||||
// A weak pointer to the current or pending RenderViewHost. We don't access
|
||||
// this through the host_contents because we want to deal with the pending
|
||||
diff --git extensions/browser/extensions_browser_client.h extensions/browser/extensions_browser_client.h
|
||||
index 757ed5668b94..142c0ea7f801 100644
|
||||
index 829941a3f095..dd6d5334c692 100644
|
||||
--- extensions/browser/extensions_browser_client.h
|
||||
+++ extensions/browser/extensions_browser_client.h
|
||||
@@ -56,6 +56,7 @@ class ComponentExtensionResourceManager;
|
||||
@@ -57,6 +57,7 @@ class ComponentExtensionResourceManager;
|
||||
class Extension;
|
||||
class ExtensionCache;
|
||||
class ExtensionError;
|
||||
@ -143,7 +143,7 @@ index 757ed5668b94..142c0ea7f801 100644
|
||||
class ExtensionHostDelegate;
|
||||
class ExtensionSet;
|
||||
class ExtensionSystem;
|
||||
@@ -196,6 +197,14 @@ class ExtensionsBrowserClient {
|
||||
@@ -197,6 +198,14 @@ class ExtensionsBrowserClient {
|
||||
virtual std::unique_ptr<ExtensionHostDelegate>
|
||||
CreateExtensionHostDelegate() = 0;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git .gn .gn
|
||||
index c789fe56958f..2c57543a71d8 100644
|
||||
index aff8517d72f4..6ad4c7aefdff 100644
|
||||
--- .gn
|
||||
+++ .gn
|
||||
@@ -640,6 +640,8 @@ exec_script_whitelist =
|
||||
@@ -385,6 +385,8 @@ exec_script_whitelist =
|
||||
|
||||
"//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
|
||||
|
||||
@ -12,10 +12,10 @@ index c789fe56958f..2c57543a71d8 100644
|
||||
# https://crbug.com/474506.
|
||||
"//clank/java/BUILD.gn",
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index 16ad01eac88d..71275b71be81 100644
|
||||
index 4e74a1d6948f..044f4016a2b6 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -228,6 +228,7 @@ group("gn_all") {
|
||||
@@ -226,6 +226,7 @@ group("gn_all") {
|
||||
|
||||
if (!is_ios && !is_fuchsia) {
|
||||
deps += [
|
||||
@ -56,7 +56,7 @@ index 982fbe8d3f0d..e757be4688f1 100644
|
||||
+ "studio path")
|
||||
}
|
||||
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
|
||||
index 4c051291ab4c..5b3a61149522 100644
|
||||
index 5a7d02d80a89..dcc77f0e8b33 100644
|
||||
--- chrome/chrome_paks.gni
|
||||
+++ chrome/chrome_paks.gni
|
||||
@@ -3,6 +3,7 @@
|
||||
@ -67,7 +67,7 @@ index 4c051291ab4c..5b3a61149522 100644
|
||||
import("//chrome/browser/buildflags.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//chromeos/components/media_app_ui/media_app_ui.gni")
|
||||
@@ -307,6 +308,7 @@ template("chrome_paks") {
|
||||
@@ -315,6 +316,7 @@ template("chrome_paks") {
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ index 4c051291ab4c..5b3a61149522 100644
|
||||
chrome_repack_locales("${target_name}_locales") {
|
||||
forward_variables_from(invoker,
|
||||
[
|
||||
@@ -329,14 +331,17 @@ template("chrome_paks") {
|
||||
@@ -337,14 +339,17 @@ template("chrome_paks") {
|
||||
output_locales = locales
|
||||
}
|
||||
}
|
||||
@ -95,7 +95,7 @@ index 4c051291ab4c..5b3a61149522 100644
|
||||
public_deps += [ ":${target_name}_200_percent" ]
|
||||
}
|
||||
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
|
||||
index a04d7f31c2a6..68303e3ab3be 100644
|
||||
index 7c7af8c0d948..c7869c760b12 100644
|
||||
--- chrome/installer/mini_installer/BUILD.gn
|
||||
+++ chrome/installer/mini_installer/BUILD.gn
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -105,8 +105,8 @@ index a04d7f31c2a6..68303e3ab3be 100644
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/process_version_rc_template.gni")
|
||||
import("//components/nacl/features.gni")
|
||||
import("//third_party/icu/config.gni")
|
||||
@@ -134,11 +135,13 @@ template("generate_mini_installer") {
|
||||
import("//third_party/ffmpeg/ffmpeg_options.gni")
|
||||
@@ -139,11 +140,13 @@ template("generate_mini_installer") {
|
||||
inputs = [
|
||||
"$chrome_dll_file",
|
||||
"$root_out_dir/chrome.exe",
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
|
||||
index fa2306ead7d2..c7816f841a3b 100644
|
||||
index 0818d6986440..90d0d4df9c85 100644
|
||||
--- tools/gritsettings/resource_ids.spec
|
||||
+++ tools/gritsettings/resource_ids.spec
|
||||
@@ -656,4 +656,13 @@
|
||||
@@ -663,4 +663,13 @@
|
||||
# Please read the header and find the right section above instead.
|
||||
|
||||
# Resource ids starting at 31000 are reserved for projects built on Chromium.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn
|
||||
index 3fe4dfd2990b..64848dfd33d7 100644
|
||||
index a155534f66d2..7a29f910be79 100644
|
||||
--- third_party/libxml/BUILD.gn
|
||||
+++ third_party/libxml/BUILD.gn
|
||||
@@ -141,6 +141,7 @@ static_library("libxml") {
|
||||
@@ -142,6 +142,7 @@ static_library("libxml") {
|
||||
"//third_party/blink/renderer/*",
|
||||
"//third_party/fontconfig",
|
||||
"//third_party/libxslt",
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/child_process_launcher_helper_linux.cc content/browser/child_process_launcher_helper_linux.cc
|
||||
index e63dfcf43147..3b7b69a688f9 100644
|
||||
index c1b5d30fd927..2e1811fc6af5 100644
|
||||
--- content/browser/child_process_launcher_helper_linux.cc
|
||||
+++ content/browser/child_process_launcher_helper_linux.cc
|
||||
@@ -162,7 +162,7 @@ void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread(
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/files/file_path_watcher_linux.cc base/files/file_path_watcher_linux.cc
|
||||
index 7a04ac7dfeff..f95c4811746c 100644
|
||||
index 4e231b615e8f..a5100c0bf1c8 100644
|
||||
--- base/files/file_path_watcher_linux.cc
|
||||
+++ base/files/file_path_watcher_linux.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
|
@ -1,21 +1,52 @@
|
||||
diff --git base/message_loop/message_loop_current.cc base/message_loop/message_loop_current.cc
|
||||
index 14d7b8fbb596..4cf58414c2f0 100644
|
||||
--- base/message_loop/message_loop_current.cc
|
||||
+++ base/message_loop/message_loop_current.cc
|
||||
@@ -47,6 +47,8 @@ void MessageLoopCurrent::AddDestructionObserver(
|
||||
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
|
||||
index 2a286b4d269b..55ee14d93545 100644
|
||||
--- base/message_loop/message_pump_win.cc
|
||||
+++ base/message_loop/message_pump_win.cc
|
||||
@@ -2,6 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
void MessageLoopCurrent::RemoveDestructionObserver(
|
||||
+#include "base/task/current_thread.h"
|
||||
#include "base/message_loop/message_pump_win.h"
|
||||
|
||||
#include <algorithm>
|
||||
@@ -486,7 +487,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
|
||||
TRACE_EVENT1("base",
|
||||
"MessagePumpForUI::ProcessNextWindowsMessage PeekMessage",
|
||||
"sent_messages_in_queue", more_work_is_plausible);
|
||||
- has_msg = ::PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE) != FALSE;
|
||||
+
|
||||
+ // We should not process all window messages if we are in the context of an
|
||||
+ // OS modal loop, i.e. in the context of a windows API call like MessageBox.
|
||||
+ // This is to ensure that these messages are peeked out by the OS modal loop.
|
||||
+ if (CurrentThread::Get()->os_modal_loop()) {
|
||||
+ // We only peek out WM_PAINT and WM_TIMER here for reasons mentioned above.
|
||||
+ has_msg = PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_REMOVE) ||
|
||||
+ PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE);
|
||||
+ } else {
|
||||
+ has_msg = PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != FALSE;
|
||||
+ }
|
||||
}
|
||||
if (has_msg)
|
||||
more_work_is_plausible |= ProcessMessageHelper(msg);
|
||||
diff --git base/task/current_thread.cc base/task/current_thread.cc
|
||||
index 068c4f837dab..50d1e4a0b770 100644
|
||||
--- base/task/current_thread.cc
|
||||
+++ base/task/current_thread.cc
|
||||
@@ -47,6 +47,8 @@ void CurrentThread::AddDestructionObserver(
|
||||
|
||||
void CurrentThread::RemoveDestructionObserver(
|
||||
DestructionObserver* destruction_observer) {
|
||||
+ if (!current_)
|
||||
+ return;
|
||||
DCHECK(current_->IsBoundToCurrentThread());
|
||||
current_->RemoveDestructionObserver(destruction_observer);
|
||||
}
|
||||
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
|
||||
index 462098e2522a..b853e6dc0c40 100644
|
||||
--- base/message_loop/message_loop_current.h
|
||||
+++ base/message_loop/message_loop_current.h
|
||||
@@ -117,6 +117,12 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
diff --git base/task/current_thread.h base/task/current_thread.h
|
||||
index 52c2dbec3cac..9c8d475f50ad 100644
|
||||
--- base/task/current_thread.h
|
||||
+++ base/task/current_thread.h
|
||||
@@ -122,6 +122,12 @@ class BASE_EXPORT CurrentThread {
|
||||
// posted tasks.
|
||||
void SetAddQueueTimeToTasks(bool enable);
|
||||
|
||||
@ -28,7 +59,7 @@ index 462098e2522a..b853e6dc0c40 100644
|
||||
// Enables nested task processing in scope of an upcoming native message loop.
|
||||
// Some unwanted message loops may occur when using common controls or printer
|
||||
// functions. Hence, nested task processing is disabled by default to avoid
|
||||
@@ -183,6 +189,13 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
@@ -187,6 +193,13 @@ class BASE_EXPORT CurrentThread {
|
||||
friend class web::WebTaskEnvironment;
|
||||
|
||||
sequence_manager::internal::SequenceManagerImpl* current_;
|
||||
@ -42,34 +73,3 @@ index 462098e2522a..b853e6dc0c40 100644
|
||||
};
|
||||
|
||||
#if !defined(OS_NACL)
|
||||
diff --git base/message_loop/message_pump_win.cc base/message_loop/message_pump_win.cc
|
||||
index 4c500064bcd8..9b82c906b659 100644
|
||||
--- base/message_loop/message_pump_win.cc
|
||||
+++ base/message_loop/message_pump_win.cc
|
||||
@@ -2,6 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include "base/message_loop/message_loop_current.h"
|
||||
#include "base/message_loop/message_pump_win.h"
|
||||
|
||||
#include <algorithm>
|
||||
@@ -497,7 +498,17 @@ bool MessagePumpForUI::ProcessNextWindowsMessage() {
|
||||
TRACE_EVENT1("base",
|
||||
"MessagePumpForUI::ProcessNextWindowsMessage PeekMessage",
|
||||
"sent_messages_in_queue", more_work_is_plausible);
|
||||
- has_msg = ::PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE) != FALSE;
|
||||
+
|
||||
+ // We should not process all window messages if we are in the context of an
|
||||
+ // OS modal loop, i.e. in the context of a windows API call like MessageBox.
|
||||
+ // This is to ensure that these messages are peeked out by the OS modal loop.
|
||||
+ if (MessageLoopCurrent::Get()->os_modal_loop()) {
|
||||
+ // We only peek out WM_PAINT and WM_TIMER here for reasons mentioned above.
|
||||
+ has_msg = PeekMessage(&msg, NULL, WM_PAINT, WM_PAINT, PM_REMOVE) ||
|
||||
+ PeekMessage(&msg, NULL, WM_TIMER, WM_TIMER, PM_REMOVE);
|
||||
+ } else {
|
||||
+ has_msg = PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) != FALSE;
|
||||
+ }
|
||||
}
|
||||
if (has_msg)
|
||||
more_work_is_plausible |= ProcessMessageHelper(msg);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/web_contents/web_contents_view.h content/browser/web_contents/web_contents_view.h
|
||||
index d722cbe08060..615a03b15f71 100644
|
||||
index 954e32c842a5..7563507d52d0 100644
|
||||
--- content/browser/web_contents/web_contents_view.h
|
||||
+++ content/browser/web_contents/web_contents_view.h
|
||||
@@ -23,7 +23,7 @@ struct DropData;
|
||||
@ -12,7 +12,7 @@ index d722cbe08060..615a03b15f71 100644
|
||||
virtual ~WebContentsView() {}
|
||||
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
index 390b07fc5775..a432ea7fe6a4 100644
|
||||
index 60c4fe742d7e..e47f7daa6414 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc
|
||||
@@ -207,6 +207,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
@ -47,10 +47,10 @@ index 390b07fc5775..a432ea7fe6a4 100644
|
||||
WebContents* source,
|
||||
const content::OpenURLParams& params) {
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
index 56babf6fff59..b97d63128d70 100644
|
||||
index 3e287fd18fee..4d5fca9bc322 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
@@ -130,6 +130,7 @@ class MimeHandlerViewGuest
|
||||
@@ -129,6 +129,7 @@ class MimeHandlerViewGuest
|
||||
void EmbedderFullscreenToggled(bool entered_fullscreen) final;
|
||||
bool ZoomPropagatesFromEmbedderToGuest() const final;
|
||||
bool ShouldDestroyOnDetach() const final;
|
||||
|
@ -41,10 +41,10 @@ index cc4b13a7b9c6..84f3b9ed7cf4 100644
|
||||
|
||||
} // namespace content
|
||||
diff --git content/browser/renderer_host/render_widget_host_impl.cc content/browser/renderer_host/render_widget_host_impl.cc
|
||||
index 1bce7961d24d..ff3baa4560ea 100644
|
||||
index ec8d2a0697de..d1adc797ebc5 100644
|
||||
--- content/browser/renderer_host/render_widget_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_impl.cc
|
||||
@@ -2831,6 +2831,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
|
||||
@@ -2870,6 +2870,11 @@ void RenderWidgetHostImpl::OnInvalidInputEventSource() {
|
||||
GetProcess(), bad_message::INPUT_ROUTER_INVALID_EVENT_SOURCE);
|
||||
}
|
||||
|
||||
@ -57,10 +57,10 @@ index 1bce7961d24d..ff3baa4560ea 100644
|
||||
const WebInputEvent& event) {
|
||||
if ((base::FeatureList::IsEnabled(
|
||||
diff --git content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_impl.h
|
||||
index 5f3f2feec8c7..73f2bad72132 100644
|
||||
index ffeeca6e6165..9773d91492ff 100644
|
||||
--- content/browser/renderer_host/render_widget_host_impl.h
|
||||
+++ content/browser/renderer_host/render_widget_host_impl.h
|
||||
@@ -734,6 +734,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
@@ -726,6 +726,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
|
||||
|
||||
void ProgressFlingIfNeeded(base::TimeTicks current_time);
|
||||
void StopFling();
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
|
||||
index d67aa115c4ed..c799f2e32011 100644
|
||||
index 8e810871066b..107f15b92829 100644
|
||||
--- content/public/common/common_param_traits_macros.h
|
||||
+++ content/public/common/common_param_traits_macros.h
|
||||
@@ -176,6 +176,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||
@@ -174,6 +174,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
|
||||
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
|
||||
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
|
||||
@ -11,34 +11,34 @@ index d67aa115c4ed..c799f2e32011 100644
|
||||
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
|
||||
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
|
||||
diff --git content/public/common/web_preferences.cc content/public/common/web_preferences.cc
|
||||
index f85ad51fb34b..6168136649ea 100644
|
||||
index 839e3cbde987..ef1b0d7be31f 100644
|
||||
--- content/public/common/web_preferences.cc
|
||||
+++ content/public/common/web_preferences.cc
|
||||
@@ -163,6 +163,7 @@ WebPreferences::WebPreferences()
|
||||
@@ -181,6 +181,7 @@ WebPreferences::WebPreferences()
|
||||
#endif
|
||||
spatial_navigation_enabled(false),
|
||||
caret_browsing_enabled(false),
|
||||
navigate_on_drag_drop(true),
|
||||
+ base_background_color(0xFFFFFFFF), // Color::white
|
||||
v8_cache_options(blink::mojom::V8CacheOptions::kDefault),
|
||||
record_whole_document(false),
|
||||
cookie_enabled(true),
|
||||
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
|
||||
index bf98747b7b38..fa046af3e0ee 100644
|
||||
index 700b47b5f521..4cd1cdceaf42 100644
|
||||
--- content/public/common/web_preferences.h
|
||||
+++ content/public/common/web_preferences.h
|
||||
@@ -180,6 +180,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
@@ -179,6 +179,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
bool smart_insert_delete_enabled;
|
||||
bool spatial_navigation_enabled;
|
||||
bool caret_browsing_enabled;
|
||||
bool navigate_on_drag_drop;
|
||||
+ uint32_t base_background_color;
|
||||
blink::mojom::V8CacheOptions v8_cache_options;
|
||||
bool record_whole_document;
|
||||
|
||||
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
|
||||
index c6a990f87306..1b9759f2b603 100644
|
||||
index 49619a9b5683..52e09111aad3 100644
|
||||
--- content/renderer/render_view_impl.cc
|
||||
+++ content/renderer/render_view_impl.cc
|
||||
@@ -963,6 +963,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
@@ -950,6 +950,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
#endif
|
||||
|
||||
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/download/download_prefs.cc chrome/browser/download/download_prefs.cc
|
||||
index b4c6ef8fec23..1e2586810d7c 100644
|
||||
index 1837e4c98e56..e6348c0e6dce 100644
|
||||
--- chrome/browser/download/download_prefs.cc
|
||||
+++ chrome/browser/download/download_prefs.cc
|
||||
@@ -23,6 +23,7 @@
|
||||
@ -21,7 +21,7 @@ index b4c6ef8fec23..1e2586810d7c 100644
|
||||
using content::BrowserContext;
|
||||
using content::BrowserThread;
|
||||
using content::DownloadManager;
|
||||
@@ -349,6 +354,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
|
||||
@@ -357,6 +362,11 @@ DownloadPrefs* DownloadPrefs::FromDownloadManager(
|
||||
// static
|
||||
DownloadPrefs* DownloadPrefs::FromBrowserContext(
|
||||
content::BrowserContext* context) {
|
||||
@ -58,10 +58,10 @@ index 3fadaba3336f..5ef67b35883d 100644
|
||||
// Add an entry to the map.
|
||||
preview_dialog_map_[preview_dialog] = initiator;
|
||||
diff --git chrome/browser/resources/print_preview/ui/destination_dialog.html chrome/browser/resources/print_preview/ui/destination_dialog.html
|
||||
index 56a6a8d8ee67..5fecf7ad1780 100644
|
||||
index bc7f30dba388..2cc53441f17d 100644
|
||||
--- chrome/browser/resources/print_preview/ui/destination_dialog.html
|
||||
+++ chrome/browser/resources/print_preview/ui/destination_dialog.html
|
||||
@@ -141,9 +141,7 @@
|
||||
@@ -145,9 +145,7 @@
|
||||
</print-preview-provisional-destination-resolver>
|
||||
</div>
|
||||
<div slot="button-container">
|
||||
@ -73,10 +73,10 @@ index 56a6a8d8ee67..5fecf7ad1780 100644
|
||||
$i18n{cancel}
|
||||
</cr-button>
|
||||
diff --git chrome/browser/resources/print_preview/ui/destination_select.html chrome/browser/resources/print_preview/ui/destination_select.html
|
||||
index 4ec05c3fe7ba..90ff40b337bf 100644
|
||||
index 6d3d49c902e7..4769176b9550 100644
|
||||
--- chrome/browser/resources/print_preview/ui/destination_select.html
|
||||
+++ chrome/browser/resources/print_preview/ui/destination_select.html
|
||||
@@ -19,10 +19,6 @@
|
||||
@@ -20,10 +20,6 @@
|
||||
<option value="[[pdfDestinationKey_]]" hidden$="[[pdfPrinterDisabled]]">
|
||||
$i18n{printToPDF}
|
||||
</option>
|
||||
@ -112,10 +112,10 @@ index b59728f623e3..6fd443962836 100644
|
||||
|
||||
ConstrainedWebDialogUI::~ConstrainedWebDialogUI() {
|
||||
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
|
||||
index c3a1e237fd6c..7f1e500f853c 100644
|
||||
index bb362bbd321e..ba5a9336ec6a 100644
|
||||
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
|
||||
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.cc
|
||||
@@ -178,8 +178,10 @@ PdfPrinterHandler::PdfPrinterHandler(
|
||||
@@ -184,8 +184,10 @@ PdfPrinterHandler::PdfPrinterHandler(
|
||||
sticky_settings_(sticky_settings) {}
|
||||
|
||||
PdfPrinterHandler::~PdfPrinterHandler() {
|
||||
@ -126,7 +126,7 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
}
|
||||
|
||||
void PdfPrinterHandler::Reset() {
|
||||
@@ -226,12 +228,14 @@ void PdfPrinterHandler::StartPrint(
|
||||
@@ -232,12 +234,14 @@ void PdfPrinterHandler::StartPrint(
|
||||
return;
|
||||
}
|
||||
|
||||
@ -141,7 +141,7 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
|
||||
DCHECK(!print_callback_);
|
||||
print_callback_ = std::move(callback);
|
||||
@@ -370,7 +374,11 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
|
||||
@@ -380,7 +384,11 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
|
||||
// If the directory is empty there is no reason to create it or use the
|
||||
// default location.
|
||||
if (path.empty()) {
|
||||
@ -153,7 +153,7 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -380,8 +388,14 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
|
||||
@@ -391,8 +399,14 @@ void PdfPrinterHandler::SelectFile(const base::FilePath& default_filename,
|
||||
base::ThreadPool::PostTaskAndReplyWithResult(
|
||||
FROM_HERE, {base::MayBlock(), base::TaskPriority::BEST_EFFORT},
|
||||
base::BindOnce(&SelectSaveDirectory, path, default_path),
|
||||
@ -168,7 +168,7 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
}
|
||||
|
||||
void PdfPrinterHandler::PostPrintToPdfTask() {
|
||||
@@ -397,6 +411,7 @@ void PdfPrinterHandler::OnGotUniqueFileName(const base::FilePath& path) {
|
||||
@@ -408,6 +422,7 @@ void PdfPrinterHandler::OnGotUniqueFileName(const base::FilePath& path) {
|
||||
FileSelected(path, 0, nullptr);
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
|
||||
const base::FilePath& directory) {
|
||||
base::FilePath path = directory.Append(filename);
|
||||
@@ -421,5 +436,36 @@ void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
|
||||
@@ -432,6 +447,37 @@ void PdfPrinterHandler::OnDirectorySelected(const base::FilePath& filename,
|
||||
&file_type_info, 0, base::FilePath::StringType(),
|
||||
platform_util::GetTopLevel(preview_web_contents_->GetNativeView()), NULL);
|
||||
}
|
||||
@ -212,9 +212,10 @@ index c3a1e237fd6c..7f1e500f853c 100644
|
||||
+}
|
||||
+#endif
|
||||
|
||||
} // namespace printing
|
||||
base::FilePath PdfPrinterHandler::GetSaveLocation() const {
|
||||
#if defined(OS_CHROMEOS)
|
||||
diff --git chrome/browser/ui/webui/print_preview/pdf_printer_handler.h chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
|
||||
index 0881b3dd9303..4df6883d4d05 100644
|
||||
index 26954aeae08f..025ecfa9aceb 100644
|
||||
--- chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
|
||||
+++ chrome/browser/ui/webui/print_preview/pdf_printer_handler.h
|
||||
@@ -11,9 +11,14 @@
|
||||
@ -259,10 +260,10 @@ index 0881b3dd9303..4df6883d4d05 100644
|
||||
+ const std::vector<base::FilePath>& file_paths);
|
||||
+#endif
|
||||
|
||||
Profile* const profile_;
|
||||
PrintPreviewStickySettings* const sticky_settings_;
|
||||
// Return save location as the Drive mount or fetch from Download Preferences.
|
||||
base::FilePath GetSaveLocation() const;
|
||||
diff --git chrome/browser/ui/webui/print_preview/print_preview_handler.cc chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
||||
index a61439ed8cae..3e210caffafe 100644
|
||||
index ba451b6c854d..0f062e69fd47 100644
|
||||
--- chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
||||
+++ chrome/browser/ui/webui/print_preview/print_preview_handler.cc
|
||||
@@ -24,6 +24,7 @@
|
||||
@ -273,7 +274,7 @@ index a61439ed8cae..3e210caffafe 100644
|
||||
#include "chrome/browser/app_mode/app_mode_utils.h"
|
||||
#include "chrome/browser/bad_message.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
@@ -1244,7 +1245,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
|
||||
@@ -1254,7 +1255,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
|
||||
}
|
||||
return extension_printer_handler_.get();
|
||||
}
|
||||
@ -282,7 +283,7 @@ index a61439ed8cae..3e210caffafe 100644
|
||||
if (printer_type == PrinterType::kPrivet) {
|
||||
if (!privet_printer_handler_) {
|
||||
privet_printer_handler_ =
|
||||
@@ -1252,6 +1253,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
|
||||
@@ -1262,6 +1263,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
|
||||
}
|
||||
return privet_printer_handler_.get();
|
||||
}
|
||||
@ -292,7 +293,7 @@ index a61439ed8cae..3e210caffafe 100644
|
||||
#endif
|
||||
if (printer_type == PrinterType::kPdf) {
|
||||
if (!pdf_printer_handler_) {
|
||||
@@ -1324,6 +1328,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
|
||||
@@ -1334,6 +1338,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
|
||||
}
|
||||
|
||||
void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
|
||||
@ -300,7 +301,7 @@ index a61439ed8cae..3e210caffafe 100644
|
||||
DCHECK(!identity_manager_);
|
||||
cloud_print_enabled_ =
|
||||
!base::Contains(printer_type_deny_list_, PrinterType::kCloud) &&
|
||||
@@ -1340,6 +1345,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
|
||||
@@ -1350,6 +1355,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
|
||||
|
||||
identity_manager_ = IdentityManagerFactory::GetForProfile(profile);
|
||||
identity_manager_->AddObserver(this);
|
||||
@ -309,7 +310,7 @@ index a61439ed8cae..3e210caffafe 100644
|
||||
|
||||
void PrintPreviewHandler::UnregisterForGaiaCookieChanges() {
|
||||
diff --git chrome/browser/ui/webui/print_preview/print_preview_ui.cc chrome/browser/ui/webui/print_preview/print_preview_ui.cc
|
||||
index 1d226233cce3..7ce5bc268410 100644
|
||||
index 48dfc6e95863..5b80d64f4b47 100644
|
||||
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
|
||||
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
|
||||
@@ -27,6 +27,7 @@
|
||||
@ -318,22 +319,22 @@ index 1d226233cce3..7ce5bc268410 100644
|
||||
#include "build/build_config.h"
|
||||
+#include "cef/libcef/features/features.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/browser_process_platform_part.h"
|
||||
#include "chrome/browser/pdf/pdf_extension_util.h"
|
||||
@@ -86,12 +87,16 @@ namespace printing {
|
||||
#include "chrome/browser/printing/background_printing_manager.h"
|
||||
@@ -80,12 +81,16 @@ namespace printing {
|
||||
|
||||
namespace {
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+const char kBasicPrintShortcut[] = "";
|
||||
+#else
|
||||
#if defined(OS_MACOSX)
|
||||
#if defined(OS_MAC)
|
||||
// U+0028 U+21E7 U+2318 U+0050 U+0029 in UTF8
|
||||
const char kBasicPrintShortcut[] = "\x28\xE2\x8c\xA5\xE2\x8C\x98\x50\x29";
|
||||
#elif !defined(OS_CHROMEOS)
|
||||
const char kBasicPrintShortcut[] = "(Ctrl+Shift+P)";
|
||||
#endif
|
||||
+#endif
|
||||
+#endif // !BUILDFLAG(ENABLE_CEF)
|
||||
|
||||
#if !BUILDFLAG(OPTIMIZE_WEBUI)
|
||||
constexpr char kGeneratedPath[] =
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
|
||||
index 52efa2037a31..cc1792facfca 100644
|
||||
index 17788cb2b506..9014f48ed0dd 100644
|
||||
--- chrome/browser/printing/print_job_worker.cc
|
||||
+++ chrome/browser/printing/print_job_worker.cc
|
||||
@@ -133,6 +133,7 @@ PrintJobWorker::PrintJobWorker(int render_process_id, int render_frame_id)
|
||||
@ -11,10 +11,10 @@ index 52efa2037a31..cc1792facfca 100644
|
||||
|
||||
PrintJobWorker::~PrintJobWorker() {
|
||||
diff --git printing/printing_context.h printing/printing_context.h
|
||||
index 6a5a7c90ef5b..04c0535046dc 100644
|
||||
index 7ac9ce996ca7..7a2099349f3b 100644
|
||||
--- printing/printing_context.h
|
||||
+++ printing/printing_context.h
|
||||
@@ -131,6 +131,13 @@ class PRINTING_EXPORT PrintingContext {
|
||||
@@ -133,6 +133,13 @@ class PRINTING_EXPORT PrintingContext {
|
||||
|
||||
int job_id() const { return job_id_; }
|
||||
|
||||
@ -28,14 +28,14 @@ index 6a5a7c90ef5b..04c0535046dc 100644
|
||||
protected:
|
||||
explicit PrintingContext(Delegate* delegate);
|
||||
|
||||
@@ -155,6 +162,10 @@ class PRINTING_EXPORT PrintingContext {
|
||||
@@ -156,6 +163,10 @@ class PRINTING_EXPORT PrintingContext {
|
||||
|
||||
// The job id for the current job. The value is 0 if no jobs are active.
|
||||
int job_id_;
|
||||
|
||||
+
|
||||
+ // Routing IDs for the frame that owns this object.
|
||||
+ int render_process_id_ = 0;
|
||||
+ int render_frame_id_ = 0;
|
||||
+
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(PrintingContext);
|
||||
};
|
||||
|
||||
} // namespace printing
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/renderer_host/render_view_host_impl.cc content/browser/renderer_host/render_view_host_impl.cc
|
||||
index f2c4cbf78618..2a2f4d475538 100644
|
||||
index 4f914119d21b..5be76fbbda36 100644
|
||||
--- content/browser/renderer_host/render_view_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_view_host_impl.cc
|
||||
@@ -509,6 +509,8 @@ bool RenderViewHostImpl::IsRenderViewLive() {
|
||||
@@ -522,6 +522,8 @@ bool RenderViewHostImpl::IsRenderViewLive() {
|
||||
}
|
||||
|
||||
void RenderViewHostImpl::SetBackgroundOpaque(bool opaque) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
|
||||
index 776c050ad31b..5107091f62b4 100644
|
||||
index 0acace592ca4..66cc3c360b79 100644
|
||||
--- chrome/browser/renderer_preferences_util.cc
|
||||
+++ chrome/browser/renderer_preferences_util.cc
|
||||
@@ -31,7 +31,8 @@
|
||||
@@ -33,7 +33,8 @@
|
||||
#include "ui/base/cocoa/defaults_utils.h"
|
||||
#endif
|
||||
|
||||
@ -12,7 +12,7 @@ index 776c050ad31b..5107091f62b4 100644
|
||||
#include "chrome/browser/themes/theme_service.h"
|
||||
#include "chrome/browser/themes/theme_service_factory.h"
|
||||
#include "ui/views/linux_ui/linux_ui.h"
|
||||
@@ -146,7 +147,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
|
||||
@@ -155,7 +156,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
|
||||
prefs->caret_blink_interval = interval;
|
||||
#endif
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
|
||||
index eeb09546b453..b97a392faf74 100644
|
||||
index df4b0a7c9bb0..140574fe2886 100644
|
||||
--- ui/base/resource/resource_bundle.cc
|
||||
+++ ui/base/resource/resource_bundle.cc
|
||||
@@ -865,6 +865,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
|
||||
@@ -868,6 +868,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
|
||||
: delegate_(delegate),
|
||||
locale_resources_data_lock_(new base::Lock),
|
||||
max_scale_factor_(SCALE_FACTOR_100P) {
|
||||
@ -15,7 +15,7 @@ index eeb09546b453..b97a392faf74 100644
|
||||
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kMangleLocalizedStrings);
|
||||
}
|
||||
@@ -874,6 +880,11 @@ ResourceBundle::~ResourceBundle() {
|
||||
@@ -877,6 +883,11 @@ ResourceBundle::~ResourceBundle() {
|
||||
UnloadLocaleResources();
|
||||
}
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
|
||||
index 1a7c3d74b5c5..00c166906396 100644
|
||||
index d9cd61297548..9bfbc5212ed6 100644
|
||||
--- build/toolchain/win/setup_toolchain.py
|
||||
+++ build/toolchain/win/setup_toolchain.py
|
||||
@@ -142,13 +142,17 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
|
||||
# variable.
|
||||
if 'VSINSTALLDIR' in os.environ:
|
||||
del os.environ['VSINSTALLDIR']
|
||||
@@ -149,13 +149,17 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
|
||||
del os.environ['INCLUDE']
|
||||
del os.environ['LIB']
|
||||
del os.environ['LIBPATH']
|
||||
- other_path = os.path.normpath(os.path.join(
|
||||
+ script_path = os.path.normpath(os.path.join(
|
||||
os.environ['GYP_MSVS_OVERRIDE_PATH'],
|
||||
@ -26,7 +26,7 @@ index 1a7c3d74b5c5..00c166906396 100644
|
||||
if (cpu != 'x64'):
|
||||
# x64 is default target CPU thus any other CPU requires a target set
|
||||
diff --git build/vs_toolchain.py build/vs_toolchain.py
|
||||
index e60770e9b4e6..edeb0c357878 100755
|
||||
index 6bc24a921272..24ee9a0a04a9 100755
|
||||
--- build/vs_toolchain.py
|
||||
+++ build/vs_toolchain.py
|
||||
@@ -89,9 +89,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index 3ff69bf8cd7d..fe5fbf5f79fb 100644
|
||||
index 8eeff7b2af9d..be36b6b265b9 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -676,10 +676,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
@@ -675,10 +675,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
|
||||
DCHECK(GetBackgroundColor());
|
||||
|
||||
@ -19,18 +19,19 @@ index 3ff69bf8cd7d..fe5fbf5f79fb 100644
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewAura::WindowTitleChanged() {
|
||||
@@ -1968,6 +1970,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
@@ -2040,6 +2042,16 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
// Init(), because it needs to have the layer.
|
||||
if (frame_sink_id_.is_valid())
|
||||
window_->SetEmbedFrameSinkId(frame_sink_id_);
|
||||
+
|
||||
+ // Do this after |window_| is created to avoid crashes on Win10.
|
||||
+ // See https://crbug.com/761389.
|
||||
+ RenderViewHost* rvh = RenderViewHost::From(host_);
|
||||
+ if (rvh) {
|
||||
+ auto web_contents =
|
||||
+ WebContents::FromRenderViewHost(RenderViewHost::From(host_));
|
||||
+ if (web_contents) {
|
||||
+ // TODO(mostynb): actually use prefs. Landing this as a separate CL
|
||||
+ // first to rebaseline some unreliable layout tests.
|
||||
+ ignore_result(rvh->GetWebkitPreferences());
|
||||
+ ignore_result(web_contents->GetOrCreateWebPreferences());
|
||||
+ }
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
|
||||
index d277d1eea17e..5f87c13a47b1 100644
|
||||
index 607618c0fad8..d55d1c2d4046 100644
|
||||
--- services/service_manager/embedder/main.cc
|
||||
+++ services/service_manager/embedder/main.cc
|
||||
@@ -244,22 +244,36 @@ int RunService(MainDelegate* delegate) {
|
||||
@ -37,7 +37,7 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
int exit_code = -1;
|
||||
base::debug::GlobalActivityTracker* tracker = nullptr;
|
||||
ProcessType process_type = delegate->OverrideProcessType();
|
||||
-#if defined(OS_MACOSX)
|
||||
-#if defined(OS_MAC)
|
||||
- std::unique_ptr<base::mac::ScopedNSAutoreleasePool> autorelease_pool;
|
||||
-#endif
|
||||
|
||||
@ -46,7 +46,7 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
@@ -345,12 +359,7 @@ int Main(const MainParams& params) {
|
||||
MainDelegate::InitializeParams init_params;
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
#if defined(OS_MAC)
|
||||
- // We need this pool for all the objects created before we get to the event
|
||||
- // loop, but we don't want to leave them hanging around until the app quits.
|
||||
- // Each "main" needs to flush this pool right before it goes into its main
|
||||
@ -94,7 +94,7 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
if (tracker) {
|
||||
if (exit_code == 0) {
|
||||
tracker->SetProcessPhaseIfEnabled(
|
||||
@@ -465,13 +474,38 @@ int Main(const MainParams& params) {
|
||||
@@ -465,12 +474,38 @@ int Main(const MainParams& params) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
+ MainDelegate* delegate = params.delegate;
|
||||
+ DCHECK(delegate);
|
||||
+
|
||||
#if defined(OS_MACOSX)
|
||||
#if defined(OS_MAC)
|
||||
- autorelease_pool.reset();
|
||||
+ params.autorelease_pool.reset();
|
||||
#endif
|
||||
@ -117,7 +117,7 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
+}
|
||||
+
|
||||
+int Main(MainParams& params) {
|
||||
+#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MAC)
|
||||
+ // We need this pool for all the objects created before we get to the event
|
||||
+ // loop, but we don't want to leave them hanging around until the app quits.
|
||||
+ // Each "main" needs to flush this pool right before it goes into its main
|
||||
@ -125,17 +125,17 @@ index d277d1eea17e..5f87c13a47b1 100644
|
||||
+ params.autorelease_pool =
|
||||
+ std::make_unique<base::mac::ScopedNSAutoreleasePool>();
|
||||
+#endif
|
||||
|
||||
+
|
||||
+ int exit_code = MainInitialize(params);
|
||||
+ if (exit_code >= 0)
|
||||
+ return exit_code;
|
||||
+ exit_code = MainRun(params);
|
||||
+ MainShutdown(params);
|
||||
|
||||
return exit_code;
|
||||
}
|
||||
|
||||
diff --git services/service_manager/embedder/main.h services/service_manager/embedder/main.h
|
||||
index 57e88aa85dfe..5ed6ec2abfda 100644
|
||||
index 57e88aa85dfe..f28c9ef4c0ea 100644
|
||||
--- services/service_manager/embedder/main.h
|
||||
+++ services/service_manager/embedder/main.h
|
||||
@@ -5,9 +5,15 @@
|
||||
@ -147,9 +147,9 @@ index 57e88aa85dfe..5ed6ec2abfda 100644
|
||||
#include "base/component_export.h"
|
||||
#include "build/build_config.h"
|
||||
|
||||
+#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MAC)
|
||||
+#include "base/mac/scoped_nsautorelease_pool.h"
|
||||
+#endif // defined(OS_MACOSX)
|
||||
+#endif // defined(OS_MAC)
|
||||
+
|
||||
namespace service_manager {
|
||||
|
||||
@ -159,7 +159,7 @@ index 57e88aa85dfe..5ed6ec2abfda 100644
|
||||
const char** argv = nullptr;
|
||||
#endif
|
||||
+
|
||||
+#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MAC)
|
||||
+ std::unique_ptr<base::mac::ScopedNSAutoreleasePool> autorelease_pool;
|
||||
+#endif
|
||||
};
|
||||
@ -179,15 +179,15 @@ index 57e88aa85dfe..5ed6ec2abfda 100644
|
||||
} // namespace service_manager
|
||||
|
||||
diff --git services/service_manager/embedder/set_process_title.cc services/service_manager/embedder/set_process_title.cc
|
||||
index 1dc53b847ef9..5432ab02a088 100644
|
||||
index a2ced5316c78..96946a2168aa 100644
|
||||
--- services/service_manager/embedder/set_process_title.cc
|
||||
+++ services/service_manager/embedder/set_process_title.cc
|
||||
@@ -44,7 +44,7 @@ void SetProcessTitleFromCommandLine(const char** main_argv) {
|
||||
@@ -53,7 +53,7 @@ void SetProcessTitleFromCommandLine(const char** main_argv) {
|
||||
bool have_argv0 = false;
|
||||
|
||||
#if defined(OS_LINUX)
|
||||
#if defined(OS_LINUX) || defined(OS_CHROMEOS)
|
||||
- DCHECK_EQ(base::PlatformThread::CurrentId(), getpid());
|
||||
+ //DCHECK_EQ(base::PlatformThread::CurrentId(), getpid());
|
||||
+ // DCHECK_EQ(base::PlatformThread::CurrentId(), getpid());
|
||||
|
||||
if (main_argv)
|
||||
setproctitle_init(main_argv);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
|
||||
index b409f1bd146c..4536b21241e6 100644
|
||||
index e5160aa3ff1a..87b037e517c2 100644
|
||||
--- chrome/browser/net/profile_network_context_service.cc
|
||||
+++ chrome/browser/net/profile_network_context_service.cc
|
||||
@@ -19,6 +19,7 @@
|
||||
@ -10,7 +10,7 @@ index b409f1bd146c..4536b21241e6 100644
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/content_settings/cookie_settings_factory.h"
|
||||
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
|
||||
@@ -723,9 +724,23 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
@@ -668,9 +669,23 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
network_context_params->cookie_manager_params =
|
||||
CreateCookieManagerParams(profile_, *cookie_settings_);
|
||||
|
||||
@ -35,7 +35,7 @@ index b409f1bd146c..4536b21241e6 100644
|
||||
PrefService* local_state = g_browser_process->local_state();
|
||||
// Configure the HTTP cache path and size.
|
||||
base::FilePath base_cache_path;
|
||||
@@ -738,7 +753,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
@@ -683,7 +698,9 @@ void ProfileNetworkContextService::ConfigureNetworkContextParamsInternal(
|
||||
base_cache_path.Append(chrome::kCacheDirname);
|
||||
network_context_params->http_cache_max_size =
|
||||
local_state->GetInteger(prefs::kDiskCacheSize);
|
||||
@ -46,12 +46,12 @@ index b409f1bd146c..4536b21241e6 100644
|
||||
// change.
|
||||
network_context_params->http_server_properties_path =
|
||||
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
|
||||
index 4e621c3366ab..0a8bdbc51f9c 100644
|
||||
index a9dc5ed20a9f..3ce894531a21 100644
|
||||
--- chrome/browser/profiles/profile.h
|
||||
+++ chrome/browser/profiles/profile.h
|
||||
@@ -447,6 +447,11 @@ class Profile : public content::BrowserContext {
|
||||
virtual bool ShouldRestoreOldSessionCookies();
|
||||
virtual bool ShouldPersistSessionCookies();
|
||||
@@ -449,6 +449,11 @@ class Profile : public content::BrowserContext {
|
||||
virtual bool ShouldRestoreOldSessionCookies() const;
|
||||
virtual bool ShouldPersistSessionCookies() const;
|
||||
|
||||
+ // Returns schemes that should be cookieable, if other than the defaults.
|
||||
+ virtual base::Optional<std::vector<std::string>> GetCookieableSchemes() {
|
||||
@ -62,7 +62,7 @@ index 4e621c3366ab..0a8bdbc51f9c 100644
|
||||
// specified isolated app (or for the profile itself, if |relative_path| is
|
||||
// empty).
|
||||
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
|
||||
index 477b47a77211..1dca6b496350 100644
|
||||
index 265deed0e52e..89d37ae6218a 100644
|
||||
--- net/cookies/cookie_monster.cc
|
||||
+++ net/cookies/cookie_monster.cc
|
||||
@@ -479,6 +479,25 @@ void CookieMonster::SetCookieableSchemes(
|
||||
@ -92,7 +92,7 @@ index 477b47a77211..1dca6b496350 100644
|
||||
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
|
||||
DCHECK(thread_checker_.CalledOnValidThread());
|
||||
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
|
||||
index 9908e6f8e7ed..d85793db29de 100644
|
||||
index 57ce9d640ac0..8c4cc927cf15 100644
|
||||
--- net/cookies/cookie_monster.h
|
||||
+++ net/cookies/cookie_monster.h
|
||||
@@ -184,6 +184,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
|
||||
@ -105,7 +105,7 @@ index 9908e6f8e7ed..d85793db29de 100644
|
||||
// Enables writing session cookies into the cookie database. If this this
|
||||
// method is called, it must be called before first use of the instance
|
||||
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
|
||||
index 47f2942cd329..b226df4c358a 100644
|
||||
index 5ffbe648343d..3d9a0f2e828f 100644
|
||||
--- net/cookies/cookie_store.h
|
||||
+++ net/cookies/cookie_store.h
|
||||
@@ -149,6 +149,11 @@ class NET_EXPORT CookieStore {
|
||||
@ -143,10 +143,10 @@ index 1d988375b00a..e71cbc3b612f 100644
|
||||
|
||||
void CookieManager::SetForceKeepSessionState() {
|
||||
diff --git services/network/network_context.cc services/network/network_context.cc
|
||||
index 3bb208bad23c..fd50ae357d3f 100644
|
||||
index 5b4588fadf4b..1f685c4d6700 100644
|
||||
--- services/network/network_context.cc
|
||||
+++ services/network/network_context.cc
|
||||
@@ -1809,6 +1809,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -1906,6 +1906,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
}
|
||||
|
||||
scoped_refptr<SessionCleanupCookieStore> session_cleanup_cookie_store;
|
||||
@ -154,7 +154,7 @@ index 3bb208bad23c..fd50ae357d3f 100644
|
||||
if (params_->cookie_path) {
|
||||
scoped_refptr<base::SequencedTaskRunner> client_task_runner =
|
||||
base::ThreadTaskRunnerHandle::Get();
|
||||
@@ -1835,18 +1836,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
@@ -1932,18 +1933,26 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
|
||||
session_cleanup_cookie_store =
|
||||
base::MakeRefCounted<SessionCleanupCookieStore>(sqlite_store);
|
||||
|
||||
@ -185,7 +185,7 @@ index 3bb208bad23c..fd50ae357d3f 100644
|
||||
trust_token_store_ = std::make_unique<PendingTrustTokenStore>();
|
||||
|
||||
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
|
||||
index 6d5110add0e3..250175c0d05f 100644
|
||||
index 87b26150440e..60c9eee375bb 100644
|
||||
--- services/network/public/mojom/network_context.mojom
|
||||
+++ services/network/public/mojom/network_context.mojom
|
||||
@@ -274,6 +274,9 @@ struct NetworkContextParams {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
|
||||
index a0034ad3a21d..bf694fdf18d0 100644
|
||||
index eead3ac6a092..372c511b6c77 100644
|
||||
--- content/browser/storage_partition_impl.cc
|
||||
+++ content/browser/storage_partition_impl.cc
|
||||
@@ -490,10 +490,6 @@ class LoginHandlerDelegate {
|
||||
@@ -487,10 +487,6 @@ class LoginHandlerDelegate {
|
||||
}
|
||||
|
||||
WebContents* web_contents = web_contents_getter_.Run();
|
||||
@ -13,7 +13,7 @@ index a0034ad3a21d..bf694fdf18d0 100644
|
||||
|
||||
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
|
||||
creating_login_delegate_ = true;
|
||||
@@ -550,12 +546,6 @@ void OnAuthRequiredContinuation(
|
||||
@@ -547,12 +543,6 @@ void OnAuthRequiredContinuation(
|
||||
web_contents_getter =
|
||||
base::BindRepeating(GetWebContents, process_id, routing_id);
|
||||
}
|
||||
@ -26,7 +26,7 @@ index a0034ad3a21d..bf694fdf18d0 100644
|
||||
new LoginHandlerDelegate(std::move(auth_challenge_responder),
|
||||
std::move(web_contents_getter), auth_info,
|
||||
is_request_for_main_frame, process_id, routing_id,
|
||||
@@ -2358,8 +2348,12 @@ void StoragePartitionImpl::GetQuotaSettings(
|
||||
@@ -2412,8 +2402,12 @@ void StoragePartitionImpl::GetQuotaSettings(
|
||||
return;
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ index a0034ad3a21d..bf694fdf18d0 100644
|
||||
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
|
||||
}
|
||||
|
||||
@@ -2371,6 +2365,11 @@ void StoragePartitionImpl::InitNetworkContext() {
|
||||
@@ -2425,6 +2419,11 @@ void StoragePartitionImpl::InitNetworkContext() {
|
||||
GetContentClient()->browser()->ConfigureNetworkContextParams(
|
||||
browser_context_, is_in_memory_, relative_partition_path_,
|
||||
context_params.get(), cert_verifier_creation_params.get());
|
||||
|
@ -39,10 +39,10 @@ index f92961e9f79b..f1ff80b244ef 100644
|
||||
};
|
||||
|
||||
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
|
||||
index 0c523877565b..694e3bdc7d0d 100644
|
||||
index 639ba0b04bed..538147e3fcbc 100644
|
||||
--- ui/views/controls/webview/webview.cc
|
||||
+++ ui/views/controls/webview/webview.cc
|
||||
@@ -127,6 +127,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
@@ -139,6 +139,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
MaybeEnableAutoResize();
|
||||
}
|
||||
|
||||
@ -54,10 +54,10 @@ index 0c523877565b..694e3bdc7d0d 100644
|
||||
if (crashed_overlay_view_ == crashed_overlay_view)
|
||||
return;
|
||||
diff --git ui/views/controls/webview/webview.h ui/views/controls/webview/webview.h
|
||||
index 624dcb1a4d8a..70a48e40022d 100644
|
||||
index f18eea14290b..98b60a041720 100644
|
||||
--- ui/views/controls/webview/webview.h
|
||||
+++ ui/views/controls/webview/webview.h
|
||||
@@ -82,6 +82,10 @@ class WEBVIEW_EXPORT WebView : public View,
|
||||
@@ -84,6 +84,10 @@ class WEBVIEW_EXPORT WebView : public View,
|
||||
void EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
const gfx::Size& max_size);
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
|
||||
index 12d84e3d4a09..526048daac85 100644
|
||||
index d0318111b239..bcc733af5ddb 100644
|
||||
--- content/browser/blob_storage/chrome_blob_storage_context.cc
|
||||
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
|
||||
@@ -116,7 +116,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
|
||||
@@ -117,7 +117,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
|
||||
|
||||
// If we're not incognito mode, schedule all of our file tasks to enable
|
||||
// disk on the storage context.
|
||||
@ -13,10 +13,10 @@ index 12d84e3d4a09..526048daac85 100644
|
||||
{base::MayBlock(), base::TaskPriority::USER_VISIBLE,
|
||||
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
|
||||
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
|
||||
index 13e78598fea9..f5f3fc28c46a 100644
|
||||
index 18cb0f6c588d..93ef44e197fc 100644
|
||||
--- content/browser/browser_context.cc
|
||||
+++ content/browser/browser_context.cc
|
||||
@@ -255,7 +255,7 @@ StoragePartition* BrowserContext::GetStoragePartition(
|
||||
@@ -253,7 +253,7 @@ StoragePartition* BrowserContext::GetStoragePartition(
|
||||
GetStoragePartitionMap(browser_context);
|
||||
|
||||
auto config_to_use = storage_partition_config;
|
||||
@ -25,7 +25,7 @@ index 13e78598fea9..f5f3fc28c46a 100644
|
||||
config_to_use = storage_partition_config.CopyWithInMemorySet();
|
||||
|
||||
return partition_map->Get(config_to_use, can_create);
|
||||
@@ -536,7 +536,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
|
||||
@@ -575,7 +575,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
|
||||
kUseInMemoryDBDefault);
|
||||
|
||||
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
|
||||
@ -35,7 +35,7 @@ index 13e78598fea9..f5f3fc28c46a 100644
|
||||
std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
|
||||
} else {
|
||||
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
|
||||
index 4f8cfb3eb34a..8c357827e893 100644
|
||||
index fdf4b2466077..938df52d348e 100644
|
||||
--- storage/browser/database/database_tracker.cc
|
||||
+++ storage/browser/database/database_tracker.cc
|
||||
@@ -508,7 +508,7 @@ bool DatabaseTracker::LazyInit() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
|
||||
index 31f563dd4d59..a68423706c60 100644
|
||||
index b94597784004..35e977e0d88a 100644
|
||||
--- base/trace_event/builtin_categories.h
|
||||
+++ base/trace_event/builtin_categories.h
|
||||
@@ -58,6 +58,8 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
|
||||
index 5a38c3f841bf..bb374d08ee95 100644
|
||||
index ef6463f78c6c..fa9020caea8d 100644
|
||||
--- ui/base/x/x11_os_exchange_data_provider.cc
|
||||
+++ ui/base/x/x11_os_exchange_data_provider.cc
|
||||
@@ -122,7 +122,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
|
||||
@@ -120,7 +120,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
|
||||
format_map_.Insert(gfx::GetAtom(kMimeTypeMozillaURL), mem);
|
||||
|
||||
// Set a string fallback as well.
|
||||
|
13
patch/patches/ui_gl_utils_1123950.patch
Normal file
13
patch/patches/ui_gl_utils_1123950.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git ui/gl/gl_utils.cc ui/gl/gl_utils.cc
|
||||
index 2f0832c0ae75..f8a494b05e42 100644
|
||||
--- ui/gl/gl_utils.cc
|
||||
+++ ui/gl/gl_utils.cc
|
||||
@@ -130,7 +130,7 @@ bool ShouldForceDirectCompositionRootSurfaceFullDamage() {
|
||||
if ((brga_flags & kSupportBits) == 0)
|
||||
return false;
|
||||
return true;
|
||||
- };
|
||||
+ }();
|
||||
return should_force;
|
||||
}
|
||||
#endif // OS_WIN
|
@ -1,5 +1,5 @@
|
||||
diff --git ui/base/models/menu_model.h ui/base/models/menu_model.h
|
||||
index 4c08fbf43c16..e319f8b6782f 100644
|
||||
index c746b37d6278..b6cebc24b73e 100644
|
||||
--- ui/base/models/menu_model.h
|
||||
+++ ui/base/models/menu_model.h
|
||||
@@ -12,8 +12,11 @@
|
||||
@ -14,7 +14,7 @@ index 4c08fbf43c16..e319f8b6782f 100644
|
||||
}
|
||||
|
||||
namespace ui {
|
||||
@@ -129,6 +132,27 @@ class COMPONENT_EXPORT(UI_BASE) MenuModel
|
||||
@@ -133,6 +136,27 @@ class COMPONENT_EXPORT(UI_BASE) MenuModel
|
||||
// |event_flags| is a bit mask of ui::EventFlags.
|
||||
virtual void ActivatedAt(int index, int event_flags);
|
||||
|
||||
@ -43,10 +43,10 @@ index 4c08fbf43c16..e319f8b6782f 100644
|
||||
virtual void MenuWillShow() {}
|
||||
|
||||
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
|
||||
index 383943809398..c859bd0799d3 100644
|
||||
index 3dc9e4daf46d..f5b2eb00f36f 100644
|
||||
--- ui/gfx/render_text.cc
|
||||
+++ ui/gfx/render_text.cc
|
||||
@@ -614,6 +614,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
|
||||
@@ -615,6 +615,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +82,7 @@ index 383943809398..c859bd0799d3 100644
|
||||
}
|
||||
|
||||
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
|
||||
index 9ef49c1dfda4..33d02455f24b 100644
|
||||
index 4b39abb9d16c..c3b5debf995b 100644
|
||||
--- ui/gfx/render_text.h
|
||||
+++ ui/gfx/render_text.h
|
||||
@@ -346,6 +346,10 @@ class GFX_EXPORT RenderText {
|
||||
@ -96,7 +96,7 @@ index 9ef49c1dfda4..33d02455f24b 100644
|
||||
const Rect& display_rect() const { return display_rect_; }
|
||||
void SetDisplayRect(const Rect& r);
|
||||
|
||||
@@ -1045,6 +1049,8 @@ class GFX_EXPORT RenderText {
|
||||
@@ -1049,6 +1053,8 @@ class GFX_EXPORT RenderText {
|
||||
// Tell whether or not the |layout_text_| needs an update or is up to date.
|
||||
mutable bool layout_text_up_to_date_ = false;
|
||||
|
||||
@ -106,12 +106,12 @@ index 9ef49c1dfda4..33d02455f24b 100644
|
||||
};
|
||||
|
||||
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
|
||||
index b711c5f08f80..d0d428057e5d 100644
|
||||
index e6062daf0f1b..64aefc152a81 100644
|
||||
--- ui/views/animation/ink_drop_host_view.h
|
||||
+++ ui/views/animation/ink_drop_host_view.h
|
||||
@@ -138,6 +138,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
|
||||
// this isn't necessary anymore.
|
||||
virtual InkDrop* GetInkDrop();
|
||||
@@ -149,6 +149,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
|
||||
// changes, to trigger the corresponding property change notification here.
|
||||
void OnInkDropHighlightedChanged();
|
||||
|
||||
+ InkDropMode ink_drop_mode() const { return ink_drop_mode_; }
|
||||
+
|
||||
@ -119,10 +119,10 @@ index b711c5f08f80..d0d428057e5d 100644
|
||||
// Size used for the default SquareInkDropRipple.
|
||||
static constexpr gfx::Size kDefaultInkDropSize = gfx::Size(24, 24);
|
||||
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
|
||||
index 3aef54f32cd9..ee16da5c2670 100644
|
||||
index 77c7f6830f9c..3a683e178668 100644
|
||||
--- ui/views/controls/button/label_button.cc
|
||||
+++ ui/views/controls/button/label_button.cc
|
||||
@@ -487,6 +487,12 @@ void LabelButton::OnThemeChanged() {
|
||||
@@ -508,6 +508,12 @@ void LabelButton::OnThemeChanged() {
|
||||
SchedulePaint();
|
||||
}
|
||||
|
||||
@ -133,13 +133,13 @@ index 3aef54f32cd9..ee16da5c2670 100644
|
||||
+}
|
||||
+
|
||||
void LabelButton::StateChanged(ButtonState old_state) {
|
||||
const gfx::Size previous_image_size(image_->GetPreferredSize());
|
||||
UpdateImage();
|
||||
Button::StateChanged(old_state);
|
||||
ResetLabelEnabledColor();
|
||||
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
|
||||
index ac348aa7dd46..88ab098daddc 100644
|
||||
index 45692ab8b7c3..f4484c069137 100644
|
||||
--- ui/views/controls/button/label_button.h
|
||||
+++ ui/views/controls/button/label_button.h
|
||||
@@ -124,6 +124,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
|
||||
@@ -130,6 +130,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
|
||||
ui::NativeTheme::State GetForegroundThemeState(
|
||||
ui::NativeTheme::ExtraParams* params) const override;
|
||||
|
||||
@ -150,10 +150,17 @@ index ac348aa7dd46..88ab098daddc 100644
|
||||
ImageView* image() const { return image_; }
|
||||
Label* label() const { return label_; }
|
||||
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
|
||||
index febce15ff860..c373f786d0ae 100644
|
||||
index d0b00369f1a9..920df6ad1988 100644
|
||||
--- ui/views/controls/label.cc
|
||||
+++ ui/views/controls/label.cc
|
||||
@@ -53,6 +53,20 @@ bool IsOpaque(SkColor color) {
|
||||
@@ -47,12 +47,27 @@ enum LabelPropertyKey {
|
||||
kLabelLineHeight,
|
||||
kLabelObscured,
|
||||
kLabelAllowCharacterBreak,
|
||||
+ kLabelDrawStringsFlags,
|
||||
};
|
||||
|
||||
bool IsOpaque(SkColor color) {
|
||||
return SkColorGetA(color) == SK_AlphaOPAQUE;
|
||||
}
|
||||
|
||||
@ -174,7 +181,7 @@ index febce15ff860..c373f786d0ae 100644
|
||||
} // namespace
|
||||
|
||||
namespace views {
|
||||
@@ -329,6 +343,14 @@ base::string16 Label::GetTooltipText() const {
|
||||
@@ -353,6 +368,15 @@ base::string16 Label::GetTooltipText() const {
|
||||
return tooltip_text_;
|
||||
}
|
||||
|
||||
@ -183,13 +190,14 @@ index febce15ff860..c373f786d0ae 100644
|
||||
+ return;
|
||||
+ draw_strings_flags_ = flags;
|
||||
+ full_text_->SetDrawStringsFlags(draw_strings_flags_);
|
||||
+ ResetLayout();
|
||||
+ OnPropertyChanged(&full_text_ + kLabelDrawStringsFlags,
|
||||
+ kPropertyEffectsPreferredSizeChanged);
|
||||
+}
|
||||
+
|
||||
void Label::SetTooltipText(const base::string16& tooltip_text) {
|
||||
DCHECK(handles_tooltips_);
|
||||
if (tooltip_text_ == tooltip_text)
|
||||
@@ -603,7 +625,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
@@ -617,7 +641,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
render_text->SetFontList(font_list());
|
||||
render_text->set_shadows(GetShadows());
|
||||
render_text->SetCursorEnabled(false);
|
||||
@ -211,10 +219,10 @@ index febce15ff860..c373f786d0ae 100644
|
||||
render_text->SetMultiline(multiline);
|
||||
render_text->SetMaxLines(multiline ? GetMaxLines() : 0);
|
||||
diff --git ui/views/controls/label.h ui/views/controls/label.h
|
||||
index 5a45ef3cbf00..597d5f1e8767 100644
|
||||
index 6cb286abd747..d05356e9caee 100644
|
||||
--- ui/views/controls/label.h
|
||||
+++ ui/views/controls/label.h
|
||||
@@ -195,6 +195,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -198,6 +198,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
gfx::ElideBehavior GetElideBehavior() const;
|
||||
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
|
||||
|
||||
@ -225,7 +233,7 @@ index 5a45ef3cbf00..597d5f1e8767 100644
|
||||
// Gets/Sets the tooltip text. Default behavior for a label (single-line) is
|
||||
// to show the full text if it is wider than its bounds. Calling this
|
||||
// overrides the default behavior and lets you set a custom tooltip. To
|
||||
@@ -428,6 +432,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -432,6 +436,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
bool collapse_when_hidden_ = false;
|
||||
int fixed_width_ = 0;
|
||||
int max_width_ = 0;
|
||||
@ -234,10 +242,10 @@ index 5a45ef3cbf00..597d5f1e8767 100644
|
||||
std::unique_ptr<SelectionController> selection_controller_;
|
||||
|
||||
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
|
||||
index a039303e8b9a..60d429d88aa5 100644
|
||||
index bad1730e19a0..2054d3b48e41 100644
|
||||
--- ui/views/controls/menu/menu_controller.cc
|
||||
+++ ui/views/controls/menu/menu_controller.cc
|
||||
@@ -2652,8 +2652,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
@@ -2668,8 +2668,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
|
||||
void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
MenuItemView* item = pending_state_.item;
|
||||
@ -252,7 +260,7 @@ index a039303e8b9a..60d429d88aa5 100644
|
||||
MenuItemView* to_select = nullptr;
|
||||
if (!item->GetSubmenu()->GetMenuItems().empty())
|
||||
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
|
||||
@@ -2672,8 +2677,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
@@ -2688,8 +2693,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
void MenuController::CloseSubmenu() {
|
||||
MenuItemView* item = state_.item;
|
||||
DCHECK(item);
|
||||
@ -304,10 +312,10 @@ index 158724b4752c..c82192848584 100644
|
||||
virtual int GetMaxWidthForMenu(MenuItemView* menu);
|
||||
|
||||
diff --git ui/views/controls/menu/menu_item_view.cc ui/views/controls/menu/menu_item_view.cc
|
||||
index 6d06d6fc20ea..28722992c551 100644
|
||||
index f14eb8069141..98b1fca6c190 100644
|
||||
--- ui/views/controls/menu/menu_item_view.cc
|
||||
+++ ui/views/controls/menu/menu_item_view.cc
|
||||
@@ -1030,6 +1030,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
@@ -1070,6 +1070,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
spilling_rect.set_y(spilling_rect.y() - corner_radius_);
|
||||
spilling_rect.set_height(spilling_rect.height() + corner_radius_);
|
||||
canvas->DrawRoundRect(spilling_rect, corner_radius_, flags);
|
||||
@ -323,7 +331,7 @@ index 6d06d6fc20ea..28722992c551 100644
|
||||
} else if (render_selection) {
|
||||
gfx::Rect item_bounds = GetLocalBounds();
|
||||
if (type_ == Type::kActionableSubMenu) {
|
||||
@@ -1097,6 +1106,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
@@ -1137,6 +1146,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
}
|
||||
|
||||
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
|
||||
@ -338,10 +346,10 @@ index 6d06d6fc20ea..28722992c551 100644
|
||||
GetMenuController() && GetMenuController()->use_touchable_layout()
|
||||
? style::CONTEXT_TOUCH_MENU
|
||||
diff --git ui/views/controls/menu/menu_model_adapter.cc ui/views/controls/menu/menu_model_adapter.cc
|
||||
index 7d0d04e10a19..a2fbe6b62328 100644
|
||||
index b0b1cf9a7a79..17b37e84e933 100644
|
||||
--- ui/views/controls/menu/menu_model_adapter.cc
|
||||
+++ ui/views/controls/menu/menu_model_adapter.cc
|
||||
@@ -236,6 +236,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
|
||||
@@ -240,6 +240,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -461,7 +469,7 @@ index 3ba6950690e3..f500022cc083 100644
|
||||
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
|
||||
|
||||
diff --git ui/views/test/ui_controls_factory_desktop_aurax11.cc ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
index 3e603f8011dc..cb64fec8d45d 100644
|
||||
index 2d80939961d7..ef2299910d75 100644
|
||||
--- ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
+++ ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
@@ -154,10 +154,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
|
||||
@ -476,18 +484,18 @@ index 3e603f8011dc..cb64fec8d45d 100644
|
||||
// Move the cursor because EnterNotify/LeaveNotify are generated with the
|
||||
// current mouse position as a result of XGrabPointer()
|
||||
diff --git ui/views/view.h ui/views/view.h
|
||||
index 23b5d3ffd8be..c468ef4b6a25 100644
|
||||
index 1990d29fcae1..dcfaaa7f6f3f 100644
|
||||
--- ui/views/view.h
|
||||
+++ ui/views/view.h
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "base/logging.h"
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "base/macros.h"
|
||||
#include "base/memory/ptr_util.h"
|
||||
#include "base/optional.h"
|
||||
+#include "base/supports_user_data.h"
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/skia/include/core/SkPath.h"
|
||||
#include "ui/accessibility/ax_enums.mojom-forward.h"
|
||||
@@ -273,6 +274,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
@@ -275,6 +276,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
public ui::EventTarget,
|
||||
public ui::EventHandler,
|
||||
public ui::PropertyHandler,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
index 85b265f70047..691e04ddcf97 100644
|
||||
index 934195fd77d2..8aec87d4a448 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
@@ -565,6 +565,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
|
||||
@@ -560,6 +560,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
|
||||
return screen_info.device_scale_factor;
|
||||
}
|
||||
|
||||
@ -18,10 +18,10 @@ index 85b265f70047..691e04ddcf97 100644
|
||||
return renderer_frame_number_;
|
||||
}
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_base.h content/browser/renderer_host/render_widget_host_view_base.h
|
||||
index d6363c75664b..45288fdafdee 100644
|
||||
index af80b343dcd9..507618362acd 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -66,6 +66,7 @@ class CursorManager;
|
||||
@@ -65,6 +65,7 @@ class CursorManager;
|
||||
class MouseWheelPhaseHandler;
|
||||
class RenderWidgetHostImpl;
|
||||
class RenderWidgetHostViewBaseObserver;
|
||||
@ -29,7 +29,7 @@ index d6363c75664b..45288fdafdee 100644
|
||||
class SyntheticGestureTarget;
|
||||
class TextInputManager;
|
||||
class TouchSelectionControllerClientManager;
|
||||
@@ -83,6 +84,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -82,6 +83,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
float current_device_scale_factor() const {
|
||||
return current_device_scale_factor_;
|
||||
}
|
||||
@ -39,7 +39,7 @@ index d6363c75664b..45288fdafdee 100644
|
||||
|
||||
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
|
||||
RenderWidgetHostImpl* GetFocusedWidget() const;
|
||||
@@ -117,6 +121,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -116,6 +120,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
void DisableAutoResize(const gfx::Size& new_size) override;
|
||||
bool IsScrollOffsetAtTop() override;
|
||||
float GetDeviceScaleFactor() final;
|
||||
@ -61,7 +61,7 @@ index d6363c75664b..45288fdafdee 100644
|
||||
// Sets the cursor for this view to the one associated with the specified
|
||||
// cursor_type.
|
||||
virtual void UpdateCursor(const WebCursor& cursor) = 0;
|
||||
@@ -616,6 +628,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -620,6 +632,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
// specific RenderWidgetHostView.
|
||||
base::Optional<DisplayFeature> display_feature_;
|
||||
|
||||
@ -73,10 +73,10 @@ index d6363c75664b..45288fdafdee 100644
|
||||
FRIEND_TEST_ALL_PREFIXES(
|
||||
BrowserSideFlingBrowserTest,
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_event_handler.cc content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
index df6f607a65ae..e37f7bf73f0f 100644
|
||||
index 44586cc1789a..18705ef4e6e7 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
@@ -34,6 +34,10 @@
|
||||
@@ -37,6 +37,10 @@
|
||||
#include "ui/events/keycodes/dom/dom_code.h"
|
||||
#include "ui/touch_selection/touch_selection_controller.h"
|
||||
|
||||
@ -87,9 +87,9 @@ index df6f607a65ae..e37f7bf73f0f 100644
|
||||
#if defined(OS_WIN)
|
||||
#include "content/browser/frame_host/render_frame_host_impl.h"
|
||||
#include "ui/aura/window_tree_host.h"
|
||||
@@ -931,6 +935,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
|
||||
::SetFocus(hwnd);
|
||||
@@ -954,6 +958,14 @@ void RenderWidgetHostViewEventHandler::MoveCursorToCenter(
|
||||
}
|
||||
return;
|
||||
}
|
||||
+#endif
|
||||
+#if defined(OS_LINUX)
|
||||
@ -100,10 +100,10 @@ index df6f607a65ae..e37f7bf73f0f 100644
|
||||
+ host->Show();
|
||||
+ }
|
||||
#endif
|
||||
// TODO(wjmaclean): can host_ ever be null?
|
||||
if (host_ && set_focus_on_mouse_down_or_key_event_) {
|
||||
synthetic_move_position_ = center_in_screen;
|
||||
}
|
||||
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
|
||||
index 4810a45aa4b0..33e32192f975 100644
|
||||
index a7222155f4ea..77ac1f864161 100644
|
||||
--- content/public/browser/render_widget_host_view.h
|
||||
+++ content/public/browser/render_widget_host_view.h
|
||||
@@ -243,6 +243,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
|
||||
@ -118,28 +118,28 @@ index 4810a45aa4b0..33e32192f975 100644
|
||||
+ // Chromium-controlled view/window hierarchy.
|
||||
+ virtual bool HasExternalParent() const = 0;
|
||||
+
|
||||
#if defined(OS_MACOSX)
|
||||
#if defined(OS_MAC)
|
||||
// Set the view's active state (i.e., tint state of controls).
|
||||
virtual void SetActive(bool active) = 0;
|
||||
diff --git ui/base/x/x11_window.cc ui/base/x/x11_window.cc
|
||||
index bc5f4fefa7a0..4b2e110441be 100644
|
||||
index 24dbb60257bb..59e731f9ba0b 100644
|
||||
--- ui/base/x/x11_window.cc
|
||||
+++ ui/base/x/x11_window.cc
|
||||
@@ -270,7 +270,8 @@ void XWindow::Init(const Configuration& config) {
|
||||
@@ -272,7 +272,8 @@ void XWindow::Init(const Configuration& config) {
|
||||
req.border_pixel = 0;
|
||||
|
||||
bounds_in_pixels_ = SanitizeBounds(config.bounds);
|
||||
- req.parent = x_root_window_;
|
||||
+ req.parent = config.parent_widget == gfx::kNullAcceleratedWidget ?
|
||||
+ x_root_window_ : config.parent_widget;
|
||||
+ x_root_window_ : static_cast<x11::Window>(config.parent_widget);
|
||||
req.x = bounds_in_pixels_.x();
|
||||
req.y = bounds_in_pixels_.y();
|
||||
req.width = bounds_in_pixels_.width();
|
||||
diff --git ui/base/x/x11_window.h ui/base/x/x11_window.h
|
||||
index c5b0d7227a5d..69d4f6013f3d 100644
|
||||
index af282d4190dd..147a2cd9ac4c 100644
|
||||
--- ui/base/x/x11_window.h
|
||||
+++ ui/base/x/x11_window.h
|
||||
@@ -20,6 +20,7 @@
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "ui/gfx/geometry/rect.h"
|
||||
#include "ui/gfx/geometry/size.h"
|
||||
#include "ui/gfx/geometry/size_f.h"
|
||||
@ -147,7 +147,7 @@ index c5b0d7227a5d..69d4f6013f3d 100644
|
||||
#include "ui/gfx/x/event.h"
|
||||
#include "ui/gfx/x/sync.h"
|
||||
#include "ui/gfx/x/x11.h"
|
||||
@@ -91,6 +92,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XWindow {
|
||||
@@ -93,6 +94,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XWindow {
|
||||
std::string wm_class_name;
|
||||
std::string wm_class_class;
|
||||
std::string wm_role_name;
|
||||
@ -156,10 +156,10 @@ index c5b0d7227a5d..69d4f6013f3d 100644
|
||||
|
||||
XWindow();
|
||||
diff --git ui/platform_window/x11/x11_window.cc ui/platform_window/x11/x11_window.cc
|
||||
index bc2c18233b75..4e2f72b51cdf 100644
|
||||
index c0ba5c3a156e..c12372d6e435 100644
|
||||
--- ui/platform_window/x11/x11_window.cc
|
||||
+++ ui/platform_window/x11/x11_window.cc
|
||||
@@ -97,6 +97,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig(
|
||||
@@ -93,6 +93,7 @@ ui::XWindow::Configuration ConvertInitPropertiesToXWindowConfig(
|
||||
config.wm_class_class = properties.wm_class_class;
|
||||
config.wm_role_name = properties.wm_role_name;
|
||||
config.activatable = properties.activatable;
|
||||
@ -181,10 +181,29 @@ index e9bb45ad238c..68f2a5ef5d0c 100644
|
||||
return host ? host->GetAcceleratedWidget() : nullptr;
|
||||
}
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
index 61d8b3a06783..7f9552f2b36b 100644
|
||||
index 0bdc1470708b..0f1d6960f0ea 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
|
||||
@@ -315,6 +315,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
|
||||
@@ -187,6 +187,18 @@ Widget::MoveLoopResult DesktopWindowTreeHostLinux::RunMoveLoop(
|
||||
escape_behavior);
|
||||
}
|
||||
|
||||
+gfx::Rect DesktopWindowTreeHostLinux::GetWindowBoundsInScreen() const {
|
||||
+ if (!screen_bounds_.IsEmpty())
|
||||
+ return screen_bounds_;
|
||||
+ return DesktopWindowTreeHostPlatform::GetWindowBoundsInScreen();
|
||||
+}
|
||||
+
|
||||
+gfx::Point DesktopWindowTreeHostLinux::GetLocationOnScreenInPixels() const {
|
||||
+ if (!screen_bounds_.IsEmpty())
|
||||
+ return screen_bounds_.origin();
|
||||
+ return DesktopWindowTreeHostPlatform::GetLocationOnScreenInPixels();
|
||||
+}
|
||||
+
|
||||
void DesktopWindowTreeHostLinux::DispatchEvent(ui::Event* event) {
|
||||
// The input can be disabled and the widget marked as non-active in case of
|
||||
// opened file-dialogs.
|
||||
@@ -319,6 +331,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
|
||||
properties->wm_class_class = params.wm_class_class;
|
||||
properties->wm_role_name = params.wm_role_name;
|
||||
|
||||
@ -193,8 +212,40 @@ index 61d8b3a06783..7f9552f2b36b 100644
|
||||
DCHECK(!properties->x11_extension_delegate);
|
||||
properties->x11_extension_delegate = this;
|
||||
}
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
|
||||
index 4b6a5a4476a3..c9881d4a716c 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h
|
||||
@@ -68,6 +68,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
|
||||
// Disables event listening to make |dialog| modal.
|
||||
base::OnceClosure DisableEventListening();
|
||||
|
||||
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
|
||||
+
|
||||
protected:
|
||||
// Overridden from DesktopWindowTreeHost:
|
||||
void Init(const Widget::InitParams& params) override;
|
||||
@@ -78,6 +80,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
|
||||
const gfx::Vector2d& drag_offset,
|
||||
Widget::MoveLoopSource source,
|
||||
Widget::MoveLoopEscapeBehavior escape_behavior) override;
|
||||
+ gfx::Rect GetWindowBoundsInScreen() const override;
|
||||
+ gfx::Point GetLocationOnScreenInPixels() const override;
|
||||
|
||||
// PlatformWindowDelegate:
|
||||
void DispatchEvent(ui::Event* event) override;
|
||||
@@ -134,6 +138,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostLinux
|
||||
// destroyed.
|
||||
static std::list<gfx::AcceleratedWidget>* open_windows_;
|
||||
|
||||
+ // Override the screen bounds when the host is a child window.
|
||||
+ gfx::Rect screen_bounds_;
|
||||
+
|
||||
// The display and the native X window hosting the root window.
|
||||
base::WeakPtrFactory<DesktopWindowTreeHostLinux> weak_factory_{this};
|
||||
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
index b5430b871cfc..f0d5d8521e4b 100644
|
||||
index e9e61a24dc87..7687ded2a82e 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -140,8 +140,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
|
||||
@ -211,7 +262,7 @@ index b5430b871cfc..f0d5d8521e4b 100644
|
||||
|
||||
remove_standard_frame_ = params.remove_standard_frame;
|
||||
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
|
||||
@@ -918,11 +922,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
@@ -915,11 +919,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
|
||||
@ -230,10 +281,10 @@ index b5430b871cfc..f0d5d8521e4b 100644
|
||||
|
||||
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
index c0f00b6d86d3..0a4da77de31a 100644
|
||||
index 0229c1c41502..992f89126f7f 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
@@ -294,6 +294,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
@@ -293,6 +293,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
// True if the window should have the frame removed.
|
||||
bool remove_standard_frame_;
|
||||
|
||||
@ -244,86 +295,8 @@ index c0f00b6d86d3..0a4da77de31a 100644
|
||||
// Owned by TooltipController, but we need to forward events to it so we keep
|
||||
// a reference.
|
||||
corewm::TooltipWin* tooltip_;
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
index af81a254b0ce..42474f1e7c1e 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
@@ -78,6 +78,9 @@ DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() = default;
|
||||
// DesktopWindowTreeHostX11, DesktopWindowTreeHost implementation:
|
||||
|
||||
void DesktopWindowTreeHostX11::Init(const Widget::InitParams& params) {
|
||||
+ if (params.parent_widget != gfx::kNullAcceleratedWidget)
|
||||
+ has_external_parent_ = true;
|
||||
+
|
||||
DesktopWindowTreeHostLinux::Init(params);
|
||||
|
||||
// Set XEventDelegate to receive selection, drag&drop and raw key events.
|
||||
@@ -101,6 +104,18 @@ DesktopWindowTreeHostX11::CreateDragDropClient(
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// DesktopWindowTreeHostX11 implementation:
|
||||
|
||||
+gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
||||
+ if (!screen_bounds_.IsEmpty())
|
||||
+ return screen_bounds_;
|
||||
+ return DesktopWindowTreeHostLinux::GetWindowBoundsInScreen();
|
||||
+}
|
||||
+
|
||||
+gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
|
||||
+ if (!screen_bounds_.IsEmpty())
|
||||
+ return screen_bounds_.origin();
|
||||
+ return DesktopWindowTreeHostLinux::GetLocationOnScreenInPixels();
|
||||
+}
|
||||
+
|
||||
void DesktopWindowTreeHostX11::OnXWindowSelectionEvent(x11::Event* xev) {
|
||||
DCHECK(xev);
|
||||
DCHECK(drag_drop_client_);
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
index 695019454640..9d85e934f6e5 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
@@ -31,12 +31,21 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
|
||||
DesktopNativeWidgetAura* desktop_native_widget_aura);
|
||||
~DesktopWindowTreeHostX11() override;
|
||||
|
||||
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
|
||||
+
|
||||
+ // Returns true if the widget has a external parent view/window outside of the
|
||||
+ // Chromium-controlled view/window hierarchy.
|
||||
+ bool has_external_parent() const { return has_external_parent_; }
|
||||
+
|
||||
protected:
|
||||
// Overridden from DesktopWindowTreeHost:
|
||||
void Init(const Widget::InitParams& params) override;
|
||||
std::unique_ptr<aura::client::DragDropClient> CreateDragDropClient(
|
||||
DesktopNativeCursorManager* cursor_manager) override;
|
||||
|
||||
+ gfx::Rect GetWindowBoundsInScreen() const override;
|
||||
+ gfx::Point GetLocationOnScreenInPixels() const override;
|
||||
+
|
||||
private:
|
||||
friend class DesktopWindowTreeHostX11HighDPITest;
|
||||
|
||||
@@ -50,8 +59,18 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
|
||||
// directly. See https://crbug.com/990756.
|
||||
const ui::XWindow* GetXWindow() const;
|
||||
|
||||
+ // Override the screen bounds when the host is a child window.
|
||||
+ gfx::Rect screen_bounds_;
|
||||
+
|
||||
+ // True if the widget has a external parent view/window outside of the
|
||||
+ // Chromium-controlled view/window hierarchy.
|
||||
+ bool has_external_parent_ = false;
|
||||
+
|
||||
DesktopDragDropClientAuraX11* drag_drop_client_ = nullptr;
|
||||
|
||||
+ // True if the xwindow has already been destroyed.
|
||||
+ bool xwindow_destroyed_ = false;
|
||||
+
|
||||
DISALLOW_COPY_AND_ASSIGN(DesktopWindowTreeHostX11);
|
||||
};
|
||||
|
||||
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
|
||||
index a06ebe82c33f..559ec6d0130d 100644
|
||||
index f02508580d16..a2be2ed6aa2d 100644
|
||||
--- ui/views/widget/widget.cc
|
||||
+++ ui/views/widget/widget.cc
|
||||
@@ -285,7 +285,8 @@ void Widget::Init(InitParams params) {
|
||||
@ -350,7 +323,7 @@ index a06ebe82c33f..559ec6d0130d 100644
|
||||
}
|
||||
|
||||
observer_manager_.Add(GetNativeTheme());
|
||||
@@ -1154,10 +1160,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
@@ -1153,10 +1159,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
}
|
||||
|
||||
gfx::Size Widget::GetMinimumSize() const {
|
||||
@ -368,10 +341,10 @@ index a06ebe82c33f..559ec6d0130d 100644
|
||||
}
|
||||
|
||||
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
|
||||
index 0cbc349dd3d1..3dd288962851 100644
|
||||
index 032f77d5738a..085c4df9fa8c 100644
|
||||
--- ui/views/widget/widget.h
|
||||
+++ ui/views/widget/widget.h
|
||||
@@ -311,6 +311,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
@@ -315,6 +315,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
// the concept with bubble anchoring a la BubbleDialogDelegateView.
|
||||
gfx::NativeView parent = nullptr;
|
||||
|
||||
@ -381,10 +354,10 @@ index 0cbc349dd3d1..3dd288962851 100644
|
||||
// the NativeWidget may specify a default size. If the parent is specified,
|
||||
// |bounds| is in the parent's coordinate system. If the parent is not
|
||||
diff --git ui/views/widget/widget_delegate.h ui/views/widget/widget_delegate.h
|
||||
index 6b4ef19ee72e..08fd84fe2e6e 100644
|
||||
index fdf697d54693..d21effca6422 100644
|
||||
--- ui/views/widget/widget_delegate.h
|
||||
+++ ui/views/widget/widget_delegate.h
|
||||
@@ -305,6 +305,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
@@ -301,6 +301,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
// Returns true if the title text should be centered.
|
||||
bool ShouldCenterWindowTitleText() const;
|
||||
|
||||
@ -409,10 +382,10 @@ index 89f5b62f95df..8f6971929a12 100644
|
||||
if (native_widget_delegate->IsDialogBox()) {
|
||||
*style |= DS_MODALFRAME;
|
||||
diff --git ui/views/win/hwnd_message_handler.cc ui/views/win/hwnd_message_handler.cc
|
||||
index db4fe784c7e1..a7af3bbb4e0a 100644
|
||||
index 5e8d267d868d..414e20ad8203 100644
|
||||
--- ui/views/win/hwnd_message_handler.cc
|
||||
+++ ui/views/win/hwnd_message_handler.cc
|
||||
@@ -3072,10 +3072,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -3071,10 +3071,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
} else if (event.type() == ui::ET_MOUSEWHEEL) {
|
||||
ui::MouseWheelEvent mouse_wheel_event(msg);
|
||||
// Reroute the mouse wheel to the window under the pointer if applicable.
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git components/viz/host/host_display_client.cc components/viz/host/host_display_client.cc
|
||||
index 3547ee865c22..2215296ffadc 100644
|
||||
index c80e6831d4af..3fd2f9e4f822 100644
|
||||
--- components/viz/host/host_display_client.cc
|
||||
+++ components/viz/host/host_display_client.cc
|
||||
@@ -43,9 +43,14 @@ void HostDisplayClient::OnDisplayReceivedCALayerParams(
|
||||
@ -29,7 +29,7 @@ index 3547ee865c22..2215296ffadc 100644
|
||||
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
||||
void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {
|
||||
diff --git components/viz/host/host_display_client.h components/viz/host/host_display_client.h
|
||||
index cedf833d2358..04456e045304 100644
|
||||
index 521ea99a35da..47d0ae89cdf1 100644
|
||||
--- components/viz/host/host_display_client.h
|
||||
+++ components/viz/host/host_display_client.h
|
||||
@@ -31,17 +31,17 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom::DisplayClient {
|
||||
@ -41,7 +41,7 @@ index cedf833d2358..04456e045304 100644
|
||||
// mojom::DisplayClient implementation:
|
||||
+ void UseProxyOutputDevice(UseProxyOutputDeviceCallback callback) override;
|
||||
+
|
||||
#if defined(OS_MACOSX)
|
||||
#if defined(OS_APPLE)
|
||||
void OnDisplayReceivedCALayerParams(
|
||||
const gfx::CALayerParams& ca_layer_params) override;
|
||||
#endif
|
||||
@ -80,14 +80,12 @@ index 1026b739d283..fe562ab60ce9 100644
|
||||
private:
|
||||
const HWND hwnd_;
|
||||
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
|
||||
index 7b6f69e3dcce..b04d7984d855 100644
|
||||
index d991c2126b23..cc51bb326e86 100644
|
||||
--- components/viz/service/BUILD.gn
|
||||
+++ components/viz/service/BUILD.gn
|
||||
@@ -13,7 +13,10 @@ config("viz_service_implementation") {
|
||||
}
|
||||
@@ -14,6 +14,8 @@ config("viz_service_implementation") {
|
||||
|
||||
viz_component("service") {
|
||||
+ never_build_jumbo = true
|
||||
sources = [
|
||||
+ "//cef/libcef/browser/osr/software_output_device_proxy.cc",
|
||||
+ "//cef/libcef/browser/osr/software_output_device_proxy.h",
|
||||
@ -95,10 +93,10 @@ index 7b6f69e3dcce..b04d7984d855 100644
|
||||
"display/bsp_tree.h",
|
||||
"display/bsp_walk_action.cc",
|
||||
diff --git components/viz/service/display_embedder/output_surface_provider_impl.cc components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
index da8936a87cfe..2992b7616f05 100644
|
||||
index 2da653cc9c3c..e536a34dca33 100644
|
||||
--- components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc
|
||||
@@ -13,6 +13,7 @@
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "base/threading/thread_task_runner_handle.h"
|
||||
#include "build/chromecast_buildflags.h"
|
||||
#include "cc/base/switches.h"
|
||||
@ -106,7 +104,7 @@ index da8936a87cfe..2992b7616f05 100644
|
||||
#include "components/viz/common/display/renderer_settings.h"
|
||||
#include "components/viz/common/frame_sinks/begin_frame_source.h"
|
||||
#include "components/viz/service/display_embedder/gl_output_surface.h"
|
||||
@@ -223,6 +224,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
|
||||
@@ -225,6 +226,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
|
||||
if (headless_)
|
||||
return std::make_unique<SoftwareOutputDevice>();
|
||||
|
||||
@ -144,10 +142,10 @@ index 2bb30e5318b6..535535dd6c10 100644
|
||||
|
||||
TRACE_EVENT_ASYNC_BEGIN0("viz", "SoftwareOutputDeviceWinProxy::Draw", this);
|
||||
diff --git content/browser/compositor/viz_process_transport_factory.cc content/browser/compositor/viz_process_transport_factory.cc
|
||||
index 641a63e8c18e..cdb9a23a1f3e 100644
|
||||
index 04da825a6b5d..3c63015b9b6c 100644
|
||||
--- content/browser/compositor/viz_process_transport_factory.cc
|
||||
+++ content/browser/compositor/viz_process_transport_factory.cc
|
||||
@@ -403,8 +403,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
@@ -407,8 +407,13 @@ void VizProcessTransportFactory::OnEstablishedGpuChannel(
|
||||
compositor_data.display_private.reset();
|
||||
root_params->display_private =
|
||||
compositor_data.display_private.BindNewEndpointAndPassReceiver();
|
||||
@ -164,10 +162,10 @@ index 641a63e8c18e..cdb9a23a1f3e 100644
|
||||
compositor_data.display_client->GetBoundRemote(resize_task_runner_);
|
||||
|
||||
diff --git mojo/public/cpp/bindings/sync_call_restrictions.h mojo/public/cpp/bindings/sync_call_restrictions.h
|
||||
index 599d24e260ae..13bb4cc5910f 100644
|
||||
index c9a75d59b7eb..e4cf92fe15e8 100644
|
||||
--- mojo/public/cpp/bindings/sync_call_restrictions.h
|
||||
+++ mojo/public/cpp/bindings/sync_call_restrictions.h
|
||||
@@ -33,6 +33,7 @@ class Compositor;
|
||||
@@ -29,6 +29,7 @@ class Compositor;
|
||||
|
||||
namespace viz {
|
||||
class HostFrameSinkManager;
|
||||
@ -175,7 +173,7 @@ index 599d24e260ae..13bb4cc5910f 100644
|
||||
}
|
||||
|
||||
namespace mojo {
|
||||
@@ -86,6 +87,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions {
|
||||
@@ -81,6 +82,8 @@ class COMPONENT_EXPORT(MOJO_CPP_BINDINGS) SyncCallRestrictions {
|
||||
// For preventing frame swaps of wrong size during resize on Windows.
|
||||
// (https://crbug.com/811945)
|
||||
friend class ui::Compositor;
|
||||
@ -185,10 +183,10 @@ index 599d24e260ae..13bb4cc5910f 100644
|
||||
// running in the same process, so it won't block anything.
|
||||
// TODO(159346933) Remove once the origin isolation logic is moved outside of
|
||||
diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
index d88fab3b7d0a..54984d27a75e 100644
|
||||
index 0c9686f3c807..6fc92dda1072 100644
|
||||
--- services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
+++ services/viz/privileged/mojom/compositing/display_private.mojom
|
||||
@@ -74,12 +74,14 @@ interface DisplayPrivate {
|
||||
@@ -80,12 +80,14 @@ interface DisplayPrivate {
|
||||
};
|
||||
|
||||
interface DisplayClient {
|
||||
@ -216,7 +214,7 @@ index 6b7fbb6cf13d..e2af75168cb9 100644
|
||||
+ Draw(gfx.mojom.Rect damage_rect) => ();
|
||||
};
|
||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||
index 438dd212d881..c2e112def4e9 100644
|
||||
index 13665946e08a..ceea7b60d44f 100644
|
||||
--- ui/compositor/compositor.h
|
||||
+++ ui/compositor/compositor.h
|
||||
@@ -25,7 +25,9 @@
|
||||
@ -229,7 +227,7 @@ index 438dd212d881..c2e112def4e9 100644
|
||||
#include "mojo/public/cpp/bindings/pending_remote.h"
|
||||
#include "services/viz/privileged/mojom/compositing/vsync_parameter_observer.mojom-forward.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
@@ -127,6 +129,14 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
@@ -128,6 +130,14 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
virtual viz::HostFrameSinkManager* GetHostFrameSinkManager() = 0;
|
||||
};
|
||||
|
||||
@ -244,7 +242,7 @@ index 438dd212d881..c2e112def4e9 100644
|
||||
// Compositor object to take care of GPU painting.
|
||||
// A Browser compositor object is responsible for generating the final
|
||||
// displayable form of pixels comprising a single widget's contents. It draws an
|
||||
@@ -161,6 +171,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -162,6 +172,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
// Schedules a redraw of the layer tree associated with this compositor.
|
||||
void ScheduleDraw();
|
||||
|
||||
@ -254,7 +252,7 @@ index 438dd212d881..c2e112def4e9 100644
|
||||
// Sets the root of the layer tree drawn by this Compositor. The root layer
|
||||
// must have no parent. The compositor's root layer is reset if the root layer
|
||||
// is destroyed. NULL can be passed to reset the root layer, in which case the
|
||||
@@ -424,6 +437,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -435,6 +448,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
|
||||
std::unique_ptr<PendingBeginFrameArgs> pending_begin_frame_args_;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
|
||||
index 1afd8ac2c2cf..34d1ec7938b2 100644
|
||||
index 4dca843104ac..63020b374688 100644
|
||||
--- content/browser/web_contents/web_contents_impl.cc
|
||||
+++ content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -2225,15 +2225,22 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
@@ -2561,15 +2561,22 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
std::string unique_name;
|
||||
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
|
||||
|
||||
@ -33,7 +33,7 @@ index 1afd8ac2c2cf..34d1ec7938b2 100644
|
||||
}
|
||||
CHECK(render_view_host_delegate_view_);
|
||||
CHECK(view_.get());
|
||||
@@ -3035,6 +3042,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
|
||||
@@ -3368,6 +3375,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
|
||||
// objects.
|
||||
create_params.renderer_initiated_creation = !is_new_browsing_instance;
|
||||
|
||||
@ -49,13 +49,14 @@ index 1afd8ac2c2cf..34d1ec7938b2 100644
|
||||
std::unique_ptr<WebContentsImpl> new_contents;
|
||||
if (!is_guest) {
|
||||
create_params.context = view_->GetNativeView();
|
||||
@@ -6405,6 +6421,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
|
||||
@@ -6850,6 +6866,10 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
|
||||
// This is an outermost WebContents.
|
||||
SetAsFocusedWebContentsIfNecessary();
|
||||
}
|
||||
+
|
||||
+ for (auto& observer : observers_)
|
||||
+ observer.OnFrameFocused(node->current_frame_host());
|
||||
+ observers_.ForEachObserver([&](WebContentsObserver* observer) {
|
||||
+ observer->OnFrameFocused(node->current_frame_host());
|
||||
+ });
|
||||
}
|
||||
|
||||
void WebContentsImpl::DidCallFocus() {
|
||||
@ -72,7 +73,7 @@ index f1dcf53ea481..192f7c0ddd04 100644
|
||||
|
||||
WebContents::CreateParams::CreateParams(const CreateParams& other) = default;
|
||||
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
|
||||
index 40b5d17d9c73..662068b57f36 100644
|
||||
index f1c25ed4cf62..8bb6e9a374c7 100644
|
||||
--- content/public/browser/web_contents.h
|
||||
+++ content/public/browser/web_contents.h
|
||||
@@ -82,8 +82,10 @@ class BrowserContext;
|
||||
@ -86,7 +87,7 @@ index 40b5d17d9c73..662068b57f36 100644
|
||||
class WebUI;
|
||||
struct CustomContextMenuContext;
|
||||
struct DropData;
|
||||
@@ -211,6 +213,10 @@ class WebContents : public PageNavigator,
|
||||
@@ -212,6 +214,10 @@ class WebContents : public PageNavigator,
|
||||
// Sandboxing flags set on the new WebContents.
|
||||
network::mojom::WebSandboxFlags starting_sandbox_flags;
|
||||
|
||||
@ -98,10 +99,10 @@ index 40b5d17d9c73..662068b57f36 100644
|
||||
// the value that'll be returned by GetLastActiveTime(). If this is left
|
||||
// default initialized then the value is not passed on to the WebContents
|
||||
diff --git content/public/browser/web_contents_delegate.h content/public/browser/web_contents_delegate.h
|
||||
index e545ff70c612..41cd5299898f 100644
|
||||
index a10c5caf5a4b..ef8d3c3c1056 100644
|
||||
--- content/public/browser/web_contents_delegate.h
|
||||
+++ content/public/browser/web_contents_delegate.h
|
||||
@@ -61,10 +61,12 @@ class EyeDropperListener;
|
||||
@@ -62,10 +62,12 @@ class EyeDropperListener;
|
||||
class FileSelectListener;
|
||||
class JavaScriptDialogManager;
|
||||
class RenderFrameHost;
|
||||
@ -114,7 +115,7 @@ index e545ff70c612..41cd5299898f 100644
|
||||
struct ContextMenuParams;
|
||||
struct DropData;
|
||||
struct MediaPlayerWatchTime;
|
||||
@@ -337,6 +339,14 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -338,6 +340,14 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
const std::string& partition_id,
|
||||
SessionStorageNamespace* session_storage_namespace);
|
||||
|
||||
@ -130,10 +131,10 @@ index e545ff70c612..41cd5299898f 100644
|
||||
// typically happens when popups are created.
|
||||
virtual void WebContentsCreated(WebContents* source_contents,
|
||||
diff --git content/public/browser/web_contents_observer.h content/public/browser/web_contents_observer.h
|
||||
index 0cab1ba9e1ef..1f74ccca4ff2 100644
|
||||
index 3666e0357038..b82c54816894 100644
|
||||
--- content/public/browser/web_contents_observer.h
|
||||
+++ content/public/browser/web_contents_observer.h
|
||||
@@ -599,6 +599,10 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener {
|
||||
@@ -610,6 +610,10 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener {
|
||||
// WebContents has gained/lost focus.
|
||||
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}
|
||||
|
||||
|
@ -10,10 +10,10 @@ index ff7a8ed89e94..77f44956ff22 100644
|
||||
+ GetPlugins(bool refresh, bool is_main_frame, url.mojom.Origin main_frame_origin) => (array<PluginInfo> plugins);
|
||||
};
|
||||
diff --git third_party/blink/public/platform/platform.h third_party/blink/public/platform/platform.h
|
||||
index 3278250b6d3d..4a111438d58d 100644
|
||||
index abfcd20b8941..634173c64a16 100644
|
||||
--- third_party/blink/public/platform/platform.h
|
||||
+++ third_party/blink/public/platform/platform.h
|
||||
@@ -671,6 +671,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -696,6 +696,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
// runs during Chromium's build step).
|
||||
virtual bool IsTakingV8ContextSnapshot() { return false; }
|
||||
|
||||
@ -26,10 +26,10 @@ index 3278250b6d3d..4a111438d58d 100644
|
||||
static void InitializeMainThreadCommon(Platform* platform,
|
||||
std::unique_ptr<Thread> main_thread);
|
||||
diff --git third_party/blink/renderer/core/dom/document_init.cc third_party/blink/renderer/core/dom/document_init.cc
|
||||
index bab98605009b..92709eee4924 100644
|
||||
index ba112d79de9a..83f5bd971bc9 100644
|
||||
--- third_party/blink/renderer/core/dom/document_init.cc
|
||||
+++ third_party/blink/renderer/core/dom/document_init.cc
|
||||
@@ -252,11 +252,11 @@ PluginData* DocumentInit::GetPluginData(LocalFrame* frame, const KURL& url) {
|
||||
@@ -176,11 +176,11 @@ PluginData* DocumentInit::GetPluginData(LocalFrame* frame, const KURL& url) {
|
||||
// frame()->tree().top()->securityContext() returns nullptr.
|
||||
// For that reason, the origin must be retrieved directly from |url|.
|
||||
if (frame->IsMainFrame())
|
||||
@ -44,10 +44,10 @@ index bab98605009b..92709eee4924 100644
|
||||
|
||||
DocumentInit& DocumentInit::WithTypeFrom(const String& mime_type) {
|
||||
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
|
||||
index 81585d785de9..726ee5466d21 100644
|
||||
index 11b7b4a63f2e..c2714178a4a4 100644
|
||||
--- third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1483,7 +1483,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
@@ -1641,7 +1641,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
|
||||
return nullptr;
|
||||
@ -85,10 +85,10 @@ index 0608c4defc6d..54eaa2197957 100644
|
||||
|
||||
void DevToolsSession::DispatchProtocolCommand(
|
||||
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
|
||||
index 8f2a7581185b..4fd9a3c650fd 100644
|
||||
index 45ef79f88b4d..074d5ea48b12 100644
|
||||
--- third_party/blink/renderer/core/page/page.cc
|
||||
+++ third_party/blink/renderer/core/page/page.cc
|
||||
@@ -210,7 +210,8 @@ Page::Page(PageClients& page_clients)
|
||||
@@ -212,7 +212,8 @@ Page::Page(PageClients& page_clients)
|
||||
MakeGarbageCollected<OverscrollController>(GetVisualViewport(),
|
||||
GetChromeClient())),
|
||||
link_highlight_(MakeGarbageCollected<LinkHighlight>(*this)),
|
||||
@ -98,7 +98,7 @@ index 8f2a7581185b..4fd9a3c650fd 100644
|
||||
// TODO(pdr): Initialize |validation_message_client_| lazily.
|
||||
validation_message_client_(
|
||||
MakeGarbageCollected<ValidationMessageClientImpl>(*this)),
|
||||
@@ -390,21 +391,41 @@ void Page::InitialStyleChanged() {
|
||||
@@ -395,21 +396,41 @@ void Page::InitialStyleChanged() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -149,7 +149,7 @@ index 8f2a7581185b..4fd9a3c650fd 100644
|
||||
page->NotifyPluginsChanged();
|
||||
}
|
||||
}
|
||||
@@ -908,7 +929,8 @@ void Page::Trace(Visitor* visitor) const {
|
||||
@@ -919,7 +940,8 @@ void Page::Trace(Visitor* visitor) const {
|
||||
visitor->Trace(link_highlight_);
|
||||
visitor->Trace(spatial_navigation_controller_);
|
||||
visitor->Trace(main_frame_);
|
||||
@ -160,10 +160,10 @@ index 8f2a7581185b..4fd9a3c650fd 100644
|
||||
visitor->Trace(agent_metrics_collector_);
|
||||
visitor->Trace(plugins_changed_observers_);
|
||||
diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h
|
||||
index d397e83eb4d8..dff04386de22 100644
|
||||
index b6a1caadf7b7..95fafb720083 100644
|
||||
--- third_party/blink/renderer/core/page/page.h
|
||||
+++ third_party/blink/renderer/core/page/page.h
|
||||
@@ -145,7 +145,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
@@ -150,7 +150,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
ViewportDescription GetViewportDescription() const;
|
||||
|
||||
// Returns the plugin data associated with |main_frame_origin|.
|
||||
@ -173,7 +173,7 @@ index d397e83eb4d8..dff04386de22 100644
|
||||
|
||||
// Resets the plugin data for all pages in the renderer process and notifies
|
||||
// PluginsChangedObservers.
|
||||
@@ -406,7 +407,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
@@ -431,7 +432,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
|
||||
const Member<LinkHighlight> link_highlight_;
|
||||
Member<SpatialNavigationController> spatial_navigation_controller_;
|
||||
|
||||
|
@ -1,13 +1,13 @@
|
||||
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
index 99b37de3d6a1..918c6a62d4e1 100644
|
||||
index 8d8f25e2f57a..5aa055ce855f 100644
|
||||
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
@@ -302,7 +302,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
@@ -304,7 +304,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
for (auto pointer_event : canceled_pointer_events) {
|
||||
// If we are sending a pointercancel we have sent the pointerevent to some
|
||||
// target before.
|
||||
- DCHECK(element_under_pointer_.Contains(pointer_event->pointerId()));
|
||||
+ // DCHECK(element_under_pointer_.Contains(pointer_event->pointerId()));
|
||||
- CHECK(element_under_pointer_.Contains(pointer_event->pointerId()));
|
||||
+ // CHECK(element_under_pointer_.Contains(pointer_event->pointerId()));
|
||||
Element* target =
|
||||
element_under_pointer_.at(pointer_event->pointerId()).target;
|
||||
element_under_pointer_.at(pointer_event->pointerId())->target;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
|
||||
index baa1cec07522..57d22d50ccb7 100644
|
||||
index 4d55813fed92..f41bd4b5590e 100644
|
||||
--- third_party/blink/public/web/web_view.h
|
||||
+++ third_party/blink/public/web/web_view.h
|
||||
@@ -363,6 +363,7 @@ class WebView {
|
||||
@@ -371,6 +371,7 @@ class WebView {
|
||||
|
||||
// Sets whether select popup menus should be rendered by the browser.
|
||||
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
|
||||
@ -11,10 +11,10 @@ index baa1cec07522..57d22d50ccb7 100644
|
||||
// Cancels and hides the current popup (datetime, select...) if any.
|
||||
virtual void CancelPagePopup() = 0;
|
||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
index 27adaed62fe2..00ea31a5995b 100644
|
||||
index 4b42cd80d5c1..cafb43ea03f1 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -215,8 +215,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
@@ -216,8 +216,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
g_should_use_external_popup_menus = use_external_popup_menus;
|
||||
}
|
||||
|
||||
@ -30,19 +30,19 @@ index 27adaed62fe2..00ea31a5995b 100644
|
||||
}
|
||||
|
||||
namespace {
|
||||
@@ -285,6 +290,7 @@ WebViewImpl::WebViewImpl(
|
||||
@@ -323,6 +328,7 @@ WebViewImpl::WebViewImpl(
|
||||
chrome_client_(MakeGarbageCollected<ChromeClientImpl>(this)),
|
||||
minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)),
|
||||
maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)),
|
||||
+ should_use_external_popup_menus_(g_should_use_external_popup_menus),
|
||||
does_composite_(does_composite),
|
||||
fullscreen_controller_(std::make_unique<FullscreenController>(this)),
|
||||
lifecycle_state_(mojom::blink::PageLifecycleState::New()),
|
||||
receiver_(this, std::move(page_handle)) {
|
||||
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
index e2124434e0d8..e12d31e8c520 100644
|
||||
index 510c555ca5af..242a208b7328 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -118,7 +118,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -125,7 +125,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
static HashSet<WebViewImpl*>& AllInstances();
|
||||
// Returns true if popup menus should be rendered by the browser, false if
|
||||
// they should be rendered by WebKit (which is the default).
|
||||
@ -52,7 +52,7 @@ index e2124434e0d8..e12d31e8c520 100644
|
||||
|
||||
// Returns whether frames under this WebView are backed by a compositor.
|
||||
bool does_composite() const { return does_composite_; }
|
||||
@@ -614,6 +615,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -645,6 +646,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
float fake_page_scale_animation_page_scale_factor_ = 0.f;
|
||||
bool fake_page_scale_animation_use_anchor_ = false;
|
||||
|
||||
@ -62,10 +62,10 @@ index e2124434e0d8..e12d31e8c520 100644
|
||||
TransformationMatrix device_emulation_transform_;
|
||||
|
||||
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
index 45bf5dc55210..d358e7c406e4 100644
|
||||
index a923d3b27d36..d9d5b6200d31 100644
|
||||
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
@@ -842,7 +842,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
@@ -839,7 +839,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
|
||||
HTMLSelectElement& select) {
|
||||
NotifyPopupOpeningObservers();
|
||||
|
@ -1,8 +1,16 @@
|
||||
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
index 29953fdc7c55..89dd4e61f66f 100644
|
||||
index 0a144a99349f..7d835ce02b7f 100644
|
||||
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
@@ -21,6 +21,7 @@
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <vector>
|
||||
|
||||
#include "base/bind.h"
|
||||
+#include "base/command_line.h"
|
||||
#include "base/json/json_string_value_serializer.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/path_service.h"
|
||||
@@ -21,6 +22,7 @@
|
||||
#include "base/task/thread_pool.h"
|
||||
#include "build/branding_buildflags.h"
|
||||
#include "build/build_config.h"
|
||||
@ -10,7 +18,7 @@ index 29953fdc7c55..89dd4e61f66f 100644
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings.h"
|
||||
#include "chrome/browser/data_reduction_proxy/data_reduction_proxy_chrome_settings_factory.h"
|
||||
@@ -28,6 +29,7 @@
|
||||
@@ -28,6 +30,7 @@
|
||||
#include "chrome/browser/profiles/profile_manager.h"
|
||||
#include "chrome/browser/sync/profile_sync_service_factory.h"
|
||||
#include "chrome/common/channel_info.h"
|
||||
@ -18,7 +26,7 @@ index 29953fdc7c55..89dd4e61f66f 100644
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/sync/driver/about_sync_util.h"
|
||||
#include "components/sync/driver/sync_service.h"
|
||||
@@ -274,7 +276,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
@@ -277,7 +280,11 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
response->emplace(kOsVersionTag, os_version);
|
||||
#endif
|
||||
|
||||
@ -30,7 +38,7 @@ index 29953fdc7c55..89dd4e61f66f 100644
|
||||
PopulateExtensionInfoLogs(response.get());
|
||||
PopulatePowerApiLogs(response.get());
|
||||
PopulateDataReductionProxyLogs(response.get());
|
||||
@@ -364,6 +370,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
@@ -368,6 +375,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
if (!profile)
|
||||
return;
|
||||
|
||||
@ -43,7 +51,7 @@ index 29953fdc7c55..89dd4e61f66f 100644
|
||||
extensions::ExtensionRegistry* extension_registry =
|
||||
extensions::ExtensionRegistry::Get(profile);
|
||||
std::string extensions_list;
|
||||
@@ -453,6 +465,8 @@ void ChromeInternalLogSource::PopulateArcPolicyStatus(
|
||||
@@ -474,6 +487,8 @@ void ChromeInternalLogSource::PopulateOnboardingTime(
|
||||
#if defined(OS_WIN)
|
||||
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
|
||||
SystemLogsResponse* response) {
|
||||
@ -53,7 +61,7 @@ index 29953fdc7c55..89dd4e61f66f 100644
|
||||
bool result =
|
||||
base::win::IsKeyboardPresentOnSlate(ui::GetHiddenWindow(), &reason);
|
||||
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
|
||||
index 9b25ce547635..90ab09d73df8 100644
|
||||
index 4071c4a4947f..8346a85413fd 100644
|
||||
--- chrome/browser/memory_details.cc
|
||||
+++ chrome/browser/memory_details.cc
|
||||
@@ -17,6 +17,7 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
|
||||
index 39f6ac6a3f52..a9540fd77690 100644
|
||||
index 4d07574af45c..56299e99f49e 100644
|
||||
--- chrome/app/generated_resources.grd
|
||||
+++ chrome/app/generated_resources.grd
|
||||
@@ -5051,7 +5051,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
@@ -5068,7 +5068,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
</message>
|
||||
</if>
|
||||
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff --git base/values.cc base/values.cc
|
||||
index 5f5657935d92..8e4b33a1eb29 100644
|
||||
--- base/values.cc
|
||||
+++ base/values.cc
|
||||
@@ -29,20 +29,6 @@
|
||||
|
||||
namespace base {
|
||||
|
||||
-// base::Value must be standard layout to guarantee that writing to
|
||||
-// |bool_type_| then reading |type_| is defined behaviour. See:
|
||||
-//
|
||||
-// [class.union]:
|
||||
-// If a standard-layout union contains several standard-layout structs that
|
||||
-// share a common initial sequence (9.2), and if an object of this
|
||||
-// standard-layout union type contains one of the standard-layout structs,
|
||||
-// it is permitted to inspect the common initial sequence of any of
|
||||
-// standard-layout struct members;
|
||||
-//
|
||||
-static_assert(std::is_standard_layout<Value>::value,
|
||||
- "base::Value should be a standard-layout C++ class in order "
|
||||
- "to avoid undefined behaviour in its implementation!");
|
||||
-
|
||||
static_assert(sizeof(Value::DoubleStorage) == sizeof(double),
|
||||
"The double and DoubleStorage types should have the same size");
|
||||
|
@ -15,10 +15,10 @@ index 0083efdcd9c8..6f647c31e28a 100644
|
||||
|
||||
static_library("double_conversion") {
|
||||
diff --git base/win/BUILD.gn base/win/BUILD.gn
|
||||
index 33a38267a658..0d54f224d31c 100644
|
||||
index eb5dca74bcea..be10cc59b39c 100644
|
||||
--- base/win/BUILD.gn
|
||||
+++ base/win/BUILD.gn
|
||||
@@ -31,4 +31,7 @@ static_library("pe_image") {
|
||||
@@ -33,4 +33,7 @@ static_library("pe_image") {
|
||||
"pe_image.cc",
|
||||
"pe_image.h",
|
||||
]
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
|
||||
index cde75bd07101..34f6853596d5 100644
|
||||
--- services/service_manager/sandbox/win/sandbox_win.cc
|
||||
+++ services/service_manager/sandbox/win/sandbox_win.cc
|
||||
@@ -959,8 +959,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
|
||||
diff --git sandbox/policy/win/sandbox_win.cc sandbox/policy/win/sandbox_win.cc
|
||||
index d63d942c7e3e..a100fb4d685f 100644
|
||||
--- sandbox/policy/win/sandbox_win.cc
|
||||
+++ sandbox/policy/win/sandbox_win.cc
|
||||
@@ -953,8 +953,11 @@ ResultCode SandboxWin::StartSandboxedProcess(
|
||||
}
|
||||
// TODO(wfh): Relax strict handle checks for network process until root cause
|
||||
// for this crash can be resolved. See https://crbug.com/939590.
|
||||
@ -10,8 +10,8 @@ index cde75bd07101..34f6853596d5 100644
|
||||
+ if (!launcher_process_command_line.HasSwitch("win-rt-app") &&
|
||||
+ sandbox_type != SandboxType::kNetwork) {
|
||||
+ // Don't enable this mitigation in WinRT apps. See issue #2274.
|
||||
mitigations |= sandbox::MITIGATION_STRICT_HANDLE_CHECKS;
|
||||
mitigations |= MITIGATION_STRICT_HANDLE_CHECKS;
|
||||
+ }
|
||||
|
||||
result = policy->SetDelayedProcessMitigations(mitigations);
|
||||
if (result != sandbox::SBOX_ALL_OK)
|
||||
if (result != SBOX_ALL_OK)
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git content/browser/screenlock_monitor/screenlock_monitor_device_source_win.cc content/browser/screenlock_monitor/screenlock_monitor_device_source_win.cc
|
||||
index 444e19ccb601..6d696b28f417 100644
|
||||
--- content/browser/screenlock_monitor/screenlock_monitor_device_source_win.cc
|
||||
+++ content/browser/screenlock_monitor/screenlock_monitor_device_source_win.cc
|
||||
@@ -49,7 +49,7 @@ bool ScreenlockMonitorDeviceSource::SessionMessageWindow::OnWndProc(
|
||||
if (message == WM_WTSSESSION_CHANGE) {
|
||||
ProcessWTSSessionLockMessage(wparam);
|
||||
}
|
||||
- return true;
|
||||
+ return false;
|
||||
}
|
||||
|
||||
void ScreenlockMonitorDeviceSource::SessionMessageWindow::
|
Reference in New Issue
Block a user