Update to Chromium version 81.0.4044.0 (#737173)

This commit is contained in:
Marshall Greenblatt
2020-03-03 19:29:39 -05:00
parent a22b670a00
commit 9d9ee8b45f
135 changed files with 2602 additions and 1329 deletions

View File

@ -374,12 +374,6 @@ patches = [
# https://bitbucket.org/chromiumembedded/cef/issues/2398
'name': 'resource_bundle_2512',
},
{
# Fix redraw of OSR PDF viewer.
# https://bitbucket.org/chromiumembedded/cef/issues/2507
# Partially reverts changes from https://crrev.com/17771fad93
'name': 'browser_child_frame_2507',
},
{
# macOS: Fix crash when showing a select popup with CefDoMessageLoopWork.
# https://bitbucket.org/chromiumembedded/cef/issues/2495
@ -400,14 +394,15 @@ patches = [
},
{
# Enhancements to NetworkService:
# - Support customization of request_id via SimpleURLLoader.
# - Remove the non-nullptr WebContents requirement from
# NetworkServiceClient::OnAuthRequired.
# https://bitbucket.org/chromiumembedded/cef/issues/2718
#
# Fix shutdown crash in InitNetworkContext with multi-threaded message loop.
# https://bitbucket.org/chromiumembedded/cef/issues/2703
'name': 'services_network_request_id_2718',
#
# Compute correct default quota when cache_path is unspecified.
'name': 'services_network_2718',
},
{
# Windows: Remove the base::Value is_standard_layout assert which will fail
@ -482,11 +477,6 @@ patches = [
# https://bitbucket.org/chromiumembedded/cef/issues/2745
'name': 'osr_fling_2745',
},
{
# Windows: Fix ImportError: No module named win32file
# https://bugs.chromium.org/p/chromium/issues/detail?id=1033106#c7
'name': 'win_tool_wrapper_1033106',
},
{
# Windows: Build targets as C++17 to avoid export of std::is_integral
# templates in cef_sandbox that should be inlined.
@ -502,6 +492,7 @@ patches = [
# Fix Jumbo build errors.
# - Allow use of jumbo-related GN args.
# - Fix multiple definition errors.
# - Add `never_build_jumbo = true` for targets with complex errors.
'name': 'build_jumbo',
},
{

View File

@ -1,5 +1,5 @@
diff --git base/BUILD.gn base/BUILD.gn
index 0e54cd8264cf..44405b8a410b 100644
index 447280ffe5e3..ddff00ac1a69 100644
--- base/BUILD.gn
+++ base/BUILD.gn
@@ -32,6 +32,7 @@ import("//build/config/sysroot.gni")
@ -10,7 +10,7 @@ index 0e54cd8264cf..44405b8a410b 100644
import("//testing/libfuzzer/fuzzer_test.gni")
import("//testing/test.gni")
import("//third_party/icu/config.gni")
@@ -1635,7 +1636,11 @@ jumbo_component("base") {
@@ -1644,7 +1645,11 @@ jumbo_component("base") {
"hash/md5_constexpr_internal.h",
"hash/sha1.h",
]

View File

@ -1,40 +0,0 @@
diff --git content/browser/renderer_host/render_widget_host_view_child_frame.cc content/browser/renderer_host/render_widget_host_view_child_frame.cc
index fc45d9e34fad..57d5d26613a5 100644
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
@@ -596,6 +596,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
"RenderWidgetHostViewChildFrame::OnSwapCompositorFrame");
support_->SubmitCompositorFrame(local_surface_id, std::move(frame),
std::move(hit_test_region_list));
+ ProcessFrameSwappedCallbacks();
}
void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
@@ -604,6 +605,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
support_->DidNotProduceFrame(ack);
}
+void RenderWidgetHostViewChildFrame::ProcessFrameSwappedCallbacks() {
+ std::vector<base::OnceClosure> process_callbacks;
+ // Swap the vectors to avoid re-entrancy issues due to calls to
+ // RegisterFrameSwappedCallback() while running the OnceClosures.
+ process_callbacks.swap(frame_swapped_callbacks_);
+ for (base::OnceClosure& callback : process_callbacks)
+ std::move(callback).Run();
+}
+
void RenderWidgetHostViewChildFrame::TransformPointToRootSurface(
gfx::PointF* point) {
// This function is called by RenderWidgetHostInputEventRouter only for
@@ -798,6 +808,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
void RenderWidgetHostViewChildFrame::SpeakSelection() {}
#endif // defined(OS_MACOSX)
+void RenderWidgetHostViewChildFrame::RegisterFrameSwappedCallback(
+ base::OnceClosure callback) {
+ frame_swapped_callbacks_.emplace_back(std::move(callback));
+}
+
void RenderWidgetHostViewChildFrame::CopyFromSurface(
const gfx::Rect& src_subrect,
const gfx::Size& output_size,

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/browser_compositor_view_mac.h content/browser/renderer_host/browser_compositor_view_mac.h
index de89d291e5cb..9ce7bf4cb250 100644
index af7b3249d421..1483a48f9074 100644
--- content/browser/renderer_host/browser_compositor_view_mac.h
+++ content/browser/renderer_host/browser_compositor_view_mac.h
@@ -59,6 +59,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
@@ -58,6 +58,8 @@ class CONTENT_EXPORT BrowserCompositorMac : public DelegatedFrameHostClient,
// These will not return nullptr until Destroy is called.
DelegatedFrameHost* GetDelegatedFrameHost();
@ -12,7 +12,7 @@ index de89d291e5cb..9ce7bf4cb250 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 8ddd790decc4..3ffd3db8da4b 100644
index c1593171af25..4c892782d338 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() {

View File

@ -1,8 +1,8 @@
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
index b8b4a1b8c70c..e036e15eafc7 100644
index eb9f505243bf..191368199d44 100644
--- content/browser/scheduler/browser_task_executor.cc
+++ content/browser/scheduler/browser_task_executor.cc
@@ -255,7 +255,7 @@ void BrowserTaskExecutor::PostFeatureListSetup() {
@@ -245,7 +245,7 @@ void BrowserTaskExecutor::PostFeatureListSetup() {
// static
void BrowserTaskExecutor::Shutdown() {

View File

@ -1,8 +1,8 @@
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
index fbf8335f11ba..7a80641139a4 100644
index eef1140e8006..0e222de2a9a6 100644
--- build/config/compiler/BUILD.gn
+++ build/config/compiler/BUILD.gn
@@ -172,7 +172,7 @@ declare_args() {
@@ -162,7 +162,7 @@ declare_args() {
!use_clang_coverage && !(is_android && use_order_profiling) &&
(use_lld ||
(use_gold &&
@ -11,7 +11,7 @@ index fbf8335f11ba..7a80641139a4 100644
!(current_cpu == "x86" || current_cpu == "x64"))))
}
@@ -1763,8 +1763,6 @@ config("thin_archive") {
@@ -1743,8 +1743,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" ]

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,16 @@
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
index 6751a787272b..751b62c50a81 100644
index 477e30a34cd2..7a24ff410e7e 100644
--- chrome/browser/BUILD.gn
+++ chrome/browser/BUILD.gn
@@ -10,6 +10,7 @@ import("//build/config/features.gni")
@@ -11,6 +11,7 @@ import("//build/config/features.gni")
import("//build/config/jumbo.gni")
import("//build/config/linux/gtk/gtk.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//components/feature_engagement/features.gni")
@@ -1959,6 +1960,7 @@ jumbo_static_library("browser") {
import("//components/captive_portal/core/features.gni")
@@ -1956,6 +1957,7 @@ jumbo_static_library("browser") {
"//base/util/values:values_util",
"//build:branding_buildflags",
"//cc",
@ -18,7 +18,7 @@ index 6751a787272b..751b62c50a81 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -2263,6 +2265,10 @@ jumbo_static_library("browser") {
@@ -2275,6 +2277,10 @@ jumbo_static_library("browser") {
]
}

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/content_settings/host_content_settings_map_factory.cc chrome/browser/content_settings/host_content_settings_map_factory.cc
index 47b1443298ec..c1e07075fec4 100644
index 1610e0ecc707..f231d5033983 100644
--- chrome/browser/content_settings/host_content_settings_map_factory.cc
+++ chrome/browser/content_settings/host_content_settings_map_factory.cc
@@ -7,6 +7,7 @@

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
index faa1344bd0a9..4528f101adb8 100644
index c820df8447f0..58cb1279b7bf 100644
--- chrome/browser/ui/BUILD.gn
+++ chrome/browser/ui/BUILD.gn
@@ -9,6 +9,7 @@ import("//build/config/features.gni")
@ -7,10 +7,10 @@ index faa1344bd0a9..4528f101adb8 100644
import("//build/config/linux/gtk/gtk.gni")
import("//build/config/ui.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/browser/buildflags.gni")
import("//chrome/common/features.gni")
import("//chromeos/assistant/assistant.gni")
import("//components/feature_engagement/features.gni")
@@ -355,6 +356,10 @@ jumbo_static_library("ui") {
@@ -362,6 +363,10 @@ jumbo_static_library("ui") {
"//build/config/compiler:wexit_time_destructors",
]
@ -21,7 +21,7 @@ index faa1344bd0a9..4528f101adb8 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
@@ -376,6 +381,7 @@ jumbo_static_library("ui") {
@@ -383,6 +388,7 @@ jumbo_static_library("ui") {
"//base/allocator:buildflags",
"//build:branding_buildflags",
"//cc/paint",
@ -29,7 +29,7 @@ index faa1344bd0a9..4528f101adb8 100644
"//chrome:extra_resources",
"//chrome:resources",
"//chrome:strings",
@@ -1403,6 +1409,7 @@ jumbo_static_library("ui") {
@@ -1438,6 +1444,7 @@ jumbo_static_library("ui") {
"//components/keep_alive_registry",
"//components/network_session_configurator/common",
"//components/page_load_metrics/browser",
@ -38,10 +38,10 @@ index faa1344bd0a9..4528f101adb8 100644
"//components/ui_metrics",
"//components/url_formatter",
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
index 0924a6d73069..2fbdc6588a2c 100644
index 93bfc84f49a1..eeee229e943f 100644
--- chrome/browser/ui/webui/net_export_ui.cc
+++ chrome/browser/ui/webui/net_export_ui.cc
@@ -20,13 +20,12 @@
@@ -21,13 +21,12 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
@ -55,8 +55,8 @@ index 0924a6d73069..2fbdc6588a2c 100644
-#include "chrome/browser/ui/chrome_select_file_policy.h"
#include "chrome/common/channel_info.h"
#include "chrome/common/url_constants.h"
#include "components/grit/components_resources.h"
@@ -41,7 +40,14 @@
#include "components/grit/dev_ui_components_resources.h"
@@ -42,7 +41,14 @@
#include "content/public/browser/web_ui_message_handler.h"
#include "extensions/buildflags/buildflags.h"
#include "net/log/net_log_capture_mode.h"
@ -71,7 +71,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
#if defined(OS_ANDROID)
#include "chrome/browser/android/intent_helper.h"
@@ -67,6 +73,7 @@ content::WebUIDataSource* CreateNetExportHTMLSource() {
@@ -68,6 +74,7 @@ content::WebUIDataSource* CreateNetExportHTMLSource() {
return source;
}
@ -79,7 +79,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
void SetIfNotNull(base::DictionaryValue* dict,
const base::StringPiece& path,
std::unique_ptr<base::Value> in_value) {
@@ -74,6 +81,7 @@ void SetIfNotNull(base::DictionaryValue* dict,
@@ -75,6 +82,7 @@ void SetIfNotNull(base::DictionaryValue* dict,
dict->Set(path, std::move(in_value));
}
}
@ -87,7 +87,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
// This class receives javascript messages from the renderer.
// Note that the WebUI infrastructure runs on the UI thread, therefore all of
@@ -81,7 +89,9 @@ void SetIfNotNull(base::DictionaryValue* dict,
@@ -82,7 +90,9 @@ void SetIfNotNull(base::DictionaryValue* dict,
class NetExportMessageHandler
: public WebUIMessageHandler,
public base::SupportsWeakPtr<NetExportMessageHandler>,
@ -97,7 +97,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
public net_log::NetExportFileWriter::StateObserver {
public:
NetExportMessageHandler();
@@ -97,11 +107,13 @@ class NetExportMessageHandler
@@ -98,11 +108,13 @@ class NetExportMessageHandler
void OnSendNetLog(const base::ListValue* list);
void OnShowFile(const base::ListValue* list);
@ -111,7 +111,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
// net_log::NetExportFileWriter::StateObserver implementation.
void OnNewState(const base::DictionaryValue& state) override;
@@ -131,9 +143,16 @@ class NetExportMessageHandler
@@ -132,9 +144,16 @@ class NetExportMessageHandler
// renderer.
void NotifyUIWithState(std::unique_ptr<base::DictionaryValue> state);
@ -128,7 +128,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
// Cached pointer to SystemNetworkContextManager's NetExportFileWriter.
net_log::NetExportFileWriter* file_writer_;
@@ -149,7 +168,9 @@ class NetExportMessageHandler
@@ -150,7 +169,9 @@ class NetExportMessageHandler
net::NetLogCaptureMode capture_mode_;
uint64_t max_log_file_size_;
@ -138,7 +138,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
base::WeakPtrFactory<NetExportMessageHandler> weak_ptr_factory_{this};
@@ -166,8 +187,10 @@ NetExportMessageHandler::NetExportMessageHandler()
@@ -167,8 +188,10 @@ NetExportMessageHandler::NetExportMessageHandler()
NetExportMessageHandler::~NetExportMessageHandler() {
// There may be a pending file dialog, it needs to be told that the user
// has gone away so that it doesn't try to call back.
@ -149,7 +149,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
file_writer_->StopNetLog(nullptr);
}
@@ -230,6 +253,7 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
@@ -231,6 +254,7 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
if (UsingMobileUI()) {
StartNetLog(base::FilePath());
} else {
@ -157,7 +157,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
base::FilePath initial_dir = last_save_dir.Pointer()->empty() ?
DownloadPrefs::FromBrowserContext(
web_ui()->GetWebContents()->GetBrowserContext())->DownloadPath() :
@@ -237,6 +261,9 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
@@ -238,6 +262,9 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
base::FilePath initial_path =
initial_dir.Append(FILE_PATH_LITERAL("chrome-net-export-log.json"));
ShowSelectFileDialog(initial_path);
@ -167,7 +167,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
}
}
@@ -246,6 +273,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
@@ -247,6 +274,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
std::unique_ptr<base::DictionaryValue> ui_thread_polled_data(
new base::DictionaryValue());
@ -175,7 +175,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
Profile* profile = Profile::FromWebUI(web_ui());
SetIfNotNull(ui_thread_polled_data.get(), "prerenderInfo",
chrome_browser_net::GetPrerenderInfo(profile));
@@ -255,6 +283,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
@@ -256,6 +284,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
SetIfNotNull(ui_thread_polled_data.get(), "serviceProviders",
chrome_browser_net::GetWindowsServiceProviders());
#endif
@ -183,7 +183,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
file_writer_->StopNetLog(std::move(ui_thread_polled_data));
}
@@ -271,6 +300,7 @@ void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
@@ -272,6 +301,7 @@ void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
base::Bind(&NetExportMessageHandler::ShowFileInShell, AsWeakPtr()));
}
@ -191,7 +191,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
void NetExportMessageHandler::FileSelected(const base::FilePath& path,
int index,
void* params) {
@@ -289,6 +319,7 @@ void NetExportMessageHandler::FileSelectionCanceled(void* params) {
@@ -290,6 +320,7 @@ void NetExportMessageHandler::FileSelectionCanceled(void* params) {
DCHECK(select_file_dialog_);
select_file_dialog_ = nullptr;
}
@ -199,7 +199,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
void NetExportMessageHandler::OnNewState(const base::DictionaryValue& state) {
NotifyUIWithState(state.CreateDeepCopy());
@@ -353,6 +384,7 @@ void NetExportMessageHandler::NotifyUIWithState(
@@ -354,6 +385,7 @@ void NetExportMessageHandler::NotifyUIWithState(
*state);
}
@ -207,7 +207,7 @@ index 0924a6d73069..2fbdc6588a2c 100644
void NetExportMessageHandler::ShowSelectFileDialog(
const base::FilePath& default_path) {
// User may have clicked more than once before the save dialog appears.
@@ -371,6 +403,43 @@ void NetExportMessageHandler::ShowSelectFileDialog(
@@ -372,6 +404,43 @@ void NetExportMessageHandler::ShowSelectFileDialog(
ui::SelectFileDialog::SELECT_SAVEAS_FILE, base::string16(), default_path,
&file_type_info, 0, base::FilePath::StringType(), owning_window, nullptr);
}

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
index 5cdfec3a834b..99a06ed3332c 100644
index 6cdca1affb9f..f875ba1a5d75 100644
--- chrome/browser/chrome_content_browser_client.cc
+++ chrome/browser/chrome_content_browser_client.cc
@@ -990,10 +990,6 @@ void LaunchURL(const GURL& url,
@@ -1027,10 +1027,6 @@ void LaunchURL(const GURL& url,
}
}
@ -13,7 +13,7 @@ index 5cdfec3a834b..99a06ed3332c 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
@@ -1088,6 +1084,14 @@ void MaybeRecordSameSiteCookieEngagementHistogram(
@@ -1125,6 +1121,14 @@ void MaybeRecordSameSiteCookieEngagementHistogram(
} // namespace
@ -29,10 +29,10 @@ index 5cdfec3a834b..99a06ed3332c 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 d6b48bfa4314..bc4266755dc7 100644
index e4a98f0bb2f6..cbc986303fd2 100644
--- chrome/browser/chrome_content_browser_client.h
+++ chrome/browser/chrome_content_browser_client.h
@@ -87,7 +87,8 @@ enum class Channel;
@@ -86,7 +86,8 @@ enum class Channel;
class ChromeHidDelegate;
class ChromeSerialDelegate;

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
index 1abea76ebc02..d9fc9c0450c2 100644
index 3c43cc752511..fbc476cc9023 100644
--- chrome/browser/profiles/profile_manager.cc
+++ chrome/browser/profiles/profile_manager.cc
@@ -359,7 +359,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
@@ -362,7 +362,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
registrar_.Add(this, chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
content::NotificationService::AllSources());
@ -12,10 +12,10 @@ index 1abea76ebc02..d9fc9c0450c2 100644
}
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
index 7d02af7f8f60..eb70e533dbfb 100644
index f4c3c9e25190..dd91e00d3001 100644
--- chrome/browser/profiles/profile_manager.h
+++ chrome/browser/profiles/profile_manager.h
@@ -99,7 +99,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -101,7 +101,7 @@ class ProfileManager : public content::NotificationObserver,
// acceptable. Returns null if creation of the new profile fails.
// TODO(bauerb): Migrate calls from other code to GetProfileByPath(), then
// make this method private.
@ -24,7 +24,7 @@ index 7d02af7f8f60..eb70e533dbfb 100644
// Returns total number of profiles available on this machine.
size_t GetNumberOfProfiles();
@@ -129,7 +129,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -131,7 +131,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 7d02af7f8f60..eb70e533dbfb 100644
// Returns the directory where the first created profile is stored,
// relative to the user data directory currently in use.
@@ -138,7 +138,7 @@ class ProfileManager : public content::NotificationObserver,
@@ -140,7 +140,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 7d02af7f8f60..eb70e533dbfb 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 07e6f8d726df..9a3c6b38b8eb 100644
index ce50c9ee3f92..eba0894ee2b4 100644
--- chrome/browser/profiles/renderer_updater.cc
+++ chrome/browser/profiles/renderer_updater.cc
@@ -7,6 +7,7 @@
@ -54,7 +54,7 @@ index 07e6f8d726df..9a3c6b38b8eb 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"
@@ -67,8 +68,12 @@ void GetGuestViewDefaultContentSettingRules(
@@ -62,8 +63,12 @@ void GetGuestViewDefaultContentSettingRules(
RendererUpdater::RendererUpdater(Profile* profile)
: profile_(profile), identity_manager_observer_(this) {
@ -67,7 +67,7 @@ index 07e6f8d726df..9a3c6b38b8eb 100644
#if defined(OS_CHROMEOS)
oauth2_login_manager_ =
chromeos::OAuth2LoginManagerFactory::GetForProfile(profile_);
@@ -238,7 +243,7 @@ void RendererUpdater::UpdateRenderer(
@@ -233,7 +238,7 @@ void RendererUpdater::UpdateRenderer(
force_google_safesearch_.GetValue(),
force_youtube_restrict_.GetValue(),
allowed_domains_for_apps_.GetValue(),

View File

@ -1,12 +1,12 @@
diff --git chrome/browser/safe_browsing/BUILD.gn chrome/browser/safe_browsing/BUILD.gn
index 0f60694e2d9f..35eeee3233a1 100644
index 7bd46afdfd34..f3d2d056d6a0 100644
--- chrome/browser/safe_browsing/BUILD.gn
+++ chrome/browser/safe_browsing/BUILD.gn
@@ -237,6 +237,7 @@ jumbo_static_library("safe_browsing") {
@@ -243,6 +243,7 @@ jumbo_static_library("safe_browsing") {
"//chrome/common/safe_browsing:download_type_util",
"//chrome/services/file_util/public/cpp",
"//components/content_settings/core/browser",
+ "//components/gcm_driver:gcm_buildflags",
"//components/language/core/common",
"//components/prefs",
"//components/safe_browsing/db",
"//components/safe_browsing/core/db",

View File

@ -1,18 +1,18 @@
diff --git chrome/browser/themes/theme_service_factory.cc chrome/browser/themes/theme_service_factory.cc
index 3f065778092c..3661a9ece2a6 100644
index 5a0d5e736cb9..f1c9da3f73b1 100644
--- chrome/browser/themes/theme_service_factory.cc
+++ chrome/browser/themes/theme_service_factory.cc
@@ -6,6 +6,7 @@
@@ -7,6 +7,7 @@
#include "base/logging.h"
#include "base/no_destructor.h"
#include "build/build_config.h"
+#include "cef/libcef/features/features.h"
#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/profiles/incognito_helpers.h"
#include "chrome/browser/profiles/profile.h"
@@ -25,6 +26,10 @@
#include "ui/views/linux_ui/linux_ui.h"
#endif
@@ -42,6 +43,10 @@ const ThemeHelper& GetThemeHelper() {
} // namespace
+#if BUILDFLAG(ENABLE_CEF)
+#include "cef/libcef/common/extensions/extensions_util.h"
@ -21,7 +21,7 @@ index 3f065778092c..3661a9ece2a6 100644
// static
ThemeService* ThemeServiceFactory::GetForProfile(Profile* profile) {
return static_cast<ThemeService*>(
@@ -54,7 +59,13 @@ ThemeServiceFactory::ThemeServiceFactory()
@@ -71,7 +76,13 @@ ThemeServiceFactory::ThemeServiceFactory()
BrowserContextDependencyManager::GetInstance()) {
DependsOn(extensions::ExtensionRegistryFactory::GetInstance());
DependsOn(extensions::ExtensionPrefsFactory::GetInstance());

View File

@ -165,17 +165,16 @@ index 4e64db143b8a..71322b0261a1 100644
Profile* profile = Profile::FromBrowserContext(browser_context);
std::vector<std::string> whitelist = MimeTypesHandler::GetMIMETypeWhitelist();
diff --git chrome/common/google_url_loader_throttle.cc chrome/common/google_url_loader_throttle.cc
index 69539de7b1ec..001cf1d1fe0d 100644
index a7e5caea5add..f9d11b317946 100644
--- chrome/common/google_url_loader_throttle.cc
+++ chrome/common/google_url_loader_throttle.cc
@@ -4,11 +4,16 @@
@@ -4,10 +4,15 @@
#include "chrome/common/google_url_loader_throttle.h"
+#include "cef/libcef/features/features.h"
#include "chrome/common/net/safe_search_util.h"
#include "components/variations/net/variations_http_headers.h"
#include "services/network/public/cpp/resource_response.h"
#include "services/network/public/mojom/url_response_head.mojom.h"
+#if BUILDFLAG(ENABLE_CEF)
@ -185,7 +184,7 @@ index 69539de7b1ec..001cf1d1fe0d 100644
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "extensions/common/extension_urls.h"
#endif
@@ -97,6 +102,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
@@ -96,6 +101,11 @@ void GoogleURLLoaderThrottle::WillProcessResponse(
const GURL& response_url,
network::mojom::URLResponseHead* response_head,
bool* defer) {
@ -198,10 +197,10 @@ index 69539de7b1ec..001cf1d1fe0d 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 ffde51cd276a..3ef2ad8d3945 100644
index e03ad3a5a115..12adcae6cf84 100644
--- chrome/renderer/chrome_content_renderer_client.cc
+++ chrome/renderer/chrome_content_renderer_client.cc
@@ -814,6 +814,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -811,6 +811,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
status == chrome::mojom::PluginStatus::kBlocked) &&
@ -209,7 +208,7 @@ index ffde51cd276a..3ef2ad8d3945 100644
content_settings_agent->IsPluginTemporarilyAllowed(identifier)) {
status = chrome::mojom::PluginStatus::kAllowed;
}
@@ -1012,7 +1013,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1009,7 +1010,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
plugin_auth_host.BindNewEndpointAndPassReceiver());
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
@ -219,7 +218,7 @@ index ffde51cd276a..3ef2ad8d3945 100644
break;
}
case chrome::mojom::PluginStatus::kBlocked: {
@@ -1021,7 +1023,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1018,7 +1020,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
placeholder->AllowLoading();
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
@ -229,7 +228,7 @@ index ffde51cd276a..3ef2ad8d3945 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
@@ -1031,7 +1034,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1028,7 +1031,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
group_name));
RenderThread::Get()->RecordAction(
UserMetricsAction("Plugin_BlockedByPolicy"));
@ -239,7 +238,7 @@ index ffde51cd276a..3ef2ad8d3945 100644
break;
}
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
@@ -1039,7 +1043,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
@@ -1036,7 +1040,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
IDR_BLOCKED_PLUGIN_HTML,
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
group_name));
@ -250,10 +249,10 @@ index ffde51cd276a..3ef2ad8d3945 100644
}
case chrome::mojom::PluginStatus::kComponentUpdateRequired: {
diff --git chrome/renderer/plugins/chrome_plugin_placeholder.cc chrome/renderer/plugins/chrome_plugin_placeholder.cc
index b86b883882cf..442bfa6753d8 100644
index ed7a8e4d9c7b..19af355cac2a 100644
--- chrome/renderer/plugins/chrome_plugin_placeholder.cc
+++ chrome/renderer/plugins/chrome_plugin_placeholder.cc
@@ -358,8 +358,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
@@ -359,8 +359,11 @@ void ChromePluginPlaceholder::OnBlockedContent(
if (status ==
content::RenderFrame::PeripheralContentStatus::CONTENT_STATUS_TINY) {

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h
index dd06c6d22b16..1f3a5aa7ac2b 100644
index a439b2ce1b32..21c7b97639f4 100644
--- chrome/browser/ui/prefs/pref_watcher.h
+++ chrome/browser/ui/prefs/pref_watcher.h
@@ -29,10 +29,10 @@ class PrefWatcher : public KeyedService {
@ -13,4 +13,4 @@ index dd06c6d22b16..1f3a5aa7ac2b 100644
+ private:
void UpdateRendererPreferences();
void OnWebPrefChanged(const std::string& pref_name);
void OnLiveCaptionEnabledPrefChanged(const std::string& pref_name);

View File

@ -1,16 +1,16 @@
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
index 4e229c16628f..17741b4d83a1 100644
index b2eaaf2b29fd..842e99c37e95 100644
--- chrome/renderer/BUILD.gn
+++ chrome/renderer/BUILD.gn
@@ -4,6 +4,7 @@
@@ -5,6 +5,7 @@
import("//build/config/buildflags_paint_preview.gni")
import("//build/config/features.gni")
import("//build/config/jumbo.gni")
+import("//cef/libcef/features/features.gni")
import("//chrome/common/features.gni")
import("//components/nacl/features.gni")
import("//components/offline_pages/buildflags/features.gni")
@@ -128,6 +129,7 @@ jumbo_static_library("renderer") {
@@ -129,6 +130,7 @@ jumbo_static_library("renderer") {
defines = []
deps = [
@ -18,7 +18,7 @@ index 4e229c16628f..17741b4d83a1 100644
"//chrome:resources",
"//chrome:strings",
"//chrome/common",
@@ -196,6 +198,10 @@ jumbo_static_library("renderer") {
@@ -194,6 +196,10 @@ jumbo_static_library("renderer") {
configs += [ "//build/config/compiler:wexit_time_destructors" ]

View File

@ -1,5 +1,5 @@
diff --git third_party/widevine/cdm/BUILD.gn third_party/widevine/cdm/BUILD.gn
index 60757fdc2eee..29012ea670cf 100644
index 1919784f5f93..6a8d2d5140f2 100644
--- third_party/widevine/cdm/BUILD.gn
+++ third_party/widevine/cdm/BUILD.gn
@@ -5,6 +5,7 @@

View File

@ -20,7 +20,7 @@ index 544ed223ac8e..490330c87453 100644
bool is_navigation,
bool is_download,
diff --git content/browser/renderer_host/input/synthetic_gesture_target_base.h content/browser/renderer_host/input/synthetic_gesture_target_base.h
index 33a2d55e47ac..1700b3df2468 100644
index a1f57138a24f..f6dd542ab89e 100644
--- content/browser/renderer_host/input/synthetic_gesture_target_base.h
+++ content/browser/renderer_host/input/synthetic_gesture_target_base.h
@@ -8,6 +8,7 @@
@ -28,10 +28,10 @@ index 33a2d55e47ac..1700b3df2468 100644
#include "base/time/time.h"
#include "content/browser/renderer_host/input/synthetic_gesture_target.h"
+#include "content/common/content_export.h"
#include "ui/gfx/geometry/point_f.h"
namespace ui {
class LatencyInfo;
@@ -24,7 +25,8 @@ namespace content {
@@ -25,7 +26,8 @@ namespace content {
class RenderWidgetHostImpl;
@ -55,7 +55,7 @@ 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 afb225949027..d0647753af2b 100644
index ea7f0d6dbdac..d586c2900861 100644
--- third_party/blink/renderer/controller/BUILD.gn
+++ third_party/blink/renderer/controller/BUILD.gn
@@ -25,6 +25,7 @@ jumbo_component("controller") {
@ -74,14 +74,14 @@ index afb225949027..d0647753af2b 100644
+ "//cef/libcef/renderer/blink_glue.h",
]
if (is_android) {
if (is_linux) {
diff --git ui/events/keycodes/BUILD.gn ui/events/keycodes/BUILD.gn
index 97e5fd499c81..8508a8fbcc8e 100644
index 772d0ef90e03..7d6d9aaf8014 100644
--- ui/events/keycodes/BUILD.gn
+++ ui/events/keycodes/BUILD.gn
@@ -18,6 +18,8 @@ jumbo_source_set("xkb") {
"//ui/base:buildflags",
]
@@ -16,6 +16,8 @@ jumbo_source_set("xkb") {
public_deps = [ "//ui/base:buildflags" ]
+ defines = [ "KEYCODES_X_IMPLEMENTATION" ]
+

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
index 2d5b195caecb..827fcc962640 100644
index c07ba782b810..7ae3ab09a15a 100644
--- chrome/browser/download/download_target_determiner.cc
+++ chrome/browser/download/download_target_determiner.cc
@@ -636,7 +636,7 @@ void IsHandledBySafePlugin(int render_process_id,
@@ -639,7 +639,7 @@ void IsHandledBySafePlugin(int render_process_id,
content::PluginService* plugin_service =
content::PluginService::GetInstance();
bool plugin_found = plugin_service->GetPluginInfo(
@ -49,25 +49,23 @@ index 8d7b5276955d..787f338e7ca6 100644
false /* allow_wildcard */, is_stale, &plugin_info,
nullptr /* actual_mime_type */);
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
index 000ce05d8712..5806aef4d696 100644
index e622e8099e95..2b08fc4e3727 100644
--- chrome/browser/ui/views/frame/browser_root_view.cc
+++ chrome/browser/ui/views/frame/browser_root_view.cc
@@ -69,8 +69,8 @@ void OnFindURLMimeType(const GURL& url,
std::move(callback).Run(
url, mime_type.empty() || blink::IsSupportedMimeType(mime_type) ||
content::PluginService::GetInstance()->GetPluginInfo(
- process_id, routing_id, url, url::Origin(), mime_type, false,
- nullptr, &plugin, nullptr));
+ process_id, routing_id, url, true, url::Origin(), mime_type,
+ false, nullptr, &plugin, nullptr));
}
@@ -75,7 +75,7 @@ void OnFindURLMimeType(const GURL& url,
#if BUILDFLAG(ENABLE_PLUGINS)
content::WebPluginInfo plugin;
result = result || content::PluginService::GetInstance()->GetPluginInfo(
- process_id, routing_id, url, url::Origin(), mime_type,
+ process_id, routing_id, url, true, url::Origin(), mime_type,
false, nullptr, &plugin, nullptr);
#endif
bool GetURLForDrop(const ui::DropTargetEvent& event, GURL* url) {
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
index 23565fc63987..88caf430a0c9 100644
index 6518a57a5f16..e88984c8150c 100644
--- content/browser/devtools/devtools_http_handler.cc
+++ content/browser/devtools/devtools_http_handler.cc
@@ -570,7 +570,7 @@ void DevToolsHttpHandler::OnJsonRequest(
@@ -571,7 +571,7 @@ void DevToolsHttpHandler::OnJsonRequest(
version.SetString("Protocol-Version",
DevToolsAgentHost::GetProtocolVersion());
version.SetString("WebKit-Version", GetWebKitVersion());
@ -77,7 +75,7 @@ index 23565fc63987..88caf430a0c9 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 c194f7a03838..450b6cb2c3ca 100644
index c80e4075de69..7bc702749974 100644
--- content/browser/frame_host/render_frame_message_filter.cc
+++ content/browser/frame_host/render_frame_message_filter.cc
@@ -308,6 +308,7 @@ void RenderFrameMessageFilter::OnAre3DAPIsBlocked(int render_frame_id,
@ -101,7 +99,7 @@ index c194f7a03838..450b6cb2c3ca 100644
void RenderFrameMessageFilter::OnOpenChannelToPepperPlugin(
diff --git content/browser/frame_host/render_frame_message_filter.h content/browser/frame_host/render_frame_message_filter.h
index 307a119bb9d8..c522bfcf3298 100644
index 9ce9487ef40c..78421b32149c 100644
--- content/browser/frame_host/render_frame_message_filter.h
+++ content/browser/frame_host/render_frame_message_filter.h
@@ -90,6 +90,7 @@ class CONTENT_EXPORT RenderFrameMessageFilter : public BrowserMessageFilter {
@ -113,10 +111,10 @@ index 307a119bb9d8..c522bfcf3298 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 a223fcaccd46..9ca82d7c1c8d 100644
index 7f322176a102..9301825b8b59 100644
--- content/browser/loader/navigation_url_loader_impl.cc
+++ content/browser/loader/navigation_url_loader_impl.cc
@@ -697,6 +697,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -716,6 +716,13 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
resource_request_->has_user_gesture,
resource_request_->request_initiator, &loader_factory);
@ -130,7 +128,7 @@ index a223fcaccd46..9ca82d7c1c8d 100644
if (loader_factory) {
factory =
base::MakeRefCounted<network::WrapperSharedURLLoaderFactory>(
@@ -905,7 +912,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
@@ -924,7 +931,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
frame_tree_node->current_frame_host()->GetProcess()->GetID();
int routing_id = frame_tree_node->current_frame_host()->GetRoutingID();
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
@ -140,10 +138,10 @@ index a223fcaccd46..9ca82d7c1c8d 100644
if (stale) {
diff --git content/browser/plugin_service_impl.cc content/browser/plugin_service_impl.cc
index 4461a489227e..fea615b44abe 100644
index 848431a0cad6..9001ad4c9e68 100644
--- content/browser/plugin_service_impl.cc
+++ content/browser/plugin_service_impl.cc
@@ -302,6 +302,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
@@ -311,6 +311,7 @@ bool PluginServiceImpl::GetPluginInfoArray(
bool PluginServiceImpl::GetPluginInfo(int render_process_id,
int render_frame_id,
const GURL& url,
@ -151,7 +149,7 @@ index 4461a489227e..fea615b44abe 100644
const url::Origin& main_frame_origin,
const std::string& mime_type,
bool allow_wildcard,
@@ -319,7 +320,8 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id,
@@ -328,7 +329,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,
@ -162,7 +160,7 @@ index 4461a489227e..fea615b44abe 100644
if (actual_mime_type)
*actual_mime_type = mime_types[i];
diff --git content/browser/plugin_service_impl.h content/browser/plugin_service_impl.h
index 6c39259a2c67..b3d18b1135d3 100644
index 79ac3b705511..71d73d3da158 100644
--- content/browser/plugin_service_impl.h
+++ content/browser/plugin_service_impl.h
@@ -54,6 +54,7 @@ class CONTENT_EXPORT PluginServiceImpl : public PluginService {
@ -226,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 06c8e08ba8d5..1e349e3c06b6 100644
index 4370f99c9a51..8dc0736e2b59 100644
--- content/common/frame_messages.h
+++ content/common/frame_messages.h
@@ -1060,9 +1060,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
@@ -826,9 +826,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.
@ -242,10 +240,10 @@ index 06c8e08ba8d5..1e349e3c06b6 100644
std::string /* mime_type */,
bool /* found */,
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
index b70473936db0..0cb62733520b 100644
index 51f31b2c7e43..85faf2c0486b 100644
--- content/public/browser/content_browser_client.h
+++ content/public/browser/content_browser_client.h
@@ -24,6 +24,7 @@
@@ -26,6 +26,7 @@
#include "content/common/content_export.h"
#include "content/public/browser/certificate_request_result_type.h"
#include "content/public/browser/generated_code_cache_settings.h"
@ -253,7 +251,7 @@ index b70473936db0..0cb62733520b 100644
#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"
@@ -1611,6 +1612,14 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1626,6 +1627,14 @@ class CONTENT_EXPORT ContentBrowserClient {
const base::Optional<url::Origin>& initiating_origin,
mojo::PendingRemote<network::mojom::URLLoaderFactory>* out_factory);
@ -268,7 +266,7 @@ index b70473936db0..0cb62733520b 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.
@@ -1674,6 +1683,10 @@ class CONTENT_EXPORT ContentBrowserClient {
@@ -1689,6 +1698,10 @@ class CONTENT_EXPORT ContentBrowserClient {
// Used as part of the user agent string.
virtual std::string GetProduct();
@ -304,7 +302,7 @@ index 98c59005599e..69752184745d 100644
WebPluginInfo* plugin) = 0;
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
index 6002ce70bb17..4198134b1b73 100644
index 87df60c52d1e..c3841a7845dd 100644
--- content/public/renderer/content_renderer_client.h
+++ content/public/renderer/content_renderer_client.h
@@ -80,6 +80,9 @@ class CONTENT_EXPORT ContentRendererClient {
@ -317,7 +315,7 @@ index 6002ce70bb17..4198134b1b73 100644
// Notifies that a new RenderFrame has been created.
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
@@ -328,6 +331,10 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -321,6 +324,10 @@ class CONTENT_EXPORT ContentRendererClient {
// This method may invalidate the frame.
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
@ -329,10 +327,10 @@ index 6002ce70bb17..4198134b1b73 100644
// started.
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
index 32a6927eaa93..540a6cbf450b 100644
index 00bbbdc9b82d..a3c923fcc442 100644
--- content/renderer/render_frame_impl.cc
+++ content/renderer/render_frame_impl.cc
@@ -3892,7 +3892,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
@@ -3796,7 +3796,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
std::string mime_type;
bool found = false;
Send(new FrameHostMsg_GetPluginInfo(
@ -343,10 +341,10 @@ index 32a6927eaa93..540a6cbf450b 100644
if (!found)
return nullptr;
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
index 078c895fe5cd..f763acde4d66 100644
index ae1a77a219f1..f91dd6477bf3 100644
--- content/renderer/render_thread_impl.cc
+++ content/renderer/render_thread_impl.cc
@@ -624,6 +624,8 @@ void RenderThreadImpl::Init() {
@@ -620,6 +620,8 @@ void RenderThreadImpl::Init() {
GetContentClient()->renderer()->CreateURLLoaderThrottleProvider(
URLLoaderThrottleProviderType::kFrame);
@ -356,10 +354,10 @@ index 078c895fe5cd..f763acde4d66 100644
&RenderThreadImpl::OnRendererInterfaceReceiver, base::Unretained(this)));
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
index 17e84479f922..6bf6c2ab93ac 100644
index 58c1b0e78a66..e8efa7277f33 100644
--- content/renderer/renderer_blink_platform_impl.cc
+++ content/renderer/renderer_blink_platform_impl.cc
@@ -918,6 +918,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
@@ -914,6 +914,15 @@ RendererBlinkPlatformImpl::GetGpuFactories() {
//------------------------------------------------------------------------------
@ -376,7 +374,7 @@ index 17e84479f922..6bf6c2ab93ac 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 edbf232175e4..27e4c87dd4c1 100644
index 096cd162c7d5..c409b6eb08ca 100644
--- content/renderer/renderer_blink_platform_impl.h
+++ content/renderer/renderer_blink_platform_impl.h
@@ -197,6 +197,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {

View File

@ -1,5 +1,5 @@
diff --git content/app/content_main_runner_impl.cc content/app/content_main_runner_impl.cc
index 8b3b16ff94f6..96e5ead655e5 100644
index 3b37ef6a284e..466c0331311e 100644
--- content/app/content_main_runner_impl.cc
+++ content/app/content_main_runner_impl.cc
@@ -43,6 +43,7 @@
@ -10,7 +10,7 @@ index 8b3b16ff94f6..96e5ead655e5 100644
#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"
@@ -996,6 +997,11 @@ void ContentMainRunnerImpl::Shutdown() {
@@ -1001,6 +1002,11 @@ void ContentMainRunnerImpl::Shutdown() {
is_shutdown_ = true;
}
@ -23,10 +23,10 @@ index 8b3b16ff94f6..96e5ead655e5 100644
ContentMainRunner* ContentMainRunner::Create() {
return ContentMainRunnerImpl::Create();
diff --git content/app/content_main_runner_impl.h content/app/content_main_runner_impl.h
index 9575db7e2311..6b449160565d 100644
index 72098b4d06f8..2c2091576aa8 100644
--- content/app/content_main_runner_impl.h
+++ content/app/content_main_runner_impl.h
@@ -51,6 +51,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
@@ -50,6 +50,8 @@ class ContentMainRunnerImpl : public ContentMainRunner {
int Run(bool start_service_manager_only) override;
void Shutdown() override;

View File

@ -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 6c40589cc989..a34b0eb0eb15 100644
index fe3311bc5e54..e4b5385ff3bf 100644
--- content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
+++ content/browser/renderer_host/pepper/pepper_flash_file_message_filter.cc
@@ -55,7 +55,7 @@ PepperFlashFileMessageFilter::PepperFlashFileMessageFilter(

View File

@ -1,5 +1,5 @@
diff --git chrome/chrome_elf/BUILD.gn chrome/chrome_elf/BUILD.gn
index 99ef45605fb5..2e16fc44a242 100644
index abd8ceba1896..f92981183aad 100644
--- chrome/chrome_elf/BUILD.gn
+++ chrome/chrome_elf/BUILD.gn
@@ -7,6 +7,7 @@
@ -10,7 +10,7 @@ index 99ef45605fb5..2e16fc44a242 100644
import("//chrome/process_version_rc_template.gni")
import("//testing/test.gni")
@@ -110,9 +111,6 @@ source_set("constants") {
@@ -104,9 +105,6 @@ source_set("constants") {
static_library("crash") {
sources = [
@ -20,7 +20,7 @@ index 99ef45605fb5..2e16fc44a242 100644
"crash/crash_helper.cc",
"crash/crash_helper.h",
]
@@ -120,6 +118,7 @@ static_library("crash") {
@@ -114,6 +112,7 @@ static_library("crash") {
":hook_util",
"//base", # This needs to go. DEP of app, crash_keys, client.
"//base:base_static", # pe_image
@ -28,7 +28,7 @@ index 99ef45605fb5..2e16fc44a242 100644
"//chrome/install_static:install_static_util",
"//components/crash/content/app",
"//components/crash/core/common", # crash_keys
@@ -127,6 +126,17 @@ static_library("crash") {
@@ -121,6 +120,17 @@ static_library("crash") {
"//content/public/common:result_codes",
"//third_party/crashpad/crashpad/client", # DumpWithoutCrash
]
@ -47,7 +47,7 @@ index 99ef45605fb5..2e16fc44a242 100644
source_set("dll_hash") {
diff --git chrome/chrome_elf/crash/crash_helper.cc chrome/chrome_elf/crash/crash_helper.cc
index 381322aca895..a5622ddfe66d 100644
index a02aa37c566a..0d0581132bdd 100644
--- chrome/chrome_elf/crash/crash_helper.cc
+++ chrome/chrome_elf/crash/crash_helper.cc
@@ -11,12 +11,17 @@
@ -68,7 +68,7 @@ index 381322aca895..a5622ddfe66d 100644
namespace {
// Crash handling from elf is only enabled for the chrome.exe process.
@@ -74,7 +79,11 @@ bool InitializeCrashReporting() {
@@ -77,7 +82,11 @@ bool InitializeCrashReporting() {
g_crash_reports = new std::vector<crash_reporter::Report>;
g_set_unhandled_exception_filter = new elf_hook::IATHook();
@ -514,7 +514,7 @@ index c2de9fe867c5..29cda67a1f72 100644
handler_path, database_path, metrics_path, url,
GetProcessSimpleAnnotations(), arguments, true, false);
diff --git components/crash/content/app/crashpad_win.cc components/crash/content/app/crashpad_win.cc
index d13ae5cf7e40..f87f84d3121c 100644
index 4e6d3052b315..f8c4dfb37e5d 100644
--- components/crash/content/app/crashpad_win.cc
+++ components/crash/content/app/crashpad_win.cc
@@ -36,8 +36,8 @@ void GetPlatformCrashpadAnnotations(
@ -548,9 +548,9 @@ index d13ae5cf7e40..f87f84d3121c 100644
const char kServerUrlVar[] = "CHROME_CRASHPAD_SERVER_URL";
+#endif
std::unique_ptr<base::Environment> env(base::Environment::Create());
if (initial_client) {
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
@@ -86,13 +88,13 @@ base::FilePath PlatformCrashpadInitialization(
CrashReporterClient* crash_reporter_client = GetCrashReporterClient();
@@ -87,13 +89,13 @@ base::FilePath PlatformCrashpadInitialization(
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
std::string url = "https://clients2.google.com/cr/report";
@ -567,8 +567,8 @@ index d13ae5cf7e40..f87f84d3121c 100644
base::FilePath exe_file(exe_path);
if (exe_file.empty()) {
@@ -110,13 +112,14 @@ base::FilePath PlatformCrashpadInitialization(
crashpad::TriState::kEnabled, kIndirectMemoryLimit);
@@ -104,13 +106,14 @@ base::FilePath PlatformCrashpadInitialization(
exe_file = base::FilePath(exe_file_path);
}
- // If the handler is embedded in the binary (e.g. chrome, setup), we
@ -587,7 +587,7 @@ index d13ae5cf7e40..f87f84d3121c 100644
if (!user_data_dir.empty()) {
start_arguments.push_back(std::string("--user-data-dir=") +
user_data_dir);
@@ -127,9 +130,12 @@ base::FilePath PlatformCrashpadInitialization(
@@ -121,9 +124,12 @@ base::FilePath PlatformCrashpadInitialization(
start_arguments.push_back("/prefetch:7");
} else {
base::FilePath exe_dir = exe_file.DirName();

View File

@ -146,7 +146,7 @@ index a2b0c74636f4..01370fdc20d9 100644
struct Data;
diff --git third_party/crashpad/crashpad/handler/BUILD.gn third_party/crashpad/crashpad/handler/BUILD.gn
index 550f686a4562..b6cc04846d42 100644
index b06f68af3baa..42b47ab40109 100644
--- third_party/crashpad/crashpad/handler/BUILD.gn
+++ third_party/crashpad/crashpad/handler/BUILD.gn
@@ -12,6 +12,7 @@
@ -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 7d9701c0bf08..767a3c23fb4f 100644
index 1cf655aec466..50ff7ed6fdbf 100644
--- third_party/crashpad/crashpad/handler/handler_main.cc
+++ third_party/crashpad/crashpad/handler/handler_main.cc
@@ -36,8 +36,10 @@
@ -273,7 +273,7 @@ index 7d9701c0bf08..767a3c23fb4f 100644
namespace crashpad {
namespace {
@@ -200,6 +206,9 @@ struct Options {
@@ -204,6 +210,9 @@ struct Options {
bool periodic_tasks;
bool rate_limit;
bool upload_gzip;
@ -281,9 +281,9 @@ index 7d9701c0bf08..767a3c23fb4f 100644
+ int max_database_size;
+ int max_database_age;
#if defined(OS_CHROMEOS)
bool use_cros_crash_reporter;
bool use_cros_crash_reporter = false;
base::FilePath minidump_dir_for_tests;
@@ -558,6 +567,9 @@ int HandlerMain(int argc,
@@ -563,6 +572,9 @@ int HandlerMain(int argc,
kOptionTraceParentWithException,
#endif
kOptionURL,
@ -293,7 +293,7 @@ index 7d9701c0bf08..767a3c23fb4f 100644
#if defined(OS_CHROMEOS)
kOptionUseCrosCrashReporter,
kOptionMinidumpDirForTests,
@@ -639,6 +651,9 @@ int HandlerMain(int argc,
@@ -649,6 +661,9 @@ int HandlerMain(int argc,
#endif // OS_CHROMEOS
{"help", no_argument, nullptr, kOptionHelp},
{"version", no_argument, nullptr, kOptionVersion},
@ -303,7 +303,7 @@ index 7d9701c0bf08..767a3c23fb4f 100644
{nullptr, 0, nullptr, 0},
};
@@ -778,6 +793,27 @@ int HandlerMain(int argc,
@@ -788,6 +803,27 @@ int HandlerMain(int argc,
options.url = optarg;
break;
}
@ -331,7 +331,7 @@ index 7d9701c0bf08..767a3c23fb4f 100644
#if defined(OS_CHROMEOS)
case kOptionUseCrosCrashReporter: {
options.use_cros_crash_reporter = true;
@@ -909,8 +945,14 @@ int HandlerMain(int argc,
@@ -923,8 +959,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 7d9701c0bf08..767a3c23fb4f 100644
upload_thread.Get()->Start();
}
@@ -966,7 +1008,8 @@ int HandlerMain(int argc,
@@ -984,7 +1026,8 @@ int HandlerMain(int argc,
ScopedStoppable prune_thread;
if (options.periodic_tasks) {
prune_thread.Reset(new PruneCrashReportThread(

View File

@ -27,7 +27,7 @@ index 3841b7adf65d..41ca32ea5e2f 100644
auto* browser_context = web_contents->GetBrowserContext();
diff --git extensions/browser/extension_host.cc extensions/browser/extension_host.cc
index 55284840012b..c24e5ee96ae0 100644
index 524c0603c138..f10ecd683aae 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 55284840012b..c24e5ee96ae0 100644
ExtensionRegistry::Get(browser_context_)->RemoveObserver(this);
diff --git extensions/browser/extension_host.h extensions/browser/extension_host.h
index a2914294a795..5140f9f5b165 100644
index 093fb25589a9..3e6247802c52 100644
--- extensions/browser/extension_host.h
+++ extensions/browser/extension_host.h
@@ -52,13 +52,19 @@ class ExtensionHost : public DeferredStartRenderHost,
@ -132,10 +132,10 @@ index a2914294a795..5140f9f5b165 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 72defe9fa9de..31041cd2a459 100644
index e697984786c5..dc84cfd92669 100644
--- extensions/browser/extensions_browser_client.h
+++ extensions/browser/extensions_browser_client.h
@@ -57,6 +57,7 @@ class ComponentExtensionResourceManager;
@@ -56,6 +56,7 @@ class ComponentExtensionResourceManager;
class Extension;
class ExtensionCache;
class ExtensionError;
@ -143,7 +143,7 @@ index 72defe9fa9de..31041cd2a459 100644
class ExtensionHostDelegate;
class ExtensionSet;
class ExtensionSystem;
@@ -196,6 +197,14 @@ class ExtensionsBrowserClient {
@@ -195,6 +196,14 @@ class ExtensionsBrowserClient {
virtual std::unique_ptr<ExtensionHostDelegate>
CreateExtensionHostDelegate() = 0;
@ -159,10 +159,10 @@ index 72defe9fa9de..31041cd2a459 100644
// once each time the extensions system is loaded per browser_context. The
// implementation may wish to use the BrowserContext to record the current
diff --git extensions/browser/process_manager.cc extensions/browser/process_manager.cc
index 6c235f6a15b3..b0b907b63d32 100644
index 3c02c62162f1..13c355db03e0 100644
--- extensions/browser/process_manager.cc
+++ extensions/browser/process_manager.cc
@@ -385,9 +385,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
@@ -386,9 +386,16 @@ bool ProcessManager::CreateBackgroundHost(const Extension* extension,
return true; // TODO(kalman): return false here? It might break things...
DVLOG(1) << "CreateBackgroundHost " << extension->id();

View File

@ -1,8 +1,8 @@
diff --git .gn .gn
index 62f3a6199ac3..fb0eb9b4b6ca 100644
index 1bd5722a6ca5..c8919a7b4ab2 100644
--- .gn
+++ .gn
@@ -649,6 +649,8 @@ exec_script_whitelist =
@@ -647,6 +647,8 @@ exec_script_whitelist =
"//chrome/android/webapk/shell_apk/prepare_upload_dir/BUILD.gn",
@ -12,10 +12,10 @@ index 62f3a6199ac3..fb0eb9b4b6ca 100644
# https://crbug.com/474506.
"//clank/java/BUILD.gn",
diff --git BUILD.gn BUILD.gn
index efaf5b31ee37..2d9abf7a5e96 100644
index d4c2158d938c..b58ce91305fe 100644
--- BUILD.gn
+++ BUILD.gn
@@ -213,6 +213,7 @@ group("gn_all") {
@@ -219,6 +219,7 @@ group("gn_all") {
if (!is_ios && !is_fuchsia) {
deps += [
@ -56,7 +56,7 @@ index 982fbe8d3f0d..e757be4688f1 100644
+ "studio path")
}
diff --git build/toolchain/win/setup_toolchain.py build/toolchain/win/setup_toolchain.py
index 53fac69229a2..4eacf06265d1 100644
index fa31688f36a2..69d74aa31c47 100644
--- build/toolchain/win/setup_toolchain.py
+++ build/toolchain/win/setup_toolchain.py
@@ -142,22 +142,25 @@ def _LoadToolchainEnv(cpu, sdk_dir, target_store):
@ -100,10 +100,10 @@ index 53fac69229a2..4eacf06265d1 100644
diff --git build/vs_toolchain.py build/vs_toolchain.py
index 2101755c6694..4410ece82aa2 100755
index 97600e73ba10..36773b159453 100755
--- build/vs_toolchain.py
+++ build/vs_toolchain.py
@@ -90,11 +90,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
@@ -89,9 +89,16 @@ def SetEnvironmentAndGetRuntimeDllDirs():
runtime_path = os.path.pathsep.join(vs_runtime_dll_dirs)
os.environ['PATH'] = runtime_path + os.path.pathsep + os.environ['PATH']
elif sys.platform == 'win32' and not depot_tools_win_toolchain:
@ -111,8 +111,6 @@ index 2101755c6694..4410ece82aa2 100755
if not 'GYP_MSVS_OVERRIDE_PATH' in os.environ:
+ has_override_path = False
os.environ['GYP_MSVS_OVERRIDE_PATH'] = DetectVisualStudioPath()
if not 'GYP_MSVS_VERSION' in os.environ:
os.environ['GYP_MSVS_VERSION'] = GetVisualStudioVersion()
+ if has_override_path:
+ # Don't attempt to copy DLLs when using a custom toolchain.
@ -122,11 +120,22 @@ index 2101755c6694..4410ece82aa2 100755
# When using an installed toolchain these files aren't needed in the output
# directory in order to run binaries locally, but they are needed in order
# to create isolates or the mini_installer. Copying them to the output
@@ -140,6 +147,10 @@ def _RegistryGetValue(key, value):
def GetVisualStudioVersion():
"""Return best available version of Visual Studio.
"""
+ # Return the explicitly requested version, if any.
+ if 'GYP_MSVS_VERSION' in os.environ:
+ return os.environ['GYP_MSVS_VERSION']
+
supported_versions = list(MSVS_VERSIONS.keys())
# VS installed in depot_tools for Googlers
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
index 6469473e6a79..f9f630bfe0df 100644
index 5121fa721a06..b5ab128722f0 100644
--- chrome/chrome_paks.gni
+++ chrome/chrome_paks.gni
@@ -284,7 +284,7 @@ template("chrome_paks") {
@@ -291,7 +291,7 @@ template("chrome_paks") {
}
input_locales = locales
@ -136,10 +145,10 @@ index 6469473e6a79..f9f630bfe0df 100644
if (is_mac) {
output_locales = locales_as_mac_outputs
diff --git chrome/installer/mini_installer/BUILD.gn chrome/installer/mini_installer/BUILD.gn
index bebec015f85d..cf4151a0f23e 100644
index 7d835183ab85..b8553902c1a9 100644
--- chrome/installer/mini_installer/BUILD.gn
+++ chrome/installer/mini_installer/BUILD.gn
@@ -140,7 +140,7 @@ template("generate_mini_installer") {
@@ -134,7 +134,7 @@ template("generate_mini_installer") {
inputs = [
"$chrome_dll_file",
"$root_out_dir/chrome.exe",

View File

@ -1,16 +1,18 @@
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
index 12bbb5759e64..ededefbf6814 100644
--- tools/gritsettings/resource_ids
+++ tools/gritsettings/resource_ids
@@ -577,4 +577,11 @@
diff --git tools/gritsettings/resource_ids.spec tools/gritsettings/resource_ids.spec
index cd531c9abd2d..b6eb6ed923a7 100644
--- tools/gritsettings/resource_ids.spec
+++ tools/gritsettings/resource_ids.spec
@@ -586,4 +586,13 @@
# Please read the header and find the right section above instead.
# Resource ids starting at 31000 are reserved for projects built on Chromium.
+
+ "cef/libcef/resources/cef_resources.grd": {
+ "META": {"align": 31500},
+ "includes": [31500],
+ },
+ "cef/libcef/resources/cef_strings.grd": {
+ "META": {"align": 32000},
+ "messages": [32000],
+ },
}

View File

@ -1,8 +1,8 @@
diff --git third_party/libxml/BUILD.gn third_party/libxml/BUILD.gn
index 28b7c9d20c05..5b5d865b6ea8 100644
index 3fe4dfd2990b..64848dfd33d7 100644
--- third_party/libxml/BUILD.gn
+++ third_party/libxml/BUILD.gn
@@ -145,6 +145,7 @@ static_library("libxml") {
@@ -141,6 +141,7 @@ static_library("libxml") {
"//third_party/blink/renderer/*",
"//third_party/fontconfig",
"//third_party/libxslt",

View File

@ -12,7 +12,7 @@ index ea5258a03f83..843f28411eea 100644
base::File file(exe_dir.Append(path),
base::File::FLAG_OPEN | base::File::FLAG_READ);
diff --git sandbox/linux/suid/client/setuid_sandbox_host.cc sandbox/linux/suid/client/setuid_sandbox_host.cc
index a277ffa5eb59..3935b9f8c17c 100644
index 0aaed76c1dda..517c3d8b5772 100644
--- sandbox/linux/suid/client/setuid_sandbox_host.cc
+++ sandbox/linux/suid/client/setuid_sandbox_host.cc
@@ -120,7 +120,7 @@ bool SetuidSandboxHost::IsDisabledViaEnvironment() {
@ -25,7 +25,7 @@ index a277ffa5eb59..3935b9f8c17c 100644
if (base::PathExists(sandbox_candidate))
sandbox_binary = sandbox_candidate;
diff --git ui/gl/init/gl_initializer_x11.cc ui/gl/init/gl_initializer_x11.cc
index 60f73ddc504e..3d19011257aa 100644
index 995d4399165e..b0381d77a507 100644
--- ui/gl/init/gl_initializer_x11.cc
+++ ui/gl/init/gl_initializer_x11.cc
@@ -86,7 +86,7 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {

View File

@ -1,22 +1,22 @@
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
index 5c45bc5e6b75..97282b45f57e 100644
index 7d23fc08f7ea..24a41cf936da 100644
--- chrome/test/BUILD.gn
+++ chrome/test/BUILD.gn
@@ -4720,7 +4720,7 @@ test("unit_tests") {
@@ -4852,7 +4852,7 @@ test("unit_tests") {
if (use_gio) {
configs += [ "//build/linux:gio_config" ]
}
- if (!is_chromeos && !use_ozone && is_linux) {
+ if (!is_chromeos && !use_ozone && is_linux && use_gtk) {
deps += [ "//chrome/browser/ui/libgtkui" ]
deps += [ "//chrome/browser/ui/gtk" ]
}
@@ -5708,7 +5708,7 @@ if (!is_android) {
@@ -5833,7 +5833,7 @@ if (!is_android) {
# suites, it seems like one or another starts timing out too.
"../browser/ui/views/keyboard_access_browsertest.cc",
]
- if (!use_ozone) {
+ if (!use_ozone && use_gtk) {
sources += [
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
]
sources +=
[ "../browser/ui/gtk/select_file_dialog_interactive_uitest.cc" ]
deps += [ "//build/config/linux/gtk" ]

View File

@ -1,5 +1,5 @@
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
index c2725a66342d..5dfad8be2f8d 100644
index e486fb0d16e3..312ff3d3703c 100644
--- ui/gl/init/gl_initializer_mac.cc
+++ ui/gl/init/gl_initializer_mac.cc
@@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() {

View File

@ -12,10 +12,10 @@ index 7688ba3d7b0d..9acaaa0d5c7f 100644
current_->RemoveDestructionObserver(destruction_observer);
}
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
index a3b48b58d367..57f8dc7fe2fa 100644
index 61b8c6fcc42d..d439b00a87bb 100644
--- base/message_loop/message_loop_current.h
+++ base/message_loop/message_loop_current.h
@@ -120,6 +120,12 @@ class BASE_EXPORT MessageLoopCurrent {
@@ -117,6 +117,12 @@ class BASE_EXPORT MessageLoopCurrent {
// posted tasks.
void SetAddQueueTimeToTasks(bool enable);
@ -28,7 +28,7 @@ index a3b48b58d367..57f8dc7fe2fa 100644
// Enables or disables the recursive task processing. This happens in the case
// of recursive message loops. Some unwanted message loops may occur when
// using common controls or printer functions. By default, recursive task
@@ -190,6 +196,13 @@ class BASE_EXPORT MessageLoopCurrent {
@@ -186,6 +192,13 @@ class BASE_EXPORT MessageLoopCurrent {
friend class web::WebTaskEnvironment;
sequence_manager::internal::SequenceManagerImpl* current_;

View File

@ -12,7 +12,7 @@ index 4c5fb180bf82..f97991e11694 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 487f031c08c7..172884179b16 100644
index 068b22336fac..a970f5be0428 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(

View File

@ -1,8 +1,8 @@
diff --git content/browser/renderer_host/input/fling_scheduler.cc content/browser/renderer_host/input/fling_scheduler.cc
index cf220cb41b00..5ebff06e6031 100644
index c7a4f1f0c3d0..7e6e3b4e56d4 100644
--- content/browser/renderer_host/input/fling_scheduler.cc
+++ content/browser/renderer_host/input/fling_scheduler.cc
@@ -71,6 +71,9 @@ void FlingScheduler::ProgressFlingOnBeginFrameIfneeded(
@@ -68,6 +68,9 @@ void FlingScheduler::ProgressFlingOnBeginFrameIfneeded(
}
ui::Compositor* FlingScheduler::GetCompositor() {
@ -41,11 +41,11 @@ 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 a91a66bca29d..bff1662c7323 100644
index 954011b5d562..da67cd106cec 100644
--- content/browser/renderer_host/render_widget_host_impl.cc
+++ content/browser/renderer_host/render_widget_host_impl.cc
@@ -2692,6 +2692,11 @@ void RenderWidgetHostImpl::SetNeedsBeginFrameForFlingProgress() {
SetNeedsBeginFrame(true);
@@ -2606,6 +2606,11 @@ void RenderWidgetHostImpl::DidStartScrollingViewport() {
view_->set_is_currently_scrolling_viewport(true);
}
+void RenderWidgetHostImpl::SetCompositorForFlingScheduler(ui::Compositor* compositor)
@ -55,15 +55,15 @@ index a91a66bca29d..bff1662c7323 100644
+
void RenderWidgetHostImpl::AddPendingUserActivation(
const WebInputEvent& event) {
if (base::FeatureList::IsEnabled(features::kBrowserVerifiedUserActivation) &&
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 15a23f954089..87715137b8b4 100644
index 9faf49a3fd83..26c6845c53c3 100644
--- content/browser/renderer_host/render_widget_host_impl.h
+++ content/browser/renderer_host/render_widget_host_impl.h
@@ -736,6 +736,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
@@ -701,6 +701,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl
void ProgressFlingIfNeeded(base::TimeTicks current_time);
void StopFling();
void SetNeedsBeginFrameForFlingProgress();
+ void SetCompositorForFlingScheduler(ui::Compositor* compositor);
// The RenderWidgetHostImpl will keep showing the old page (for a while) after

View File

@ -1,8 +1,8 @@
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
index fcbfa6b8a81e..9bf5ad6a581b 100644
index fe4ca0fafd45..025424a1654c 100644
--- content/public/common/common_param_traits_macros.h
+++ content/public/common/common_param_traits_macros.h
@@ -184,6 +184,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -178,6 +178,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)
@ -35,10 +35,10 @@ index 04c03cfcb774..4f5488ef1699 100644
bool record_whole_document;
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
index 556a107ed038..2dbf8cc69c7e 100644
index bd44565e78aa..dcb7bbd6d875 100644
--- content/renderer/render_view_impl.cc
+++ content/renderer/render_view_impl.cc
@@ -1015,6 +1015,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -968,6 +968,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
#endif
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);

View File

@ -34,7 +34,7 @@ index c880e6ba1766..d168a5fb44bb 100644
bool DownloadPrefs::IsFromTrustedSource(const download::DownloadItem& item) {
diff --git chrome/browser/printing/print_preview_dialog_controller.cc chrome/browser/printing/print_preview_dialog_controller.cc
index ba6cbab2e2e0..ce4c9953abfb 100644
index 8c2609b8447c..f113149a30e8 100644
--- chrome/browser/printing/print_preview_dialog_controller.cc
+++ chrome/browser/printing/print_preview_dialog_controller.cc
@@ -16,6 +16,7 @@
@ -45,7 +45,7 @@ index ba6cbab2e2e0..ce4c9953abfb 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h"
#include "chrome/browser/printing/print_view_manager.h"
@@ -446,8 +447,11 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog(
@@ -450,8 +451,11 @@ WebContents* PrintPreviewDialogController::CreatePrintPreviewDialog(
content::HostZoomMap::Get(preview_dialog->GetSiteInstance())
->SetZoomLevelForHostAndScheme(print_url.scheme(), print_url.host(), 0);
PrintViewManager::CreateForWebContents(preview_dialog);
@ -58,10 +58,10 @@ index ba6cbab2e2e0..ce4c9953abfb 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 a9873cd3c0eb..127b8cba461e 100644
index 56a6a8d8ee67..5fecf7ad1780 100644
--- chrome/browser/resources/print_preview/ui/destination_dialog.html
+++ chrome/browser/resources/print_preview/ui/destination_dialog.html
@@ -147,9 +147,7 @@
@@ -141,9 +141,7 @@
</print-preview-provisional-destination-resolver>
</div>
<div slot="button-container">
@ -73,7 +73,7 @@ index a9873cd3c0eb..127b8cba461e 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 92127e580c67..df902f18f46d 100644
index c93947a7634c..c60cada63ef8 100644
--- chrome/browser/resources/print_preview/ui/destination_select.html
+++ chrome/browser/resources/print_preview/ui/destination_select.html
@@ -31,10 +31,6 @@
@ -81,7 +81,7 @@ index 92127e580c67..df902f18f46d 100644
$i18n{printToPDF}
</option>
- <option value="[[getGoogleDriveDestinationKey_(activeUser)]]"
- hidden$="[[!activeUser]]">
- hidden$="[[!driveDestinationReady]]">
- $i18n{printToGoogleDrive}
- </option>
<option value="noDestinations"
@ -262,10 +262,10 @@ index 0881b3dd9303..4df6883d4d05 100644
Profile* const profile_;
PrintPreviewStickySettings* const sticky_settings_;
diff --git chrome/browser/ui/webui/print_preview/print_preview_handler.cc chrome/browser/ui/webui/print_preview/print_preview_handler.cc
index 9bdbc0212f55..d93673e5b0c1 100644
index b5370dedff93..e9966c08b4f8 100644
--- chrome/browser/ui/webui/print_preview/print_preview_handler.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_handler.cc
@@ -25,6 +25,7 @@
@@ -27,6 +27,7 @@
#include "base/metrics/histogram_macros.h"
#include "base/values.h"
#include "build/build_config.h"
@ -273,7 +273,7 @@ index 9bdbc0212f55..d93673e5b0c1 100644
#include "chrome/browser/app_mode/app_mode_utils.h"
#include "chrome/browser/bad_message.h"
#include "chrome/browser/browser_process.h"
@@ -1107,7 +1108,7 @@ void PrintPreviewHandler::SendInitialSettings(
@@ -1149,7 +1150,7 @@ void PrintPreviewHandler::SendInitialSettings(
initial_settings.SetKey(kPolicies, std::move(policies));
if (IsCloudPrintEnabled() &&
@ -282,7 +282,7 @@ index 9bdbc0212f55..d93673e5b0c1 100644
initial_settings.SetStringKey(
kCloudPrintURL, GURL(cloud_devices::GetCloudPrintURL()).spec());
}
@@ -1366,6 +1367,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1414,6 +1415,9 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
}
return privet_printer_handler_.get();
}
@ -292,7 +292,7 @@ index 9bdbc0212f55..d93673e5b0c1 100644
#endif
if (printer_type == PrinterType::kPdfPrinter) {
if (!pdf_printer_handler_) {
@@ -1385,7 +1389,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
@@ -1433,7 +1437,7 @@ PrinterHandler* PrintPreviewHandler::GetPrinterHandler(
if (printer_type == PrinterType::kCloudPrinter) {
// This printer handler is currently experimental. Ensure it is never
// created unless the flag is enabled.
@ -301,7 +301,7 @@ index 9bdbc0212f55..d93673e5b0c1 100644
if (!cloud_printer_handler_)
cloud_printer_handler_ = PrinterHandler::CreateForCloudPrinters();
return cloud_printer_handler_.get();
@@ -1448,6 +1452,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
@@ -1496,6 +1500,7 @@ void PrintPreviewHandler::OnPrintResult(const std::string& callback_id,
}
void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
@ -309,7 +309,7 @@ index 9bdbc0212f55..d93673e5b0c1 100644
DCHECK(!identity_manager_);
cloud_print_enabled_ =
!base::Contains(printer_type_deny_list_, kCloudPrinter) &&
@@ -1464,6 +1469,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
@@ -1512,6 +1517,7 @@ void PrintPreviewHandler::RegisterForGaiaCookieChanges() {
identity_manager_ = IdentityManagerFactory::GetForProfile(profile);
identity_manager_->AddObserver(this);
@ -318,7 +318,7 @@ index 9bdbc0212f55..d93673e5b0c1 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 19dba387e24f..50ec2bde3cb9 100644
index 758f61539d5e..37cd13836464 100644
--- chrome/browser/ui/webui/print_preview/print_preview_ui.cc
+++ chrome/browser/ui/webui/print_preview/print_preview_ui.cc
@@ -24,6 +24,7 @@
@ -329,7 +329,7 @@ index 19dba387e24f..50ec2bde3cb9 100644
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_process_platform_part.h"
#include "chrome/browser/printing/background_printing_manager.h"
@@ -76,12 +77,16 @@ namespace printing {
@@ -77,12 +78,16 @@ namespace printing {
namespace {
@ -346,7 +346,7 @@ index 19dba387e24f..50ec2bde3cb9 100644
#if !BUILDFLAG(OPTIMIZE_WEBUI)
constexpr char kGeneratedPath[] =
@@ -332,7 +337,7 @@ void AddPrintPreviewFlags(content::WebUIDataSource* source, Profile* profile) {
@@ -335,7 +340,7 @@ void AddPrintPreviewFlags(content::WebUIDataSource* source, Profile* profile) {
source->AddBoolean("isEnterpriseManaged", enterprise_managed);
bool cloud_printer_handler_enabled =

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/printing/print_job_worker.cc chrome/browser/printing/print_job_worker.cc
index aacffd44658c..b8569071c631 100644
index ebffdb08d080..864841b470e3 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)

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
index ed00da9fe671..5ebbfdbc5a48 100644
index f7ce4ce22bb7..27363d09cb7b 100644
--- chrome/browser/renderer_preferences_util.cc
+++ chrome/browser/renderer_preferences_util.cc
@@ -30,7 +30,8 @@
@@ -31,7 +31,8 @@
#include "ui/base/cocoa/defaults_utils.h"
#endif
@ -12,7 +12,7 @@ index ed00da9fe671..5ebbfdbc5a48 100644
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
#include "ui/views/linux_ui/linux_ui.h"
@@ -145,7 +146,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
@@ -146,7 +147,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
prefs->caret_blink_interval = interval;
#endif

View File

@ -1,8 +1,8 @@
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
index 4221d6a4fcb5..8f19146324b6 100644
index f0d845264cd0..af8ce36b915d 100644
--- ui/base/resource/resource_bundle.cc
+++ ui/base/resource/resource_bundle.cc
@@ -843,6 +843,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
@@ -846,6 +846,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 4221d6a4fcb5..8f19146324b6 100644
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kMangleLocalizedStrings);
}
@@ -852,6 +858,11 @@ ResourceBundle::~ResourceBundle() {
@@ -855,6 +861,11 @@ ResourceBundle::~ResourceBundle() {
UnloadLocaleResources();
}
@ -26,9 +26,9 @@ index 4221d6a4fcb5..8f19146324b6 100644
+
// static
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
DCHECK(g_shared_instance_ == NULL) << "ResourceBundle initialized twice";
DCHECK(g_shared_instance_ == nullptr) << "ResourceBundle initialized twice";
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
index fc3fab9863d6..6a88f3664af0 100644
index 102bb47dc58a..145e5b46d8e8 100644
--- ui/base/resource/resource_bundle.h
+++ ui/base/resource/resource_bundle.h
@@ -155,6 +155,11 @@ class UI_BASE_EXPORT ResourceBundle {

View File

@ -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 4d7831ae6b04..9c1b215220ab 100644
index 80c67b78d9f6..6ca0fb1aaf85 100644
--- content/browser/renderer_host/render_widget_host_view_aura.cc
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -721,10 +721,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
@@ -736,10 +736,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
DCHECK(GetBackgroundColor());
@ -19,7 +19,7 @@ index 4d7831ae6b04..9c1b215220ab 100644
}
void RenderWidgetHostViewAura::WindowTitleChanged() {
@@ -2001,6 +2003,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
@@ -2013,6 +2015,15 @@ 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_);

View File

@ -1,8 +1,8 @@
diff --git chrome/browser/net/profile_network_context_service.cc chrome/browser/net/profile_network_context_service.cc
index 3adf99a4527b..4c607c45d136 100644
index 75981a42a314..d29366145453 100644
--- chrome/browser/net/profile_network_context_service.cc
+++ chrome/browser/net/profile_network_context_service.cc
@@ -16,6 +16,7 @@
@@ -17,6 +17,7 @@
#include "base/metrics/histogram_macros.h"
#include "base/strings/string_split.h"
#include "base/task/post_task.h"
@ -10,7 +10,7 @@ index 3adf99a4527b..4c607c45d136 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"
@@ -642,9 +643,22 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -678,9 +679,22 @@ ProfileNetworkContextService::CreateNetworkContextParams(
network_context_params->cookie_manager_params =
CreateCookieManagerParams(profile_, *cookie_settings_);
@ -33,7 +33,7 @@ index 3adf99a4527b..4c607c45d136 100644
PrefService* local_state = g_browser_process->local_state();
// Configure the HTTP cache path and size.
base::FilePath base_cache_path;
@@ -657,6 +671,7 @@ ProfileNetworkContextService::CreateNetworkContextParams(
@@ -693,6 +707,7 @@ ProfileNetworkContextService::CreateNetworkContextParams(
base_cache_path.Append(chrome::kCacheDirname);
network_context_params->http_cache_max_size =
local_state->GetInteger(prefs::kDiskCacheSize);
@ -42,7 +42,7 @@ index 3adf99a4527b..4c607c45d136 100644
// Currently this just contains HttpServerProperties, but that will likely
// change.
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
index 458c4acb0851..8f2a016a3054 100644
index 442d72296903..aec40aa4b77d 100644
--- chrome/browser/profiles/profile.h
+++ chrome/browser/profiles/profile.h
@@ -380,6 +380,11 @@ class Profile : public content::BrowserContext {
@ -58,7 +58,7 @@ index 458c4acb0851..8f2a016a3054 100644
// itself, if |relative_path| is empty).
virtual mojo::Remote<network::mojom::NetworkContext> CreateNetworkContext(
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
index 15068300b269..d5948416f730 100644
index 84a7d50dfd71..aaa1346043da 100644
--- net/cookies/cookie_monster.cc
+++ net/cookies/cookie_monster.cc
@@ -476,6 +476,25 @@ void CookieMonster::SetCookieableSchemes(
@ -139,10 +139,10 @@ index 5dbc9d2dfcfb..1c31d97825c2 100644
void CookieManager::SetForceKeepSessionState() {
diff --git services/network/network_context.cc services/network/network_context.cc
index b1740e9c8a2f..3509c005191c 100644
index e5dfb9c6fd20..07578a987dd9 100644
--- services/network/network_context.cc
+++ services/network/network_context.cc
@@ -1745,6 +1745,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -1765,6 +1765,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
}
scoped_refptr<SessionCleanupCookieStore> session_cleanup_cookie_store;
@ -150,7 +150,7 @@ index b1740e9c8a2f..3509c005191c 100644
if (params_->cookie_path) {
scoped_refptr<base::SequencedTaskRunner> client_task_runner =
base::ThreadTaskRunnerHandle::Get();
@@ -1772,18 +1773,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
@@ -1792,18 +1793,27 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
session_cleanup_cookie_store =
base::MakeRefCounted<SessionCleanupCookieStore>(sqlite_store);
@ -182,10 +182,10 @@ index b1740e9c8a2f..3509c005191c 100644
std::make_unique<net::StaticHttpUserAgentSettings>(
params_->accept_language, params_->user_agent);
diff --git services/network/public/mojom/network_context.mojom services/network/public/mojom/network_context.mojom
index 662496d97241..6971cc3309af 100644
index c37e71fb1eac..3504614682bb 100644
--- services/network/public/mojom/network_context.mojom
+++ services/network/public/mojom/network_context.mojom
@@ -242,6 +242,9 @@ struct NetworkContextParams {
@@ -243,6 +243,9 @@ struct NetworkContextParams {
// cookies. Otherwise it should be false.
bool persist_session_cookies = false;

View File

@ -0,0 +1,52 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index 5283293ac557..407de9a5e23a 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -669,10 +669,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
- if (!web_contents) {
- OnAuthCredentials(base::nullopt);
- return;
- }
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -729,12 +725,6 @@ void OnAuthRequiredContinuation(
web_contents_getter =
base::BindRepeating(GetWebContents, process_id, routing_id);
}
- if (!web_contents_getter.Run()) {
- mojo::Remote<network::mojom::AuthChallengeResponder>
- auth_challenge_responder_remote(std::move(auth_challenge_responder));
- auth_challenge_responder_remote->OnAuthCredentials(base::nullopt);
- return;
- }
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
@@ -2411,15 +2401,21 @@ void StoragePartitionImpl::GetQuotaSettings(
return;
}
+ // CEF always returns false for IsOffTheRecord(), so also check the path.
+ const bool is_incognito = browser_context_->IsOffTheRecord() ||
+ browser_context_->GetPath().empty();
storage::GetNominalDynamicSettings(
- GetPath(), browser_context_->IsOffTheRecord(),
+ GetPath(), is_incognito,
storage::GetDefaultDeviceInfoHelper(), std::move(callback));
}
void StoragePartitionImpl::InitNetworkContext() {
network_context_ = GetContentClient()->browser()->CreateNetworkContext(
browser_context_, is_in_memory_, relative_partition_path_);
- DCHECK(network_context_);
+ if (!network_context_) {
+ // May happen during shutdown.
+ return;
+ }
network_context_client_receiver_.reset();
network_context_->SetClient(

View File

@ -1,97 +0,0 @@
diff --git content/browser/storage_partition_impl.cc content/browser/storage_partition_impl.cc
index c05ce85a2327..2a9124db10a4 100644
--- content/browser/storage_partition_impl.cc
+++ content/browser/storage_partition_impl.cc
@@ -581,10 +581,6 @@ class LoginHandlerDelegate {
}
WebContents* web_contents = web_contents_getter_.Run();
- if (!web_contents) {
- OnAuthCredentials(base::nullopt);
- return;
- }
// WeakPtr is not strictly necessary here due to OnRequestCancelled.
creating_login_delegate_ = true;
@@ -641,12 +637,6 @@ void OnAuthRequiredContinuation(
web_contents_getter =
base::BindRepeating(GetWebContents, process_id, routing_id);
}
- if (!web_contents_getter.Run()) {
- mojo::Remote<network::mojom::AuthChallengeResponder>
- auth_challenge_responder_remote(std::move(auth_challenge_responder));
- auth_challenge_responder_remote->OnAuthCredentials(base::nullopt);
- return;
- }
new LoginHandlerDelegate(std::move(auth_challenge_responder),
std::move(web_contents_getter), auth_info,
is_request_for_main_frame, process_id, routing_id,
@@ -2267,7 +2257,10 @@ void StoragePartitionImpl::GetQuotaSettings(
void StoragePartitionImpl::InitNetworkContext() {
network_context_ = GetContentClient()->browser()->CreateNetworkContext(
browser_context_, is_in_memory_, relative_partition_path_);
- DCHECK(network_context_);
+ if (!network_context_) {
+ // May happen during shutdown.
+ return;
+ }
network_context_client_receiver_.reset();
network_context_->SetClient(
diff --git services/network/public/cpp/simple_url_loader.cc services/network/public/cpp/simple_url_loader.cc
index f73b5b6fdc3d..14403d2e468c 100644
--- services/network/public/cpp/simple_url_loader.cc
+++ services/network/public/cpp/simple_url_loader.cc
@@ -230,6 +230,7 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
void SetRetryOptions(int max_retries, int retry_mode) override;
void SetURLLoaderFactoryOptions(uint32_t options) override;
void SetTimeoutDuration(base::TimeDelta timeout_duration) override;
+ void SetRequestId(int32_t request_id) override;
int NetError() const override;
const mojom::URLResponseHead* ResponseInfo() const override;
@@ -348,6 +349,8 @@ class SimpleURLLoaderImpl : public SimpleURLLoader,
// The next values contain all the information required to restart the
// request.
+ int32_t request_id_ = 0;
+
// Populated in the constructor, and cleared once no longer needed, when no
// more retries are possible.
std::unique_ptr<ResourceRequest> resource_request_;
@@ -1371,6 +1374,12 @@ void SimpleURLLoaderImpl::SetTimeoutDuration(base::TimeDelta timeout_duration) {
timeout_duration_ = timeout_duration;
}
+void SimpleURLLoaderImpl::SetRequestId(int32_t request_id) {
+ // Check if a request has not yet been started.
+ DCHECK(!body_handler_);
+ request_id_ = request_id;
+}
+
int SimpleURLLoaderImpl::NetError() const {
// Should only be called once the request is compelete.
DCHECK(request_state_->finished);
@@ -1516,7 +1525,7 @@ void SimpleURLLoaderImpl::StartRequest(
}
url_loader_factory->CreateLoaderAndStart(
url_loader_.BindNewPipeAndPassReceiver(), 0 /* routing_id */,
- 0 /* request_id */, url_loader_factory_options_, *resource_request_,
+ request_id_, url_loader_factory_options_, *resource_request_,
client_receiver_.BindNewPipeAndPassRemote(),
net::MutableNetworkTrafficAnnotationTag(annotation_tag_));
client_receiver_.set_disconnect_handler(base::BindOnce(
diff --git services/network/public/cpp/simple_url_loader.h services/network/public/cpp/simple_url_loader.h
index 5a0df57c4444..5ee2bef53374 100644
--- services/network/public/cpp/simple_url_loader.h
+++ services/network/public/cpp/simple_url_loader.h
@@ -332,6 +332,9 @@ class COMPONENT_EXPORT(NETWORK_CPP) SimpleURLLoader {
// as much time as it wants.
virtual void SetTimeoutDuration(base::TimeDelta timeout_duration) = 0;
+ // Set the ID that will be associated with the request.
+ virtual void SetRequestId(int32_t request_id) = 0;
+
// Returns the net::Error representing the final status of the request. May
// only be called once the loader has informed the caller of completion.
virtual int NetError() const = 0;

View File

@ -1,5 +1,5 @@
diff --git content/browser/blob_storage/chrome_blob_storage_context.cc content/browser/blob_storage/chrome_blob_storage_context.cc
index 5e7af339b157..26bdb73c5086 100644
index 33a732dab0e8..99ecf91a66a5 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(
@ -13,10 +13,10 @@ index 5e7af339b157..26bdb73c5086 100644
{base::ThreadPool(), base::MayBlock(),
base::TaskPriority::USER_VISIBLE,
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
index 7b48f428955b..0bd02ca49d05 100644
index 44e6a961112b..f1f3e1af7f16 100644
--- content/browser/browser_context.cc
+++ content/browser/browser_context.cc
@@ -57,6 +57,7 @@
@@ -59,6 +59,7 @@
#include "content/public/common/content_switches.h"
#include "content/public/common/service_manager_connection.h"
#include "content/public/common/service_names.mojom.h"
@ -24,7 +24,7 @@ index 7b48f428955b..0bd02ca49d05 100644
#include "media/base/media_switches.h"
#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
#include "media/capabilities/video_decode_stats_db_impl.h"
@@ -168,7 +169,7 @@ StoragePartition* GetStoragePartitionFromConfig(
@@ -170,7 +171,7 @@ StoragePartition* GetStoragePartitionFromConfig(
StoragePartitionImplMap* partition_map =
GetStoragePartitionMap(browser_context);
@ -33,7 +33,7 @@ index 7b48f428955b..0bd02ca49d05 100644
in_memory = true;
return partition_map->Get(partition_domain, partition_name, in_memory,
@@ -665,7 +666,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
@@ -675,7 +676,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
kUseInMemoryDBDefault);
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
@ -43,10 +43,10 @@ index 7b48f428955b..0bd02ca49d05 100644
std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
} else {
diff --git storage/browser/database/database_tracker.cc storage/browser/database/database_tracker.cc
index 32c4eb76299c..9e86c12802d9 100644
index d4cb25f0b5c5..46a145e175e6 100644
--- storage/browser/database/database_tracker.cc
+++ storage/browser/database/database_tracker.cc
@@ -511,7 +511,7 @@ bool DatabaseTracker::LazyInit() {
@@ -509,7 +509,7 @@ bool DatabaseTracker::LazyInit() {
meta_table_.reset(new sql::MetaTable());
is_initialized_ =

View File

@ -1,8 +1,8 @@
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
index 1ac3513eb4f7..49a21d1954a3 100644
index bf408c6bff28..74668e88a885 100644
--- base/trace_event/builtin_categories.h
+++ base/trace_event/builtin_categories.h
@@ -51,6 +51,8 @@
@@ -52,6 +52,8 @@
X("cc") \
X("cc.debug") \
X("cdp.perf") \

View File

@ -1,8 +1,8 @@
diff --git ui/base/dragdrop/os_exchange_data_provider_aurax11.cc ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
index c92301055164..48b510cf8d38 100644
--- ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
+++ ui/base/dragdrop/os_exchange_data_provider_aurax11.cc
@@ -141,7 +141,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
diff --git ui/base/x/x11_os_exchange_data_provider.cc ui/base/x/x11_os_exchange_data_provider.cc
index 41190f9f56a9..dcb869d1e2f5 100644
--- ui/base/x/x11_os_exchange_data_provider.cc
+++ ui/base/x/x11_os_exchange_data_provider.cc
@@ -127,7 +127,8 @@ void XOSExchangeDataProvider::SetURL(const GURL& url,
format_map_.Insert(gfx::GetAtom(kMimeTypeMozillaURL), mem);
// Set a string fallback as well.

View File

@ -39,10 +39,10 @@ index 5bcc6204c2b5..1bf18609d150 100644
virtual void MenuWillShow() {}
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
index cb1a7976f6dc..d6360da8e69d 100644
index 6a97b1501d3d..3ac88ea133fc 100644
--- ui/gfx/render_text.cc
+++ ui/gfx/render_text.cc
@@ -713,6 +713,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
@@ -611,6 +611,14 @@ void RenderText::SetWhitespaceElision(base::Optional<bool> whitespace_elision) {
}
}
@ -57,7 +57,7 @@ index cb1a7976f6dc..d6360da8e69d 100644
void RenderText::SetDisplayRect(const Rect& r) {
if (r != display_rect_) {
display_rect_ = r;
@@ -1904,6 +1912,19 @@ void RenderText::OnTextAttributeChanged() {
@@ -1964,6 +1972,19 @@ void RenderText::OnTextAttributeChanged() {
layout_text_up_to_date_ = false;
@ -78,10 +78,10 @@ index cb1a7976f6dc..d6360da8e69d 100644
}
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
index ee5748fa6f02..d4477f724d68 100644
index 892b32910b77..0d3c4ef5cafa 100644
--- ui/gfx/render_text.h
+++ ui/gfx/render_text.h
@@ -304,6 +304,10 @@ class GFX_EXPORT RenderText {
@@ -324,6 +324,10 @@ class GFX_EXPORT RenderText {
return whitespace_elision_;
}
@ -92,9 +92,9 @@ index ee5748fa6f02..d4477f724d68 100644
const Rect& display_rect() const { return display_rect_; }
void SetDisplayRect(const Rect& r);
@@ -980,6 +984,8 @@ class GFX_EXPORT RenderText {
// Tell whether or not the layout break lists need an update.
bool layout_text_attributes_up_to_date_ = false;
@@ -1006,6 +1010,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;
+ int draw_strings_flags_ = 0;
+
@ -102,12 +102,12 @@ index ee5748fa6f02..d4477f724d68 100644
};
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
index 3b5bc508a0fd..262da51d50ac 100644
index 846a4a7f09de..aded39658834 100644
--- ui/views/animation/ink_drop_host_view.h
+++ ui/views/animation/ink_drop_host_view.h
@@ -132,6 +132,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
// them.
void AnimateInkDrop(InkDropState state, const ui::LocatedEvent* event);
@@ -142,6 +142,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
// this isn't necessary anymore.
virtual InkDrop* GetInkDrop();
+ InkDropMode ink_drop_mode() const { return ink_drop_mode_; }
+
@ -115,10 +115,10 @@ index 3b5bc508a0fd..262da51d50ac 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 f476f1725204..d2d30163abf3 100644
index 12c05efa8c12..eb9c49125501 100644
--- ui/views/controls/button/label_button.cc
+++ ui/views/controls/button/label_button.cc
@@ -484,6 +484,12 @@ void LabelButton::OnThemeChanged() {
@@ -494,6 +494,12 @@ void LabelButton::OnThemeChanged() {
SchedulePaint();
}
@ -132,10 +132,10 @@ index f476f1725204..d2d30163abf3 100644
const gfx::Size previous_image_size(image_->GetPreferredSize());
UpdateImage();
diff --git ui/views/controls/button/label_button.h ui/views/controls/button/label_button.h
index 1c8d5c27f928..90d7e7f004e4 100644
index ba9f5f8cd8c7..f1ab98728425 100644
--- ui/views/controls/button/label_button.h
+++ ui/views/controls/button/label_button.h
@@ -118,6 +118,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
@@ -123,6 +123,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
ui::NativeTheme::State GetForegroundThemeState(
ui::NativeTheme::ExtraParams* params) const override;
@ -146,7 +146,7 @@ index 1c8d5c27f928..90d7e7f004e4 100644
ImageView* image() const { return image_; }
Label* label() const { return label_; }
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
index 21a8fa0fa8eb..55a2e57a2e6f 100644
index be8d8e8dddf9..6e5efacde451 100644
--- ui/views/controls/label.cc
+++ ui/views/controls/label.cc
@@ -53,6 +53,20 @@ bool IsOpaque(SkColor color) {
@ -185,7 +185,7 @@ index 21a8fa0fa8eb..55a2e57a2e6f 100644
void Label::SetTooltipText(const base::string16& tooltip_text) {
DCHECK(handles_tooltips_);
if (tooltip_text_ == tooltip_text)
@@ -577,7 +599,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
@@ -583,7 +605,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
render_text->SetFontList(font_list());
render_text->set_shadows(GetShadows());
render_text->SetCursorEnabled(false);
@ -207,7 +207,7 @@ index 21a8fa0fa8eb..55a2e57a2e6f 100644
render_text->SetMultiline(multiline);
render_text->SetMaxLines(multiline ? GetMaxLines() : 0);
diff --git ui/views/controls/label.h ui/views/controls/label.h
index aea6bb5b7b13..9ce9947174d4 100644
index d6e1ad61e5e1..5abc861469c8 100644
--- ui/views/controls/label.h
+++ ui/views/controls/label.h
@@ -176,6 +176,10 @@ class VIEWS_EXPORT Label : public View,
@ -221,7 +221,7 @@ index aea6bb5b7b13..9ce9947174d4 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
@@ -408,6 +412,7 @@ class VIEWS_EXPORT Label : public View,
@@ -412,6 +416,7 @@ class VIEWS_EXPORT Label : public View,
bool collapse_when_hidden_;
int fixed_width_;
int max_width_;
@ -230,10 +230,10 @@ index aea6bb5b7b13..9ce9947174d4 100644
std::unique_ptr<SelectionController> selection_controller_;
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
index bbb1cc387eb2..f1b64580a780 100644
index 36e7f97887fd..940fb3d8a338 100644
--- ui/views/controls/menu/menu_controller.cc
+++ ui/views/controls/menu/menu_controller.cc
@@ -2643,8 +2643,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
@@ -2646,8 +2646,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
void MenuController::OpenSubmenuChangeSelectionIfCan() {
MenuItemView* item = pending_state_.item;
@ -248,7 +248,7 @@ index bbb1cc387eb2..f1b64580a780 100644
MenuItemView* to_select = nullptr;
if (!item->GetSubmenu()->GetMenuItems().empty())
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
@@ -2663,8 +2668,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
@@ -2666,8 +2671,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
void MenuController::CloseSubmenu() {
MenuItemView* item = state_.item;
DCHECK(item);
@ -300,10 +300,10 @@ index bdbd9c7e37b8..86138fd1d21c 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 e86941132ce8..035296ce4bc2 100644
index 07fc2153d8ad..f3fce1b3fd88 100644
--- ui/views/controls/menu/menu_item_view.cc
+++ ui/views/controls/menu/menu_item_view.cc
@@ -1034,6 +1034,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
@@ -1035,6 +1035,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);
@ -318,8 +318,8 @@ index e86941132ce8..035296ce4bc2 100644
+ canvas->DrawColor(override_color);
} else if (render_selection) {
gfx::Rect item_bounds = GetLocalBounds();
if (type_ == ACTIONABLE_SUBMENU) {
@@ -1101,6 +1110,13 @@ void MenuItemView::PaintMinorIconAndText(
if (type_ == Type::kActionableSubMenu) {
@@ -1102,6 +1111,13 @@ void MenuItemView::PaintMinorIconAndText(
}
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
@ -334,7 +334,7 @@ index e86941132ce8..035296ce4bc2 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 beac9986b2c6..f75e85ae6215 100644
index 792b864594b3..58015004ac44 100644
--- ui/views/controls/menu/menu_model_adapter.cc
+++ ui/views/controls/menu/menu_model_adapter.cc
@@ -229,6 +229,77 @@ bool MenuModelAdapter::IsItemChecked(int id) const {
@ -441,7 +441,7 @@ index 78f832fd3acf..cb030c991614 100644
void WillHideMenu(MenuItemView* menu) override;
void OnMenuClosed(MenuItemView* menu) override;
diff --git ui/views/controls/menu/menu_scroll_view_container.cc ui/views/controls/menu/menu_scroll_view_container.cc
index 1a5af9db833f..60a61700a615 100644
index 2bd5d97fccea..996b94916a15 100644
--- ui/views/controls/menu/menu_scroll_view_container.cc
+++ ui/views/controls/menu/menu_scroll_view_container.cc
@@ -189,6 +189,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
@ -472,7 +472,7 @@ index 6e69e4018a3b..f44fadcbb4c1 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 4721462253e0..dd08911a0eaf 100644
index be4814ab5df3..dcddea54b813 100644
--- ui/views/view.h
+++ ui/views/view.h
@@ -22,6 +22,7 @@
@ -483,13 +483,11 @@ index 4721462253e0..dd08911a0eaf 100644
#include "build/build_config.h"
#include "third_party/skia/include/core/SkPath.h"
#include "ui/accessibility/ax_enums.mojom-forward.h"
@@ -270,7 +271,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
public ui::EventTarget,
@@ -273,6 +274,7 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
public ui::EventHandler,
public ui::PropertyHandler,
- public views::metadata::MetaDataProvider {
+ public views::metadata::MetaDataProvider,
+ public base::SupportsUserData {
public metadata::MetaDataProvider,
+ public base::SupportsUserData,
public virtual WidgetGetter {
public:
using Views = std::vector<View*>;

View File

@ -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 394b9ec0b740..f93d0bd0d04d 100644
index 95724e75d7c9..1b39dd036bc1 100644
--- content/browser/renderer_host/render_widget_host_view_base.cc
+++ content/browser/renderer_host/render_widget_host_view_base.cc
@@ -569,6 +569,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
@@ -568,6 +568,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
return screen_info.device_scale_factor;
}
@ -18,10 +18,10 @@ index 394b9ec0b740..f93d0bd0d04d 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 9763b72a6899..0ab68fa6fc26 100644
index 226e7c96a2b7..a00d3a66d913 100644
--- content/browser/renderer_host/render_widget_host_view_base.h
+++ content/browser/renderer_host/render_widget_host_view_base.h
@@ -72,6 +72,7 @@ class CursorManager;
@@ -66,6 +66,7 @@ class CursorManager;
class MouseWheelPhaseHandler;
class RenderWidgetHostImpl;
class RenderWidgetHostViewBaseObserver;
@ -29,7 +29,7 @@ index 9763b72a6899..0ab68fa6fc26 100644
class SyntheticGestureTarget;
class TextInputManager;
class TouchSelectionControllerClientManager;
@@ -92,6 +93,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -83,6 +84,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
float current_device_scale_factor() const {
return current_device_scale_factor_;
}
@ -39,7 +39,7 @@ index 9763b72a6899..0ab68fa6fc26 100644
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
RenderWidgetHostImpl* GetFocusedWidget() const;
@@ -126,6 +130,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -117,6 +121,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void DisableAutoResize(const gfx::Size& new_size) override;
bool IsScrollOffsetAtTop() override;
float GetDeviceScaleFactor() final;
@ -47,8 +47,8 @@ index 9763b72a6899..0ab68fa6fc26 100644
+ bool HasExternalParent() const override;
TouchSelectionControllerClientManager*
GetTouchSelectionControllerClientManager() override;
void SetRecordTabSwitchTimeRequest(base::TimeTicks start_time,
@@ -467,6 +473,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
void SetRecordContentToVisibleTimeRequest(
@@ -441,6 +447,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
// helps to position the full screen widget on the correct monitor.
virtual void InitAsFullscreen(RenderWidgetHostView* reference_host_view) = 0;
@ -61,7 +61,7 @@ index 9763b72a6899..0ab68fa6fc26 100644
// Sets the cursor for this view to the one associated with the specified
// cursor_type.
virtual void UpdateCursor(const WebCursor& cursor) = 0;
@@ -631,6 +643,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
@@ -605,6 +617,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
bool is_currently_scrolling_viewport_ = false;
@ -73,7 +73,7 @@ index 9763b72a6899..0ab68fa6fc26 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 83dc6cf1cd68..58bb145a9d43 100644
index eeb44c8c3e99..74d1130ab509 100644
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
@@ -33,6 +33,10 @@
@ -87,7 +87,7 @@ index 83dc6cf1cd68..58bb145a9d43 100644
#if defined(OS_WIN)
#include "content/browser/frame_host/render_frame_host_impl.h"
#include "content/public/common/context_menu_params.h"
@@ -902,6 +906,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
@@ -898,6 +902,14 @@ void RenderWidgetHostViewEventHandler::SetKeyboardFocus() {
::SetFocus(hwnd);
}
}
@ -103,10 +103,10 @@ index 83dc6cf1cd68..58bb145a9d43 100644
// TODO(wjmaclean): can host_ ever be null?
if (host_ && set_focus_on_mouse_down_or_key_event_) {
diff --git content/public/browser/render_widget_host_view.h content/public/browser/render_widget_host_view.h
index a820a19905ed..d81119bee06c 100644
index 15cdc228387e..e469ae6063c9 100644
--- content/public/browser/render_widget_host_view.h
+++ content/public/browser/render_widget_host_view.h
@@ -244,6 +244,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
@@ -236,6 +236,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
// This must always return the same device scale factor as GetScreenInfo.
virtual float GetDeviceScaleFactor() = 0;
@ -122,10 +122,10 @@ index a820a19905ed..d81119bee06c 100644
// 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 f4aa608a3168..7a3eeab5396e 100644
index 639174bb1a3c..2472a61b33e2 100644
--- ui/base/x/x11_window.cc
+++ ui/base/x/x11_window.cc
@@ -228,8 +228,12 @@ void XWindow::Init(const Configuration& config) {
@@ -245,8 +245,12 @@ void XWindow::Init(const Configuration& config) {
attribute_mask |= CWBorderPixel;
swa.border_pixel = 0;
@ -140,7 +140,7 @@ index f4aa608a3168..7a3eeab5396e 100644
bounds_in_pixels_.height(),
0, // border width
diff --git ui/base/x/x11_window.h ui/base/x/x11_window.h
index 91a828ead9e0..226cb92fd19b 100644
index 3045c434cfa5..c6a626933f4c 100644
--- ui/base/x/x11_window.h
+++ ui/base/x/x11_window.h
@@ -20,6 +20,7 @@
@ -151,22 +151,22 @@ index 91a828ead9e0..226cb92fd19b 100644
#include "ui/gfx/x/x11.h"
#include "ui/gfx/x/x11_types.h"
@@ -89,6 +90,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XWindow {
@@ -88,6 +89,7 @@ class COMPONENT_EXPORT(UI_BASE_X) XWindow {
std::string wm_class_name;
std::string wm_class_class;
std::string wm_role_name;
base::Optional<int> visual_id;
+ gfx::AcceleratedWidget parent_widget = gfx::kNullAcceleratedWidget;
};
XWindow();
diff --git ui/platform_window/x11/x11_window.cc ui/platform_window/x11/x11_window.cc
index d6e17cde3baf..b91415a060b8 100644
index 900ed63b68cb..f6cb4cfedc92 100644
--- ui/platform_window/x11/x11_window.cc
+++ ui/platform_window/x11/x11_window.cc
@@ -84,6 +84,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;
config.visual_id = properties.x_visual_id;
+ config.parent_widget = properties.parent_widget;
config.prefer_dark_theme = properties.prefer_dark_theme;
config.background_color = properties.background_color;
@ -185,12 +185,12 @@ index 70553b153c44..ecd99bc78373 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 7705e7b41350..f67dc46e9414 100644
index 6030f29ac64f..d7a679c4a1b8 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_linux.cc
@@ -335,6 +335,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->x_visual_id = pending_x_visual_id_;
@@ -329,6 +329,8 @@ void DesktopWindowTreeHostLinux::AddAdditionalInitProperties(
properties->wm_class_class = params.wm_class_class;
properties->wm_role_name = params.wm_role_name;
+ properties->parent_widget = params.parent_widget;
+
@ -198,7 +198,7 @@ index 7705e7b41350..f67dc46e9414 100644
properties->x11_extension_delegate = 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 b43ff29b2bcd..2fc8904ad6a1 100644
index e772d98f95d0..ac8f59c8d180 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
@@ -129,8 +129,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
@ -215,7 +215,7 @@ index b43ff29b2bcd..2fc8904ad6a1 100644
remove_standard_frame_ = params.remove_standard_frame;
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
@@ -905,11 +909,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -904,11 +908,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
}
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
@ -249,10 +249,10 @@ index b195b582fe58..f189bd083982 100644
// 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 34c798b23679..fbb500168316 100644
index 955a3a3bbe3d..77cfe052ed63 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
@@ -93,6 +93,9 @@ void DesktopWindowTreeHostX11::RemoveObserver(
@@ -82,6 +82,9 @@ DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
// DesktopWindowTreeHostX11, DesktopWindowTreeHost implementation:
void DesktopWindowTreeHostX11::Init(const Widget::InitParams& params) {
@ -262,9 +262,9 @@ index 34c798b23679..fbb500168316 100644
DesktopWindowTreeHostLinux::Init(params);
// Set XEventDelegate to receive selection, drag&drop and raw key events.
@@ -158,6 +161,18 @@ void DesktopWindowTreeHostX11::OnXWindowUnmapped() {
observer.OnWindowUnmapped(GetXWindow()->window());
}
@@ -137,6 +140,18 @@ void DesktopWindowTreeHostX11::EndMoveLoop() {
////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostX11 implementation:
+gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
+ if (!screen_bounds_.IsEmpty())
@ -282,12 +282,12 @@ index 34c798b23679..fbb500168316 100644
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 9db2bb988a78..dbff809f1198 100644
index 53da309c14d3..7a50560c8abc 100644
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
@@ -36,6 +36,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
void AddObserver(DesktopWindowTreeHostObserverX11* observer);
void RemoveObserver(DesktopWindowTreeHostObserverX11* observer);
@@ -31,6 +31,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
DesktopNativeWidgetAura* desktop_native_widget_aura);
~DesktopWindowTreeHostX11() override;
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
+
@ -298,16 +298,16 @@ index 9db2bb988a78..dbff809f1198 100644
protected:
// Overridden from DesktopWindowTreeHost:
void Init(const Widget::InitParams& params) override;
@@ -58,6 +64,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// these will be removed from here as we progress in https://crbug.com/990756.
void OnXWindowMapped() override;
void OnXWindowUnmapped() override;
@@ -42,6 +48,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
Widget::MoveLoopSource source,
Widget::MoveLoopEscapeBehavior escape_behavior) override;
void EndMoveLoop() override;
+ gfx::Rect GetWindowBoundsInScreen() const override;
+ gfx::Point GetLocationOnScreenInPixels() const override;
// Overridden from ui::XEventDelegate.
void OnXWindowSelectionEvent(XEvent* xev) override;
@@ -69,6 +77,13 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
private:
friend class DesktopWindowTreeHostX11HighDPITest;
@@ -56,10 +64,20 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
// directly. See https://crbug.com/990756.
const ui::XWindow* GetXWindow() const;
@ -321,9 +321,6 @@ index 9db2bb988a78..dbff809f1198 100644
DesktopDragDropClientAuraX11* drag_drop_client_ = nullptr;
std::unique_ptr<X11DesktopWindowMoveClient> x11_window_move_client_;
@@ -76,6 +91,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11 : public DesktopWindowTreeHostLinux,
base::ObserverList<DesktopWindowTreeHostObserverX11>::Unchecked
observer_list_;
+ // True if the xwindow has already been destroyed.
+ bool xwindow_destroyed_ = false;
@ -332,10 +329,10 @@ index 9db2bb988a78..dbff809f1198 100644
};
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
index af72459e1589..16c499dee6fb 100644
index 750f064c58fb..1e44f073d1d8 100644
--- ui/views/widget/widget.cc
+++ ui/views/widget/widget.cc
@@ -304,7 +304,8 @@ void Widget::Init(InitParams params) {
@@ -305,7 +305,8 @@ void Widget::Init(InitParams params) {
params.name = params.delegate->GetContentsView()->GetClassName();
params.child |= (params.type == InitParams::TYPE_CONTROL);
@ -345,7 +342,7 @@ index af72459e1589..16c499dee6fb 100644
if (params.opacity == views::Widget::InitParams::WindowOpacity::kInferred &&
params.type != views::Widget::InitParams::TYPE_WINDOW) {
@@ -387,7 +388,12 @@ void Widget::Init(InitParams params) {
@@ -388,7 +389,12 @@ void Widget::Init(InitParams params) {
}
} else if (delegate) {
SetContentsView(delegate->GetContentsView());
@ -359,7 +356,7 @@ index af72459e1589..16c499dee6fb 100644
}
// TODO(https://crbug.com/953978): Use GetNativeTheme() for all platforms.
#if defined(OS_MACOSX) || defined(OS_WIN)
@@ -1179,10 +1185,16 @@ void Widget::OnNativeWidgetDestroyed() {
@@ -1180,10 +1186,16 @@ void Widget::OnNativeWidgetDestroyed() {
}
gfx::Size Widget::GetMinimumSize() const {
@ -377,7 +374,7 @@ index af72459e1589..16c499dee6fb 100644
}
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
index 88cb98ff9142..aa4a82a43c1c 100644
index 108a170a7aaa..034a5fe6deef 100644
--- ui/views/widget/widget.h
+++ ui/views/widget/widget.h
@@ -283,6 +283,8 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@ -390,10 +387,10 @@ index 88cb98ff9142..aa4a82a43c1c 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 82ad1562232e..6f87dbd07fda 100644
index 66cc515a670e..57d7bf241cb8 100644
--- ui/views/widget/widget_delegate.h
+++ ui/views/widget/widget_delegate.h
@@ -197,6 +197,10 @@ class VIEWS_EXPORT WidgetDelegate {
@@ -194,6 +194,10 @@ class VIEWS_EXPORT WidgetDelegate : public virtual WidgetGetter {
// be cycled through with keyboard focus.
virtual void GetAccessiblePanes(std::vector<View*>* panes) {}
@ -418,10 +415,10 @@ index 40e66a212e3e..08ee8523ab15 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 6412ff796794..f66aff5a8766 100644
index 5bfd12452008..8289108b7acf 100644
--- ui/views/win/hwnd_message_handler.cc
+++ ui/views/win/hwnd_message_handler.cc
@@ -3007,10 +3007,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
@@ -2986,10 +2986,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
} else if (event.type() == ui::ET_MOUSEWHEEL) {
ui::MouseWheelEvent mouse_wheel_event(msg);
// Reroute the mouse wheel to the window under the pointer if applicable.

View File

@ -80,12 +80,14 @@ index 1026b739d283..fe562ab60ce9 100644
private:
const HWND hwnd_;
diff --git components/viz/service/BUILD.gn components/viz/service/BUILD.gn
index ca67f58b73cc..025e022a472c 100644
index 7a1277ad28ed..4a426441e505 100644
--- components/viz/service/BUILD.gn
+++ components/viz/service/BUILD.gn
@@ -14,6 +14,8 @@ config("viz_service_implementation") {
@@ -13,7 +13,10 @@ 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",
@ -93,18 +95,18 @@ index ca67f58b73cc..025e022a472c 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 6f2eac863d1b..243c5acae3bf 100644
index 97feccc71b94..4388a702977f 100644
--- components/viz/service/display_embedder/output_surface_provider_impl.cc
+++ components/viz/service/display_embedder/output_surface_provider_impl.cc
@@ -12,6 +12,7 @@
#include "base/compiler_specific.h"
@@ -13,6 +13,7 @@
#include "base/threading/thread_task_runner_handle.h"
#include "build/chromecast_buildflags.h"
#include "cc/base/switches.h"
+#include "cef/libcef/browser/osr/software_output_device_proxy.h"
#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"
@@ -227,6 +228,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
@@ -242,6 +243,20 @@ OutputSurfaceProviderImpl::CreateSoftwareOutputDeviceForPlatform(
if (headless_)
return std::make_unique<SoftwareOutputDevice>();
@ -163,10 +165,10 @@ index ac94eab98fd0..b89d52a0c869 100644
#if ENABLE_SYNC_CALL_RESTRICTIONS
diff --git services/viz/privileged/mojom/compositing/display_private.mojom services/viz/privileged/mojom/compositing/display_private.mojom
index be56099d186f..3ec6f600f6e2 100644
index 609ded904478..7b326b2e0364 100644
--- services/viz/privileged/mojom/compositing/display_private.mojom
+++ services/viz/privileged/mojom/compositing/display_private.mojom
@@ -76,12 +76,14 @@ interface DisplayPrivate {
@@ -75,12 +75,14 @@ interface DisplayPrivate {
};
interface DisplayClient {
@ -194,7 +196,7 @@ index 6b7fbb6cf13d..e2af75168cb9 100644
+ Draw(gfx.mojom.Rect damage_rect) => ();
};
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index 5410ee7a65ab..e5bf8c301c1c 100644
index 443406844ecf..b7a48194e9d9 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -23,7 +23,9 @@
@ -207,8 +209,8 @@ index 5410ee7a65ab..e5bf8c301c1c 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"
@@ -197,6 +199,14 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
@@ -166,6 +168,14 @@ class COMPOSITOR_EXPORT ContextFactory {
virtual cc::TaskGraphRunner* GetTaskGraphRunner() = 0;
};
+class COMPOSITOR_EXPORT CompositorDelegate {
@ -222,7 +224,7 @@ index 5410ee7a65ab..e5bf8c301c1c 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
@@ -236,6 +246,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -205,6 +215,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
@ -232,7 +234,7 @@ index 5410ee7a65ab..e5bf8c301c1c 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
@@ -459,6 +472,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
@@ -422,6 +435,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
ui::ContextFactory* context_factory_;
ui::ContextFactoryPrivate* context_factory_private_;
@ -242,10 +244,10 @@ index 5410ee7a65ab..e5bf8c301c1c 100644
Layer* root_layer_ = nullptr;
diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc
index d8c278b99d09..d6f9bd858627 100644
index 1db09f76243c..2b3096ebc4d3 100644
--- ui/compositor/host/host_context_factory_private.cc
+++ ui/compositor/host/host_context_factory_private.cc
@@ -113,8 +113,13 @@ void HostContextFactoryPrivate::ConfigureCompositor(
@@ -112,8 +112,13 @@ void HostContextFactoryPrivate::ConfigureCompositor(
compositor_data.display_private.reset();
root_params->display_private =
compositor_data.display_private.BindNewEndpointAndPassReceiver();

View File

@ -1,8 +1,8 @@
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
index 6f2ee557fb41..7a9bf5c4c642 100644
index ea2e52bf16dd..d77c3f7b991a 100644
--- content/browser/web_contents/web_contents_impl.cc
+++ content/browser/web_contents/web_contents_impl.cc
@@ -2045,16 +2045,24 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -2062,15 +2062,22 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
std::string unique_name;
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
@ -13,7 +13,7 @@ index 6f2ee557fb41..7a9bf5c4c642 100644
+ render_view_host_delegate_view_ = params.delegate_view;
+ }
- if (GuestMode::IsCrossProcessFrameGuest(this)) {
- if (browser_plugin_guest_) {
- view_.reset(new WebContentsViewChildFrame(
- this, delegate, &render_view_host_delegate_view_));
- } else {
@ -23,7 +23,7 @@ index 6f2ee557fb41..7a9bf5c4c642 100644
+ WebContentsViewDelegate* delegate =
+ GetContentClient()->browser()->GetWebContentsViewDelegate(this);
+
+ if (GuestMode::IsCrossProcessFrameGuest(this)) {
+ if (browser_plugin_guest_) {
+ view_.reset(new WebContentsViewChildFrame(
+ this, delegate, &render_view_host_delegate_view_));
+ } else {
@ -31,11 +31,9 @@ index 6f2ee557fb41..7a9bf5c4c642 100644
+ &render_view_host_delegate_view_));
+ }
}
+
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -2849,6 +2857,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
@@ -2881,6 +2888,15 @@ RenderFrameHostDelegate* WebContentsImpl::CreateNewWindow(
// objects.
create_params.renderer_initiated_creation = !is_new_browsing_instance;
@ -51,8 +49,8 @@ index 6f2ee557fb41..7a9bf5c4c642 100644
// If |is_new_browsing_instance| is true, defer routing_id allocation
// to the WebContentsImpl::Create() call. This is required because with
// a new browsing instance, WebContentsImpl::Create() may elect a different
@@ -6279,6 +6296,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
// doesn't support properly traversing BrowserPlugins.
@@ -6308,6 +6324,9 @@ void WebContentsImpl::SetFocusedFrame(FrameTreeNode* node,
// This is an outermost WebContents.
SetAsFocusedWebContentsIfNecessary();
}
+
@ -75,7 +73,7 @@ index 2e133afb8da8..e9a88a6bb96b 100644
WebContents::CreateParams::CreateParams(const CreateParams& other) = default;
diff --git content/public/browser/web_contents.h content/public/browser/web_contents.h
index ecee31b744ed..72d79c0a7180 100644
index 40e1e940f87b..e08b16c26327 100644
--- content/public/browser/web_contents.h
+++ content/public/browser/web_contents.h
@@ -79,9 +79,11 @@ class BrowserPluginGuestDelegate;
@ -89,7 +87,7 @@ index ecee31b744ed..72d79c0a7180 100644
+class WebContentsView;
struct CustomContextMenuContext;
struct DropData;
struct MHTMLGenerationParams;
struct FaviconURL;
@@ -217,6 +219,10 @@ class WebContents : public PageNavigator,
// Sandboxing flags set on the new WebContents.
blink::WebSandboxFlags starting_sandbox_flags;
@ -102,7 +100,7 @@ index ecee31b744ed..72d79c0a7180 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 2a073551cd8a..b049ef115f0d 100644
index c2ff64f8b998..d4eb13585b71 100644
--- content/public/browser/web_contents_delegate.h
+++ content/public/browser/web_contents_delegate.h
@@ -57,10 +57,12 @@ class ColorChooser;
@ -118,7 +116,7 @@ index 2a073551cd8a..b049ef115f0d 100644
struct ContextMenuParams;
struct DropData;
struct NativeWebKeyboardEvent;
@@ -321,6 +323,14 @@ class CONTENT_EXPORT WebContentsDelegate {
@@ -324,6 +326,14 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& partition_id,
SessionStorageNamespace* session_storage_namespace);
@ -134,10 +132,10 @@ index 2a073551cd8a..b049ef115f0d 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 b3c757d5d537..e2600917093e 100644
index 7e1da29cb558..8ab2490bf689 100644
--- content/public/browser/web_contents_observer.h
+++ content/public/browser/web_contents_observer.h
@@ -571,6 +571,10 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener {
@@ -585,6 +585,10 @@ class CONTENT_EXPORT WebContentsObserver : public IPC::Listener {
// WebContents has gained/lost focus.
virtual void OnFocusChangedInPage(FocusedNodeDetails* details) {}

View File

@ -1,8 +1,8 @@
diff --git content/renderer/loader/web_url_loader_impl.h content/renderer/loader/web_url_loader_impl.h
index 837447e61b87..3df0297ed7f8 100644
index b694b8a2629f..ac1ba364175d 100644
--- content/renderer/loader/web_url_loader_impl.h
+++ content/renderer/loader/web_url_loader_impl.h
@@ -85,6 +85,7 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
@@ -76,6 +76,7 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
blink::WebBlobInfo& downloaded_blob) override;
void LoadAsynchronously(const blink::WebURLRequest& request,
blink::WebURLLoaderClient* client) override;
@ -10,7 +10,7 @@ index 837447e61b87..3df0297ed7f8 100644
void SetDefersLoading(bool value) override;
void DidChangePriority(blink::WebURLRequest::Priority new_priority,
int intra_priority_value) override;
@@ -95,8 +96,6 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
@@ -86,8 +87,6 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
class RequestPeerImpl;
class SinkPeer;

View File

@ -10,7 +10,7 @@ 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 915af795cbf3..8a42dc493faf 100644
index 8690ec1fdd21..010156ed9dbc 100644
--- third_party/blink/public/platform/platform.h
+++ third_party/blink/public/platform/platform.h
@@ -679,6 +679,11 @@ class BLINK_PLATFORM_EXPORT Platform {
@ -25,29 +25,29 @@ index 915af795cbf3..8a42dc493faf 100644
private:
static void InitializeCommon(Platform* platform,
std::unique_ptr<Thread> main_thread);
diff --git third_party/blink/renderer/core/dom/dom_implementation.cc third_party/blink/renderer/core/dom/dom_implementation.cc
index 55f1adf5e98a..cee99c67226f 100644
--- third_party/blink/renderer/core/dom/dom_implementation.cc
+++ third_party/blink/renderer/core/dom/dom_implementation.cc
@@ -228,10 +228,11 @@ Document* DOMImplementation::createDocument(const String& type,
if (init.GetFrame()->IsMainFrame()) {
diff --git third_party/blink/renderer/core/dom/document_init.cc third_party/blink/renderer/core/dom/document_init.cc
index 8df9cdf40707..746e15c5884c 100644
--- third_party/blink/renderer/core/dom/document_init.cc
+++ third_party/blink/renderer/core/dom/document_init.cc
@@ -198,11 +198,11 @@ DocumentInit& DocumentInit::WithTypeFrom(const String& type) {
if (GetFrame()->IsMainFrame()) {
scoped_refptr<const SecurityOrigin> origin =
SecurityOrigin::Create(init.Url());
- plugin_data = init.GetFrame()->GetPage()->GetPluginData(origin.get());
+ plugin_data = init.GetFrame()->GetPage()->GetPluginData(true,
+ origin.get());
SecurityOrigin::Create(Url());
- plugin_data = GetFrame()->GetPage()->GetPluginData(origin.get());
+ plugin_data = GetFrame()->GetPage()->GetPluginData(true, origin.get());
} else {
plugin_data =
- init.GetFrame()->GetPage()->GetPluginData(init.GetFrame()
+ init.GetFrame()->GetPage()->GetPluginData(false, init.GetFrame()
->Tree()
.Top()
.GetSecurityContext()
auto* top_security_origin =
GetFrame()->Tree().Top().GetSecurityContext()->GetSecurityOrigin();
- plugin_data = GetFrame()->GetPage()->GetPluginData(top_security_origin);
+ plugin_data = GetFrame()->GetPage()->GetPluginData(false, top_security_origin);
}
}
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
index 0aa1376a9483..f94c0e7edf7a 100644
index 0cf193d31a02..1c62098d3a6a 100644
--- third_party/blink/renderer/core/frame/local_frame.cc
+++ third_party/blink/renderer/core/frame/local_frame.cc
@@ -1179,7 +1179,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
@@ -1199,7 +1199,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
PluginData* LocalFrame::GetPluginData() const {
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
return nullptr;
@ -57,7 +57,7 @@ index 0aa1376a9483..f94c0e7edf7a 100644
}
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
index 176aad037ad5..4a16ecd2b67c 100644
index ba54df90e309..a902a0d31221 100644
--- third_party/blink/renderer/core/inspector/devtools_session.cc
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
@@ -8,6 +8,7 @@
@ -68,7 +68,7 @@ index 176aad037ad5..4a16ecd2b67c 100644
#include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/inspector/devtools_agent.h"
@@ -148,6 +149,7 @@ DevToolsSession::DevToolsSession(
@@ -151,6 +152,7 @@ DevToolsSession::DevToolsSession(
for (wtf_size_t i = 0; i < agents_.size(); i++)
agents_[i]->Restore();
}
@ -76,7 +76,7 @@ index 176aad037ad5..4a16ecd2b67c 100644
}
DevToolsSession::~DevToolsSession() {
@@ -188,6 +190,7 @@ void DevToolsSession::Detach() {
@@ -191,6 +193,7 @@ void DevToolsSession::Detach() {
agents_.clear();
v8_session_.reset();
agent_->client_->DebuggerTaskFinished();
@ -85,7 +85,7 @@ index 176aad037ad5..4a16ecd2b67c 100644
void DevToolsSession::FlushProtocolNotifications() {
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
index 90c4ea4fe9ca..4a335f5bfb79 100644
index 569cfb844dfc..29d5d6940c44 100644
--- third_party/blink/renderer/core/page/page.cc
+++ third_party/blink/renderer/core/page/page.cc
@@ -194,7 +194,8 @@ Page::Page(PageClients& page_clients)
@ -149,7 +149,7 @@ index 90c4ea4fe9ca..4a335f5bfb79 100644
page->NotifyPluginsChanged();
}
}
@@ -859,7 +880,8 @@ void Page::Trace(blink::Visitor* visitor) {
@@ -873,7 +894,8 @@ void Page::Trace(blink::Visitor* visitor) {
visitor->Trace(link_highlight_);
visitor->Trace(spatial_navigation_controller_);
visitor->Trace(main_frame_);
@ -160,10 +160,10 @@ index 90c4ea4fe9ca..4a335f5bfb79 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 e968b10542e7..3f7e151f2f6f 100644
index f71d15a750a5..a4b901152085 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>,
@@ -144,7 +144,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 e968b10542e7..3f7e151f2f6f 100644
// Resets the plugin data for all pages in the renderer process and notifies
// PluginsChangedObservers.
@@ -394,7 +395,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
@@ -393,7 +394,8 @@ class CORE_EXPORT Page final : public GarbageCollected<Page>,
const Member<LinkHighlight> link_highlight_;
Member<SpatialNavigationController> spatial_navigation_controller_;
@ -184,11 +184,11 @@ index e968b10542e7..3f7e151f2f6f 100644
Member<ValidationMessageClient> validation_message_client_;
diff --git third_party/blink/renderer/core/page/plugin_data.cc third_party/blink/renderer/core/page/plugin_data.cc
index 7ea0e09e47a0..69a5c8f8e3d5 100644
index 987ed360e0ae..382c833b39d0 100644
--- third_party/blink/renderer/core/page/plugin_data.cc
+++ third_party/blink/renderer/core/page/plugin_data.cc
@@ -91,10 +91,12 @@ void PluginData::RefreshBrowserSidePluginCache() {
Platform::Current()->GetInterfaceProvider()->GetInterface(
Platform::Current()->GetBrowserInterfaceBroker()->GetInterface(
registry.BindNewPipeAndPassReceiver());
Vector<mojom::blink::PluginInfoPtr> plugins;
- registry->GetPlugins(true, SecurityOrigin::CreateUniqueOpaque(), &plugins);
@ -203,7 +203,7 @@ index 7ea0e09e47a0..69a5c8f8e3d5 100644
main_frame_origin_ = main_frame_origin;
@@ -102,7 +104,7 @@ void PluginData::UpdatePluginList(const SecurityOrigin* main_frame_origin) {
Platform::Current()->GetInterfaceProvider()->GetInterface(
Platform::Current()->GetBrowserInterfaceBroker()->GetInterface(
registry.BindNewPipeAndPassReceiver());
Vector<mojom::blink::PluginInfoPtr> plugins;
- registry->GetPlugins(false, main_frame_origin_, &plugins);

View File

@ -1,5 +1,5 @@
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
index c6c044bd7c43..b4e64c381bb7 100644
index e498cab75c5b..1d466de86aa6 100644
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
@@ -310,7 +310,7 @@ void PointerEventManager::HandlePointerInterruption(

View File

@ -1,8 +1,8 @@
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
index 53d6d4ebd22a..83e835f1ef80 100644
index a6d03eca18db..d84e8615150c 100644
--- third_party/blink/public/web/web_view.h
+++ third_party/blink/public/web/web_view.h
@@ -364,6 +364,7 @@ class WebView {
@@ -367,6 +367,7 @@ class WebView {
// Sets whether select popup menus should be rendered by the browser.
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
@ -11,7 +11,7 @@ index 53d6d4ebd22a..83e835f1ef80 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 2e2b95750635..854cdfea4c52 100644
index 7f58ed742695..2149f7815d57 100644
--- third_party/blink/renderer/core/exported/web_view_impl.cc
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
@@ -216,8 +216,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
@ -39,10 +39,10 @@ index 2e2b95750635..854cdfea4c52 100644
fullscreen_controller_(std::make_unique<FullscreenController>(this)) {
if (!AsView().client) {
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
index 7161adf93687..97ea083e3c1f 100644
index 710607bd9112..829d2f55d79d 100644
--- third_party/blink/renderer/core/exported/web_view_impl.h
+++ third_party/blink/renderer/core/exported/web_view_impl.h
@@ -114,7 +114,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -112,7 +112,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 7161adf93687..97ea083e3c1f 100644
// Returns whether frames under this WebView are backed by a compositor.
bool does_composite() const { return does_composite_; }
@@ -612,6 +613,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
@@ -610,6 +611,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 7161adf93687..97ea083e3c1f 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 67e9cb90c33b..7beb3f7dc1d4 100644
index bd1ea48823f0..4b13696f3996 100644
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
@@ -837,7 +837,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
@@ -850,7 +850,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
HTMLSelectElement& select) {
NotifyPopupOpeningObservers();

View File

@ -1,5 +1,5 @@
diff --git chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
index 7af74b204cfe..1d7f83ee6346 100644
index f68789fe4c05..089800c7a26a 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
@@ -27,6 +27,7 @@
@ -10,7 +10,7 @@ index 7af74b204cfe..1d7f83ee6346 100644
#include "components/prefs/pref_service.h"
#include "components/sync/driver/about_sync_util.h"
#include "components/sync/driver/sync_service.h"
@@ -320,6 +321,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
@@ -323,6 +324,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
}
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
@ -21,7 +21,7 @@ index 7af74b204cfe..1d7f83ee6346 100644
// We are only interested in sync logs for the primary user profile.
Profile* profile = ProfileManager::GetPrimaryUserProfile();
if (!profile || !ProfileSyncServiceFactory::HasSyncService(profile))
@@ -362,6 +367,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
@@ -365,6 +370,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
if (!profile)
return;
@ -34,7 +34,7 @@ index 7af74b204cfe..1d7f83ee6346 100644
extensions::ExtensionRegistry* extension_registry =
extensions::ExtensionRegistry::Get(profile);
std::string extensions_list;
@@ -440,6 +451,8 @@ void ChromeInternalLogSource::PopulateLocalStateSettings(
@@ -454,6 +465,8 @@ void ChromeInternalLogSource::PopulateArcPolicyStatus(
#if defined(OS_WIN)
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
SystemLogsResponse* response) {
@ -44,7 +44,7 @@ index 7af74b204cfe..1d7f83ee6346 100644
bool result =
base::win::IsKeyboardPresentOnSlate(ui::GetHiddenWindow(), &reason);
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
index 8a32ddd423c1..34abc57cc3a2 100644
index a75f82d26388..19ddd09cc379 100644
--- chrome/browser/memory_details.cc
+++ chrome/browser/memory_details.cc
@@ -17,6 +17,7 @@

View File

@ -1,8 +1,8 @@
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
index e23ad6003e9f..6fdcf0097ef2 100644
index 30da9de5bf78..29366b337312 100644
--- chrome/app/generated_resources.grd
+++ chrome/app/generated_resources.grd
@@ -4835,7 +4835,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
@@ -4963,7 +4963,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.">

View File

@ -110,7 +110,7 @@ index 83d86ad90d24..4edd1fb9e20b 100644
// Works for std::priority_queue, std::queue, and std::stack.
template <class A>
diff --git base/values.cc base/values.cc
index 66e8d39abf0b..c6674c3b65fb 100644
index fbc859c6518d..95e8fc815067 100644
--- base/values.cc
+++ base/values.cc
@@ -24,20 +24,6 @@
@ -134,16 +134,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
static_assert(sizeof(Value::DoubleStorage) == sizeof(double),
"The double and DoubleStorage types should have the same size");
@@ -428,7 +414,7 @@ bool Value::EraseListIter(ListStorage::const_iterator iter) {
}
bool Value::EraseListIter(CheckedContiguousConstIterator<Value> iter) {
- const auto offset = iter - as_const(*this).GetList().begin();
+ const auto offset = iter - static_cast<const Value*>(this)->GetList().begin();
return EraseListIter(list_.begin() + offset);
}
@@ -442,7 +428,7 @@ void Value::ClearList() {
@@ -433,7 +419,7 @@ void Value::ClearList() {
}
Value* Value::FindKey(StringPiece key) {
@ -152,7 +143,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindKey(StringPiece key) const {
@@ -454,7 +440,8 @@ const Value* Value::FindKey(StringPiece key) const {
@@ -445,7 +431,8 @@ const Value* Value::FindKey(StringPiece key) const {
}
Value* Value::FindKeyOfType(StringPiece key, Type type) {
@ -162,7 +153,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindKeyOfType(StringPiece key, Type type) const {
@@ -578,7 +565,7 @@ Optional<Value> Value::ExtractKey(StringPiece key) {
@@ -569,7 +556,7 @@ Optional<Value> Value::ExtractKey(StringPiece key) {
}
Value* Value::FindPath(StringPiece path) {
@ -171,7 +162,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindPath(StringPiece path) const {
@@ -593,7 +580,8 @@ const Value* Value::FindPath(StringPiece path) const {
@@ -584,7 +571,8 @@ const Value* Value::FindPath(StringPiece path) const {
}
Value* Value::FindPathOfType(StringPiece path, Type type) {
@ -181,7 +172,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindPathOfType(StringPiece path, Type type) const {
@@ -636,7 +624,8 @@ const std::string* Value::FindStringPath(StringPiece path) const {
@@ -627,7 +615,8 @@ const std::string* Value::FindStringPath(StringPiece path) const {
}
std::string* Value::FindStringPath(StringPiece path) {
@ -191,7 +182,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value::BlobStorage* Value::FindBlobPath(StringPiece path) const {
@@ -722,11 +711,11 @@ Optional<Value> Value::ExtractPath(StringPiece path) {
@@ -713,11 +702,11 @@ Optional<Value> Value::ExtractPath(StringPiece path) {
// DEPRECATED METHODS
Value* Value::FindPath(std::initializer_list<StringPiece> path) {
@ -205,7 +196,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindPath(std::initializer_list<StringPiece> path) const {
@@ -745,11 +734,13 @@ const Value* Value::FindPath(span<const StringPiece> path) const {
@@ -736,11 +725,13 @@ const Value* Value::FindPath(span<const StringPiece> path) const {
Value* Value::FindPathOfType(std::initializer_list<StringPiece> path,
Type type) {
@ -221,7 +212,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
const Value* Value::FindPathOfType(std::initializer_list<StringPiece> path,
@@ -911,7 +902,7 @@ bool Value::GetAsString(string16* out_value) const {
@@ -902,7 +893,7 @@ bool Value::GetAsString(string16* out_value) const {
bool Value::GetAsString(const Value** out_value) const {
if (out_value && is_string()) {
@ -230,7 +221,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
return true;
}
return is_string();
@@ -1309,7 +1300,9 @@ bool DictionaryValue::Get(StringPiece path,
@@ -1300,7 +1291,9 @@ bool DictionaryValue::Get(StringPiece path,
}
bool DictionaryValue::Get(StringPiece path, Value** out_value) {
@ -241,7 +232,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetBoolean(StringPiece path, bool* bool_value) const {
@@ -1382,7 +1375,8 @@ bool DictionaryValue::GetBinary(StringPiece path,
@@ -1373,7 +1366,8 @@ bool DictionaryValue::GetBinary(StringPiece path,
}
bool DictionaryValue::GetBinary(StringPiece path, Value** out_value) {
@ -251,7 +242,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetDictionary(StringPiece path,
@@ -1400,8 +1394,9 @@ bool DictionaryValue::GetDictionary(StringPiece path,
@@ -1391,8 +1385,9 @@ bool DictionaryValue::GetDictionary(StringPiece path,
bool DictionaryValue::GetDictionary(StringPiece path,
DictionaryValue** out_value) {
@ -263,7 +254,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetList(StringPiece path,
@@ -1418,8 +1413,9 @@ bool DictionaryValue::GetList(StringPiece path,
@@ -1409,8 +1404,9 @@ bool DictionaryValue::GetList(StringPiece path,
}
bool DictionaryValue::GetList(StringPiece path, ListValue** out_value) {
@ -275,7 +266,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetWithoutPathExpansion(StringPiece key,
@@ -1436,8 +1432,9 @@ bool DictionaryValue::GetWithoutPathExpansion(StringPiece key,
@@ -1427,8 +1423,9 @@ bool DictionaryValue::GetWithoutPathExpansion(StringPiece key,
bool DictionaryValue::GetWithoutPathExpansion(StringPiece key,
Value** out_value) {
@ -287,7 +278,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetBooleanWithoutPathExpansion(StringPiece key,
@@ -1503,8 +1500,11 @@ bool DictionaryValue::GetDictionaryWithoutPathExpansion(
@@ -1494,8 +1491,11 @@ bool DictionaryValue::GetDictionaryWithoutPathExpansion(
bool DictionaryValue::GetDictionaryWithoutPathExpansion(
StringPiece key,
DictionaryValue** out_value) {
@ -301,7 +292,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::GetListWithoutPathExpansion(
@@ -1523,8 +1523,10 @@ bool DictionaryValue::GetListWithoutPathExpansion(
@@ -1514,8 +1514,10 @@ bool DictionaryValue::GetListWithoutPathExpansion(
bool DictionaryValue::GetListWithoutPathExpansion(StringPiece key,
ListValue** out_value) {
@ -314,7 +305,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool DictionaryValue::Remove(StringPiece path,
@@ -1654,7 +1656,9 @@ bool ListValue::Get(size_t index, const Value** out_value) const {
@@ -1645,7 +1647,9 @@ bool ListValue::Get(size_t index, const Value** out_value) const {
}
bool ListValue::Get(size_t index, Value** out_value) {
@ -325,7 +316,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool ListValue::GetBoolean(size_t index, bool* bool_value) const {
@@ -1711,8 +1715,9 @@ bool ListValue::GetDictionary(size_t index,
@@ -1702,8 +1706,9 @@ bool ListValue::GetDictionary(size_t index,
}
bool ListValue::GetDictionary(size_t index, DictionaryValue** out_value) {
@ -337,7 +328,7 @@ index 66e8d39abf0b..c6674c3b65fb 100644
}
bool ListValue::GetList(size_t index, const ListValue** out_value) const {
@@ -1728,8 +1733,9 @@ bool ListValue::GetList(size_t index, const ListValue** out_value) const {
@@ -1719,8 +1724,9 @@ bool ListValue::GetList(size_t index, const ListValue** out_value) const {
}
bool ListValue::GetList(size_t index, ListValue** out_value) {

View File

@ -1,14 +1,14 @@
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
index 0d4e7f5d5c29..9f27c2b06c4e 100644
index e8dd7fc20903..344d73959d79 100644
--- services/service_manager/sandbox/win/sandbox_win.cc
+++ services/service_manager/sandbox/win/sandbox_win.cc
@@ -918,8 +918,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
@@ -924,8 +924,11 @@ sandbox::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.
- if (sandbox_type != SANDBOX_TYPE_NETWORK)
- if (sandbox_type != SandboxType::kNetwork)
+ if (!launcher_process_command_line.HasSwitch("win-rt-app") &&
+ sandbox_type != SANDBOX_TYPE_NETWORK) {
+ sandbox_type != SandboxType::kNetwork) {
+ // Don't enable this mitigation in WinRT apps. See issue #2274.
mitigations |= sandbox::MITIGATION_STRICT_HANDLE_CHECKS;
+ }

View File

@ -1,67 +0,0 @@
diff --git build/toolchain/win/tool_wrapper.py build/toolchain/win/tool_wrapper.py
index e5cc81b1fde7..d32cd8779948 100644
--- build/toolchain/win/tool_wrapper.py
+++ build/toolchain/win/tool_wrapper.py
@@ -17,50 +17,6 @@ import subprocess
import stat
import sys
-# Embedded vpython spec to provide `win32file` when this is invoked with
-# vpython on windows.
-#
-# [VPYTHON:BEGIN]
-# wheel: <
-# name: "infra/python/wheels/pypiwin32/${vpython_platform}"
-# version: "version:219"
-# match_tag: < platform: "win32" >
-# match_tag: < platform: "win_amd64" >
-# >
-# [VPYTHON:END]
-
-if sys.platform == "win32":
- try:
- # First, try the normal way. This will work for python installations which
- # have win32file already, or for vpython invocations of this script.
- import win32file
- except ImportError:
- # Otherwise, do a hack to locate the depot_tools specific version of
- # win32file.
- #
- # tool_wrapper.py doesn't get invoked through python.bat so the Python bin
- # directory doesn't get added to the path. The Python module search logic
- # handles this fine and finds win32file.pyd. However the Windows module
- # search logic then looks for pywintypes27.dll and other DLLs in the path
- # and if it finds versions with a different bitness first then win32file.pyd
- # will fail to load with a cryptic error:
- # ImportError: DLL load failed: %1 is not a valid Win32 application.
- if sys.platform == 'win32':
- os.environ['PATH'] = os.path.dirname(sys.executable) + \
- os.pathsep + os.environ['PATH']
- import win32file # pylint: disable=import-error
-
- def superflush(pe_name):
- # Flush the file buffers to try to work around a Windows 10 kernel bug,
- # https://crbug.com/644525
- output_handle = win32file.CreateFile(pe_name, win32file.GENERIC_WRITE,
- 0, None, win32file.OPEN_EXISTING, 0, 0)
- win32file.FlushFileBuffers(output_handle)
- output_handle.Close()
-else:
- def superflush(pe_name):
- return None
-
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
# A regex matching an argument corresponding to the output filename passed to
@@ -188,10 +144,7 @@ class WinTool(object):
not line.startswith('Generating code') and
not line.startswith('Finished generating code')):
print(line)
- result = link.wait()
- if result == 0 and sys.platform == 'win32':
- superflush(pe_name)
- return result
+ return link.wait()
def ExecAsmWrapper(self, arch, *args):
"""Filter logo banner from invocations of asm.exe."""