mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 76.0.3809.0 (#665002)
OSR tests will be fixed by a follow-up merge of Viz support (see issue #2575).
This commit is contained in:
committed by
Marshall Greenblatt
parent
5892ffc382
commit
cc0db5f166
@ -1,8 +1,8 @@
|
||||
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 e098a5261725..001670b0a7aa 100644
|
||||
index a04ca1926622..705cc77ccee0 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_child_frame.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_child_frame.cc
|
||||
@@ -649,6 +649,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
|
||||
@@ -614,6 +614,7 @@ void RenderWidgetHostViewChildFrame::SubmitCompositorFrame(
|
||||
"RenderWidgetHostViewChildFrame::OnSwapCompositorFrame");
|
||||
support_->SubmitCompositorFrame(local_surface_id, std::move(frame),
|
||||
std::move(hit_test_region_list));
|
||||
@ -10,7 +10,7 @@ index e098a5261725..001670b0a7aa 100644
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
|
||||
@@ -657,6 +658,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
|
||||
@@ -622,6 +623,15 @@ void RenderWidgetHostViewChildFrame::OnDidNotProduceFrame(
|
||||
support_->DidNotProduceFrame(ack);
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ index e098a5261725..001670b0a7aa 100644
|
||||
void RenderWidgetHostViewChildFrame::TransformPointToRootSurface(
|
||||
gfx::PointF* point) {
|
||||
// This function is called by RenderWidgetHostInputEventRouter only for
|
||||
@@ -841,6 +851,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
|
||||
@@ -806,6 +816,11 @@ void RenderWidgetHostViewChildFrame::ShowDefinitionForSelection() {
|
||||
void RenderWidgetHostViewChildFrame::SpeakSelection() {}
|
||||
#endif // defined(OS_MACOSX)
|
||||
|
||||
|
@ -12,10 +12,10 @@ 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 625566d5ad25..64e2732caf24 100644
|
||||
index 4b3f3c7e97e7..0ce693402b99 100644
|
||||
--- content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
+++ content/browser/renderer_host/browser_compositor_view_mac.mm
|
||||
@@ -84,6 +84,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() {
|
||||
@@ -85,6 +85,12 @@ DelegatedFrameHost* BrowserCompositorMac::GetDelegatedFrameHost() {
|
||||
return delegated_frame_host_.get();
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/browser_plugin/browser_plugin_guest.cc content/browser/browser_plugin/browser_plugin_guest.cc
|
||||
index 5ec2e8461380..4ba494dad4ba 100644
|
||||
index dfd38d5252a5..6c178ff2a8f4 100644
|
||||
--- content/browser/browser_plugin/browser_plugin_guest.cc
|
||||
+++ content/browser/browser_plugin/browser_plugin_guest.cc
|
||||
@@ -348,8 +348,11 @@ void BrowserPluginGuest::InitInternal(
|
||||
@@ -308,8 +308,11 @@ void BrowserPluginGuest::InitInternal(
|
||||
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ index 5ec2e8461380..4ba494dad4ba 100644
|
||||
|
||||
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
|
||||
// be attached.
|
||||
@@ -862,10 +865,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
||||
@@ -822,10 +825,19 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
||||
static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
|
||||
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
|
||||
web_contents_view->CreateViewForWidget(
|
||||
@ -37,7 +37,7 @@ index 5ec2e8461380..4ba494dad4ba 100644
|
||||
|
||||
attached_ = true;
|
||||
diff --git content/browser/frame_host/interstitial_page_impl.cc content/browser/frame_host/interstitial_page_impl.cc
|
||||
index dbc6281ef737..e413bf418b25 100644
|
||||
index 106239c65d0e..b3b3121dec54 100644
|
||||
--- content/browser/frame_host/interstitial_page_impl.cc
|
||||
+++ content/browser/frame_host/interstitial_page_impl.cc
|
||||
@@ -632,7 +632,7 @@ WebContentsView* InterstitialPageImpl::CreateWebContentsView() {
|
||||
@ -79,10 +79,10 @@ index bfb918a2cba3..a193b5a0fed8 100644
|
||||
// Creates a new View that holds a non-top-level widget and receives messages
|
||||
// for it.
|
||||
diff --git content/browser/web_contents/web_contents_view_aura.cc content/browser/web_contents/web_contents_view_aura.cc
|
||||
index 74f537d11618..85110e2e6ecf 100644
|
||||
index ee5760ecbe0f..73521279a506 100644
|
||||
--- content/browser/web_contents/web_contents_view_aura.cc
|
||||
+++ content/browser/web_contents/web_contents_view_aura.cc
|
||||
@@ -818,7 +818,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
|
||||
@@ -946,7 +946,8 @@ void WebContentsViewAura::CreateView(const gfx::Size& initial_size,
|
||||
}
|
||||
|
||||
RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
@ -92,7 +92,7 @@ index 74f537d11618..85110e2e6ecf 100644
|
||||
if (render_widget_host->GetView()) {
|
||||
// During testing, the view will already be set up in most cases to the
|
||||
// test view, so we don't want to clobber it with a real one. To verify that
|
||||
@@ -830,6 +831,7 @@ RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
@@ -958,6 +959,7 @@ RenderWidgetHostViewBase* WebContentsViewAura::CreateViewForWidget(
|
||||
render_widget_host->GetView());
|
||||
}
|
||||
|
||||
@ -101,10 +101,10 @@ index 74f537d11618..85110e2e6ecf 100644
|
||||
g_create_render_widget_host_view
|
||||
? g_create_render_widget_host_view(render_widget_host,
|
||||
diff --git content/browser/web_contents/web_contents_view_aura.h content/browser/web_contents/web_contents_view_aura.h
|
||||
index a1395dab81d4..b8c33779fef4 100644
|
||||
index 46ca496af77b..cd6ad38ab5ae 100644
|
||||
--- content/browser/web_contents/web_contents_view_aura.h
|
||||
+++ content/browser/web_contents/web_contents_view_aura.h
|
||||
@@ -109,7 +109,7 @@ class CONTENT_EXPORT WebContentsViewAura
|
||||
@@ -121,7 +121,7 @@ class CONTENT_EXPORT WebContentsViewAura
|
||||
gfx::NativeView context) override;
|
||||
RenderWidgetHostViewBase* CreateViewForWidget(
|
||||
RenderWidgetHost* render_widget_host,
|
||||
@ -140,10 +140,10 @@ index 8aaa80183dd1..b9df8a87be07 100644
|
||||
RenderWidgetHost* render_widget_host) override;
|
||||
void SetPageTitle(const base::string16& title) override;
|
||||
diff --git content/browser/web_contents/web_contents_view_guest.cc content/browser/web_contents/web_contents_view_guest.cc
|
||||
index 9d91d225fd9f..381b5a1743ae 100644
|
||||
index ecaf30bcb7b9..7c65a61fe158 100644
|
||||
--- content/browser/web_contents/web_contents_view_guest.cc
|
||||
+++ content/browser/web_contents/web_contents_view_guest.cc
|
||||
@@ -69,6 +69,8 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
|
||||
@@ -68,6 +68,8 @@ gfx::NativeWindow WebContentsViewGuest::GetTopLevelNativeWindow() const {
|
||||
|
||||
void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
|
||||
#if defined(USE_AURA)
|
||||
@ -152,16 +152,16 @@ index 9d91d225fd9f..381b5a1743ae 100644
|
||||
// In aura, ScreenPositionClient doesn't work properly if we do
|
||||
// not have the native view associated with this WebContentsViewGuest in the
|
||||
// view hierarchy. We add this view as embedder's child here.
|
||||
@@ -80,6 +82,8 @@ void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
|
||||
@@ -78,6 +80,8 @@ void WebContentsViewGuest::OnGuestAttached(WebContentsView* parent_view) {
|
||||
}
|
||||
|
||||
void WebContentsViewGuest::OnGuestDetached(WebContentsView* old_parent_view) {
|
||||
+ if (!platform_view_->GetNativeView())
|
||||
+ return;
|
||||
#if defined(USE_AURA)
|
||||
if (!features::IsMultiProcessMash()) {
|
||||
old_parent_view->GetNativeView()->RemoveChild(
|
||||
@@ -124,7 +128,8 @@ void WebContentsViewGuest::CreateView(const gfx::Size& initial_size,
|
||||
old_parent_view->GetNativeView()->RemoveChild(
|
||||
platform_view_->GetNativeView());
|
||||
@@ -120,7 +124,8 @@ void WebContentsViewGuest::CreateView(const gfx::Size& initial_size,
|
||||
}
|
||||
|
||||
RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
|
||||
@ -171,7 +171,7 @@ index 9d91d225fd9f..381b5a1743ae 100644
|
||||
if (render_widget_host->GetView()) {
|
||||
// During testing, the view will already be set up in most cases to the
|
||||
// test view, so we don't want to clobber it with a real one. To verify that
|
||||
@@ -136,11 +141,19 @@ RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
|
||||
@@ -132,11 +137,19 @@ RenderWidgetHostViewBase* WebContentsViewGuest::CreateViewForWidget(
|
||||
render_widget_host->GetView());
|
||||
}
|
||||
|
||||
@ -208,7 +208,7 @@ index 913fbc4bb00e..731a81c72803 100644
|
||||
RenderWidgetHost* render_widget_host) override;
|
||||
void SetPageTitle(const base::string16& title) override;
|
||||
diff --git content/browser/web_contents/web_contents_view_mac.h content/browser/web_contents/web_contents_view_mac.h
|
||||
index 4266d4c817d4..7bcede99bca1 100644
|
||||
index 1b577eacbcc2..f614825b14a6 100644
|
||||
--- content/browser/web_contents/web_contents_view_mac.h
|
||||
+++ content/browser/web_contents/web_contents_view_mac.h
|
||||
@@ -74,7 +74,7 @@ class WebContentsViewMac : public WebContentsView,
|
||||
@ -221,10 +221,10 @@ index 4266d4c817d4..7bcede99bca1 100644
|
||||
RenderWidgetHost* render_widget_host) override;
|
||||
void SetPageTitle(const base::string16& title) override;
|
||||
diff --git content/browser/web_contents/web_contents_view_mac.mm content/browser/web_contents/web_contents_view_mac.mm
|
||||
index 2d24491812f5..bbba45c502e5 100644
|
||||
index c6adcdd2b33e..a77289b96036 100644
|
||||
--- content/browser/web_contents/web_contents_view_mac.mm
|
||||
+++ content/browser/web_contents/web_contents_view_mac.mm
|
||||
@@ -319,7 +319,8 @@ void WebContentsViewMac::CreateView(
|
||||
@@ -323,7 +323,8 @@ void WebContentsViewMac::CreateView(
|
||||
}
|
||||
|
||||
RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
|
||||
@ -234,7 +234,7 @@ index 2d24491812f5..bbba45c502e5 100644
|
||||
if (render_widget_host->GetView()) {
|
||||
// During testing, the view will already be set up in most cases to the
|
||||
// test view, so we don't want to clobber it with a real one. To verify that
|
||||
@@ -331,6 +332,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
|
||||
@@ -335,6 +336,7 @@ RenderWidgetHostViewBase* WebContentsViewMac::CreateViewForWidget(
|
||||
render_widget_host->GetView());
|
||||
}
|
||||
|
||||
@ -243,18 +243,18 @@ index 2d24491812f5..bbba45c502e5 100644
|
||||
g_create_render_widget_host_view
|
||||
? g_create_render_widget_host_view(render_widget_host,
|
||||
diff --git content/public/browser/browser_plugin_guest_delegate.h content/public/browser/browser_plugin_guest_delegate.h
|
||||
index bf2226b53dd7..782a320ab788 100644
|
||||
index b7db83c24fc5..edf379709ec0 100644
|
||||
--- content/public/browser/browser_plugin_guest_delegate.h
|
||||
+++ content/public/browser/browser_plugin_guest_delegate.h
|
||||
@@ -19,6 +19,7 @@ namespace content {
|
||||
class GuestHost;
|
||||
@@ -20,6 +20,7 @@ class GuestHost;
|
||||
class RenderFrameHost;
|
||||
class RenderWidgetHost;
|
||||
class SiteInstance;
|
||||
+class WebContentsView;
|
||||
|
||||
// Objects implement this interface to get notified about changes in the guest
|
||||
// WebContents and to provide necessary functionality.
|
||||
@@ -67,6 +68,10 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
||||
@@ -68,6 +69,10 @@ class CONTENT_EXPORT BrowserPluginGuestDelegate {
|
||||
// content module.
|
||||
virtual void SetGuestHost(GuestHost* guest_host) {}
|
||||
|
||||
@ -266,10 +266,10 @@ index bf2226b53dd7..782a320ab788 100644
|
||||
// a BrowserPlugin even when we are using cross process frames for guests. It
|
||||
// should be removed after resolving https://crbug.com/642826).
|
||||
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 5bc11895ea38..656fa0f62114 100644
|
||||
index cf367d30422b..619c14dc05a1 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
|
||||
@@ -211,6 +211,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
@@ -233,6 +233,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
WebContents::CreateParams params(browser_context(),
|
||||
guest_site_instance.get());
|
||||
params.guest_delegate = this;
|
||||
@ -278,7 +278,7 @@ index 5bc11895ea38..656fa0f62114 100644
|
||||
// TODO(erikchen): Fix ownership semantics for guest views.
|
||||
// https://crbug.com/832879.
|
||||
std::move(callback).Run(
|
||||
@@ -255,6 +257,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
|
||||
@@ -277,6 +279,18 @@ bool MimeHandlerViewGuest::ShouldDestroyOnDetach() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -298,10 +298,10 @@ index 5bc11895ea38..656fa0f62114 100644
|
||||
WebContents* source,
|
||||
const content::OpenURLParams& params) {
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
index a0e702bdfd0c..a389ca9b948a 100644
|
||||
index 7cdbfafb8b38..be080396eaae 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h
|
||||
@@ -119,6 +119,10 @@ class MimeHandlerViewGuest
|
||||
@@ -131,6 +131,10 @@ class MimeHandlerViewGuest
|
||||
bool ZoomPropagatesFromEmbedderToGuest() const final;
|
||||
bool ShouldDestroyOnDetach() const final;
|
||||
|
||||
@ -313,11 +313,11 @@ index a0e702bdfd0c..a389ca9b948a 100644
|
||||
content::WebContents* OpenURLFromTab(
|
||||
content::WebContents* source,
|
||||
diff --git extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
index 0928bf2f44da..e9542785ec8a 100644
|
||||
index 98689e261460..c501568b6f70 100644
|
||||
--- extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
+++ extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h
|
||||
@@ -6,9 +6,9 @@
|
||||
#define EXTENSIONS_BROWSER_GUEST_VIEW_MIME_HANDLER_VIEW_MIME_HANDLER_VIEW_GUEST_DELEGATE_H_
|
||||
@@ -8,9 +8,9 @@
|
||||
#include <string>
|
||||
|
||||
#include "base/macros.h"
|
||||
+#include "content/public/browser/web_contents.h"
|
||||
@ -327,7 +327,7 @@ index 0928bf2f44da..e9542785ec8a 100644
|
||||
struct ContextMenuParams;
|
||||
} // namespace content
|
||||
|
||||
@@ -20,6 +20,14 @@ class MimeHandlerViewGuestDelegate {
|
||||
@@ -22,6 +22,14 @@ class MimeHandlerViewGuestDelegate {
|
||||
MimeHandlerViewGuestDelegate() {}
|
||||
virtual ~MimeHandlerViewGuestDelegate() {}
|
||||
|
||||
|
18
patch/patches/browser_scheduler.patch
Normal file
18
patch/patches/browser_scheduler.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff --git content/browser/scheduler/browser_task_executor.cc content/browser/scheduler/browser_task_executor.cc
|
||||
index d8739b1f3110..987472561468 100644
|
||||
--- content/browser/scheduler/browser_task_executor.cc
|
||||
+++ content/browser/scheduler/browser_task_executor.cc
|
||||
@@ -133,10 +133,11 @@ void BrowserTaskExecutor::PostFeatureListSetup() {
|
||||
|
||||
// static
|
||||
void BrowserTaskExecutor::Shutdown() {
|
||||
- if (!g_browser_task_executor)
|
||||
+ if (!g_browser_task_executor ||
|
||||
+ !g_browser_task_executor->browser_ui_thread_scheduler_) {
|
||||
return;
|
||||
+ }
|
||||
|
||||
- DCHECK(g_browser_task_executor->browser_ui_thread_scheduler_);
|
||||
// We don't delete |g_browser_task_executor| because other threads may
|
||||
// PostTask or call BrowserTaskExecutor::GetTaskRunner while we're tearing
|
||||
// things down. We don't want to add locks so we just leak instead of dealing
|
@ -1,5 +1,5 @@
|
||||
diff --git build/config/compiler/BUILD.gn build/config/compiler/BUILD.gn
|
||||
index 4b24c762b6e9..d2fd1fc5d414 100644
|
||||
index a3f21b7ef850..882b4a38d14c 100644
|
||||
--- build/config/compiler/BUILD.gn
|
||||
+++ build/config/compiler/BUILD.gn
|
||||
@@ -157,7 +157,7 @@ declare_args() {
|
||||
@ -11,7 +11,7 @@ index 4b24c762b6e9..d2fd1fc5d414 100644
|
||||
!(current_cpu == "x86" || current_cpu == "x64"))))
|
||||
}
|
||||
|
||||
@@ -1701,8 +1701,6 @@ config("thin_archive") {
|
||||
@@ -1703,8 +1703,6 @@ config("thin_archive") {
|
||||
# archive names to 16 characters, which is not what we want).
|
||||
if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) {
|
||||
arflags = [ "-T" ]
|
||||
|
@ -1,24 +1,24 @@
|
||||
diff --git chrome/browser/BUILD.gn chrome/browser/BUILD.gn
|
||||
index 987b36217aad..832eab3ee56a 100644
|
||||
index 04aff03b621d..7e887b89a6d8 100644
|
||||
--- chrome/browser/BUILD.gn
|
||||
+++ chrome/browser/BUILD.gn
|
||||
@@ -8,6 +8,7 @@ import("//build/config/features.gni")
|
||||
import("//build/config/jumbo.gni")
|
||||
@@ -9,6 +9,7 @@ import("//build/config/jumbo.gni")
|
||||
import("//build/config/linux/gtk/gtk.gni")
|
||||
import("//build/config/ui.gni")
|
||||
import("//build/split_static_library.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//components/feature_engagement/features.gni")
|
||||
import("//components/feed/features.gni")
|
||||
@@ -1811,6 +1812,7 @@ jumbo_split_static_library("browser") {
|
||||
"//base:i18n",
|
||||
@@ -1849,6 +1850,7 @@ jumbo_split_static_library("browser") {
|
||||
"//base/allocator:buildflags",
|
||||
"//base/util/values:values_util",
|
||||
"//cc",
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2111,6 +2113,10 @@ jumbo_split_static_library("browser") {
|
||||
@@ -2154,6 +2156,10 @@ jumbo_split_static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
@ -29,12 +29,3 @@ index 987b36217aad..832eab3ee56a 100644
|
||||
if (is_android) {
|
||||
sources += [
|
||||
"after_startup_task_utils_android.cc",
|
||||
@@ -3916,7 +3922,7 @@ jumbo_split_static_library("browser") {
|
||||
]
|
||||
}
|
||||
|
||||
- if (use_aura && !use_ozone && is_desktop_linux) {
|
||||
+ if (use_aura && !use_ozone && is_desktop_linux && use_gtk) {
|
||||
deps += [ "//chrome/browser/ui/libgtkui" ]
|
||||
}
|
||||
|
||||
|
@ -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 8d55c77443cd..a8314498c93f 100644
|
||||
index bcc5cfe3b483..7798026b7a3a 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 @@
|
||||
@ -36,7 +36,7 @@ index 8d55c77443cd..a8314498c93f 100644
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -90,10 +101,16 @@ scoped_refptr<RefcountedKeyedService>
|
||||
@@ -89,10 +100,16 @@ scoped_refptr<RefcountedKeyedService>
|
||||
base::FeatureList::IsEnabled(features::kPermissionDelegation)));
|
||||
|
||||
#if BUILDFLAG(ENABLE_EXTENSIONS)
|
||||
|
@ -1,10 +1,10 @@
|
||||
diff --git chrome/browser/browser_process.h chrome/browser/browser_process.h
|
||||
index cac72c6a2fd1..2ed83a4af1b3 100644
|
||||
index 761d300aa06b..f86558dd6efc 100644
|
||||
--- chrome/browser/browser_process.h
|
||||
+++ chrome/browser/browser_process.h
|
||||
@@ -39,6 +39,10 @@ class SystemNetworkContextManager;
|
||||
class WatchDogThread;
|
||||
@@ -40,6 +40,10 @@ class WatchDogThread;
|
||||
class WebRtcLogUploader;
|
||||
class StartupData;
|
||||
|
||||
+namespace net_log {
|
||||
+class NetExportFileWriter;
|
||||
@ -13,7 +13,7 @@ index cac72c6a2fd1..2ed83a4af1b3 100644
|
||||
namespace network {
|
||||
class NetworkQualityTracker;
|
||||
class SharedURLLoaderFactory;
|
||||
@@ -183,6 +187,9 @@ class BrowserProcess {
|
||||
@@ -184,6 +188,9 @@ class BrowserProcess {
|
||||
// backed by the IOThread's URLRequestContext.
|
||||
virtual SystemNetworkContextManager* system_network_context_manager() = 0;
|
||||
|
||||
@ -24,10 +24,10 @@ index cac72c6a2fd1..2ed83a4af1b3 100644
|
||||
// network quality change events.
|
||||
virtual network::NetworkQualityTracker* network_quality_tracker() = 0;
|
||||
diff --git chrome/browser/browser_process_impl.cc chrome/browser/browser_process_impl.cc
|
||||
index 0b15890653cb..175eb09c6dc7 100644
|
||||
index c2e0b9172eb2..57c22ff16f4b 100644
|
||||
--- chrome/browser/browser_process_impl.cc
|
||||
+++ chrome/browser/browser_process_impl.cc
|
||||
@@ -681,6 +681,10 @@ BrowserProcessImpl::system_network_context_manager() {
|
||||
@@ -683,6 +683,10 @@ BrowserProcessImpl::system_network_context_manager() {
|
||||
return SystemNetworkContextManager::GetInstance();
|
||||
}
|
||||
|
||||
@ -39,10 +39,10 @@ index 0b15890653cb..175eb09c6dc7 100644
|
||||
BrowserProcessImpl::shared_url_loader_factory() {
|
||||
return system_network_context_manager()->GetSharedURLLoaderFactory();
|
||||
diff --git chrome/browser/browser_process_impl.h chrome/browser/browser_process_impl.h
|
||||
index 6c8e21f6f5fe..4496c5579265 100644
|
||||
index 95a7bd8e8b58..af7685f86848 100644
|
||||
--- chrome/browser/browser_process_impl.h
|
||||
+++ chrome/browser/browser_process_impl.h
|
||||
@@ -141,6 +141,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
@@ -142,6 +142,7 @@ class BrowserProcessImpl : public BrowserProcess,
|
||||
// TODO(qinmin): Remove this method as callers can retrieve the global
|
||||
// instance from SystemNetworkContextManager directly.
|
||||
SystemNetworkContextManager* system_network_context_manager() override;
|
||||
@ -51,18 +51,18 @@ index 6c8e21f6f5fe..4496c5579265 100644
|
||||
override;
|
||||
network::NetworkQualityTracker* network_quality_tracker() override;
|
||||
diff --git chrome/browser/ui/BUILD.gn chrome/browser/ui/BUILD.gn
|
||||
index 535c4f04c0f3..8cd8768022ae 100644
|
||||
index 6bd5bea7ddb0..076306275b5b 100644
|
||||
--- chrome/browser/ui/BUILD.gn
|
||||
+++ chrome/browser/ui/BUILD.gn
|
||||
@@ -9,6 +9,7 @@ import("//build/config/features.gni")
|
||||
import("//build/config/jumbo.gni")
|
||||
@@ -10,6 +10,7 @@ import("//build/config/jumbo.gni")
|
||||
import("//build/config/linux/gtk/gtk.gni")
|
||||
import("//build/config/ui.gni")
|
||||
import("//build/split_static_library.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/common/features.gni")
|
||||
import("//chromeos/assistant/assistant.gni")
|
||||
import("//components/feature_engagement/features.gni")
|
||||
@@ -351,6 +352,10 @@ jumbo_split_static_library("ui") {
|
||||
@@ -357,6 +358,10 @@ jumbo_split_static_library("ui") {
|
||||
"//build/config/compiler:wexit_time_destructors",
|
||||
]
|
||||
|
||||
@ -73,7 +73,7 @@ index 535c4f04c0f3..8cd8768022ae 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
|
||||
@@ -368,6 +373,7 @@ jumbo_split_static_library("ui") {
|
||||
@@ -374,6 +379,7 @@ jumbo_split_static_library("ui") {
|
||||
"//base:i18n",
|
||||
"//base/allocator:buildflags",
|
||||
"//cc/paint",
|
||||
@ -81,17 +81,8 @@ index 535c4f04c0f3..8cd8768022ae 100644
|
||||
"//chrome:extra_resources",
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
@@ -2347,7 +2353,7 @@ jumbo_split_static_library("ui") {
|
||||
"views/frame/native_browser_frame_factory_ozone.cc",
|
||||
]
|
||||
} else {
|
||||
- if (use_aura) {
|
||||
+ if (use_aura && use_gtk) {
|
||||
# This is the only component that can interact with gtk.
|
||||
deps += [ "//chrome/browser/ui/libgtkui" ]
|
||||
}
|
||||
diff --git chrome/browser/ui/webui/net_export_ui.cc chrome/browser/ui/webui/net_export_ui.cc
|
||||
index 6357cea3ca36..9ac953d5a885 100644
|
||||
index 1b9b3d857f47..84b875f0e01d 100644
|
||||
--- chrome/browser/ui/webui/net_export_ui.cc
|
||||
+++ chrome/browser/ui/webui/net_export_ui.cc
|
||||
@@ -20,14 +20,13 @@
|
||||
@ -125,7 +116,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
#if defined(OS_ANDROID)
|
||||
#include "chrome/browser/android/intent_helper.h"
|
||||
@@ -69,6 +75,7 @@ content::WebUIDataSource* CreateNetExportHTMLSource() {
|
||||
@@ -68,6 +74,7 @@ content::WebUIDataSource* CreateNetExportHTMLSource() {
|
||||
return source;
|
||||
}
|
||||
|
||||
@ -133,7 +124,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
void SetIfNotNull(base::DictionaryValue* dict,
|
||||
const base::StringPiece& path,
|
||||
std::unique_ptr<base::Value> in_value) {
|
||||
@@ -76,6 +83,7 @@ void SetIfNotNull(base::DictionaryValue* dict,
|
||||
@@ -75,6 +82,7 @@ void SetIfNotNull(base::DictionaryValue* dict,
|
||||
dict->Set(path, std::move(in_value));
|
||||
}
|
||||
}
|
||||
@ -141,7 +132,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
// This class receives javascript messages from the renderer.
|
||||
// Note that the WebUI infrastructure runs on the UI thread, therefore all of
|
||||
@@ -83,7 +91,9 @@ void SetIfNotNull(base::DictionaryValue* dict,
|
||||
@@ -82,7 +90,9 @@ void SetIfNotNull(base::DictionaryValue* dict,
|
||||
class NetExportMessageHandler
|
||||
: public WebUIMessageHandler,
|
||||
public base::SupportsWeakPtr<NetExportMessageHandler>,
|
||||
@ -151,7 +142,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
public net_log::NetExportFileWriter::StateObserver {
|
||||
public:
|
||||
NetExportMessageHandler();
|
||||
@@ -99,11 +109,13 @@ class NetExportMessageHandler
|
||||
@@ -98,11 +108,13 @@ class NetExportMessageHandler
|
||||
void OnSendNetLog(const base::ListValue* list);
|
||||
void OnShowFile(const base::ListValue* list);
|
||||
|
||||
@ -165,7 +156,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
// net_log::NetExportFileWriter::StateObserver implementation.
|
||||
void OnNewState(const base::DictionaryValue& state) override;
|
||||
@@ -133,9 +145,16 @@ class NetExportMessageHandler
|
||||
@@ -132,9 +144,16 @@ class NetExportMessageHandler
|
||||
// renderer.
|
||||
void NotifyUIWithState(std::unique_ptr<base::DictionaryValue> state);
|
||||
|
||||
@ -182,7 +173,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
// Cached pointer to SystemNetworkContextManager's NetExportFileWriter.
|
||||
net_log::NetExportFileWriter* file_writer_;
|
||||
@@ -151,7 +170,9 @@ class NetExportMessageHandler
|
||||
@@ -150,7 +169,9 @@ class NetExportMessageHandler
|
||||
net::NetLogCaptureMode capture_mode_;
|
||||
uint64_t max_log_file_size_;
|
||||
|
||||
@ -192,7 +183,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
base::WeakPtrFactory<NetExportMessageHandler> weak_ptr_factory_;
|
||||
|
||||
@@ -159,8 +180,7 @@ class NetExportMessageHandler
|
||||
@@ -158,8 +179,7 @@ class NetExportMessageHandler
|
||||
};
|
||||
|
||||
NetExportMessageHandler::NetExportMessageHandler()
|
||||
@ -202,7 +193,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
state_observer_manager_(this),
|
||||
weak_ptr_factory_(this) {
|
||||
file_writer_->Initialize();
|
||||
@@ -169,8 +189,10 @@ NetExportMessageHandler::NetExportMessageHandler()
|
||||
@@ -168,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.
|
||||
@ -213,7 +204,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
file_writer_->StopNetLog(nullptr);
|
||||
}
|
||||
@@ -233,6 +255,7 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
|
||||
@@ -232,6 +254,7 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
|
||||
if (UsingMobileUI()) {
|
||||
StartNetLog(base::FilePath());
|
||||
} else {
|
||||
@ -221,7 +212,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
base::FilePath initial_dir = last_save_dir.Pointer()->empty() ?
|
||||
DownloadPrefs::FromBrowserContext(
|
||||
web_ui()->GetWebContents()->GetBrowserContext())->DownloadPath() :
|
||||
@@ -240,6 +263,9 @@ void NetExportMessageHandler::OnStartNetLog(const base::ListValue* list) {
|
||||
@@ -239,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);
|
||||
@ -231,7 +222,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -249,6 +275,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
|
||||
@@ -248,6 +274,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
|
||||
std::unique_ptr<base::DictionaryValue> ui_thread_polled_data(
|
||||
new base::DictionaryValue());
|
||||
|
||||
@ -239,7 +230,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
Profile* profile = Profile::FromWebUI(web_ui());
|
||||
SetIfNotNull(ui_thread_polled_data.get(), "prerenderInfo",
|
||||
chrome_browser_net::GetPrerenderInfo(profile));
|
||||
@@ -258,6 +285,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
|
||||
@@ -257,6 +284,7 @@ void NetExportMessageHandler::OnStopNetLog(const base::ListValue* list) {
|
||||
SetIfNotNull(ui_thread_polled_data.get(), "serviceProviders",
|
||||
chrome_browser_net::GetWindowsServiceProviders());
|
||||
#endif
|
||||
@ -247,7 +238,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
file_writer_->StopNetLog(std::move(ui_thread_polled_data));
|
||||
}
|
||||
@@ -274,6 +302,7 @@ void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
|
||||
@@ -273,6 +301,7 @@ void NetExportMessageHandler::OnShowFile(const base::ListValue* list) {
|
||||
base::Bind(&NetExportMessageHandler::ShowFileInShell, AsWeakPtr()));
|
||||
}
|
||||
|
||||
@ -255,7 +246,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
void NetExportMessageHandler::FileSelected(const base::FilePath& path,
|
||||
int index,
|
||||
void* params) {
|
||||
@@ -292,6 +321,7 @@ void NetExportMessageHandler::FileSelectionCanceled(void* params) {
|
||||
@@ -291,6 +320,7 @@ void NetExportMessageHandler::FileSelectionCanceled(void* params) {
|
||||
DCHECK(select_file_dialog_);
|
||||
select_file_dialog_ = nullptr;
|
||||
}
|
||||
@ -263,7 +254,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
|
||||
void NetExportMessageHandler::OnNewState(const base::DictionaryValue& state) {
|
||||
NotifyUIWithState(state.CreateDeepCopy());
|
||||
@@ -356,6 +386,7 @@ void NetExportMessageHandler::NotifyUIWithState(
|
||||
@@ -355,6 +385,7 @@ void NetExportMessageHandler::NotifyUIWithState(
|
||||
*state);
|
||||
}
|
||||
|
||||
@ -271,7 +262,7 @@ index 6357cea3ca36..9ac953d5a885 100644
|
||||
void NetExportMessageHandler::ShowSelectFileDialog(
|
||||
const base::FilePath& default_path) {
|
||||
// User may have clicked more than once before the save dialog appears.
|
||||
@@ -374,6 +405,43 @@ void NetExportMessageHandler::ShowSelectFileDialog(
|
||||
@@ -373,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);
|
||||
}
|
||||
|
@ -1,31 +1,38 @@
|
||||
diff --git chrome/browser/chrome_content_browser_client.cc chrome/browser/chrome_content_browser_client.cc
|
||||
index cf4250c7ba26..b8a05db7cced 100644
|
||||
index b5c53b099bb2..56aa2e75b114 100644
|
||||
--- chrome/browser/chrome_content_browser_client.cc
|
||||
+++ chrome/browser/chrome_content_browser_client.cc
|
||||
@@ -1049,12 +1049,16 @@ void LaunchURL(
|
||||
@@ -1079,10 +1079,6 @@ void LaunchURL(
|
||||
}
|
||||
}
|
||||
|
||||
+} // namespace
|
||||
+
|
||||
std::string GetProduct() {
|
||||
-std::string GetProduct() {
|
||||
- return version_info::GetProductNameAndVersionForUserAgent();
|
||||
-}
|
||||
-
|
||||
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
|
||||
@@ -1100,6 +1096,14 @@ void MaybeAppendSecureOriginsAllowlistSwitch(base::CommandLine* cmdline) {
|
||||
|
||||
} // namespace
|
||||
|
||||
+std::string GetProduct() {
|
||||
+ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
|
||||
+ if (command_line->HasSwitch(switches::kProductVersion))
|
||||
+ return command_line->GetSwitchValueASCII(switches::kProductVersion);
|
||||
+
|
||||
return version_info::GetProductNameAndVersionForUserAgent();
|
||||
}
|
||||
|
||||
-} // namespace
|
||||
-
|
||||
+ return version_info::GetProductNameAndVersionForUserAgent();
|
||||
+}
|
||||
+
|
||||
std::string GetUserAgent() {
|
||||
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 07e0e051ff1d..41337a1719a1 100644
|
||||
index 499af0b670a1..dc6247946b8a 100644
|
||||
--- chrome/browser/chrome_content_browser_client.h
|
||||
+++ chrome/browser/chrome_content_browser_client.h
|
||||
@@ -77,7 +77,8 @@ class Origin;
|
||||
@@ -79,7 +79,8 @@ class Origin;
|
||||
|
||||
class ChromeSerialDelegate;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/profiles/profile_manager.cc chrome/browser/profiles/profile_manager.cc
|
||||
index 376d23b7ca93..87b6418e8782 100644
|
||||
index 4cce9ca9fbf1..b1d578c0f8c2 100644
|
||||
--- chrome/browser/profiles/profile_manager.cc
|
||||
+++ chrome/browser/profiles/profile_manager.cc
|
||||
@@ -385,7 +385,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
@@ -388,7 +388,7 @@ ProfileManager::ProfileManager(const base::FilePath& user_data_dir)
|
||||
chrome::NOTIFICATION_BROWSER_CLOSE_CANCELLED,
|
||||
content::NotificationService::AllSources());
|
||||
|
||||
@ -12,7 +12,7 @@ index 376d23b7ca93..87b6418e8782 100644
|
||||
}
|
||||
|
||||
diff --git chrome/browser/profiles/profile_manager.h chrome/browser/profiles/profile_manager.h
|
||||
index 49a5dc4bca1e..a256899483d3 100644
|
||||
index 257e27caed9f..4d0c4fe116c6 100644
|
||||
--- chrome/browser/profiles/profile_manager.h
|
||||
+++ chrome/browser/profiles/profile_manager.h
|
||||
@@ -92,7 +92,7 @@ class ProfileManager : public content::NotificationObserver,
|
||||
|
@ -182,10 +182,10 @@ index 01ea0ba7f0cb..2828896bbcad 100644
|
||||
}
|
||||
|
||||
diff --git chrome/renderer/chrome_content_renderer_client.cc chrome/renderer/chrome_content_renderer_client.cc
|
||||
index 202376e2548e..15a7bd34cf48 100644
|
||||
index 4f04b84e4899..e4f6ee474393 100644
|
||||
--- chrome/renderer/chrome_content_renderer_client.cc
|
||||
+++ chrome/renderer/chrome_content_renderer_client.cc
|
||||
@@ -758,6 +758,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -775,6 +775,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
|
||||
if ((status == chrome::mojom::PluginStatus::kUnauthorized ||
|
||||
status == chrome::mojom::PluginStatus::kBlocked) &&
|
||||
@ -193,7 +193,7 @@ index 202376e2548e..15a7bd34cf48 100644
|
||||
observer->IsPluginTemporarilyAllowed(identifier)) {
|
||||
status = chrome::mojom::PluginStatus::kAllowed;
|
||||
}
|
||||
@@ -942,7 +943,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -967,7 +968,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
render_frame->GetRemoteAssociatedInterfaces()->GetInterface(
|
||||
&plugin_auth_host);
|
||||
plugin_auth_host->BlockedUnauthorizedPlugin(group_name, identifier);
|
||||
@ -203,7 +203,7 @@ index 202376e2548e..15a7bd34cf48 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlocked: {
|
||||
@@ -951,7 +953,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -976,7 +978,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED, group_name));
|
||||
placeholder->AllowLoading();
|
||||
RenderThread::Get()->RecordAction(UserMetricsAction("Plugin_Blocked"));
|
||||
@ -213,7 +213,7 @@ index 202376e2548e..15a7bd34cf48 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedByPolicy: {
|
||||
@@ -961,7 +964,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -986,7 +989,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
group_name));
|
||||
RenderThread::Get()->RecordAction(
|
||||
UserMetricsAction("Plugin_BlockedByPolicy"));
|
||||
@ -223,7 +223,7 @@ index 202376e2548e..15a7bd34cf48 100644
|
||||
break;
|
||||
}
|
||||
case chrome::mojom::PluginStatus::kBlockedNoLoading: {
|
||||
@@ -969,7 +973,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
@@ -994,7 +998,8 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
|
||||
IDR_BLOCKED_PLUGIN_HTML,
|
||||
l10n_util::GetStringFUTF16(IDS_PLUGIN_BLOCKED_NO_LOADING,
|
||||
group_name));
|
||||
|
16
patch/patches/chrome_pref_watcher.patch
Normal file
16
patch/patches/chrome_pref_watcher.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git chrome/browser/ui/prefs/pref_watcher.h chrome/browser/ui/prefs/pref_watcher.h
|
||||
index b5ccdc521a36..716117c141cc 100644
|
||||
--- chrome/browser/ui/prefs/pref_watcher.h
|
||||
+++ chrome/browser/ui/prefs/pref_watcher.h
|
||||
@@ -29,10 +29,10 @@ class PrefWatcher : public KeyedService {
|
||||
void RegisterRendererPreferenceWatcher(
|
||||
blink::mojom::RendererPreferenceWatcherPtr watcher);
|
||||
|
||||
- private:
|
||||
// KeyedService overrides:
|
||||
void Shutdown() override;
|
||||
|
||||
+ private:
|
||||
void UpdateRendererPreferences();
|
||||
void OnWebPrefChanged(const std::string& pref_name);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/renderer/BUILD.gn chrome/renderer/BUILD.gn
|
||||
index 44798c35c1e7..88a7639a96d9 100644
|
||||
index e5f98be28775..a1d2697affc8 100644
|
||||
--- chrome/renderer/BUILD.gn
|
||||
+++ chrome/renderer/BUILD.gn
|
||||
@@ -4,6 +4,7 @@
|
||||
@ -10,7 +10,7 @@ index 44798c35c1e7..88a7639a96d9 100644
|
||||
import("//chrome/common/features.gni")
|
||||
import("//components/nacl/features.gni")
|
||||
import("//components/offline_pages/buildflags/features.gni")
|
||||
@@ -121,6 +122,7 @@ jumbo_static_library("renderer") {
|
||||
@@ -127,6 +128,7 @@ jumbo_static_library("renderer") {
|
||||
defines = []
|
||||
|
||||
deps = [
|
||||
@ -18,7 +18,7 @@ index 44798c35c1e7..88a7639a96d9 100644
|
||||
"//chrome:resources",
|
||||
"//chrome:strings",
|
||||
"//chrome/common",
|
||||
@@ -187,6 +189,10 @@ jumbo_static_library("renderer") {
|
||||
@@ -193,6 +195,10 @@ jumbo_static_library("renderer") {
|
||||
|
||||
configs += [ "//build/config/compiler:wexit_time_destructors" ]
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git chrome/common/chrome_content_client.cc chrome/common/chrome_content_client.cc
|
||||
index 406683776819..d8bf3372dd60 100644
|
||||
index 1db1b55b6da0..41187edcf3e1 100644
|
||||
--- chrome/common/chrome_content_client.cc
|
||||
+++ chrome/common/chrome_content_client.cc
|
||||
@@ -97,7 +97,8 @@
|
||||
|
@ -13,7 +13,7 @@ index 864f2a5a315a..78b71d523e86 100644
|
||||
explicit ContentServiceManagerMainDelegate(const ContentMainParams& params);
|
||||
~ContentServiceManagerMainDelegate() override;
|
||||
diff --git content/browser/devtools/devtools_instrumentation.h content/browser/devtools/devtools_instrumentation.h
|
||||
index 605e388043ac..4566dd95f0b8 100644
|
||||
index 0ef3544d94bd..b27ea95697fb 100644
|
||||
--- content/browser/devtools/devtools_instrumentation.h
|
||||
+++ content/browser/devtools/devtools_instrumentation.h
|
||||
@@ -12,6 +12,7 @@
|
||||
@ -69,7 +69,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 c62ad20e5ef9..6e43db6a2fda 100644
|
||||
index 1abc6a3a8e11..e885e78c4d54 100644
|
||||
--- third_party/blink/renderer/controller/BUILD.gn
|
||||
+++ third_party/blink/renderer/controller/BUILD.gn
|
||||
@@ -26,6 +26,7 @@ jumbo_component("controller") {
|
||||
|
@ -1,15 +0,0 @@
|
||||
diff --git cc/scheduler/compositor_frame_reporting_controller.cc cc/scheduler/compositor_frame_reporting_controller.cc
|
||||
index f1587ed158d4..1b17021fd229 100644
|
||||
--- cc/scheduler/compositor_frame_reporting_controller.cc
|
||||
+++ cc/scheduler/compositor_frame_reporting_controller.cc
|
||||
@@ -31,8 +31,8 @@ void CompositorFrameReportingController::WillBeginImplFrame() {
|
||||
|
||||
void CompositorFrameReportingController::WillBeginMainFrame() {
|
||||
DCHECK(reporters_[PipelineStage::kBeginImplFrame]);
|
||||
- DCHECK_NE(reporters_[PipelineStage::kBeginMainFrame],
|
||||
- reporters_[PipelineStage::kBeginImplFrame]);
|
||||
+ DCHECK(reporters_[PipelineStage::kBeginMainFrame] !=
|
||||
+ reporters_[PipelineStage::kBeginImplFrame]);
|
||||
reporters_[PipelineStage::kBeginImplFrame]->StartStage(
|
||||
"SendBeginMainFrameToCommit");
|
||||
AdvanceReporterStage(PipelineStage::kBeginImplFrame,
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/download/download_target_determiner.cc chrome/browser/download/download_target_determiner.cc
|
||||
index 010f9511741c..a777f2d7a106 100644
|
||||
index 3947d9d92ab4..00b5b3edf84a 100644
|
||||
--- chrome/browser/download/download_target_determiner.cc
|
||||
+++ chrome/browser/download/download_target_determiner.cc
|
||||
@@ -602,8 +602,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
|
||||
@@ -634,8 +634,8 @@ void IsHandledBySafePlugin(content::ResourceContext* resource_context,
|
||||
content::PluginService* plugin_service =
|
||||
content::PluginService::GetInstance();
|
||||
bool plugin_found = plugin_service->GetPluginInfo(
|
||||
@ -53,7 +53,7 @@ index 2eb7f21919fd..4218d3352d70 100644
|
||||
}
|
||||
#endif
|
||||
diff --git chrome/browser/ui/views/frame/browser_root_view.cc chrome/browser/ui/views/frame/browser_root_view.cc
|
||||
index be77d0e074e9..949873b9bb22 100644
|
||||
index 39f6dcaf9fce..faf7bd250c3c 100644
|
||||
--- chrome/browser/ui/views/frame/browser_root_view.cc
|
||||
+++ chrome/browser/ui/views/frame/browser_root_view.cc
|
||||
@@ -70,7 +70,7 @@ void OnFindURLMimeType(const GURL& url,
|
||||
@ -66,7 +66,7 @@ index be77d0e074e9..949873b9bb22 100644
|
||||
}
|
||||
|
||||
diff --git content/browser/devtools/devtools_http_handler.cc content/browser/devtools/devtools_http_handler.cc
|
||||
index 94892dd57d36..1d4036fdedf8 100644
|
||||
index 30b2a43959da..7dbe5aad8bd2 100644
|
||||
--- content/browser/devtools/devtools_http_handler.cc
|
||||
+++ content/browser/devtools/devtools_http_handler.cc
|
||||
@@ -572,7 +572,7 @@ void DevToolsHttpHandler::OnJsonRequest(
|
||||
@ -79,10 +79,10 @@ index 94892dd57d36..1d4036fdedf8 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 5cadc6afb658..f30c0b60285b 100644
|
||||
index 3bdd59c38012..9df67bd208b9 100644
|
||||
--- content/browser/frame_host/render_frame_message_filter.cc
|
||||
+++ content/browser/frame_host/render_frame_message_filter.cc
|
||||
@@ -705,6 +705,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
|
||||
@@ -809,6 +809,7 @@ void RenderFrameMessageFilter::GetCookies(int render_frame_id,
|
||||
void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
int render_frame_id,
|
||||
const GURL& url,
|
||||
@ -90,7 +90,7 @@ index 5cadc6afb658..f30c0b60285b 100644
|
||||
const url::Origin& main_frame_origin,
|
||||
const std::string& mime_type,
|
||||
bool* found,
|
||||
@@ -716,8 +717,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
@@ -820,8 +821,8 @@ void RenderFrameMessageFilter::OnGetPluginInfo(
|
||||
bool allow_wildcard = true;
|
||||
*found = plugin_service_->GetPluginInfo(
|
||||
render_process_id_, render_frame_id, resource_context_, url,
|
||||
@ -129,12 +129,12 @@ index 7b73b2a8a838..da5aacc31910 100644
|
||||
if (stale) {
|
||||
// Refresh the plugins asynchronously.
|
||||
diff --git content/browser/loader/navigation_url_loader_impl.cc content/browser/loader/navigation_url_loader_impl.cc
|
||||
index 0010982ecf26..b32f3b14e0c0 100644
|
||||
index 052c66044997..9501b0c242cb 100644
|
||||
--- content/browser/loader/navigation_url_loader_impl.cc
|
||||
+++ content/browser/loader/navigation_url_loader_impl.cc
|
||||
@@ -896,6 +896,12 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
|
||||
resource_request_->has_user_gesture, resource_request_->method,
|
||||
resource_request_->headers, &proxied_factory_request_,
|
||||
@@ -905,6 +905,12 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
|
||||
static_cast<ui::PageTransition>(resource_request_->transition_type),
|
||||
resource_request_->has_user_gesture, &proxied_factory_request_,
|
||||
external_protocol_factory);
|
||||
+ if (!handled) {
|
||||
+ handled = GetContentClient()->browser()->HandleExternalProtocol(
|
||||
@ -145,7 +145,7 @@ index 0010982ecf26..b32f3b14e0c0 100644
|
||||
|
||||
if (external_protocol_factory) {
|
||||
factory =
|
||||
@@ -1137,7 +1143,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
|
||||
@@ -1146,7 +1152,7 @@ class NavigationURLLoaderImpl::URLLoaderRequestController
|
||||
// path does as well for navigations.
|
||||
bool has_plugin = PluginService::GetInstance()->GetPluginInfo(
|
||||
-1 /* render_process_id */, -1 /* render_frame_id */, resource_context_,
|
||||
@ -189,7 +189,7 @@ index cb19abcd26b8..12d66dd7db6e 100644
|
||||
const std::string& mime_type,
|
||||
bool allow_wildcard,
|
||||
diff --git content/browser/renderer_host/plugin_registry_impl.cc content/browser/renderer_host/plugin_registry_impl.cc
|
||||
index 427e1cb8946c..2f00734e9dfc 100644
|
||||
index 8dd463f4165f..e0d0e951ec8b 100644
|
||||
--- content/browser/renderer_host/plugin_registry_impl.cc
|
||||
+++ content/browser/renderer_host/plugin_registry_impl.cc
|
||||
@@ -27,6 +27,7 @@ void PluginRegistryImpl::Bind(blink::mojom::PluginRegistryRequest request) {
|
||||
@ -214,7 +214,7 @@ index 427e1cb8946c..2f00734e9dfc 100644
|
||||
GetPluginsCallback callback,
|
||||
const std::vector<WebPluginInfo>& all_plugins) {
|
||||
@@ -61,7 +63,7 @@ void PluginRegistryImpl::GetPluginsComplete(
|
||||
GetContentClient()->browser()->GetMimeHandlerViewMimeTypes(
|
||||
GetContentClient()->browser()->GetPluginMimeTypesWithExternalHandlers(
|
||||
resource_context_);
|
||||
|
||||
- const int child_process_id = -1;
|
||||
@ -262,10 +262,10 @@ index 3009401dac6b..b4c5a9e2db50 100644
|
||||
};
|
||||
|
||||
diff --git content/common/frame_messages.h content/common/frame_messages.h
|
||||
index 8673d65844ea..7d13c72dca9b 100644
|
||||
index c81c9fb4251c..3f266302f4e0 100644
|
||||
--- content/common/frame_messages.h
|
||||
+++ content/common/frame_messages.h
|
||||
@@ -1286,9 +1286,10 @@ IPC_MESSAGE_ROUTED1(FrameHostMsg_PepperStopsPlayback,
|
||||
@@ -1266,9 +1266,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.
|
||||
@ -278,10 +278,10 @@ index 8673d65844ea..7d13c72dca9b 100644
|
||||
std::string /* mime_type */,
|
||||
bool /* found */,
|
||||
diff --git content/public/browser/content_browser_client.h content/public/browser/content_browser_client.h
|
||||
index 0a1bf5d0b4d1..6dea4f0f4a44 100644
|
||||
index 1a16897afa44..12439a93b151 100644
|
||||
--- content/public/browser/content_browser_client.h
|
||||
+++ content/public/browser/content_browser_client.h
|
||||
@@ -1460,6 +1460,15 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1437,6 +1437,15 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
network::mojom::URLLoaderFactoryRequest* factory_request,
|
||||
network::mojom::URLLoaderFactory*& out_factory);
|
||||
|
||||
@ -297,7 +297,7 @@ index 0a1bf5d0b4d1..6dea4f0f4a44 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.
|
||||
@@ -1527,6 +1536,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
@@ -1504,6 +1513,10 @@ class CONTENT_EXPORT ContentBrowserClient {
|
||||
// Used as part of the user agent string.
|
||||
virtual std::string GetProduct() const;
|
||||
|
||||
@ -333,10 +333,10 @@ index 3b610b1f554e..7c439e060779 100644
|
||||
WebPluginInfo* plugin) = 0;
|
||||
|
||||
diff --git content/public/renderer/content_renderer_client.h content/public/renderer/content_renderer_client.h
|
||||
index fad5f104f011..fd7ecbcd48b8 100644
|
||||
index 31fcd7d89bf8..9421e8a5db77 100644
|
||||
--- content/public/renderer/content_renderer_client.h
|
||||
+++ content/public/renderer/content_renderer_client.h
|
||||
@@ -73,6 +73,9 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -74,6 +74,9 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// Notifies us that the RenderThread has been created.
|
||||
virtual void RenderThreadStarted() {}
|
||||
|
||||
@ -346,7 +346,7 @@ index fad5f104f011..fd7ecbcd48b8 100644
|
||||
// Notifies that a new RenderFrame has been created.
|
||||
virtual void RenderFrameCreated(RenderFrame* render_frame) {}
|
||||
|
||||
@@ -332,6 +335,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -333,6 +336,10 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// This method may invalidate the frame.
|
||||
virtual void RunScriptsAtDocumentIdle(RenderFrame* render_frame) {}
|
||||
|
||||
@ -358,24 +358,24 @@ index fad5f104f011..fd7ecbcd48b8 100644
|
||||
// started.
|
||||
virtual void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() {}
|
||||
diff --git content/public/renderer/render_frame_observer.h content/public/renderer/render_frame_observer.h
|
||||
index 8935697155f5..179b6ebf1360 100644
|
||||
index 14f7e7a34e2b..573bd466effe 100644
|
||||
--- content/public/renderer/render_frame_observer.h
|
||||
+++ content/public/renderer/render_frame_observer.h
|
||||
@@ -202,6 +202,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
|
||||
@@ -201,6 +201,9 @@ class CONTENT_EXPORT RenderFrameObserver : public IPC::Listener,
|
||||
virtual void DidReceiveTransferSizeUpdate(int resource_id,
|
||||
int received_data_length) {}
|
||||
|
||||
+ // Called when this frame gains focus.
|
||||
+ virtual void FrameFocused() {}
|
||||
+
|
||||
// Called when the focused node has changed to |node|.
|
||||
virtual void FocusedNodeChanged(const blink::WebNode& node) {}
|
||||
// Called when the focused element has changed to |element|.
|
||||
virtual void FocusedElementChanged(const blink::WebElement& element) {}
|
||||
|
||||
diff --git content/renderer/render_frame_impl.cc content/renderer/render_frame_impl.cc
|
||||
index c75b6177f066..860bbe9e1c14 100644
|
||||
index 2ab1163b56da..329e435a479d 100644
|
||||
--- content/renderer/render_frame_impl.cc
|
||||
+++ content/renderer/render_frame_impl.cc
|
||||
@@ -3996,7 +3996,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
@@ -4031,7 +4031,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
||||
std::string mime_type;
|
||||
bool found = false;
|
||||
Send(new FrameHostMsg_GetPluginInfo(
|
||||
@ -385,7 +385,7 @@ index c75b6177f066..860bbe9e1c14 100644
|
||||
params.mime_type.Utf8(), &found, &info, &mime_type));
|
||||
if (!found)
|
||||
return nullptr;
|
||||
@@ -4422,6 +4423,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
|
||||
@@ -4464,6 +4465,8 @@ void RenderFrameImpl::FrameDetached(DetachType type) {
|
||||
|
||||
void RenderFrameImpl::FrameFocused() {
|
||||
Send(new FrameHostMsg_FrameFocused(routing_id_));
|
||||
@ -395,23 +395,23 @@ index c75b6177f066..860bbe9e1c14 100644
|
||||
|
||||
void RenderFrameImpl::DidChangeName(const blink::WebString& name) {
|
||||
diff --git content/renderer/render_thread_impl.cc content/renderer/render_thread_impl.cc
|
||||
index e47b89dbbe1c..8cd96c860595 100644
|
||||
index a908f83034f5..6a61c2ec8e63 100644
|
||||
--- content/renderer/render_thread_impl.cc
|
||||
+++ content/renderer/render_thread_impl.cc
|
||||
@@ -806,6 +806,8 @@ void RenderThreadImpl::Init() {
|
||||
@@ -796,6 +796,8 @@ void RenderThreadImpl::Init() {
|
||||
|
||||
StartServiceManagerConnection();
|
||||
|
||||
+ GetContentClient()->renderer()->RenderThreadConnected();
|
||||
+
|
||||
GetAssociatedInterfaceRegistry()->AddInterface(
|
||||
base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
|
||||
base::Unretained(this)));
|
||||
GetAssociatedInterfaceRegistry()->AddInterface(base::BindRepeating(
|
||||
&RenderThreadImpl::OnRendererInterfaceRequest, base::Unretained(this)));
|
||||
|
||||
diff --git content/renderer/renderer_blink_platform_impl.cc content/renderer/renderer_blink_platform_impl.cc
|
||||
index 30273211857b..8d4a7295d62c 100644
|
||||
index 32f5e253cee8..aaa73a259771 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.cc
|
||||
+++ content/renderer/renderer_blink_platform_impl.cc
|
||||
@@ -1113,6 +1113,14 @@ void RendererBlinkPlatformImpl::RecordMetricsForBackgroundedRendererPurge() {
|
||||
@@ -1069,6 +1069,14 @@ void RendererBlinkPlatformImpl::RecordMetricsForBackgroundedRendererPurge() {
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -427,12 +427,12 @@ index 30273211857b..8d4a7295d62c 100644
|
||||
if (!web_database_host_) {
|
||||
web_database_host_ = blink::mojom::ThreadSafeWebDatabaseHostPtr::Create(
|
||||
diff --git content/renderer/renderer_blink_platform_impl.h content/renderer/renderer_blink_platform_impl.h
|
||||
index 629362d2f990..9db27c88d9e5 100644
|
||||
index ba77a976729d..8c4153718c0b 100644
|
||||
--- content/renderer/renderer_blink_platform_impl.h
|
||||
+++ content/renderer/renderer_blink_platform_impl.h
|
||||
@@ -241,6 +241,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
std::unique_ptr<blink::WebDataConsumerHandle> CreateDataConsumerHandle(
|
||||
mojo::ScopedDataPipeConsumerHandle handle) override;
|
||||
@@ -226,6 +226,9 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : public BlinkPlatformImpl {
|
||||
std::unique_ptr<blink::WebURLLoaderFactory> WrapSharedURLLoaderFactory(
|
||||
scoped_refptr<network::SharedURLLoaderFactory> factory) override;
|
||||
|
||||
+ void DevToolsAgentAttached() override;
|
||||
+ void DevToolsAgentDetached() override;
|
||||
|
@ -1,3 +1,85 @@
|
||||
diff --git chrome/chrome_elf/BUILD.gn chrome/chrome_elf/BUILD.gn
|
||||
index 9c59c4b5e7a6..e470635e88d2 100644
|
||||
--- chrome/chrome_elf/BUILD.gn
|
||||
+++ chrome/chrome_elf/BUILD.gn
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
import("//build/config/compiler/compiler.gni")
|
||||
import("//build/config/win/manifest.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/process_version_rc_template.gni")
|
||||
import("//testing/test.gni")
|
||||
|
||||
@@ -132,9 +133,6 @@ source_set("constants") {
|
||||
|
||||
static_library("crash") {
|
||||
sources = [
|
||||
- "../app/chrome_crash_reporter_client_win.cc",
|
||||
- "../app/chrome_crash_reporter_client_win.h",
|
||||
- "../common/chrome_result_codes.h",
|
||||
"crash/crash_helper.cc",
|
||||
"crash/crash_helper.h",
|
||||
]
|
||||
@@ -142,6 +140,7 @@ static_library("crash") {
|
||||
":hook_util",
|
||||
"//base", # This needs to go. DEP of app, crash_keys, client.
|
||||
"//base:base_static", # pe_image
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome/install_static:install_static_util",
|
||||
"//components/crash/content/app",
|
||||
"//components/crash/core/common", # crash_keys
|
||||
@@ -149,6 +148,17 @@ static_library("crash") {
|
||||
"//content/public/common:result_codes",
|
||||
"//third_party/crashpad/crashpad/client", # DumpWithoutCrash
|
||||
]
|
||||
+
|
||||
+ if (enable_cef) {
|
||||
+ deps += [ "//cef:chrome_elf_set" ]
|
||||
+ include_dirs = [ "//cef" ]
|
||||
+ } else {
|
||||
+ sources += [
|
||||
+ "//chrome/app/chrome_crash_reporter_client_win.cc",
|
||||
+ "//chrome/app/chrome_crash_reporter_client_win.h",
|
||||
+ "//chrome/common/chrome_result_codes.h",
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
|
||||
source_set("dll_hash") {
|
||||
diff --git chrome/chrome_elf/crash/crash_helper.cc chrome/chrome_elf/crash/crash_helper.cc
|
||||
index 381322aca895..a5622ddfe66d 100644
|
||||
--- chrome/chrome_elf/crash/crash_helper.cc
|
||||
+++ chrome/chrome_elf/crash/crash_helper.cc
|
||||
@@ -11,12 +11,17 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
+#include "cef/libcef/features/features.h"
|
||||
#include "chrome/app/chrome_crash_reporter_client_win.h"
|
||||
#include "chrome/chrome_elf/hook_util/hook_util.h"
|
||||
#include "components/crash/content/app/crashpad.h"
|
||||
#include "components/crash/core/common/crash_keys.h"
|
||||
#include "third_party/crashpad/crashpad/client/crashpad_client.h"
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+#include "cef/libcef/common/crash_reporter_client.h"
|
||||
+#endif
|
||||
+
|
||||
namespace {
|
||||
|
||||
// Crash handling from elf is only enabled for the chrome.exe process.
|
||||
@@ -74,7 +79,11 @@ bool InitializeCrashReporting() {
|
||||
g_crash_reports = new std::vector<crash_reporter::Report>;
|
||||
g_set_unhandled_exception_filter = new elf_hook::IATHook();
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+ CefCrashReporterClient::InitializeCrashReportingForProcess();
|
||||
+#else
|
||||
ChromeCrashReporterClient::InitializeCrashReportingForProcess();
|
||||
+#endif
|
||||
|
||||
g_crash_helper_enabled = true;
|
||||
return true;
|
||||
diff --git chrome/common/crash_keys.cc chrome/common/crash_keys.cc
|
||||
index e0a839813a07..5c0d05bcc78c 100644
|
||||
--- chrome/common/crash_keys.cc
|
||||
@ -44,90 +126,8 @@ index bcf172e645a2..f879aa745adf 100644
|
||||
// Sets the kNumSwitches key and the set of keys named using kSwitchFormat based
|
||||
// on the given |command_line|.
|
||||
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line);
|
||||
diff --git chrome_elf/BUILD.gn chrome_elf/BUILD.gn
|
||||
index 7643f2793a0a..5da3775ac932 100644
|
||||
--- chrome_elf/BUILD.gn
|
||||
+++ chrome_elf/BUILD.gn
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
import("//build/config/compiler/compiler.gni")
|
||||
import("//build/config/win/manifest.gni")
|
||||
+import("//cef/libcef/features/features.gni")
|
||||
import("//chrome/process_version_rc_template.gni")
|
||||
import("//testing/test.gni")
|
||||
|
||||
@@ -126,9 +127,6 @@ source_set("constants") {
|
||||
|
||||
static_library("crash") {
|
||||
sources = [
|
||||
- "../chrome/app/chrome_crash_reporter_client_win.cc",
|
||||
- "../chrome/app/chrome_crash_reporter_client_win.h",
|
||||
- "../chrome/common/chrome_result_codes.h",
|
||||
"crash/crash_helper.cc",
|
||||
"crash/crash_helper.h",
|
||||
]
|
||||
@@ -136,6 +134,7 @@ static_library("crash") {
|
||||
":hook_util",
|
||||
"//base", # This needs to go. DEP of app, crash_keys, client.
|
||||
"//base:base_static", # pe_image
|
||||
+ "//cef/libcef/features",
|
||||
"//chrome/install_static:install_static_util",
|
||||
"//components/crash/content/app",
|
||||
"//components/crash/core/common", # crash_keys
|
||||
@@ -143,6 +142,17 @@ static_library("crash") {
|
||||
"//content/public/common:result_codes",
|
||||
"//third_party/crashpad/crashpad/client", # DumpWithoutCrash
|
||||
]
|
||||
+
|
||||
+ if (enable_cef) {
|
||||
+ deps += [ "//cef:chrome_elf_set" ]
|
||||
+ include_dirs = [ "//cef" ]
|
||||
+ } else {
|
||||
+ sources += [
|
||||
+ "//chrome/app/chrome_crash_reporter_client_win.cc",
|
||||
+ "//chrome/app/chrome_crash_reporter_client_win.h",
|
||||
+ "//chrome/common/chrome_result_codes.h",
|
||||
+ ]
|
||||
+ }
|
||||
}
|
||||
|
||||
source_set("dll_hash") {
|
||||
diff --git chrome_elf/crash/crash_helper.cc chrome_elf/crash/crash_helper.cc
|
||||
index fdc51ab22807..cb0a99dd190c 100644
|
||||
--- chrome_elf/crash/crash_helper.cc
|
||||
+++ chrome_elf/crash/crash_helper.cc
|
||||
@@ -11,12 +11,17 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
+#include "cef/libcef/features/features.h"
|
||||
#include "chrome/app/chrome_crash_reporter_client_win.h"
|
||||
#include "chrome_elf/hook_util/hook_util.h"
|
||||
#include "components/crash/content/app/crashpad.h"
|
||||
#include "components/crash/core/common/crash_keys.h"
|
||||
#include "third_party/crashpad/crashpad/client/crashpad_client.h"
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+#include "cef/libcef/common/crash_reporter_client.h"
|
||||
+#endif
|
||||
+
|
||||
namespace {
|
||||
|
||||
// Crash handling from elf is only enabled for the chrome.exe process.
|
||||
@@ -74,7 +79,11 @@ bool InitializeCrashReporting() {
|
||||
g_crash_reports = new std::vector<crash_reporter::Report>;
|
||||
g_set_unhandled_exception_filter = new elf_hook::IATHook();
|
||||
|
||||
+#if BUILDFLAG(ENABLE_CEF)
|
||||
+ CefCrashReporterClient::InitializeCrashReportingForProcess();
|
||||
+#else
|
||||
ChromeCrashReporterClient::InitializeCrashReportingForProcess();
|
||||
+#endif
|
||||
|
||||
g_crash_helper_enabled = true;
|
||||
return true;
|
||||
diff --git components/crash/content/app/breakpad_linux.cc components/crash/content/app/breakpad_linux.cc
|
||||
index ecc7d66acb03..abc4371f429b 100644
|
||||
index 3ab8ad2c5aad..ba4a353c370b 100644
|
||||
--- components/crash/content/app/breakpad_linux.cc
|
||||
+++ components/crash/content/app/breakpad_linux.cc
|
||||
@@ -28,6 +28,7 @@
|
||||
@ -241,7 +241,7 @@ index 6e95af6ca7f5..061fb189d60f 100644
|
||||
extern void InitCrashKeysForTesting();
|
||||
|
||||
diff --git components/crash/content/app/crash_reporter_client.cc components/crash/content/app/crash_reporter_client.cc
|
||||
index c3c3f9db07d4..c532a5a46740 100644
|
||||
index 4d2b6ad68d80..728ffd9e7b4c 100644
|
||||
--- components/crash/content/app/crash_reporter_client.cc
|
||||
+++ components/crash/content/app/crash_reporter_client.cc
|
||||
@@ -88,7 +88,7 @@ int CrashReporterClient::GetResultCodeRespawnFailed() {
|
||||
@ -261,7 +261,7 @@ index c3c3f9db07d4..c532a5a46740 100644
|
||||
base::FilePath CrashReporterClient::GetReporterLogFilename() {
|
||||
return base::FilePath();
|
||||
}
|
||||
@@ -105,6 +106,7 @@ bool CrashReporterClient::HandleCrashDump(const char* crashdump_filename) {
|
||||
@@ -106,6 +107,7 @@ bool CrashReporterClient::HandleCrashDump(const char* crashdump_filename,
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
@ -269,7 +269,7 @@ index c3c3f9db07d4..c532a5a46740 100644
|
||||
|
||||
#if defined(OS_WIN)
|
||||
bool CrashReporterClient::GetCrashDumpLocation(base::string16* crash_dir) {
|
||||
@@ -147,6 +149,32 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
||||
@@ -148,6 +150,32 @@ bool CrashReporterClient::ReportingIsEnforcedByPolicy(bool* breakpad_enabled) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -302,7 +302,7 @@ index c3c3f9db07d4..c532a5a46740 100644
|
||||
#if defined(OS_ANDROID)
|
||||
unsigned int CrashReporterClient::GetCrashDumpPercentage() {
|
||||
return 100;
|
||||
@@ -194,9 +222,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
|
||||
@@ -195,9 +223,11 @@ bool CrashReporterClient::ShouldMonitorCrashHandlerExpensively() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -318,7 +318,7 @@ index c3c3f9db07d4..c532a5a46740 100644
|
||||
|
||||
} // namespace crash_reporter
|
||||
diff --git components/crash/content/app/crash_reporter_client.h components/crash/content/app/crash_reporter_client.h
|
||||
index 1d35caa36716..7b96fb687b98 100644
|
||||
index d46bcc2a39b4..390654dd76fd 100644
|
||||
--- components/crash/content/app/crash_reporter_client.h
|
||||
+++ components/crash/content/app/crash_reporter_client.h
|
||||
@@ -5,7 +5,9 @@
|
||||
@ -348,15 +348,15 @@ index 1d35caa36716..7b96fb687b98 100644
|
||||
virtual base::FilePath GetReporterLogFilename();
|
||||
|
||||
// Custom crash minidump handler after the minidump is generated.
|
||||
@@ -110,6 +113,7 @@ class CrashReporterClient {
|
||||
// WARNING: this handler runs in a compromised context. It may not call into
|
||||
@@ -111,6 +114,7 @@ class CrashReporterClient {
|
||||
// libc nor allocate memory normally.
|
||||
virtual bool HandleCrashDump(const char* crashdump_filename);
|
||||
virtual bool HandleCrashDump(const char* crashdump_filename,
|
||||
uint64_t crash_pid);
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
// The location where minidump files should be written. Returns true if
|
||||
@@ -206,6 +210,30 @@ class CrashReporterClient {
|
||||
@@ -207,6 +211,30 @@ class CrashReporterClient {
|
||||
|
||||
// Returns true if breakpad should run in the given process type.
|
||||
virtual bool EnableBreakpadForProcess(const std::string& process_type);
|
||||
@ -598,7 +598,7 @@ index 8f55759a6f4a..5d60fc3f84eb 100644
|
||||
|
||||
if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
|
||||
diff --git content/browser/frame_host/debug_urls.cc content/browser/frame_host/debug_urls.cc
|
||||
index d47b0305167e..d5941ed0e2af 100644
|
||||
index 59396b7f26e3..31491e1b5d20 100644
|
||||
--- content/browser/frame_host/debug_urls.cc
|
||||
+++ content/browser/frame_host/debug_urls.cc
|
||||
@@ -136,7 +136,9 @@ bool HandleDebugURL(const GURL& url, ui::PageTransition transition) {
|
||||
|
@ -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 31686b3eb899..f361f5759976 100644
|
||||
index 724168ee9657..ae31efb356a1 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 31686b3eb899..f361f5759976 100644
|
||||
namespace crashpad {
|
||||
|
||||
namespace {
|
||||
@@ -179,6 +185,9 @@ struct Options {
|
||||
@@ -185,6 +191,9 @@ struct Options {
|
||||
bool periodic_tasks;
|
||||
bool rate_limit;
|
||||
bool upload_gzip;
|
||||
@ -283,8 +283,8 @@ index 31686b3eb899..f361f5759976 100644
|
||||
};
|
||||
|
||||
// Splits |key_value| on '=' and inserts the resulting key and value into |map|.
|
||||
@@ -553,6 +562,9 @@ int HandlerMain(int argc,
|
||||
kOptionSanitizationInformation,
|
||||
@@ -562,6 +571,9 @@ int HandlerMain(int argc,
|
||||
kOptionTraceParentWithException,
|
||||
#endif
|
||||
kOptionURL,
|
||||
+ kOptionMaxUploads,
|
||||
@ -293,7 +293,7 @@ index 31686b3eb899..f361f5759976 100644
|
||||
|
||||
// Standard options.
|
||||
kOptionHelp = -2,
|
||||
@@ -614,6 +626,9 @@ int HandlerMain(int argc,
|
||||
@@ -629,6 +641,9 @@ int HandlerMain(int argc,
|
||||
{"url", required_argument, nullptr, kOptionURL},
|
||||
{"help", no_argument, nullptr, kOptionHelp},
|
||||
{"version", no_argument, nullptr, kOptionVersion},
|
||||
@ -303,7 +303,7 @@ index 31686b3eb899..f361f5759976 100644
|
||||
{nullptr, 0, nullptr, 0},
|
||||
};
|
||||
|
||||
@@ -749,6 +764,27 @@ int HandlerMain(int argc,
|
||||
@@ -768,6 +783,27 @@ int HandlerMain(int argc,
|
||||
options.url = optarg;
|
||||
break;
|
||||
}
|
||||
@ -331,7 +331,7 @@ index 31686b3eb899..f361f5759976 100644
|
||||
case kOptionHelp: {
|
||||
Usage(me);
|
||||
MetricsRecordExit(Metrics::LifetimeMilestone::kExitedEarly);
|
||||
@@ -863,8 +899,14 @@ int HandlerMain(int argc,
|
||||
@@ -888,8 +924,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 31686b3eb899..f361f5759976 100644
|
||||
upload_thread.Get()->Start();
|
||||
}
|
||||
|
||||
@@ -892,7 +934,8 @@ int HandlerMain(int argc,
|
||||
@@ -917,7 +959,8 @@ int HandlerMain(int argc,
|
||||
ScopedStoppable prune_thread;
|
||||
if (options.periodic_tasks) {
|
||||
prune_thread.Reset(new PruneCrashReportThread(
|
||||
|
@ -132,18 +132,18 @@ index 4027505469b8..de8258562bb2 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 93dce1cad08c..1eef00b03063 100644
|
||||
index 3ed389242f67..4cc4d2a5bed8 100644
|
||||
--- extensions/browser/extensions_browser_client.h
|
||||
+++ extensions/browser/extensions_browser_client.h
|
||||
@@ -62,6 +62,7 @@ class ComponentExtensionResourceManager;
|
||||
@@ -60,6 +60,7 @@ class ComponentExtensionResourceManager;
|
||||
class Extension;
|
||||
class ExtensionCache;
|
||||
class ExtensionError;
|
||||
+class ExtensionHost;
|
||||
class ExtensionHostDelegate;
|
||||
class ExtensionPrefsObserver;
|
||||
class ExtensionApiFrameIdMap;
|
||||
@@ -216,6 +217,14 @@ class ExtensionsBrowserClient {
|
||||
class ExtensionApiFrameIdMapHelper;
|
||||
@@ -213,6 +214,14 @@ class ExtensionsBrowserClient {
|
||||
virtual std::unique_ptr<ExtensionHostDelegate>
|
||||
CreateExtensionHostDelegate() = 0;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/compositor/browser_compositor_output_surface.cc content/browser/compositor/browser_compositor_output_surface.cc
|
||||
index 24cfe2fb6d7b..d624bf71d07d 100644
|
||||
index 79b2ae7b6fef..7c0e65975c14 100644
|
||||
--- content/browser/compositor/browser_compositor_output_surface.cc
|
||||
+++ content/browser/compositor/browser_compositor_output_surface.cc
|
||||
@@ -53,6 +53,10 @@ void BrowserCompositorOutputSurface::SetReflector(ReflectorImpl* reflector) {
|
||||
@@ -41,6 +41,10 @@ void BrowserCompositorOutputSurface::SetReflector(ReflectorImpl* reflector) {
|
||||
OnReflectorChanged();
|
||||
}
|
||||
|
||||
@ -14,10 +14,10 @@ index 24cfe2fb6d7b..d624bf71d07d 100644
|
||||
}
|
||||
|
||||
diff --git content/browser/compositor/browser_compositor_output_surface.h content/browser/compositor/browser_compositor_output_surface.h
|
||||
index dda4ac04b913..c82c01bd1354 100644
|
||||
index c91aedd16481..1a92c5effd11 100644
|
||||
--- content/browser/compositor/browser_compositor_output_surface.h
|
||||
+++ content/browser/compositor/browser_compositor_output_surface.h
|
||||
@@ -38,6 +38,8 @@ class CONTENT_EXPORT BrowserCompositorOutputSurface
|
||||
@@ -43,6 +43,8 @@ class CONTENT_EXPORT BrowserCompositorOutputSurface
|
||||
|
||||
void SetReflector(ReflectorImpl* reflector);
|
||||
|
||||
@ -27,10 +27,10 @@ index dda4ac04b913..c82c01bd1354 100644
|
||||
virtual void OnReflectorChanged();
|
||||
|
||||
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
|
||||
index 99c703a1ba14..afd6834e44da 100644
|
||||
index 7e3574cb69fa..df9a00d1ae53 100644
|
||||
--- content/browser/compositor/gpu_process_transport_factory.cc
|
||||
+++ content/browser/compositor/gpu_process_transport_factory.cc
|
||||
@@ -208,6 +208,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
|
||||
@@ -216,6 +216,18 @@ GpuProcessTransportFactory::~GpuProcessTransportFactory() {
|
||||
task_graph_runner_->Shutdown();
|
||||
}
|
||||
|
||||
@ -49,7 +49,16 @@ index 99c703a1ba14..afd6834e44da 100644
|
||||
std::unique_ptr<viz::SoftwareOutputDevice>
|
||||
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
||||
gfx::AcceleratedWidget widget,
|
||||
@@ -450,11 +462,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
@@ -243,7 +255,7 @@ GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
||||
#endif
|
||||
}
|
||||
|
||||
-std::unique_ptr<viz::OverlayCandidateValidator> CreateOverlayCandidateValidator(
|
||||
+std::unique_ptr<viz::OverlayCandidateValidator> OverlayCandidateValidator(
|
||||
gfx::AcceleratedWidget widget) {
|
||||
std::unique_ptr<viz::OverlayCandidateValidator> validator;
|
||||
#if defined(USE_OZONE)
|
||||
@@ -419,10 +431,20 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
// surfaces as they are not following the correct mode.
|
||||
DisableGpuCompositing(compositor.get());
|
||||
}
|
||||
@ -67,23 +76,35 @@ index 99c703a1ba14..afd6834e44da 100644
|
||||
display_output_surface =
|
||||
std::make_unique<SoftwareBrowserCompositorOutputSurface>(
|
||||
- CreateSoftwareOutputDevice(compositor->widget(),
|
||||
- compositor->task_runner()),
|
||||
- std::move(vsync_callback));
|
||||
+ std::move(output_device), std::move(vsync_callback));
|
||||
- compositor->task_runner()));
|
||||
+ CreateSoftwareOutputDevice(compositor->widget(), compositor->task_runner()));
|
||||
} else {
|
||||
DCHECK(context_provider);
|
||||
const auto& capabilities = context_provider->ContextCapabilities();
|
||||
@@ -462,7 +483,8 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
@@ -430,10 +452,11 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
display_output_surface =
|
||||
std::make_unique<OffscreenBrowserCompositorOutputSurface>(
|
||||
context_provider, std::move(vsync_callback),
|
||||
- std::unique_ptr<viz::CompositorOverlayCandidateValidator>());
|
||||
+ std::unique_ptr<viz::CompositorOverlayCandidateValidator>(),
|
||||
context_provider,
|
||||
- std::unique_ptr<viz::OverlayCandidateValidator>());
|
||||
+ std::unique_ptr<viz::OverlayCandidateValidator>(),
|
||||
+ compositor->shared_texture_enabled());
|
||||
} else if (capabilities.surfaceless) {
|
||||
#if defined(OS_MACOSX)
|
||||
const auto& gpu_feature_info = context_provider->GetGpuFeatureInfo();
|
||||
@@ -914,7 +936,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
|
||||
DCHECK(capabilities.texture_format_bgra8888);
|
||||
- auto validator = CreateOverlayCandidateValidator(compositor->widget());
|
||||
+ auto validator = OverlayCandidateValidator(compositor->widget());
|
||||
overlay_validator = validator.get();
|
||||
auto gpu_output_surface =
|
||||
std::make_unique<GpuSurfacelessBrowserCompositorOutputSurface>(
|
||||
@@ -443,7 +466,7 @@ void GpuProcessTransportFactory::EstablishedGpuChannel(
|
||||
display_output_surface = std::move(gpu_output_surface);
|
||||
} else {
|
||||
std::unique_ptr<viz::OverlayCandidateValidator> validator =
|
||||
- CreateOverlayCandidateValidator(compositor->widget());
|
||||
+ OverlayCandidateValidator(compositor->widget());
|
||||
overlay_validator = validator.get();
|
||||
auto gpu_output_surface =
|
||||
std::make_unique<GpuBrowserCompositorOutputSurface>(
|
||||
@@ -881,7 +904,8 @@ GpuProcessTransportFactory::CreatePerCompositorData(
|
||||
gfx::AcceleratedWidget widget = compositor->widget();
|
||||
|
||||
auto data = std::make_unique<PerCompositorData>();
|
||||
@ -94,36 +115,35 @@ index 99c703a1ba14..afd6834e44da 100644
|
||||
} else {
|
||||
#if defined(GPU_SURFACE_HANDLE_IS_ACCELERATED_WINDOW)
|
||||
diff --git content/browser/compositor/gpu_process_transport_factory.h content/browser/compositor/gpu_process_transport_factory.h
|
||||
index 525fa0c06b33..1f95b4f53496 100644
|
||||
index 4a78bdea7ded..6cfe36fc7e5c 100644
|
||||
--- content/browser/compositor/gpu_process_transport_factory.h
|
||||
+++ content/browser/compositor/gpu_process_transport_factory.h
|
||||
@@ -101,6 +101,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
|
||||
@@ -100,6 +100,7 @@ class GpuProcessTransportFactory : public ui::ContextFactory,
|
||||
void IssueExternalBeginFrame(ui::Compositor* compositor,
|
||||
const viz::BeginFrameArgs& args) override;
|
||||
void SetOutputIsSecure(ui::Compositor* compositor, bool secure) override;
|
||||
+ void* GetSharedTexture(ui::Compositor* compositor) override;
|
||||
|
||||
// ImageTransportFactory implementation.
|
||||
void DisableGpuCompositing() override;
|
||||
void AddVSyncParameterObserver(
|
||||
ui::Compositor* compositor,
|
||||
viz::mojom::VSyncParameterObserverPtr observer) override;
|
||||
diff --git content/browser/compositor/offscreen_browser_compositor_output_surface.cc content/browser/compositor/offscreen_browser_compositor_output_surface.cc
|
||||
index dfedf6a60ebe..882457ebbbaa 100644
|
||||
index c38198dfe820..d6edf48c14b1 100644
|
||||
--- content/browser/compositor/offscreen_browser_compositor_output_surface.cc
|
||||
+++ content/browser/compositor/offscreen_browser_compositor_output_surface.cc
|
||||
@@ -35,10 +35,12 @@ OffscreenBrowserCompositorOutputSurface::
|
||||
const viz::UpdateVSyncParametersCallback&
|
||||
update_vsync_parameters_callback,
|
||||
std::unique_ptr<viz::CompositorOverlayCandidateValidator>
|
||||
@@ -33,9 +33,11 @@ OffscreenBrowserCompositorOutputSurface::
|
||||
OffscreenBrowserCompositorOutputSurface(
|
||||
scoped_refptr<ws::ContextProviderCommandBuffer> context,
|
||||
std::unique_ptr<viz::OverlayCandidateValidator>
|
||||
- overlay_candidate_validator)
|
||||
+ overlay_candidate_validator,
|
||||
+ bool shared_texture_enabled)
|
||||
+ bool shared_texture_enabled)
|
||||
: BrowserCompositorOutputSurface(std::move(context),
|
||||
update_vsync_parameters_callback,
|
||||
std::move(overlay_candidate_validator)),
|
||||
+ shared_texture_enabled_(shared_texture_enabled),
|
||||
weak_ptr_factory_(this) {
|
||||
capabilities_.uses_default_gl_framebuffer = false;
|
||||
}
|
||||
@@ -48,6 +50,10 @@ OffscreenBrowserCompositorOutputSurface::
|
||||
@@ -45,6 +47,10 @@ OffscreenBrowserCompositorOutputSurface::
|
||||
DiscardBackbuffer();
|
||||
}
|
||||
|
||||
@ -134,7 +154,7 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
void OffscreenBrowserCompositorOutputSurface::BindToClient(
|
||||
viz::OutputSurfaceClient* client) {
|
||||
DCHECK(client);
|
||||
@@ -56,42 +62,72 @@ void OffscreenBrowserCompositorOutputSurface::BindToClient(
|
||||
@@ -53,42 +59,72 @@ void OffscreenBrowserCompositorOutputSurface::BindToClient(
|
||||
}
|
||||
|
||||
void OffscreenBrowserCompositorOutputSurface::EnsureBackbuffer() {
|
||||
@ -237,7 +257,7 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
}
|
||||
|
||||
void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
|
||||
@@ -103,6 +139,16 @@ void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
|
||||
@@ -100,6 +136,16 @@ void OffscreenBrowserCompositorOutputSurface::DiscardBackbuffer() {
|
||||
reflector_->OnSourceTextureMailboxUpdated(nullptr);
|
||||
}
|
||||
|
||||
@ -254,7 +274,7 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
if (fbo_) {
|
||||
gl->BindFramebuffer(GL_FRAMEBUFFER, fbo_);
|
||||
gl->DeleteFramebuffers(1, &fbo_);
|
||||
@@ -125,15 +171,20 @@ void OffscreenBrowserCompositorOutputSurface::Reshape(
|
||||
@@ -122,15 +168,20 @@ void OffscreenBrowserCompositorOutputSurface::Reshape(
|
||||
}
|
||||
|
||||
void OffscreenBrowserCompositorOutputSurface::BindFramebuffer() {
|
||||
@ -279,7 +299,7 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,6 +205,12 @@ void OffscreenBrowserCompositorOutputSurface::SwapBuffers(
|
||||
@@ -151,6 +202,12 @@ void OffscreenBrowserCompositorOutputSurface::SwapBuffers(
|
||||
// The original implementation had a flickering issue (crbug.com/515332).
|
||||
gpu::gles2::GLES2Interface* gl = context_provider_->ContextGL();
|
||||
|
||||
@ -292,7 +312,7 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
gpu::SyncToken sync_token;
|
||||
gl->GenUnverifiedSyncTokenCHROMIUM(sync_token.GetData());
|
||||
context_provider_->ContextSupport()->SignalSyncToken(
|
||||
@@ -193,7 +250,9 @@ void OffscreenBrowserCompositorOutputSurface::OnSwapBuffersComplete(
|
||||
@@ -190,7 +247,9 @@ void OffscreenBrowserCompositorOutputSurface::OnSwapBuffersComplete(
|
||||
const std::vector<ui::LatencyInfo>& latency_info) {
|
||||
latency_tracker_.OnGpuSwapBuffersCompleted(latency_info);
|
||||
client_->DidReceiveSwapBuffersAck();
|
||||
@ -304,20 +324,20 @@ index dfedf6a60ebe..882457ebbbaa 100644
|
||||
|
||||
unsigned OffscreenBrowserCompositorOutputSurface::UpdateGpuFence() {
|
||||
diff --git content/browser/compositor/offscreen_browser_compositor_output_surface.h content/browser/compositor/offscreen_browser_compositor_output_surface.h
|
||||
index 9751f1e74d82..ca3237a4d995 100644
|
||||
index 9756ca6f5bc3..c470746b5b93 100644
|
||||
--- content/browser/compositor/offscreen_browser_compositor_output_surface.h
|
||||
+++ content/browser/compositor/offscreen_browser_compositor_output_surface.h
|
||||
@@ -32,7 +32,8 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
const viz::UpdateVSyncParametersCallback&
|
||||
update_vsync_parameters_callback,
|
||||
std::unique_ptr<viz::CompositorOverlayCandidateValidator>
|
||||
@@ -30,7 +30,8 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
OffscreenBrowserCompositorOutputSurface(
|
||||
scoped_refptr<ws::ContextProviderCommandBuffer> context,
|
||||
std::unique_ptr<viz::OverlayCandidateValidator>
|
||||
- overlay_candidate_validator);
|
||||
+ overlay_candidate_validator,
|
||||
+ bool shared_texture_enabled);
|
||||
|
||||
~OffscreenBrowserCompositorOutputSurface() override;
|
||||
|
||||
@@ -54,11 +55,15 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
@@ -52,11 +53,15 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
gfx::BufferFormat GetOverlayBufferFormat() const override;
|
||||
uint32_t GetFramebufferCopyTextureFormat() override;
|
||||
|
||||
@ -333,7 +353,7 @@ index 9751f1e74d82..ca3237a4d995 100644
|
||||
void OnSwapBuffersComplete(const std::vector<ui::LatencyInfo>& latency_info);
|
||||
|
||||
viz::OutputSurfaceClient* client_ = nullptr;
|
||||
@@ -66,6 +71,11 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
@@ -64,6 +69,11 @@ class OffscreenBrowserCompositorOutputSurface
|
||||
uint32_t fbo_ = 0;
|
||||
bool reflector_changed_ = false;
|
||||
std::unique_ptr<ReflectorTexture> reflector_texture_;
|
||||
@ -361,10 +381,10 @@ index 052b441e020d..9c3044185400 100644
|
||||
GLES2_GET_FUN(InvalidateReadbackBufferShadowDataCHROMIUM)
|
||||
#define glFramebufferTextureMultiviewOVR \
|
||||
diff --git gpu/command_buffer/build_gles2_cmd_buffer.py gpu/command_buffer/build_gles2_cmd_buffer.py
|
||||
index 255f6eb57f59..725e1475bbad 100755
|
||||
index e830f36dcb81..9e647f3bbd54 100755
|
||||
--- gpu/command_buffer/build_gles2_cmd_buffer.py
|
||||
+++ gpu/command_buffer/build_gles2_cmd_buffer.py
|
||||
@@ -4231,6 +4231,35 @@ _FUNCTION_INFO = {
|
||||
@@ -4228,6 +4228,35 @@ _FUNCTION_INFO = {
|
||||
'extension': 'CHROMIUM_gpu_fence',
|
||||
'extension_flag': 'chromium_gpu_fence',
|
||||
},
|
||||
@ -496,10 +516,10 @@ index dbe1d6080d28..6902055b7c70 100644
|
||||
GLint shm_id,
|
||||
GLuint shm_offset,
|
||||
diff --git gpu/command_buffer/client/gles2_implementation.cc gpu/command_buffer/client/gles2_implementation.cc
|
||||
index bb4a599a9a37..3159b045d260 100644
|
||||
index 211bfd81a53c..26f65497638e 100644
|
||||
--- gpu/command_buffer/client/gles2_implementation.cc
|
||||
+++ gpu/command_buffer/client/gles2_implementation.cc
|
||||
@@ -7616,6 +7616,22 @@ void GLES2Implementation::Viewport(GLint x,
|
||||
@@ -7619,6 +7619,22 @@ void GLES2Implementation::Viewport(GLint x,
|
||||
CheckGLError();
|
||||
}
|
||||
|
||||
@ -971,10 +991,10 @@ index 7c3d121e54dc..b9b7ffa2a585 100644
|
||||
GL_APICALL void GL_APIENTRY glInvalidateReadbackBufferShadowDataCHROMIUM (GLidBuffer buffer_id);
|
||||
// (used for CHROMIUM_nonblocking_readback implementation)
|
||||
diff --git gpu/command_buffer/service/BUILD.gn gpu/command_buffer/service/BUILD.gn
|
||||
index 8ff7c571352d..63ffe016f019 100644
|
||||
index 5a84425376f2..6af28715789b 100644
|
||||
--- gpu/command_buffer/service/BUILD.gn
|
||||
+++ gpu/command_buffer/service/BUILD.gn
|
||||
@@ -107,6 +107,8 @@ target(link_target_type, "gles2_sources") {
|
||||
@@ -108,6 +108,8 @@ target(link_target_type, "gles2_sources") {
|
||||
visibility = [ "//gpu/*" ]
|
||||
|
||||
sources = [
|
||||
@ -984,7 +1004,7 @@ index 8ff7c571352d..63ffe016f019 100644
|
||||
"abstract_texture_impl_shared_context_state.cc",
|
||||
"abstract_texture_impl_shared_context_state.h",
|
||||
diff --git gpu/command_buffer/service/gles2_cmd_decoder.cc gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
index 71ae06b85d79..c5599711d769 100644
|
||||
index bc72d2624aad..18a477c53445 100644
|
||||
--- gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
+++ gpu/command_buffer/service/gles2_cmd_decoder.cc
|
||||
@@ -38,6 +38,7 @@
|
||||
@ -1018,7 +1038,7 @@ index 71ae06b85d79..c5599711d769 100644
|
||||
base::flat_set<scoped_refptr<Buffer>> writes_submitted_but_not_completed_;
|
||||
|
||||
// The format of the back buffer_
|
||||
@@ -5619,6 +5629,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
|
||||
@@ -5620,6 +5630,59 @@ error::Error GLES2DecoderImpl::HandleDestroyGpuFenceCHROMIUM(
|
||||
return error::kNoError;
|
||||
}
|
||||
|
||||
@ -1079,7 +1099,7 @@ index 71ae06b85d79..c5599711d769 100644
|
||||
for (auto it = saved_back_textures_.begin(); it != saved_back_textures_.end();
|
||||
++it) {
|
||||
diff --git gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
||||
index 6b9c176a0dcf..6e9ff5b7d35d 100644
|
||||
index 15fd3f99101d..3c1234940c41 100644
|
||||
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
||||
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc
|
||||
@@ -11,6 +11,7 @@
|
||||
@ -1090,7 +1110,7 @@ index 6b9c176a0dcf..6e9ff5b7d35d 100644
|
||||
#include "gpu/command_buffer/service/command_buffer_service.h"
|
||||
#include "gpu/command_buffer/service/decoder_client.h"
|
||||
#include "gpu/command_buffer/service/feature_info.h"
|
||||
@@ -2515,6 +2516,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
|
||||
@@ -2589,6 +2590,67 @@ error::Error GLES2DecoderPassthroughImpl::CheckSwapBuffersResult(
|
||||
return error::kNoError;
|
||||
}
|
||||
|
||||
@ -1159,7 +1179,7 @@ index 6b9c176a0dcf..6e9ff5b7d35d 100644
|
||||
GLES2DecoderPassthroughImpl::TextureTarget
|
||||
GLES2DecoderPassthroughImpl::GLenumToTextureTarget(GLenum target) {
|
||||
diff --git gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
|
||||
index 7470c03bfc6a..58b91b2f666d 100644
|
||||
index 1fa45e8311c3..f67179f3bdc4 100644
|
||||
--- gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
|
||||
+++ gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h
|
||||
@@ -45,6 +45,7 @@ class SharedImageRepresentationGLTexturePassthrough;
|
||||
@ -1179,7 +1199,7 @@ index 7470c03bfc6a..58b91b2f666d 100644
|
||||
void* GetScratchMemory(size_t size);
|
||||
|
||||
template <typename T>
|
||||
@@ -578,6 +581,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
|
||||
@@ -581,6 +584,8 @@ class GPU_GLES2_EXPORT GLES2DecoderPassthroughImpl : public GLES2Decoder {
|
||||
|
||||
std::unique_ptr<MultiDrawManager> multi_draw_manager_;
|
||||
|
||||
@ -1189,11 +1209,11 @@ index 7470c03bfc6a..58b91b2f666d 100644
|
||||
size_t active_texture_unit_;
|
||||
|
||||
diff --git ui/compositor/compositor.cc ui/compositor/compositor.cc
|
||||
index 6ab0a01e8f3d..1046cbde43e9 100644
|
||||
index 15c98e2b7d42..d607234f8ad7 100644
|
||||
--- ui/compositor/compositor.cc
|
||||
+++ ui/compositor/compositor.cc
|
||||
@@ -560,6 +560,16 @@ scoped_refptr<CompositorVSyncManager> Compositor::vsync_manager() const {
|
||||
return vsync_manager_;
|
||||
@@ -548,6 +548,16 @@ gfx::AcceleratedWidget Compositor::widget() const {
|
||||
return widget_;
|
||||
}
|
||||
|
||||
+void* Compositor::GetSharedTexture() {
|
||||
@ -1210,27 +1230,27 @@ index 6ab0a01e8f3d..1046cbde43e9 100644
|
||||
observer_list_.AddObserver(observer);
|
||||
}
|
||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||
index 102c2fcef112..0115a1ec972a 100644
|
||||
index 494241c374b7..f07133a4b147 100644
|
||||
--- ui/compositor/compositor.h
|
||||
+++ ui/compositor/compositor.h
|
||||
@@ -25,6 +25,7 @@
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "components/viz/common/frame_sinks/begin_frame_args.h"
|
||||
#include "components/viz/common/surfaces/frame_sink_id.h"
|
||||
#include "components/viz/common/surfaces/local_surface_id_allocation.h"
|
||||
#include "components/viz/host/host_frame_sink_client.h"
|
||||
+#include "components/viz/service/display/software_output_device.h"
|
||||
#include "services/viz/privileged/interfaces/compositing/vsync_parameter_observer.mojom-forward.h"
|
||||
#include "third_party/skia/include/core/SkColor.h"
|
||||
#include "third_party/skia/include/core/SkMatrix44.h"
|
||||
#include "ui/compositor/compositor_animation_observer.h"
|
||||
@@ -154,6 +155,8 @@ class COMPOSITOR_EXPORT ContextFactoryPrivate {
|
||||
const viz::BeginFrameArgs& args) = 0;
|
||||
@@ -155,6 +156,8 @@ class COMPOSITOR_EXPORT ContextFactoryPrivate {
|
||||
|
||||
virtual void SetOutputIsSecure(Compositor* compositor, bool secure) = 0;
|
||||
+
|
||||
+ virtual void* GetSharedTexture(ui::Compositor* compositor) = 0;
|
||||
};
|
||||
|
||||
// This class abstracts the creation of the 3D context for the compositor. It is
|
||||
@@ -194,6 +197,17 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
+ virtual void* GetSharedTexture(ui::Compositor* compositor) = 0;
|
||||
+
|
||||
// Adds an observer for vsync parameter changes.
|
||||
virtual void AddVSyncParameterObserver(
|
||||
Compositor* compositor,
|
||||
@@ -199,6 +202,17 @@ class COMPOSITOR_EXPORT ContextFactory {
|
||||
virtual bool SyncTokensRequiredForDisplayCompositor() = 0;
|
||||
};
|
||||
|
||||
@ -1248,7 +1268,7 @@ index 102c2fcef112..0115a1ec972a 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 +250,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -238,6 +252,9 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
// Schedules a redraw of the layer tree associated with this compositor.
|
||||
void ScheduleDraw();
|
||||
|
||||
@ -1258,7 +1278,7 @@ index 102c2fcef112..0115a1ec972a 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
|
||||
@@ -349,6 +366,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -341,6 +358,10 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
return task_runner_;
|
||||
}
|
||||
|
||||
@ -1269,7 +1289,7 @@ index 102c2fcef112..0115a1ec972a 100644
|
||||
// Compositor does not own observers. It is the responsibility of the
|
||||
// observer to remove itself when it is done observing.
|
||||
void AddObserver(CompositorObserver* observer);
|
||||
@@ -460,6 +481,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -454,6 +475,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
ui::ContextFactory* context_factory_;
|
||||
ui::ContextFactoryPrivate* context_factory_private_;
|
||||
|
||||
@ -1278,7 +1298,7 @@ index 102c2fcef112..0115a1ec972a 100644
|
||||
// The root of the Layer tree drawn by this compositor.
|
||||
Layer* root_layer_ = nullptr;
|
||||
|
||||
@@ -494,6 +517,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
@@ -485,6 +508,8 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerTreeHostClient,
|
||||
|
||||
ExternalBeginFrameClient* const external_begin_frame_client_;
|
||||
|
||||
@ -1288,11 +1308,11 @@ index 102c2fcef112..0115a1ec972a 100644
|
||||
|
||||
// The device scale factor of the monitor that this compositor is compositing
|
||||
diff --git ui/compositor/host/host_context_factory_private.cc ui/compositor/host/host_context_factory_private.cc
|
||||
index 2b23ed42a933..109841847888 100644
|
||||
index 0ff1e05244e0..93d69530edc2 100644
|
||||
--- ui/compositor/host/host_context_factory_private.cc
|
||||
+++ ui/compositor/host/host_context_factory_private.cc
|
||||
@@ -254,6 +254,10 @@ void HostContextFactoryPrivate::SetOutputIsSecure(Compositor* compositor,
|
||||
iter->second.display_private->SetOutputIsSecure(secure);
|
||||
@@ -297,6 +297,10 @@ void HostContextFactoryPrivate::AddVSyncParameterObserver(
|
||||
}
|
||||
}
|
||||
|
||||
+void* HostContextFactoryPrivate::GetSharedTexture(Compositor* /*compositor*/) {
|
||||
@ -1303,7 +1323,7 @@ index 2b23ed42a933..109841847888 100644
|
||||
// When running with viz there is no FrameSinkManagerImpl in the browser
|
||||
// process. FrameSinkManagerImpl runs in the GPU process instead. Anything in
|
||||
diff --git ui/compositor/host/host_context_factory_private.h ui/compositor/host/host_context_factory_private.h
|
||||
index 18cd096449d2..aa25ea058925 100644
|
||||
index dc31ab80f17e..c7c08d6137eb 100644
|
||||
--- ui/compositor/host/host_context_factory_private.h
|
||||
+++ ui/compositor/host/host_context_factory_private.h
|
||||
@@ -50,6 +50,8 @@ class HostContextFactoryPrivate : public ContextFactoryPrivate {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git .gn .gn
|
||||
index 2bccf9d2b12c..39ce25e36c22 100644
|
||||
index 01085ea84619..b79158a1a962 100644
|
||||
--- .gn
|
||||
+++ .gn
|
||||
@@ -664,6 +664,8 @@ exec_script_whitelist =
|
||||
@@ -666,6 +666,8 @@ exec_script_whitelist =
|
||||
# in the Chromium repo outside of //build.
|
||||
"//build_overrides/build.gni",
|
||||
|
||||
@ -12,10 +12,10 @@ index 2bccf9d2b12c..39ce25e36c22 100644
|
||||
# https://crbug.com/474506.
|
||||
"//clank/java/BUILD.gn",
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index 2d6f3315e687..405ddd14fab6 100644
|
||||
index 8209523bebe9..84137b1a5cca 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -187,6 +187,7 @@ group("gn_all") {
|
||||
@@ -202,6 +202,7 @@ group("gn_all") {
|
||||
|
||||
if (!is_ios && !is_fuchsia) {
|
||||
deps += [
|
||||
@ -100,10 +100,10 @@ index ef8aeda56458..5b7f057311b9 100644
|
||||
|
||||
|
||||
diff --git build/vs_toolchain.py build/vs_toolchain.py
|
||||
index 0ce237fe1323..6201bbba992c 100755
|
||||
index 6a0dcbdb4fe2..9902f5da105a 100755
|
||||
--- build/vs_toolchain.py
|
||||
+++ build/vs_toolchain.py
|
||||
@@ -78,11 +78,18 @@ def SetEnvironmentAndGetRuntimeDllDirs():
|
||||
@@ -81,11 +81,18 @@ 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:
|
||||
@ -123,10 +123,10 @@ index 0ce237fe1323..6201bbba992c 100755
|
||||
# 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
|
||||
diff --git chrome/chrome_paks.gni chrome/chrome_paks.gni
|
||||
index dc766a29cc34..97b47d0538e4 100644
|
||||
index 8ff44c72636e..bb5e1a42aed4 100644
|
||||
--- chrome/chrome_paks.gni
|
||||
+++ chrome/chrome_paks.gni
|
||||
@@ -265,7 +265,7 @@ template("chrome_paks") {
|
||||
@@ -275,7 +275,7 @@ template("chrome_paks") {
|
||||
}
|
||||
|
||||
input_locales = locales
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git tools/gritsettings/resource_ids tools/gritsettings/resource_ids
|
||||
index 33dc98925f5f..9bd2dbef9faf 100644
|
||||
index 2a7cb2dcb562..3fef6b5dee49 100644
|
||||
--- tools/gritsettings/resource_ids
|
||||
+++ tools/gritsettings/resource_ids
|
||||
@@ -442,4 +442,11 @@
|
||||
@@ -459,4 +459,11 @@
|
||||
# Please read the header and find the right section above instead.
|
||||
|
||||
# Resource ids starting at 31000 are reserved for projects built on Chromium.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/base/ime/win/input_method_win_base.cc ui/base/ime/win/input_method_win_base.cc
|
||||
index 7de0c9321795..cba34d236a1f 100644
|
||||
index 2627f1eae901..80c00fc9752a 100644
|
||||
--- ui/base/ime/win/input_method_win_base.cc
|
||||
+++ ui/base/ime/win/input_method_win_base.cc
|
||||
@@ -267,8 +267,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
|
||||
@@ -266,8 +266,9 @@ bool InputMethodWinBase::IsWindowFocused(const TextInputClient* client) const {
|
||||
// receiving keyboard input as long as it is an active window. This works well
|
||||
// even when the |attached_window_handle| becomes active but has not received
|
||||
// WM_FOCUS yet.
|
||||
|
@ -1,34 +1,5 @@
|
||||
diff --git build/config/linux/gtk/BUILD.gn build/config/linux/gtk/BUILD.gn
|
||||
index d78f7407c179..0bb79883e16c 100644
|
||||
--- build/config/linux/gtk/BUILD.gn
|
||||
+++ build/config/linux/gtk/BUILD.gn
|
||||
@@ -4,8 +4,10 @@
|
||||
|
||||
import("//build/config/linux/gtk/gtk.gni")
|
||||
import("//build/config/linux/pkg_config.gni")
|
||||
+import("//build/config/ui.gni")
|
||||
|
||||
assert(is_linux, "This file should only be referenced on Linux")
|
||||
+assert(use_gtk, "This file should only be referenced when GTK is enabled")
|
||||
|
||||
# GN doesn't check visibility for configs so we give this an obviously internal
|
||||
# name to discourage random targets from accidentally depending on this and
|
||||
diff --git build/config/ui.gni build/config/ui.gni
|
||||
index 547b42fb5c66..0eae3470e1bb 100644
|
||||
--- build/config/ui.gni
|
||||
+++ build/config/ui.gni
|
||||
@@ -37,6 +37,9 @@ declare_args() {
|
||||
# True means the UI is built using the "views" framework.
|
||||
toolkit_views = (is_mac || is_win || is_chromeos || use_aura) &&
|
||||
!is_chromecast && !is_fuchsia
|
||||
+
|
||||
+ # Whether we should use GTK.
|
||||
+ use_gtk = use_aura && is_linux
|
||||
}
|
||||
|
||||
# Additional dependent variables -----------------------------------------------
|
||||
diff --git chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
||||
index c3511e3e6a66..3500f4a2b005 100644
|
||||
index 07f06ac694f5..831fd9f82dbe 100644
|
||||
--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
||||
+++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.cc
|
||||
@@ -6,6 +6,7 @@
|
||||
@ -39,7 +10,7 @@ index c3511e3e6a66..3500f4a2b005 100644
|
||||
#include "chrome/browser/chrome_browser_main.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
#include "chrome/browser/themes/theme_service.h"
|
||||
@@ -31,6 +32,7 @@
|
||||
@@ -29,6 +30,7 @@
|
||||
|
||||
namespace {
|
||||
|
||||
@ -47,7 +18,7 @@ index c3511e3e6a66..3500f4a2b005 100644
|
||||
ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
|
||||
if (!window)
|
||||
return nullptr;
|
||||
@@ -55,6 +57,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
|
||||
@@ -53,6 +55,7 @@ ui::NativeTheme* GetNativeThemeForWindow(aura::Window* window) {
|
||||
|
||||
return ui::NativeTheme::GetInstanceForNativeUi();
|
||||
}
|
||||
@ -55,32 +26,23 @@ index c3511e3e6a66..3500f4a2b005 100644
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -68,9 +71,11 @@ ChromeBrowserMainExtraPartsViewsLinux::
|
||||
}
|
||||
@@ -67,9 +70,11 @@ void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
|
||||
if (!linux_ui)
|
||||
return;
|
||||
|
||||
void ChromeBrowserMainExtraPartsViewsLinux::PreEarlyInitialization() {
|
||||
+#if !BUILDFLAG(ENABLE_CEF)
|
||||
views::LinuxUI* gtk_ui = BuildGtkUi();
|
||||
gtk_ui->SetNativeThemeOverride(base::BindRepeating(&GetNativeThemeForWindow));
|
||||
views::LinuxUI::SetInstance(gtk_ui);
|
||||
linux_ui->SetNativeThemeOverride(
|
||||
base::BindRepeating(&GetNativeThemeForWindow));
|
||||
views::LinuxUI::SetInstance(linux_ui);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ChromeBrowserMainExtraPartsViewsLinux::ToolkitInitialized() {
|
||||
diff --git chrome/test/BUILD.gn chrome/test/BUILD.gn
|
||||
index 5406779a17c2..b1ed0f2c970b 100644
|
||||
index 1fb3cf77f01c..dbb03ffe3333 100644
|
||||
--- chrome/test/BUILD.gn
|
||||
+++ chrome/test/BUILD.gn
|
||||
@@ -4159,7 +4159,7 @@ test("unit_tests") {
|
||||
"../browser/ui/input_method/input_method_engine_unittest.cc",
|
||||
]
|
||||
}
|
||||
- if (!is_chromeos && !is_chromecast && is_linux) {
|
||||
+ if (!is_chromeos && !is_chromecast && is_linux && use_gtk) {
|
||||
sources +=
|
||||
[ "../browser/ui/libgtkui/select_file_dialog_impl_gtk_unittest.cc" ]
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
@@ -4180,7 +4180,7 @@ test("unit_tests") {
|
||||
@@ -4286,7 +4286,7 @@ test("unit_tests") {
|
||||
if (use_gio) {
|
||||
configs += [ "//build/linux:gio_config" ]
|
||||
}
|
||||
@ -89,7 +51,7 @@ index 5406779a17c2..b1ed0f2c970b 100644
|
||||
deps += [ "//chrome/browser/ui/libgtkui" ]
|
||||
}
|
||||
|
||||
@@ -5206,7 +5206,7 @@ if (!is_android) {
|
||||
@@ -5286,7 +5286,7 @@ if (!is_android) {
|
||||
# suites, it seems like one or another starts timing out too.
|
||||
"../browser/ui/views/keyboard_access_browsertest.cc",
|
||||
]
|
||||
@ -98,86 +60,3 @@ index 5406779a17c2..b1ed0f2c970b 100644
|
||||
sources += [
|
||||
"../browser/ui/libgtkui/select_file_dialog_interactive_uitest.cc",
|
||||
]
|
||||
diff --git remoting/host/BUILD.gn remoting/host/BUILD.gn
|
||||
index 229a7cb37e34..d51e249a7f9e 100644
|
||||
--- remoting/host/BUILD.gn
|
||||
+++ remoting/host/BUILD.gn
|
||||
@@ -353,7 +353,7 @@ static_library("common") {
|
||||
"//build/config/linux:xrandr",
|
||||
]
|
||||
deps += [ "//remoting/host/linux:x11" ]
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
} else {
|
||||
@@ -737,7 +737,7 @@ if (enable_me2me_host) {
|
||||
deps += [ "//components/policy:generated" ]
|
||||
}
|
||||
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
if ((is_linux && !is_chromeos) || is_mac) {
|
||||
diff --git remoting/host/file_transfer/BUILD.gn remoting/host/file_transfer/BUILD.gn
|
||||
index ffaaa0b5b423..9fc7f88859a9 100644
|
||||
--- remoting/host/file_transfer/BUILD.gn
|
||||
+++ remoting/host/file_transfer/BUILD.gn
|
||||
@@ -35,7 +35,7 @@ source_set("file_transfer") {
|
||||
sources -= [ "get_desktop_directory.cc" ]
|
||||
}
|
||||
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
sources += [ "file_chooser_linux.cc" ]
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
diff --git remoting/host/it2me/BUILD.gn remoting/host/it2me/BUILD.gn
|
||||
index 39dc46737578..e5cb11d5ef04 100644
|
||||
--- remoting/host/it2me/BUILD.gn
|
||||
+++ remoting/host/it2me/BUILD.gn
|
||||
@@ -53,7 +53,7 @@ source_set("common") {
|
||||
"//remoting/resources",
|
||||
"//remoting/signaling",
|
||||
]
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [
|
||||
"//build/config/linux/gtk",
|
||||
|
||||
@@ -247,7 +247,7 @@ if (!is_chromeos && enable_remoting_host) {
|
||||
}
|
||||
}
|
||||
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
}
|
||||
diff --git remoting/host/linux/BUILD.gn remoting/host/linux/BUILD.gn
|
||||
index a07f8b0254af..970c1a54b4d2 100644
|
||||
--- remoting/host/linux/BUILD.gn
|
||||
+++ remoting/host/linux/BUILD.gn
|
||||
@@ -98,7 +98,7 @@ source_set("linux") {
|
||||
if (use_x11) {
|
||||
deps += [ ":x11" ]
|
||||
}
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
}
|
||||
diff --git remoting/test/BUILD.gn remoting/test/BUILD.gn
|
||||
index 57b7f3b4e507..e87a45273a21 100644
|
||||
--- remoting/test/BUILD.gn
|
||||
+++ remoting/test/BUILD.gn
|
||||
@@ -158,7 +158,7 @@ if (enable_remoting_host && !is_android && !is_chromeos) {
|
||||
":it2me_standalone_host",
|
||||
]
|
||||
|
||||
- if (is_desktop_linux) {
|
||||
+ if (is_desktop_linux && use_gtk) {
|
||||
deps += [ "//build/config/linux/gtk" ]
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/files/file_path_watcher_linux.cc base/files/file_path_watcher_linux.cc
|
||||
index 22732f2864ef..7d5caef5c3b0 100644
|
||||
index 0ff8924fed4d..6c079b38e730 100644
|
||||
--- base/files/file_path_watcher_linux.cc
|
||||
+++ base/files/file_path_watcher_linux.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -15,10 +15,10 @@ index 22732f2864ef..7d5caef5c3b0 100644
|
||||
|
||||
#include <algorithm>
|
||||
+#include <array>
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <memory>
|
||||
#include <set>
|
||||
@@ -220,22 +222,15 @@ void InotifyReaderThreadDelegate::ThreadMain() {
|
||||
@@ -263,22 +265,15 @@ void InotifyReaderThreadDelegate::ThreadMain() {
|
||||
PlatformThread::SetName("inotify_reader");
|
||||
|
||||
// Make sure the file descriptors are good for use with select().
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git ui/gl/init/gl_initializer_mac.cc ui/gl/init/gl_initializer_mac.cc
|
||||
index 85cab0eaef3e..37b2d42a34f5 100644
|
||||
index 8d690474060f..03059842b1a4 100644
|
||||
--- ui/gl/init/gl_initializer_mac.cc
|
||||
+++ ui/gl/init/gl_initializer_mac.cc
|
||||
@@ -46,11 +46,8 @@ bool InitializeOneOffForSandbox() {
|
||||
@ -16,14 +16,3 @@ index 85cab0eaef3e..37b2d42a34f5 100644
|
||||
if (GetGLImplementation() == kGLImplementationAppleGL) {
|
||||
attribs.push_back(kCGLPFARendererID);
|
||||
attribs.push_back(
|
||||
@@ -102,8 +99,8 @@ bool InitializeStaticEGLInternal(GLImplementation implementation) {
|
||||
// as app bundles. In that case, the .dylib is next to the executable.
|
||||
base::FilePath base_dir;
|
||||
if (base::mac::AmIBundled()) {
|
||||
- base_dir =
|
||||
- base::mac::FrameworkBundlePath().Append("Versions/Current/Libraries/");
|
||||
+ // Rely on symlinks to find the correct version.
|
||||
+ base_dir = base::mac::FrameworkBundlePath().Append("Libraries/");
|
||||
} else {
|
||||
if (!base::PathService::Get(base::FILE_EXE, &base_dir)) {
|
||||
LOG(ERROR) << "PathService::Get failed.";
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git base/message_loop/message_loop.cc base/message_loop/message_loop.cc
|
||||
index afcf04d5882a..69f9f85cba84 100644
|
||||
index 90cb3e3fc7dd..903f258f2e1c 100644
|
||||
--- base/message_loop/message_loop.cc
|
||||
+++ base/message_loop/message_loop.cc
|
||||
@@ -149,6 +149,9 @@ bool MessageLoop::IsIdleForTesting() {
|
||||
@@ -100,6 +100,9 @@ bool MessageLoop::IsIdleForTesting() {
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
@ -13,10 +13,10 @@ index afcf04d5882a..69f9f85cba84 100644
|
||||
std::unique_ptr<MessageLoop> MessageLoop::CreateUnbound(Type type) {
|
||||
return WrapUnique(new MessageLoop(type, nullptr));
|
||||
diff --git base/message_loop/message_loop.h base/message_loop/message_loop.h
|
||||
index ddfed508baef..f332d1823667 100644
|
||||
index a1d6acc4e78d..f9518bc96ce4 100644
|
||||
--- base/message_loop/message_loop.h
|
||||
+++ base/message_loop/message_loop.h
|
||||
@@ -275,6 +275,7 @@ class BASE_EXPORT MessageLoop {
|
||||
@@ -229,6 +229,7 @@ class BASE_EXPORT MessageLoop {
|
||||
class BASE_EXPORT MessageLoopForUI : public MessageLoop {
|
||||
public:
|
||||
explicit MessageLoopForUI(Type type = TYPE_UI);
|
||||
@ -25,7 +25,7 @@ index ddfed508baef..f332d1823667 100644
|
||||
#if defined(OS_IOS)
|
||||
// On iOS, the main message loop cannot be Run(). Instead call Attach(),
|
||||
diff --git base/message_loop/message_loop_current.cc base/message_loop/message_loop_current.cc
|
||||
index 2e2adfa55fa4..1370d8484d8f 100644
|
||||
index 71a45d077a6a..fded5cf39adc 100644
|
||||
--- base/message_loop/message_loop_current.cc
|
||||
+++ base/message_loop/message_loop_current.cc
|
||||
@@ -47,6 +47,8 @@ void MessageLoopCurrent::AddDestructionObserver(
|
||||
@ -38,10 +38,10 @@ index 2e2adfa55fa4..1370d8484d8f 100644
|
||||
current_->RemoveDestructionObserver(destruction_observer);
|
||||
}
|
||||
diff --git base/message_loop/message_loop_current.h base/message_loop/message_loop_current.h
|
||||
index 270c6593e789..520cb0e3198a 100644
|
||||
index f259d89d429c..ffcc61ee95c2 100644
|
||||
--- base/message_loop/message_loop_current.h
|
||||
+++ base/message_loop/message_loop_current.h
|
||||
@@ -132,6 +132,12 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
@@ -129,6 +129,12 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
// posted tasks.
|
||||
void SetAddQueueTimeToTasks(bool enable);
|
||||
|
||||
@ -54,7 +54,7 @@ index 270c6593e789..520cb0e3198a 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
|
||||
@@ -202,6 +208,13 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
@@ -199,6 +205,13 @@ class BASE_EXPORT MessageLoopCurrent {
|
||||
friend class web::TestWebThreadBundle;
|
||||
|
||||
sequence_manager::internal::SequenceManagerImpl* current_;
|
||||
|
@ -22,10 +22,10 @@ index 49fe875c7d22..c1e3df840dc0 100644
|
||||
THREAD_CHECKER(thread_checker_);
|
||||
|
||||
diff --git net/url_request/url_request_job.cc net/url_request/url_request_job.cc
|
||||
index 06df9bd3e545..c5dbb0f0f6ef 100644
|
||||
index 3a7efeaf5b04..1a03e0ab8229 100644
|
||||
--- net/url_request/url_request_job.cc
|
||||
+++ net/url_request/url_request_job.cc
|
||||
@@ -464,6 +464,12 @@ void URLRequestJob::NotifyHeadersComplete() {
|
||||
@@ -438,6 +438,12 @@ void URLRequestJob::NotifyHeadersComplete() {
|
||||
DCHECK(!source_stream_);
|
||||
source_stream_ = SetUpSourceStream();
|
||||
|
||||
|
@ -1,72 +1,15 @@
|
||||
diff --git components/certificate_transparency/chrome_ct_policy_enforcer.cc components/certificate_transparency/chrome_ct_policy_enforcer.cc
|
||||
index 99a4405290ea..d0b35f74e552 100644
|
||||
--- components/certificate_transparency/chrome_ct_policy_enforcer.cc
|
||||
+++ components/certificate_transparency/chrome_ct_policy_enforcer.cc
|
||||
@@ -36,15 +36,6 @@ namespace certificate_transparency {
|
||||
|
||||
namespace {
|
||||
|
||||
-// Returns true if the current build is recent enough to ensure that
|
||||
-// built-in security information (e.g. CT Logs) is fresh enough.
|
||||
-// TODO(eranm): Move to base or net/base
|
||||
-bool IsBuildTimely() {
|
||||
- const base::Time build_time = base::GetBuildTime();
|
||||
- // We consider built-in information to be timely for 10 weeks.
|
||||
- return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
|
||||
-}
|
||||
-
|
||||
// Returns a rounded-down months difference of |start| and |end|,
|
||||
// together with an indication of whether the last month was
|
||||
// a full month, because the range starts specified in the policy
|
||||
@@ -304,4 +295,16 @@ CTPolicyCompliance ChromeCTPolicyEnforcer::CheckCompliance(
|
||||
return compliance;
|
||||
}
|
||||
|
||||
+// Returns true if the current build is recent enough to ensure that
|
||||
+// built-in security information (e.g. CT Logs) is fresh enough.
|
||||
+// TODO(eranm): Move to base or net/base
|
||||
+bool ChromeCTPolicyEnforcer::IsBuildTimely() const {
|
||||
+ if (!enforce_net_security_expiration_)
|
||||
+ return true;
|
||||
+
|
||||
+ const base::Time build_time = base::GetBuildTime();
|
||||
+ // We consider built-in information to be timely for 10 weeks.
|
||||
+ return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
|
||||
+}
|
||||
+
|
||||
} // namespace certificate_transparency
|
||||
diff --git components/certificate_transparency/chrome_ct_policy_enforcer.h components/certificate_transparency/chrome_ct_policy_enforcer.h
|
||||
index f61ff0d0564a..e6727c7b1cbc 100644
|
||||
--- components/certificate_transparency/chrome_ct_policy_enforcer.h
|
||||
+++ components/certificate_transparency/chrome_ct_policy_enforcer.h
|
||||
@@ -26,6 +26,17 @@ class ChromeCTPolicyEnforcer : public net::CTPolicyEnforcer {
|
||||
net::X509Certificate* cert,
|
||||
const net::ct::SCTList& verified_scts,
|
||||
const net::NetLogWithSource& net_log) override;
|
||||
+
|
||||
+ void set_enforce_net_security_expiration(bool enforce) {
|
||||
+ enforce_net_security_expiration_ = enforce;
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ // Returns true if the current build is recent enough to ensure that
|
||||
+ // built-in security information (e.g. CT Logs) is fresh enough.
|
||||
+ bool IsBuildTimely() const;
|
||||
+
|
||||
+ bool enforce_net_security_expiration_ = true;
|
||||
};
|
||||
|
||||
} // namespace certificate_transparency
|
||||
diff --git net/http/transport_security_state.cc net/http/transport_security_state.cc
|
||||
index b7a2bca7bf42..d0952ba4a4d7 100644
|
||||
index b7a2bca7bf42..5987ee212a12 100644
|
||||
--- net/http/transport_security_state.cc
|
||||
+++ net/http/transport_security_state.cc
|
||||
@@ -1100,8 +1100,10 @@ void TransportSecurityState::ClearReportCachesForTesting() {
|
||||
@@ -1100,8 +1100,12 @@ void TransportSecurityState::ClearReportCachesForTesting() {
|
||||
sent_expect_ct_reports_cache_.Clear();
|
||||
}
|
||||
|
||||
-// static
|
||||
-bool TransportSecurityState::IsBuildTimely() {
|
||||
+// Returns true if the current build is recent enough to ensure that
|
||||
+// built-in security information (e.g. CT Logs) is fresh enough.
|
||||
+bool TransportSecurityState::IsBuildTimely() const {
|
||||
+ if (!enforce_net_security_expiration_)
|
||||
+ return true;
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git net/url_request/url_request.h net/url_request/url_request.h
|
||||
index b264ca045f24..1746e0588926 100644
|
||||
index f6043de481fa..ca4d2472f572 100644
|
||||
--- net/url_request/url_request.h
|
||||
+++ net/url_request/url_request.h
|
||||
@@ -748,10 +748,10 @@ class NET_EXPORT URLRequest : public base::SupportsUserData {
|
||||
@@ -782,10 +782,10 @@ class NET_EXPORT URLRequest : public base::SupportsUserData {
|
||||
|
||||
base::WeakPtr<URLRequest> GetWeakPtr();
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
diff --git BUILD.gn BUILD.gn
|
||||
index 83fc631bd..26b675d64 100644
|
||||
index 42f20931a..2a14a60e7 100644
|
||||
--- BUILD.gn
|
||||
+++ BUILD.gn
|
||||
@@ -212,6 +212,10 @@ jumbo_static_library("pdfium") {
|
||||
complete_static_lib = true
|
||||
configs -= [ "//build/config/compiler:thin_archive" ]
|
||||
@@ -199,6 +199,10 @@ jumbo_component("pdfium") {
|
||||
if (is_component_build) {
|
||||
deps += [ "testing/fuzzers:fuzzer_impls" ]
|
||||
}
|
||||
+
|
||||
+ include_dirs = [
|
||||
@ -14,10 +14,10 @@ index 83fc631bd..26b675d64 100644
|
||||
|
||||
# Targets below this are only visible within this file (and to the
|
||||
diff --git fpdfsdk/fpdf_view.cpp fpdfsdk/fpdf_view.cpp
|
||||
index 9b1e84b63..73f04bc68 100644
|
||||
index 63374d2e9..7e9c32146 100644
|
||||
--- fpdfsdk/fpdf_view.cpp
|
||||
+++ fpdfsdk/fpdf_view.cpp
|
||||
@@ -38,6 +38,7 @@
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "fpdfsdk/cpdfsdk_helpers.h"
|
||||
#include "fpdfsdk/cpdfsdk_pageview.h"
|
||||
#include "fpdfsdk/ipdfsdk_pauseadapter.h"
|
||||
@ -25,7 +25,7 @@ index 9b1e84b63..73f04bc68 100644
|
||||
#include "fxjs/ijs_runtime.h"
|
||||
#include "public/fpdf_formfill.h"
|
||||
#include "third_party/base/ptr_util.h"
|
||||
@@ -183,6 +184,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() {
|
||||
@@ -184,6 +185,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_DestroyLibrary() {
|
||||
|
||||
CPDF_ModuleMgr::Destroy();
|
||||
CFX_GEModule::Destroy();
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/public/common/common_param_traits_macros.h content/public/common/common_param_traits_macros.h
|
||||
index 24bded9417c5..cb5d04ab32ab 100644
|
||||
index 9ad8ad0bfa50..2724dab2f003 100644
|
||||
--- content/public/common/common_param_traits_macros.h
|
||||
+++ content/public/common/common_param_traits_macros.h
|
||||
@@ -189,6 +189,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||
@@ -188,6 +188,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
|
||||
IPC_STRUCT_TRAITS_MEMBER(main_frame_resizes_are_orientation_changes)
|
||||
IPC_STRUCT_TRAITS_MEMBER(initialize_at_minimum_page_scale)
|
||||
IPC_STRUCT_TRAITS_MEMBER(smart_insert_delete_enabled)
|
||||
@ -11,10 +11,10 @@ index 24bded9417c5..cb5d04ab32ab 100644
|
||||
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
|
||||
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
|
||||
diff --git content/public/common/web_preferences.cc content/public/common/web_preferences.cc
|
||||
index 1822036e406d..b5f0e63d0b37 100644
|
||||
index e2f3d5b5e1f9..3bf01af841ac 100644
|
||||
--- content/public/common/web_preferences.cc
|
||||
+++ content/public/common/web_preferences.cc
|
||||
@@ -169,6 +169,7 @@ WebPreferences::WebPreferences()
|
||||
@@ -168,6 +168,7 @@ WebPreferences::WebPreferences()
|
||||
spatial_navigation_enabled(false),
|
||||
use_solid_color_scrollbars(false),
|
||||
navigate_on_drag_drop(true),
|
||||
@ -23,10 +23,10 @@ index 1822036e406d..b5f0e63d0b37 100644
|
||||
record_whole_document(false),
|
||||
cookie_enabled(true),
|
||||
diff --git content/public/common/web_preferences.h content/public/common/web_preferences.h
|
||||
index a83015f3629a..fe79480e9af7 100644
|
||||
index f9a996476d5d..09d69329e037 100644
|
||||
--- content/public/common/web_preferences.h
|
||||
+++ content/public/common/web_preferences.h
|
||||
@@ -185,6 +185,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
@@ -184,6 +184,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
bool spatial_navigation_enabled;
|
||||
bool use_solid_color_scrollbars;
|
||||
bool navigate_on_drag_drop;
|
||||
@ -35,10 +35,10 @@ index a83015f3629a..fe79480e9af7 100644
|
||||
bool record_whole_document;
|
||||
|
||||
diff --git content/renderer/render_view_impl.cc content/renderer/render_view_impl.cc
|
||||
index 3e328daa5827..7d0869aa29fd 100644
|
||||
index 1aa52af90279..e3107e93c866 100644
|
||||
--- content/renderer/render_view_impl.cc
|
||||
+++ content/renderer/render_view_impl.cc
|
||||
@@ -1026,6 +1026,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
@@ -1012,6 +1012,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
#endif
|
||||
|
||||
WebRuntimeFeatures::EnableTranslateService(prefs.translate_service_available);
|
||||
|
@ -1,3 +1,42 @@
|
||||
diff --git chrome/app/builtin_service_manifests.cc chrome/app/builtin_service_manifests.cc
|
||||
index 6c9c779d785e..6032d42122d3 100644
|
||||
--- chrome/app/builtin_service_manifests.cc
|
||||
+++ chrome/app/builtin_service_manifests.cc
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "chrome/common/constants.mojom.h"
|
||||
#include "chrome/services/file_util/public/cpp/manifest.h"
|
||||
#include "chrome/services/noop/public/cpp/manifest.h"
|
||||
+#include "chrome/services/printing/public/cpp/manifest.h"
|
||||
#include "components/services/patch/public/cpp/manifest.h"
|
||||
#include "components/services/quarantine/public/cpp/manifest.h"
|
||||
#include "components/services/unzip/public/cpp/manifest.h"
|
||||
@@ -60,10 +61,6 @@
|
||||
#include "components/services/pdf_compositor/public/cpp/manifest.h" // nogncheck
|
||||
#endif
|
||||
|
||||
-#if BUILDFLAG(ENABLE_PRINT_PREVIEW)
|
||||
-#include "chrome/services/printing/public/cpp/manifest.h"
|
||||
-#endif
|
||||
-
|
||||
#if BUILDFLAG(ENABLE_ISOLATED_XR_SERVICE)
|
||||
#include "chrome/services/isolated_xr_device/manifest.h"
|
||||
#endif
|
||||
diff --git chrome/app/printing_strings.grdp chrome/app/printing_strings.grdp
|
||||
index c7533c13e863..7578f9b6ae71 100644
|
||||
--- chrome/app/printing_strings.grdp
|
||||
+++ chrome/app/printing_strings.grdp
|
||||
@@ -1,11 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Printing specific strings (included from generated_resources.grd). -->
|
||||
<grit-part>
|
||||
- <if expr="enable_print_preview or is_win">
|
||||
<message name="IDS_UTILITY_PROCESS_PRINTING_SERVICE_NAME" desc="The name of the utility process used for printing conversions.">
|
||||
Printing Service
|
||||
</message>
|
||||
- </if>
|
||||
|
||||
<message name="IDS_PRINT_INVALID_PRINTER_SETTINGS" desc="Message to display when selected printer is not reachable or its settings are invalid.">
|
||||
The selected printer is not available or not installed correctly. Check your printer or try selecting another printer.
|
||||
diff --git chrome/browser/ui/cocoa/applescript/tab_applescript.mm chrome/browser/ui/cocoa/applescript/tab_applescript.mm
|
||||
index d4c9283b3cef..4a91987bfe7f 100644
|
||||
--- chrome/browser/ui/cocoa/applescript/tab_applescript.mm
|
||||
@ -242,7 +281,7 @@ index 1802034a6e15..ae0d479ecafa 100644
|
||||
|
||||
#endif // COMPONENTS_PRINTING_COMMON_PRINT_MESSAGES_H_
|
||||
diff --git components/printing/renderer/print_render_frame_helper.cc components/printing/renderer/print_render_frame_helper.cc
|
||||
index eb717d8d4be3..ddaa19d8d241 100644
|
||||
index 74f26daa76a2..61a02b46e5a6 100644
|
||||
--- components/printing/renderer/print_render_frame_helper.cc
|
||||
+++ components/printing/renderer/print_render_frame_helper.cc
|
||||
@@ -351,7 +351,6 @@ bool IsPrintingNodeOrPdfFrame(const blink::WebLocalFrame* frame,
|
||||
@ -310,7 +349,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
void PrintRenderFrameHelper::OnPrintPreview(
|
||||
const base::DictionaryValue& settings) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
@@ -1488,7 +1479,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
|
||||
@@ -1487,7 +1478,6 @@ int PrintRenderFrameHelper::GetFitToPageScaleFactor(
|
||||
printable_height / static_cast<double>(uniform_page_size.height);
|
||||
return static_cast<int>(100.0f * std::min(scale_width, scale_height));
|
||||
}
|
||||
@ -318,7 +357,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
|
||||
void PrintRenderFrameHelper::OnPrintingDone(bool success) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
@@ -1503,7 +1493,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
|
||||
@@ -1502,7 +1492,6 @@ void PrintRenderFrameHelper::OnSetPrintingEnabled(bool enabled) {
|
||||
is_printing_enabled_ = enabled;
|
||||
}
|
||||
|
||||
@ -326,7 +365,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
if (ipc_nesting_level_ > 1)
|
||||
return;
|
||||
@@ -1514,7 +1503,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
@@ -1513,7 +1502,9 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
// that instead.
|
||||
auto plugin = delegate_->GetPdfElement(frame);
|
||||
if (!plugin.IsNull()) {
|
||||
@ -336,7 +375,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
return;
|
||||
}
|
||||
print_preview_context_.InitWithFrame(frame);
|
||||
@@ -1526,7 +1517,6 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
@@ -1525,7 +1516,6 @@ void PrintRenderFrameHelper::OnInitiatePrintPreview(bool has_selection) {
|
||||
void PrintRenderFrameHelper::OnClosePrintPreviewDialog() {
|
||||
print_preview_context_.source_frame()->DispatchAfterPrintEvent();
|
||||
}
|
||||
@ -344,7 +383,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
|
||||
void PrintRenderFrameHelper::OnPrintFrameContent(
|
||||
const PrintMsg_PrintFrame_Params& params) {
|
||||
@@ -1610,11 +1600,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
||||
@@ -1609,11 +1599,9 @@ void PrintRenderFrameHelper::PrintNode(const blink::WebNode& node) {
|
||||
|
||||
print_node_in_progress_ = true;
|
||||
|
||||
@ -357,7 +396,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
} else {
|
||||
// Make a copy of the node, in case RenderView::OnContextMenuClosed() resets
|
||||
// its |context_menu_node_|.
|
||||
@@ -1690,13 +1678,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
||||
@@ -1689,13 +1677,11 @@ void PrintRenderFrameHelper::Print(blink::WebLocalFrame* frame,
|
||||
void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
int cookie =
|
||||
print_pages_params_ ? print_pages_params_->params.document_cookie : 0;
|
||||
@ -371,7 +410,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
switch (result) {
|
||||
case OK:
|
||||
break;
|
||||
@@ -1711,7 +1697,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
@@ -1710,7 +1696,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
}
|
||||
break;
|
||||
|
||||
@ -379,7 +418,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
case FAIL_PREVIEW:
|
||||
if (!is_print_ready_metafile_sent_) {
|
||||
if (notify_browser_of_print_failure_) {
|
||||
@@ -1729,7 +1714,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
@@ -1728,7 +1713,6 @@ void PrintRenderFrameHelper::DidFinishPrinting(PrintingResult result) {
|
||||
cookie, ids));
|
||||
print_preview_context_.Failed(false);
|
||||
break;
|
||||
@ -387,7 +426,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
}
|
||||
prep_frame_view_.reset();
|
||||
print_pages_params_.reset();
|
||||
@@ -1902,7 +1886,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
|
||||
@@ -1901,7 +1885,6 @@ bool PrintRenderFrameHelper::CalculateNumberOfPages(blink::WebLocalFrame* frame,
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -395,7 +434,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
bool PrintRenderFrameHelper::SetOptionsFromPdfDocument(
|
||||
PrintHostMsg_SetOptionsFromDocument_Params* options) {
|
||||
blink::WebLocalFrame* source_frame = print_preview_context_.source_frame();
|
||||
@@ -1987,7 +1970,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
|
||||
@@ -1986,7 +1969,6 @@ bool PrintRenderFrameHelper::UpdatePrintSettings(
|
||||
print_preview_context_.set_error(PREVIEW_ERROR_INVALID_PRINTER_SETTINGS);
|
||||
return false;
|
||||
}
|
||||
@ -403,7 +442,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
|
||||
void PrintRenderFrameHelper::GetPrintSettingsFromUser(
|
||||
blink::WebLocalFrame* frame,
|
||||
@@ -2139,7 +2121,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
|
||||
@@ -2138,7 +2120,6 @@ bool PrintRenderFrameHelper::CopyMetafileDataToReadOnlySharedMem(
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -411,7 +450,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
void PrintRenderFrameHelper::ShowScriptedPrintPreview() {
|
||||
if (is_scripted_preview_delayed_) {
|
||||
is_scripted_preview_delayed_ = false;
|
||||
@@ -2265,7 +2246,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
|
||||
@@ -2264,7 +2245,6 @@ bool PrintRenderFrameHelper::PreviewPageRendered(
|
||||
Send(new PrintHostMsg_DidPreviewPage(routing_id(), preview_page_params, ids));
|
||||
return true;
|
||||
}
|
||||
@ -420,7 +459,7 @@ index eb717d8d4be3..ddaa19d8d241 100644
|
||||
PrintRenderFrameHelper::PrintPreviewContext::PrintPreviewContext() = default;
|
||||
|
||||
diff --git components/printing/renderer/print_render_frame_helper.h components/printing/renderer/print_render_frame_helper.h
|
||||
index c4effb05d16c..5d225dcab071 100644
|
||||
index 1e2777561ba6..21c3777010b6 100644
|
||||
--- components/printing/renderer/print_render_frame_helper.h
|
||||
+++ components/printing/renderer/print_render_frame_helper.h
|
||||
@@ -150,10 +150,8 @@ class PrintRenderFrameHelper
|
||||
@ -454,7 +493,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
// Prepare frame for creating preview document.
|
||||
void PrepareFrameForPreviewDocument();
|
||||
|
||||
@@ -233,7 +228,6 @@ class PrintRenderFrameHelper
|
||||
@@ -232,7 +227,6 @@ class PrintRenderFrameHelper
|
||||
|
||||
// Helper method to calculate the scale factor for fit-to-page.
|
||||
int GetFitToPageScaleFactor(const gfx::Rect& printable_area_in_points);
|
||||
@ -462,7 +501,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
|
||||
// Enable/Disable printing.
|
||||
void OnSetPrintingEnabled(bool enabled);
|
||||
@@ -260,7 +254,6 @@ class PrintRenderFrameHelper
|
||||
@@ -259,7 +253,6 @@ class PrintRenderFrameHelper
|
||||
const blink::WebNode& node,
|
||||
int* number_of_pages);
|
||||
|
||||
@ -470,7 +509,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
// Set options for print preset from source PDF document.
|
||||
bool SetOptionsFromPdfDocument(
|
||||
PrintHostMsg_SetOptionsFromDocument_Params* options);
|
||||
@@ -271,7 +264,6 @@ class PrintRenderFrameHelper
|
||||
@@ -270,7 +263,6 @@ class PrintRenderFrameHelper
|
||||
bool UpdatePrintSettings(blink::WebLocalFrame* frame,
|
||||
const blink::WebNode& node,
|
||||
const base::DictionaryValue& passed_job_settings);
|
||||
@ -478,7 +517,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
|
||||
// Get final print settings from the user.
|
||||
// WARNING: |this| may be gone after this method returns.
|
||||
@@ -353,7 +345,6 @@ class PrintRenderFrameHelper
|
||||
@@ -352,7 +344,6 @@ class PrintRenderFrameHelper
|
||||
bool IsScriptInitiatedPrintAllowed(blink::WebLocalFrame* frame,
|
||||
bool user_initiated);
|
||||
|
||||
@ -486,7 +525,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
// Shows scripted print preview when options from plugin are available.
|
||||
void ShowScriptedPrintPreview();
|
||||
|
||||
@@ -372,7 +363,6 @@ class PrintRenderFrameHelper
|
||||
@@ -371,7 +362,6 @@ class PrintRenderFrameHelper
|
||||
// Returns true if print preview should continue, false on failure.
|
||||
bool PreviewPageRendered(int page_number,
|
||||
std::unique_ptr<MetafileSkia> metafile);
|
||||
@ -494,7 +533,7 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
|
||||
void SetPrintPagesParams(const PrintMsg_PrintPages_Params& settings);
|
||||
|
||||
@@ -527,6 +517,7 @@ class PrintRenderFrameHelper
|
||||
@@ -526,6 +516,7 @@ class PrintRenderFrameHelper
|
||||
ScriptingThrottler scripting_throttler_;
|
||||
|
||||
bool print_node_in_progress_ = false;
|
||||
@ -503,10 +542,10 @@ index c4effb05d16c..5d225dcab071 100644
|
||||
bool is_loading_ = false;
|
||||
bool is_scripted_preview_delayed_ = false;
|
||||
diff --git components/printing_component_strings.grdp components/printing_component_strings.grdp
|
||||
index f157cbaec42e..5e3c3caa2aa2 100644
|
||||
index f3cbf563dee3..d899aab89dfd 100644
|
||||
--- components/printing_component_strings.grdp
|
||||
+++ components/printing_component_strings.grdp
|
||||
@@ -1,10 +1,8 @@
|
||||
@@ -1,12 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<grit-part>
|
||||
- <if expr="enable_print_preview">
|
||||
@ -516,7 +555,9 @@ index f157cbaec42e..5e3c3caa2aa2 100644
|
||||
</message>
|
||||
</if>
|
||||
- </if>
|
||||
</grit-part>
|
||||
|
||||
<message name="IDS_PDF_COMPOSITOR_SERVICE_DISPLAY_NAME" desc="The display name (in the system task manager, etc) of the service process used for PDF compositing.">
|
||||
PDF Compositor Service
|
||||
diff --git components/pwg_encoder/BUILD.gn components/pwg_encoder/BUILD.gn
|
||||
index 96ae254116a9..3697d6034300 100644
|
||||
--- components/pwg_encoder/BUILD.gn
|
||||
|
@ -11,10 +11,10 @@ index 691c476708b6..f198e2d0584f 100644
|
||||
|
||||
PrintJobWorker::~PrintJobWorker() {
|
||||
diff --git printing/printing_context.h printing/printing_context.h
|
||||
index a5879b5888c9..a46bfa474f47 100644
|
||||
index 9ccc1a6680bc..c0494a1cc2e2 100644
|
||||
--- printing/printing_context.h
|
||||
+++ printing/printing_context.h
|
||||
@@ -131,6 +131,13 @@ class PRINTING_EXPORT PrintingContext {
|
||||
@@ -129,6 +129,13 @@ class PRINTING_EXPORT PrintingContext {
|
||||
|
||||
int job_id() const { return job_id_; }
|
||||
|
||||
@ -28,7 +28,7 @@ index a5879b5888c9..a46bfa474f47 100644
|
||||
protected:
|
||||
explicit PrintingContext(Delegate* delegate);
|
||||
|
||||
@@ -155,6 +162,10 @@ class PRINTING_EXPORT PrintingContext {
|
||||
@@ -153,6 +160,10 @@ class PRINTING_EXPORT PrintingContext {
|
||||
// The job id for the current job. The value is 0 if no jobs are active.
|
||||
int job_id_;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git build/config/compiler/compiler.gni build/config/compiler/compiler.gni
|
||||
index 3bdd85bf9758..b326e808f929 100644
|
||||
index c351d6babb8d..db5b4f0b973a 100644
|
||||
--- build/config/compiler/compiler.gni
|
||||
+++ build/config/compiler/compiler.gni
|
||||
@@ -250,18 +250,6 @@ if (symbol_level == -1) {
|
||||
@@ -248,18 +248,6 @@ if (symbol_level == -1) {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/browser/renderer_preferences_util.cc chrome/browser/renderer_preferences_util.cc
|
||||
index f5ed7f0683c5..5b31fb309985 100644
|
||||
index 9008f3e280f2..71e21c813637 100644
|
||||
--- chrome/browser/renderer_preferences_util.cc
|
||||
+++ chrome/browser/renderer_preferences_util.cc
|
||||
@@ -29,7 +29,8 @@
|
||||
@@ -30,7 +30,8 @@
|
||||
#include "ui/base/cocoa/defaults_utils.h"
|
||||
#endif
|
||||
|
||||
@ -12,7 +12,7 @@ index f5ed7f0683c5..5b31fb309985 100644
|
||||
#include "chrome/browser/themes/theme_service.h"
|
||||
#include "chrome/browser/themes/theme_service_factory.h"
|
||||
#include "ui/views/linux_ui/linux_ui.h"
|
||||
@@ -129,7 +130,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
|
||||
@@ -130,7 +131,8 @@ void UpdateFromSystemSettings(blink::mojom::RendererPreferences* prefs,
|
||||
prefs->caret_blink_interval = interval;
|
||||
#endif
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/base/resource/resource_bundle.cc ui/base/resource/resource_bundle.cc
|
||||
index 340291d8c8f3..34abefbd1c77 100644
|
||||
index ab883f7cb8bb..ca12051438e2 100644
|
||||
--- ui/base/resource/resource_bundle.cc
|
||||
+++ ui/base/resource/resource_bundle.cc
|
||||
@@ -716,6 +716,12 @@ ResourceBundle::ResourceBundle(Delegate* delegate)
|
||||
@@ -725,6 +725,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 340291d8c8f3..34abefbd1c77 100644
|
||||
mangle_localized_strings_ = base::CommandLine::ForCurrentProcess()->HasSwitch(
|
||||
switches::kMangleLocalizedStrings);
|
||||
}
|
||||
@@ -725,6 +731,11 @@ ResourceBundle::~ResourceBundle() {
|
||||
@@ -734,6 +740,11 @@ ResourceBundle::~ResourceBundle() {
|
||||
UnloadLocaleResources();
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ index 340291d8c8f3..34abefbd1c77 100644
|
||||
void ResourceBundle::InitSharedInstance(Delegate* delegate) {
|
||||
DCHECK(g_shared_instance_ == NULL) << "ResourceBundle initialized twice";
|
||||
diff --git ui/base/resource/resource_bundle.h ui/base/resource/resource_bundle.h
|
||||
index 1f0f0b575e44..b3f8d28b7a6e 100644
|
||||
index 23005f6da221..3c87746c5a3d 100644
|
||||
--- ui/base/resource/resource_bundle.h
|
||||
+++ ui/base/resource/resource_bundle.h
|
||||
@@ -150,6 +150,11 @@ class UI_BASE_EXPORT ResourceBundle {
|
||||
|
@ -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 8ab45cb1bb32..ddf13a935ee2 100644
|
||||
index b54aedcb4282..ea7de4d815ab 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -742,10 +742,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
@@ -700,10 +700,12 @@ gfx::Rect RenderWidgetHostViewAura::GetViewBounds() {
|
||||
void RenderWidgetHostViewAura::UpdateBackgroundColor() {
|
||||
DCHECK(GetBackgroundColor());
|
||||
|
||||
@ -19,10 +19,11 @@ index 8ab45cb1bb32..ddf13a935ee2 100644
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewAura::WindowTitleChanged() {
|
||||
@@ -2108,6 +2110,15 @@ void RenderWidgetHostViewAura::CreateAuraWindow(aura::client::WindowType type) {
|
||||
@@ -2037,6 +2039,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_);
|
||||
|
||||
+
|
||||
+ // Do this after |window_| is created to avoid crashes on Win10.
|
||||
+ // See https://crbug.com/761389.
|
||||
+ RenderViewHost* rvh = RenderViewHost::From(host_);
|
||||
@ -31,7 +32,6 @@ index 8ab45cb1bb32..ddf13a935ee2 100644
|
||||
+ // first to rebaseline some unreliable layout tests.
|
||||
+ ignore_result(rvh->GetWebkitPreferences());
|
||||
+ }
|
||||
+
|
||||
if (!features::IsMultiProcessMash())
|
||||
return;
|
||||
}
|
||||
|
||||
void RenderWidgetHostViewAura::CreateDelegatedFrameHostClient() {
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git services/service_manager/embedder/main.cc services/service_manager/embedder/main.cc
|
||||
index 2f1c18044c35..479cb45f09e1 100644
|
||||
index 0d1fa74a3f43..11c7b62ac2ad 100644
|
||||
--- services/service_manager/embedder/main.cc
|
||||
+++ services/service_manager/embedder/main.cc
|
||||
@@ -233,22 +233,36 @@ int RunService(MainDelegate* delegate) {
|
||||
@@ -240,22 +240,36 @@ int RunService(MainDelegate* delegate) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -43,7 +43,7 @@ index 2f1c18044c35..479cb45f09e1 100644
|
||||
|
||||
// A flag to indicate whether Main() has been called before. On Android, we
|
||||
// may re-run Main() without restarting the browser process. This flag
|
||||
@@ -334,12 +348,7 @@ int Main(const MainParams& params) {
|
||||
@@ -341,12 +355,7 @@ int Main(const MainParams& params) {
|
||||
MainDelegate::InitializeParams init_params;
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
@ -57,7 +57,7 @@ index 2f1c18044c35..479cb45f09e1 100644
|
||||
InitializeMac();
|
||||
#endif
|
||||
|
||||
@@ -383,18 +392,16 @@ int Main(const MainParams& params) {
|
||||
@@ -390,18 +399,16 @@ int Main(const MainParams& params) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ index 2f1c18044c35..479cb45f09e1 100644
|
||||
switch (process_type) {
|
||||
case ProcessType::kDefault:
|
||||
NOTREACHED();
|
||||
@@ -416,6 +423,8 @@ int Main(const MainParams& params) {
|
||||
@@ -423,6 +430,8 @@ int Main(const MainParams& params) {
|
||||
break;
|
||||
}
|
||||
|
||||
@ -94,7 +94,7 @@ index 2f1c18044c35..479cb45f09e1 100644
|
||||
if (tracker) {
|
||||
if (exit_code == 0) {
|
||||
tracker->SetProcessPhaseIfEnabled(
|
||||
@@ -427,13 +436,38 @@ int Main(const MainParams& params) {
|
||||
@@ -434,13 +443,38 @@ int Main(const MainParams& params) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -125,7 +125,7 @@ index 2f1c18044c35..479cb45f09e1 100644
|
||||
+ params.autorelease_pool =
|
||||
+ std::make_unique<base::mac::ScopedNSAutoreleasePool>();
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+ int exit_code = MainInitialize(params);
|
||||
+ if (exit_code >= 0)
|
||||
+ return exit_code;
|
||||
|
@ -35,10 +35,10 @@ index 2b24d1ac1b5b..6577495d87a9 100644
|
||||
base_cache_path.Append(chrome::kCacheDirname);
|
||||
network_context_params->http_cache_max_size =
|
||||
diff --git chrome/browser/profiles/profile.h chrome/browser/profiles/profile.h
|
||||
index e77d8abd6601..88331e9af5e0 100644
|
||||
index 15d2512dbeaa..04a34b73876b 100644
|
||||
--- chrome/browser/profiles/profile.h
|
||||
+++ chrome/browser/profiles/profile.h
|
||||
@@ -321,6 +321,11 @@ class Profile : public content::BrowserContext {
|
||||
@@ -352,6 +352,11 @@ class Profile : public content::BrowserContext {
|
||||
virtual bool ShouldRestoreOldSessionCookies();
|
||||
virtual bool ShouldPersistSessionCookies();
|
||||
|
||||
@ -51,10 +51,10 @@ index e77d8abd6601..88331e9af5e0 100644
|
||||
// itself, if |relative_path| is empty).
|
||||
virtual network::mojom::NetworkContextPtr CreateNetworkContext(
|
||||
diff --git net/cookies/cookie_monster.cc net/cookies/cookie_monster.cc
|
||||
index e7ad8df8817e..68ae3c88d6cc 100644
|
||||
index 5772e2ac6eb7..86053af86f14 100644
|
||||
--- net/cookies/cookie_monster.cc
|
||||
+++ net/cookies/cookie_monster.cc
|
||||
@@ -508,6 +508,25 @@ void CookieMonster::SetCookieableSchemes(
|
||||
@@ -510,6 +510,25 @@ void CookieMonster::SetCookieableSchemes(
|
||||
MaybeRunCookieCallback(std::move(callback), true);
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ index e7ad8df8817e..68ae3c88d6cc 100644
|
||||
void CookieMonster::SetPersistSessionCookies(bool persist_session_cookies) {
|
||||
DCHECK(thread_checker_.CalledOnValidThread());
|
||||
diff --git net/cookies/cookie_monster.h net/cookies/cookie_monster.h
|
||||
index 747b3789374a..d70c75ade666 100644
|
||||
index 9b7dbbe4f644..da5ee7fe3f28 100644
|
||||
--- net/cookies/cookie_monster.h
|
||||
+++ net/cookies/cookie_monster.h
|
||||
@@ -176,6 +176,8 @@ class NET_EXPORT CookieMonster : public CookieStore {
|
||||
@ -94,7 +94,7 @@ index 747b3789374a..d70c75ade666 100644
|
||||
// Enables writing session cookies into the cookie database. If this this
|
||||
// method is called, it must be called before first use of the instance
|
||||
diff --git net/cookies/cookie_store.h net/cookies/cookie_store.h
|
||||
index c1146a9e32f6..da1e54d423a7 100644
|
||||
index d6299f543edd..ac8edd449452 100644
|
||||
--- net/cookies/cookie_store.h
|
||||
+++ net/cookies/cookie_store.h
|
||||
@@ -145,6 +145,11 @@ class NET_EXPORT CookieStore {
|
||||
@ -106,9 +106,9 @@ index c1146a9e32f6..da1e54d423a7 100644
|
||||
+ virtual void AddCookieableSchemes(const std::vector<std::string>& schemes,
|
||||
+ SetCookieableSchemesCallback callback) = 0;
|
||||
+
|
||||
// Returns true if this cookie store is ephemeral, and false if it is backed
|
||||
// by some sort of persistence layer.
|
||||
// TODO(nharper): Remove this method once crbug.com/548423 has been closed.
|
||||
// Reports the estimate of dynamically allocated memory in bytes.
|
||||
virtual void DumpMemoryStats(base::trace_event::ProcessMemoryDump* pmd,
|
||||
const std::string& parent_absolute_name) const;
|
||||
diff --git services/network/cookie_manager.cc services/network/cookie_manager.cc
|
||||
index 8be1b9dea5f7..30f23449ac51 100644
|
||||
--- services/network/cookie_manager.cc
|
||||
@ -132,10 +132,10 @@ index 8be1b9dea5f7..30f23449ac51 100644
|
||||
|
||||
void CookieManager::SetForceKeepSessionState() {
|
||||
diff --git services/network/network_context.cc services/network/network_context.cc
|
||||
index 9d6f7b930e11..c16e5ca90c14 100644
|
||||
index 6082e82d5854..b68b48eda578 100644
|
||||
--- services/network/network_context.cc
|
||||
+++ services/network/network_context.cc
|
||||
@@ -1742,6 +1742,7 @@ URLRequestContextOwner NetworkContext::ApplyContextParamsToBuilder(
|
||||
@@ -1700,6 +1700,7 @@ URLRequestContextOwner NetworkContext::ApplyContextParamsToBuilder(
|
||||
}
|
||||
|
||||
scoped_refptr<SessionCleanupCookieStore> session_cleanup_cookie_store;
|
||||
@ -143,7 +143,7 @@ index 9d6f7b930e11..c16e5ca90c14 100644
|
||||
if (params_->cookie_path) {
|
||||
scoped_refptr<base::SequencedTaskRunner> client_task_runner =
|
||||
base::MessageLoopCurrent::Get()->task_runner();
|
||||
@@ -1769,18 +1770,27 @@ URLRequestContextOwner NetworkContext::ApplyContextParamsToBuilder(
|
||||
@@ -1727,18 +1728,27 @@ URLRequestContextOwner NetworkContext::ApplyContextParamsToBuilder(
|
||||
session_cleanup_cookie_store =
|
||||
base::MakeRefCounted<SessionCleanupCookieStore>(sqlite_store);
|
||||
|
||||
@ -175,10 +175,10 @@ index 9d6f7b930e11..c16e5ca90c14 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 9e29276e0e4c..9d5588efe7cf 100644
|
||||
index 482ec3cd0ba7..d135f0f19046 100644
|
||||
--- services/network/public/mojom/network_context.mojom
|
||||
+++ services/network/public/mojom/network_context.mojom
|
||||
@@ -203,6 +203,9 @@ struct NetworkContextParams {
|
||||
@@ -205,6 +205,9 @@ struct NetworkContextParams {
|
||||
// cookies. Otherwise it should be false.
|
||||
bool persist_session_cookies = false;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/views/controls/native/native_view_host.cc ui/views/controls/native/native_view_host.cc
|
||||
index 3ec401eabdd3..49a3d5f9fd33 100644
|
||||
index 9d2c42e2ef46..e1b89a6a5d25 100644
|
||||
--- ui/views/controls/native/native_view_host.cc
|
||||
+++ ui/views/controls/native/native_view_host.cc
|
||||
@@ -152,7 +152,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) {
|
||||
@@ -151,7 +151,7 @@ void NativeViewHost::OnPaint(gfx::Canvas* canvas) {
|
||||
// It would be nice if this used some approximation of the page's
|
||||
// current background color.
|
||||
if (native_wrapper_->HasInstalledClip())
|
||||
@ -12,7 +12,7 @@ index 3ec401eabdd3..49a3d5f9fd33 100644
|
||||
|
||||
void NativeViewHost::VisibilityChanged(View* starting_from, bool is_visible) {
|
||||
diff --git ui/views/controls/native/native_view_host.h ui/views/controls/native/native_view_host.h
|
||||
index 1a4bcee29cb6..c7601201aacd 100644
|
||||
index c64341390fc4..6b2491ef4827 100644
|
||||
--- ui/views/controls/native/native_view_host.h
|
||||
+++ ui/views/controls/native/native_view_host.h
|
||||
@@ -86,6 +86,12 @@ class VIEWS_EXPORT NativeViewHost : public View {
|
||||
@ -25,12 +25,12 @@ index 1a4bcee29cb6..c7601201aacd 100644
|
||||
+ resize_background_color_ = resize_background_color;
|
||||
+ }
|
||||
+
|
||||
// Value of fast_resize() the last time Layout() was invoked.
|
||||
bool fast_resize_at_last_layout() const {
|
||||
return fast_resize_at_last_layout_;
|
||||
@@ -141,6 +147,9 @@ class VIEWS_EXPORT NativeViewHost : public View {
|
||||
// Value of |fast_resize_| during the last call to Layout.
|
||||
bool fast_resize_at_last_layout_ = false;
|
||||
gfx::NativeView native_view() const { return native_view_; }
|
||||
|
||||
void NativeViewDestroyed();
|
||||
@@ -133,6 +139,9 @@ class VIEWS_EXPORT NativeViewHost : public View {
|
||||
// in the setter/accessor above.
|
||||
bool fast_resize_ = false;
|
||||
|
||||
+ // Color to paint in the background while resizing.
|
||||
+ SkColor resize_background_color_ = SK_ColorWHITE;
|
||||
@ -39,7 +39,7 @@ index 1a4bcee29cb6..c7601201aacd 100644
|
||||
};
|
||||
|
||||
diff --git ui/views/controls/webview/webview.cc ui/views/controls/webview/webview.cc
|
||||
index c77cb52a0aa4..c58c7e8d473d 100644
|
||||
index 85a5587f4c5e..5621deed9417 100644
|
||||
--- ui/views/controls/webview/webview.cc
|
||||
+++ ui/views/controls/webview/webview.cc
|
||||
@@ -121,6 +121,10 @@ void WebView::EnableSizingFromWebContents(const gfx::Size& min_size,
|
||||
|
@ -1,49 +0,0 @@
|
||||
diff --git chrome/browser/profiles/profile_key.cc chrome/browser/profiles/profile_key.cc
|
||||
index b225f2b..946403e 100644
|
||||
--- chrome/browser/profiles/profile_key.cc
|
||||
+++ chrome/browser/profiles/profile_key.cc
|
||||
@@ -5,9 +5,12 @@
|
||||
#include "chrome/browser/profiles/profile_key.h"
|
||||
|
||||
#include "base/logging.h"
|
||||
+#include "components/keyed_service/core/simple_dependency_manager.h"
|
||||
|
||||
ProfileKey::ProfileKey(const base::FilePath& path, ProfileKey* original_key)
|
||||
- : SimpleFactoryKey(path), prefs_(nullptr), original_key_(original_key) {}
|
||||
+ : SimpleFactoryKey(path), prefs_(nullptr), original_key_(original_key) {
|
||||
+ SimpleDependencyManager::GetInstance()->MarkContextLive(this);
|
||||
+}
|
||||
|
||||
ProfileKey::~ProfileKey() = default;
|
||||
|
||||
diff --git components/keyed_service/core/simple_dependency_manager.cc components/keyed_service/core/simple_dependency_manager.cc
|
||||
index 254c6ef..57d20b9 100644
|
||||
--- components/keyed_service/core/simple_dependency_manager.cc
|
||||
+++ components/keyed_service/core/simple_dependency_manager.cc
|
||||
@@ -43,6 +43,10 @@
|
||||
DependencyManager::CreateContextServices(key, true);
|
||||
}
|
||||
|
||||
+void SimpleDependencyManager::MarkContextLive(SimpleFactoryKey* key) {
|
||||
+ DependencyManager::MarkContextLive(key);
|
||||
+}
|
||||
+
|
||||
SimpleDependencyManager::SimpleDependencyManager() = default;
|
||||
|
||||
SimpleDependencyManager::~SimpleDependencyManager() = default;
|
||||
diff --git components/keyed_service/core/simple_dependency_manager.h components/keyed_service/core/simple_dependency_manager.h
|
||||
index 72fa74c..480f971 100644
|
||||
--- components/keyed_service/core/simple_dependency_manager.h
|
||||
+++ components/keyed_service/core/simple_dependency_manager.h
|
||||
@@ -35,6 +35,11 @@
|
||||
// ServiceIsNULLWhileTesting().
|
||||
void CreateServicesForTest(SimpleFactoryKey* key);
|
||||
|
||||
+ // Marks |context| as live (i.e., not stale). This method can be called as a
|
||||
+ // safeguard against |AssertContextWasntDestroyed()| checks going off due to
|
||||
+ // |context| aliasing an instance from a prior construction.
|
||||
+ void MarkContextLive(SimpleFactoryKey* key);
|
||||
+
|
||||
private:
|
||||
~SimpleDependencyManager() override;
|
||||
|
@ -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 5610c0df1c7d..0f2ed42e6451 100644
|
||||
index 94588aa5822d..1c16a71c4524 100644
|
||||
--- content/browser/blob_storage/chrome_blob_storage_context.cc
|
||||
+++ content/browser/blob_storage/chrome_blob_storage_context.cc
|
||||
@@ -117,7 +117,8 @@ ChromeBlobStorageContext* ChromeBlobStorageContext::GetFor(
|
||||
@ -13,18 +13,18 @@ index 5610c0df1c7d..0f2ed42e6451 100644
|
||||
{base::MayBlock(), base::TaskPriority::BEST_EFFORT,
|
||||
base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
|
||||
diff --git content/browser/browser_context.cc content/browser/browser_context.cc
|
||||
index b2b3920da3b0..686afc464b42 100644
|
||||
index 0d95af0ef882..463709a9152f 100644
|
||||
--- content/browser/browser_context.cc
|
||||
+++ content/browser/browser_context.cc
|
||||
@@ -56,6 +56,7 @@
|
||||
@@ -57,6 +57,7 @@
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/common/service_manager_connection.h"
|
||||
#include "content/public/common/service_names.mojom.h"
|
||||
+#include "media/capabilities/in_memory_video_decode_stats_db_impl.h"
|
||||
#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"
|
||||
#include "media/mojo/services/video_decode_perf_history.h"
|
||||
#include "net/cookies/cookie_store.h"
|
||||
@@ -211,7 +212,7 @@ StoragePartition* GetStoragePartitionFromConfig(
|
||||
@@ -213,7 +214,7 @@ StoragePartition* GetStoragePartitionFromConfig(
|
||||
StoragePartitionImplMap* partition_map =
|
||||
GetStoragePartitionMap(browser_context);
|
||||
|
||||
@ -33,29 +33,20 @@ index b2b3920da3b0..686afc464b42 100644
|
||||
in_memory = true;
|
||||
|
||||
return partition_map->Get(partition_domain, partition_name, in_memory,
|
||||
@@ -790,9 +791,14 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
|
||||
// occurs later upon first VideoDecodePerfHistory API request that requires DB
|
||||
// access. DB operations will not block the UI thread.
|
||||
if (!decode_history) {
|
||||
- std::unique_ptr<media::VideoDecodeStatsDBImpl> stats_db =
|
||||
- media::VideoDecodeStatsDBImpl::Create(
|
||||
- GetPath().Append(FILE_PATH_LITERAL("VideoDecodeStats")));
|
||||
+ std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
|
||||
+ if (GetPath().empty()) {
|
||||
+ stats_db =
|
||||
+ std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
|
||||
+ } else {
|
||||
+ stats_db = media::VideoDecodeStatsDBImpl::Create(
|
||||
+ GetPath().Append(FILE_PATH_LITERAL("VideoDecodeStats")));
|
||||
+ }
|
||||
auto new_decode_history = std::make_unique<media::VideoDecodePerfHistory>(
|
||||
std::move(stats_db), BrowserFeatureProvider::GetFactoryCB());
|
||||
decode_history = new_decode_history.get();
|
||||
@@ -795,7 +796,7 @@ media::VideoDecodePerfHistory* BrowserContext::GetVideoDecodePerfHistory() {
|
||||
kUseInMemoryDBDefault);
|
||||
|
||||
std::unique_ptr<media::VideoDecodeStatsDB> stats_db;
|
||||
- if (use_in_memory_db) {
|
||||
+ if (use_in_memory_db || GetPath().empty()) {
|
||||
stats_db =
|
||||
std::make_unique<media::InMemoryVideoDecodeStatsDBImpl>(nullptr);
|
||||
} else {
|
||||
diff --git content/browser/renderer_host/render_process_host_impl.cc content/browser/renderer_host/render_process_host_impl.cc
|
||||
index f3a90e61f2b4..a9d322d66d86 100644
|
||||
index 1aa874a2cf34..ff3279cbc323 100644
|
||||
--- content/browser/renderer_host/render_process_host_impl.cc
|
||||
+++ content/browser/renderer_host/render_process_host_impl.cc
|
||||
@@ -2203,6 +2203,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
||||
@@ -2178,6 +2178,9 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
||||
plugin_registry_.reset(
|
||||
new PluginRegistryImpl(GetBrowserContext()->GetResourceContext()));
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git base/trace_event/builtin_categories.h base/trace_event/builtin_categories.h
|
||||
index 0a0fb37798bd..16f9ccdc669c 100644
|
||||
index 97055b4bdaf0..10a59fc71431 100644
|
||||
--- base/trace_event/builtin_categories.h
|
||||
+++ base/trace_event/builtin_categories.h
|
||||
@@ -47,6 +47,8 @@
|
||||
|
@ -39,10 +39,10 @@ index cce16a111356..9f0a8b73adb5 100644
|
||||
virtual void MenuWillShow() {}
|
||||
|
||||
diff --git ui/gfx/render_text.cc ui/gfx/render_text.cc
|
||||
index 9c38cd6d4fdb..dcd34308a8bc 100644
|
||||
index 87fd6313f5d8..42f58e7c13c9 100644
|
||||
--- ui/gfx/render_text.cc
|
||||
+++ ui/gfx/render_text.cc
|
||||
@@ -514,6 +514,14 @@ void RenderText::SetElideBehavior(ElideBehavior elide_behavior) {
|
||||
@@ -532,6 +532,14 @@ void RenderText::SetElideBehavior(ElideBehavior elide_behavior) {
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ index 9c38cd6d4fdb..dcd34308a8bc 100644
|
||||
void RenderText::SetDisplayRect(const Rect& r) {
|
||||
if (r != display_rect_) {
|
||||
display_rect_ = r;
|
||||
@@ -1512,6 +1520,19 @@ void RenderText::OnTextAttributeChanged() {
|
||||
@@ -1638,6 +1646,19 @@ void RenderText::OnTextAttributeChanged() {
|
||||
if (!multiline_ && replace_newline_chars_with_symbols_)
|
||||
base::ReplaceChars(layout_text_, kNewline, kNewlineSymbol, &layout_text_);
|
||||
|
||||
@ -78,10 +78,10 @@ index 9c38cd6d4fdb..dcd34308a8bc 100644
|
||||
}
|
||||
|
||||
diff --git ui/gfx/render_text.h ui/gfx/render_text.h
|
||||
index 18e57f9823d0..4ec5cb20dabb 100644
|
||||
index 5c3985176054..ceab2a4fd9ba 100644
|
||||
--- ui/gfx/render_text.h
|
||||
+++ ui/gfx/render_text.h
|
||||
@@ -309,6 +309,10 @@ class GFX_EXPORT RenderText {
|
||||
@@ -310,6 +310,10 @@ class GFX_EXPORT RenderText {
|
||||
void SetElideBehavior(ElideBehavior elide_behavior);
|
||||
ElideBehavior elide_behavior() const { return elide_behavior_; }
|
||||
|
||||
@ -92,9 +92,9 @@ index 18e57f9823d0..4ec5cb20dabb 100644
|
||||
const Rect& display_rect() const { return display_rect_; }
|
||||
void SetDisplayRect(const Rect& r);
|
||||
|
||||
@@ -918,6 +922,8 @@ class GFX_EXPORT RenderText {
|
||||
// Extra spacing placed between glyphs; used for obscured text styling.
|
||||
int glyph_spacing_ = 0;
|
||||
@@ -956,6 +960,8 @@ class GFX_EXPORT RenderText {
|
||||
// The cursor position in view space, used to traverse lines of varied widths.
|
||||
base::Optional<int> cached_cursor_x_;
|
||||
|
||||
+ int draw_strings_flags_ = 0;
|
||||
+
|
||||
@ -102,7 +102,7 @@ index 18e57f9823d0..4ec5cb20dabb 100644
|
||||
};
|
||||
|
||||
diff --git ui/views/animation/ink_drop_host_view.h ui/views/animation/ink_drop_host_view.h
|
||||
index cb9ef740c6f3..aa7de6bb1924 100644
|
||||
index 308797385683..c0d0ac3bb496 100644
|
||||
--- ui/views/animation/ink_drop_host_view.h
|
||||
+++ ui/views/animation/ink_drop_host_view.h
|
||||
@@ -120,6 +120,8 @@ class VIEWS_EXPORT InkDropHostView : public View {
|
||||
@ -115,19 +115,11 @@ index cb9ef740c6f3..aa7de6bb1924 100644
|
||||
// Size used for the default SquareInkDropRipple.
|
||||
static constexpr int kDefaultInkDropSize = 24;
|
||||
diff --git ui/views/controls/button/label_button.cc ui/views/controls/button/label_button.cc
|
||||
index da6d3116cf1c..362610e5bc6f 100644
|
||||
index 90e6f9e1b003..756202fdaa6d 100644
|
||||
--- ui/views/controls/button/label_button.cc
|
||||
+++ ui/views/controls/button/label_button.cc
|
||||
@@ -184,6 +184,7 @@ gfx::Size LabelButton::CalculatePreferredSize() const {
|
||||
Label label(GetText(), {label_->font_list()});
|
||||
label.SetLineHeight(label_->line_height());
|
||||
label.SetShadows(label_->shadows());
|
||||
+ label.SetDrawStringsFlags(label_->draw_strings_flags());
|
||||
|
||||
if (style_ == STYLE_BUTTON) {
|
||||
// Some text appears wider when rendered normally than when rendered bold.
|
||||
@@ -379,6 +380,12 @@ void LabelButton::GetAccessibleNodeData(ui::AXNodeData* node_data) {
|
||||
Button::GetAccessibleNodeData(node_data);
|
||||
@@ -469,6 +469,12 @@ void LabelButton::OnThemeChanged() {
|
||||
SchedulePaint();
|
||||
}
|
||||
|
||||
+void LabelButton::SetFontList(const gfx::FontList& font_list) {
|
||||
@ -140,21 +132,21 @@ index da6d3116cf1c..362610e5bc6f 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 46f81be3d27a..249edf8cc5f8 100644
|
||||
index 93538c101aa0..4dec84140c5f 100644
|
||||
--- ui/views/controls/button/label_button.h
|
||||
+++ ui/views/controls/button/label_button.h
|
||||
@@ -100,6 +100,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
|
||||
void RemoveInkDropLayer(ui::Layer* ink_drop_layer) override;
|
||||
void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
|
||||
@@ -110,6 +110,9 @@ class VIEWS_EXPORT LabelButton : public Button, public NativeThemeDelegate {
|
||||
ui::NativeTheme::State GetForegroundThemeState(
|
||||
ui::NativeTheme::ExtraParams* params) const override;
|
||||
|
||||
+ // Sets the font list used by this button.
|
||||
+ void SetFontList(const gfx::FontList& font_list);
|
||||
+
|
||||
protected:
|
||||
ImageView* image() const { return image_; }
|
||||
Label* label() const;
|
||||
Label* label() const { return label_; }
|
||||
diff --git ui/views/controls/label.cc ui/views/controls/label.cc
|
||||
index bba449033e54..f9545546d580 100644
|
||||
index 24d08c798ce7..4245b08cc743 100644
|
||||
--- ui/views/controls/label.cc
|
||||
+++ ui/views/controls/label.cc
|
||||
@@ -44,6 +44,22 @@ bool IsOpaque(SkColor color) {
|
||||
@ -195,7 +187,7 @@ index bba449033e54..f9545546d580 100644
|
||||
void Label::SetTooltipText(const base::string16& tooltip_text) {
|
||||
DCHECK(handles_tooltips_);
|
||||
tooltip_text_ = tooltip_text;
|
||||
@@ -432,7 +456,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
@@ -436,7 +460,19 @@ std::unique_ptr<gfx::RenderText> Label::CreateRenderText() const {
|
||||
render_text->SetFontList(font_list());
|
||||
render_text->set_shadows(shadows());
|
||||
render_text->SetCursorEnabled(false);
|
||||
@ -217,10 +209,10 @@ index bba449033e54..f9545546d580 100644
|
||||
render_text->SetMaxLines(multi_line() ? max_lines() : 0);
|
||||
render_text->SetWordWrapBehavior(full_text_->word_wrap_behavior());
|
||||
diff --git ui/views/controls/label.h ui/views/controls/label.h
|
||||
index 9df5c850d12d..e7007ffbb762 100644
|
||||
index 50e30e5cf35b..7e774383cdb1 100644
|
||||
--- ui/views/controls/label.h
|
||||
+++ ui/views/controls/label.h
|
||||
@@ -159,6 +159,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -163,6 +163,10 @@ class VIEWS_EXPORT Label : public View,
|
||||
void SetElideBehavior(gfx::ElideBehavior elide_behavior);
|
||||
gfx::ElideBehavior elide_behavior() const { return elide_behavior_; }
|
||||
|
||||
@ -231,7 +223,7 @@ index 9df5c850d12d..e7007ffbb762 100644
|
||||
// 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 revert to
|
||||
@@ -387,6 +391,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
@@ -391,6 +395,7 @@ class VIEWS_EXPORT Label : public View,
|
||||
bool collapse_when_hidden_;
|
||||
int fixed_width_;
|
||||
int max_width_;
|
||||
@ -240,15 +232,15 @@ index 9df5c850d12d..e7007ffbb762 100644
|
||||
std::unique_ptr<SelectionController> selection_controller_;
|
||||
|
||||
diff --git ui/views/controls/menu/menu_controller.cc ui/views/controls/menu/menu_controller.cc
|
||||
index 5e630a1a5f47..a3725641c2db 100644
|
||||
index 3ae7da55cf15..ba591459649a 100644
|
||||
--- ui/views/controls/menu/menu_controller.cc
|
||||
+++ ui/views/controls/menu/menu_controller.cc
|
||||
@@ -2570,8 +2570,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
@@ -2561,8 +2561,13 @@ MenuItemView* MenuController::FindNextSelectableMenuItem(
|
||||
|
||||
void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
MenuItemView* item = pending_state_.item;
|
||||
- if (!item->HasSubmenu() || !item->enabled())
|
||||
+ if (!item->HasSubmenu() || !item->enabled() || !item->GetParentMenuItem()) {
|
||||
- if (!item->HasSubmenu() || !item->GetEnabled())
|
||||
+ if (!item->HasSubmenu() || !item->GetEnabled() || !item->GetParentMenuItem()) {
|
||||
+ MenuItemView* submenu_item =
|
||||
+ item->GetParentMenuItem() ? item->GetParentMenuItem() : item;
|
||||
+ submenu_item->GetDelegate()->OnUnhandledOpenSubmenu(submenu_item,
|
||||
@ -258,7 +250,7 @@ index 5e630a1a5f47..a3725641c2db 100644
|
||||
MenuItemView* to_select = nullptr;
|
||||
if (!item->GetSubmenu()->GetMenuItems().empty())
|
||||
to_select = FindInitialSelectableMenuItem(item, INCREMENT_SELECTION_DOWN);
|
||||
@@ -2590,8 +2595,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
@@ -2581,8 +2586,10 @@ void MenuController::OpenSubmenuChangeSelectionIfCan() {
|
||||
void MenuController::CloseSubmenu() {
|
||||
MenuItemView* item = state_.item;
|
||||
DCHECK(item);
|
||||
@ -310,10 +302,10 @@ index 921aef245bf3..4b7474c01c0e 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 21379b8d3299..50bd688a01f3 100644
|
||||
index 1e27d88823a3..7c9bcd0976ad 100644
|
||||
--- ui/views/controls/menu/menu_item_view.cc
|
||||
+++ ui/views/controls/menu/menu_item_view.cc
|
||||
@@ -1060,6 +1060,15 @@ void MenuItemView::PaintBackground(gfx::Canvas* canvas,
|
||||
@@ -1057,6 +1057,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);
|
||||
@ -329,7 +321,7 @@ index 21379b8d3299..50bd688a01f3 100644
|
||||
} else if (render_selection) {
|
||||
gfx::Rect item_bounds = GetLocalBounds();
|
||||
if (type_ == ACTIONABLE_SUBMENU) {
|
||||
@@ -1126,6 +1135,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
@@ -1123,6 +1132,13 @@ void MenuItemView::PaintMinorIconAndText(
|
||||
}
|
||||
|
||||
SkColor MenuItemView::GetTextColor(bool minor, bool render_selection) const {
|
||||
@ -451,10 +443,10 @@ 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 f3ff29e3b7aa..12a8833b4fb3 100644
|
||||
index 7ae246a53bdd..c28d8fe4a727 100644
|
||||
--- ui/views/controls/menu/menu_scroll_view_container.cc
|
||||
+++ ui/views/controls/menu/menu_scroll_view_container.cc
|
||||
@@ -181,6 +181,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
|
||||
@@ -179,6 +179,11 @@ MenuScrollViewContainer::MenuScrollViewContainer(SubmenuView* content_view)
|
||||
scroll_view_ = new MenuScrollView(content_view);
|
||||
AddChildView(scroll_view_);
|
||||
|
||||
@ -467,7 +459,7 @@ index f3ff29e3b7aa..12a8833b4fb3 100644
|
||||
content_view_->GetMenuItem()->GetMenuController()->GetAnchorPosition());
|
||||
|
||||
diff --git ui/views/test/ui_controls_factory_desktop_aurax11.cc ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
index b251f90a2e24..f0986338d883 100644
|
||||
index 4f865802a6e9..42d047bd68ad 100644
|
||||
--- ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
+++ ui/views/test/ui_controls_factory_desktop_aurax11.cc
|
||||
@@ -143,10 +143,6 @@ class UIControlsDesktopX11 : public UIControlsAura {
|
||||
@ -482,7 +474,7 @@ index b251f90a2e24..f0986338d883 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 b0d94c023392..20f671a0c35f 100644
|
||||
index 3d90ae1c174c..7afa78b18c8a 100644
|
||||
--- ui/views/view.h
|
||||
+++ ui/views/view.h
|
||||
@@ -22,6 +22,7 @@
|
||||
@ -493,7 +485,7 @@ index b0d94c023392..20f671a0c35f 100644
|
||||
#include "build/build_config.h"
|
||||
#include "third_party/skia/include/core/SkPath.h"
|
||||
#include "ui/accessibility/ax_enums.mojom.h"
|
||||
@@ -270,7 +271,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
@@ -274,7 +275,8 @@ class VIEWS_EXPORT View : public ui::LayerDelegate,
|
||||
public ui::EventTarget,
|
||||
public ui::EventHandler,
|
||||
public ui::PropertyHandler,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_base.cc content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
index 6986a9b55908..3045018adba0 100644
|
||||
index a2902adc59b6..2289ef03efc0 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.cc
|
||||
@@ -585,6 +585,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
|
||||
@@ -579,6 +579,14 @@ float RenderWidgetHostViewBase::GetDeviceScaleFactor() {
|
||||
return screen_info.device_scale_factor;
|
||||
}
|
||||
|
||||
@ -18,10 +18,10 @@ index 6986a9b55908..3045018adba0 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 11c2dcff17aa..b90626f0a3c3 100644
|
||||
index 903131f45d4f..49b0a67cb39e 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -83,6 +83,7 @@ class CursorManager;
|
||||
@@ -75,6 +75,7 @@ class CursorManager;
|
||||
class MouseWheelPhaseHandler;
|
||||
class RenderWidgetHostImpl;
|
||||
class RenderWidgetHostViewBaseObserver;
|
||||
@ -29,7 +29,7 @@ index 11c2dcff17aa..b90626f0a3c3 100644
|
||||
class SyntheticGestureTarget;
|
||||
class TextInputManager;
|
||||
class TouchSelectionControllerClientManager;
|
||||
@@ -104,6 +105,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -96,6 +97,9 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
float current_device_scale_factor() const {
|
||||
return current_device_scale_factor_;
|
||||
}
|
||||
@ -39,7 +39,7 @@ index 11c2dcff17aa..b90626f0a3c3 100644
|
||||
|
||||
// Returns the focused RenderWidgetHost inside this |view|'s RWH.
|
||||
RenderWidgetHostImpl* GetFocusedWidget() const;
|
||||
@@ -138,6 +142,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -130,6 +134,8 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
void DisableAutoResize(const gfx::Size& new_size) override;
|
||||
bool IsScrollOffsetAtTop() override;
|
||||
float GetDeviceScaleFactor() final;
|
||||
@ -47,8 +47,8 @@ index 11c2dcff17aa..b90626f0a3c3 100644
|
||||
+ bool HasExternalParent() const override;
|
||||
TouchSelectionControllerClientManager*
|
||||
GetTouchSelectionControllerClientManager() override;
|
||||
void SetLastTabChangeStartTime(base::TimeTicks start_time) final;
|
||||
@@ -495,6 +501,12 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
void SetRecordTabSwitchTimeRequest(base::TimeTicks start_time,
|
||||
@@ -491,6 +497,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 11c2dcff17aa..b90626f0a3c3 100644
|
||||
// Sets the cursor for this view to the one associated with the specified
|
||||
// cursor_type.
|
||||
virtual void UpdateCursor(const WebCursor& cursor) = 0;
|
||||
@@ -691,6 +703,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
@@ -664,6 +676,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase
|
||||
|
||||
bool is_currently_scrolling_viewport_ = false;
|
||||
|
||||
@ -73,7 +73,7 @@ index 11c2dcff17aa..b90626f0a3c3 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 468561b429fc..960efc4945fb 100644
|
||||
index 4e2075be4cf3..267cacfd285a 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_event_handler.cc
|
||||
@@ -32,6 +32,10 @@
|
||||
@ -103,7 +103,7 @@ index 468561b429fc..960efc4945fb 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 ebe6ae74f316..321cbde15dcc 100644
|
||||
index 07d4351d0a8a..4ad78ab76a7c 100644
|
||||
--- content/public/browser/render_widget_host_view.h
|
||||
+++ content/public/browser/render_widget_host_view.h
|
||||
@@ -246,6 +246,14 @@ class CONTENT_EXPORT RenderWidgetHostView {
|
||||
@ -135,10 +135,10 @@ index 70553b153c44..ecd99bc78373 100644
|
||||
return host ? host->GetAcceleratedWidget() : nullptr;
|
||||
}
|
||||
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 b9e903a06bbc..23b1d4ad2d79 100644
|
||||
index c18d5fb9ea58..52b35b90e03d 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -90,6 +90,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
|
||||
@@ -92,6 +92,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
|
||||
should_animate_window_close_(false),
|
||||
pending_close_(false),
|
||||
has_non_client_view_(false),
|
||||
@ -146,7 +146,7 @@ index b9e903a06bbc..23b1d4ad2d79 100644
|
||||
tooltip_(nullptr) {}
|
||||
|
||||
DesktopWindowTreeHostWin::~DesktopWindowTreeHostWin() {
|
||||
@@ -123,8 +124,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
|
||||
@@ -125,8 +126,12 @@ void DesktopWindowTreeHostWin::Init(const Widget::InitParams& params) {
|
||||
native_widget_delegate_);
|
||||
|
||||
HWND parent_hwnd = nullptr;
|
||||
@ -160,7 +160,7 @@ index b9e903a06bbc..23b1d4ad2d79 100644
|
||||
|
||||
remove_standard_frame_ = params.remove_standard_frame;
|
||||
has_non_client_view_ = Widget::RequiresNonClientView(params.type);
|
||||
@@ -894,11 +899,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
@@ -880,11 +885,15 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
|
||||
}
|
||||
|
||||
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
|
||||
@ -179,10 +179,10 @@ index b9e903a06bbc..23b1d4ad2d79 100644
|
||||
|
||||
bool DesktopWindowTreeHostWin::HandleMouseEvent(ui::MouseEvent* event) {
|
||||
diff --git ui/views/widget/desktop_aura/desktop_window_tree_host_win.h ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
index 4a87724d58d4..17c1e62b6585 100644
|
||||
index 8ac960b083c8..66b6ff2a3259 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
|
||||
@@ -293,6 +293,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
@@ -288,6 +288,10 @@ class VIEWS_EXPORT DesktopWindowTreeHostWin
|
||||
// True if the window should have the frame removed.
|
||||
bool remove_standard_frame_;
|
||||
|
||||
@ -194,10 +194,10 @@ index 4a87724d58d4..17c1e62b6585 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 423775286b42..bb2a8e0ac286 100644
|
||||
index 81ef38287b65..f0e43abdc143 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
@@ -173,6 +173,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
|
||||
@@ -211,6 +211,8 @@ std::vector<aura::Window*> DesktopWindowTreeHostX11::GetAllOpenWindows() {
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetX11RootWindowBounds() const {
|
||||
@ -206,7 +206,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
return bounds_in_pixels_;
|
||||
}
|
||||
|
||||
@@ -483,7 +485,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
@@ -519,7 +521,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
// Actually free our native resources.
|
||||
if (ui::PlatformEventSource::GetInstance())
|
||||
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
||||
@ -215,8 +215,8 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
+ XDestroyWindow(xdisplay_, xwindow_);
|
||||
xwindow_ = x11::None;
|
||||
|
||||
desktop_native_widget_aura_->OnHostClosed();
|
||||
@@ -628,6 +631,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
if (update_counter_ != x11::None) {
|
||||
@@ -671,6 +674,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
||||
@ -225,7 +225,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
return ToDIPRect(bounds_in_pixels_);
|
||||
}
|
||||
|
||||
@@ -1256,6 +1261,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
|
||||
@@ -1296,6 +1301,8 @@ void DesktopWindowTreeHostX11::SetBoundsInPixels(
|
||||
}
|
||||
|
||||
gfx::Point DesktopWindowTreeHostX11::GetLocationOnScreenInPixels() const {
|
||||
@ -234,7 +234,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
return bounds_in_pixels_.origin();
|
||||
}
|
||||
|
||||
@@ -1396,7 +1403,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
@@ -1436,7 +1443,6 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
XAtom window_type;
|
||||
switch (params.type) {
|
||||
case Widget::InitParams::TYPE_MENU:
|
||||
@ -242,7 +242,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
window_type = gfx::GetAtom("_NET_WM_WINDOW_TYPE_MENU");
|
||||
break;
|
||||
case Widget::InitParams::TYPE_TOOLTIP:
|
||||
@@ -1453,9 +1459,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
@@ -1493,9 +1499,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
attribute_mask |= CWBorderPixel;
|
||||
swa.border_pixel = 0;
|
||||
|
||||
@ -259,7 +259,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
|
||||
bounds_in_pixels_.height(),
|
||||
0, // border width
|
||||
@@ -2077,6 +2089,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
@@ -2157,6 +2169,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -271,7 +271,7 @@ index 423775286b42..bb2a8e0ac286 100644
|
||||
case x11::FocusOut:
|
||||
OnFocusEvent(xev->type == x11::FocusIn, event->xfocus.mode,
|
||||
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 4a3063c2af2c..9121a475949e 100644
|
||||
index 92f49c677d62..2c1f1f8773e2 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
@@ -91,6 +91,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
@ -308,9 +308,9 @@ index 4a3063c2af2c..9121a475949e 100644
|
||||
DesktopDragDropClientAuraX11* drag_drop_client_ = nullptr;
|
||||
|
||||
std::unique_ptr<ui::EventHandler> x11_non_client_event_filter_;
|
||||
@@ -458,6 +471,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
|
||||
uint32_t modal_dialog_counter_ = 0;
|
||||
@@ -472,6 +485,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
bool configure_counter_value_is_extended_ = false;
|
||||
std::unique_ptr<CompositorObserver> compositor_observer_;
|
||||
|
||||
+ // True if the xwindow has already been destroyed.
|
||||
+ bool xwindow_destroyed_ = false;
|
||||
@ -319,10 +319,10 @@ index 4a3063c2af2c..9121a475949e 100644
|
||||
base::WeakPtrFactory<DesktopWindowTreeHostX11> weak_factory_{this};
|
||||
|
||||
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
|
||||
index 4e00aae2c6df..2b652017e35f 100644
|
||||
index 0f01bf0c73c9..29676434c345 100644
|
||||
--- ui/views/widget/widget.cc
|
||||
+++ ui/views/widget/widget.cc
|
||||
@@ -138,6 +138,7 @@ Widget::InitParams::InitParams(Type type)
|
||||
@@ -159,6 +159,7 @@ Widget::InitParams::InitParams(Type type)
|
||||
use_system_default_icon(false),
|
||||
show_state(ui::SHOW_STATE_DEFAULT),
|
||||
parent(nullptr),
|
||||
@ -330,7 +330,7 @@ index 4e00aae2c6df..2b652017e35f 100644
|
||||
native_widget(nullptr),
|
||||
desktop_window_tree_host(nullptr),
|
||||
layer_type(ui::LAYER_TEXTURED),
|
||||
@@ -289,7 +290,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -311,7 +312,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
params.name = params.delegate->GetContentsView()->GetClassName();
|
||||
|
||||
params.child |= (params.type == InitParams::TYPE_CONTROL);
|
||||
@ -339,7 +339,7 @@ index 4e00aae2c6df..2b652017e35f 100644
|
||||
|
||||
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
|
||||
params.type != views::Widget::InitParams::TYPE_WINDOW) {
|
||||
@@ -354,7 +355,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -375,7 +376,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
}
|
||||
} else if (params.delegate) {
|
||||
SetContentsView(params.delegate->GetContentsView());
|
||||
@ -351,9 +351,9 @@ index 4e00aae2c6df..2b652017e35f 100644
|
||||
+ SetInitialBoundsForFramelessWindow(params.bounds);
|
||||
+ }
|
||||
}
|
||||
// This must come after SetContentsView() or it might not be able to find
|
||||
// the correct NativeTheme (on Linux). See http://crbug.com/384492
|
||||
@@ -1132,10 +1138,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
// TODO(https://crbug.com/953978): Use GetNativeTheme() for all platforms.
|
||||
#if defined(OS_MACOSX) || defined(OS_WIN)
|
||||
@@ -1165,10 +1171,16 @@ void Widget::OnNativeWidgetDestroyed() {
|
||||
}
|
||||
|
||||
gfx::Size Widget::GetMinimumSize() const {
|
||||
@ -371,7 +371,7 @@ index 4e00aae2c6df..2b652017e35f 100644
|
||||
}
|
||||
|
||||
diff --git ui/views/widget/widget.h ui/views/widget/widget.h
|
||||
index d962e21208fa..0fa0ecfeab21 100644
|
||||
index 8a073d74f341..5b2960fe8db5 100644
|
||||
--- ui/views/widget/widget.h
|
||||
+++ ui/views/widget/widget.h
|
||||
@@ -255,6 +255,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
@ -383,10 +383,10 @@ index d962e21208fa..0fa0ecfeab21 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 149f4798a445..5bfc9f32ec3b 100644
|
||||
index 1f827524f4b4..068af34d3e98 100644
|
||||
--- ui/views/widget/widget_delegate.h
|
||||
+++ ui/views/widget/widget_delegate.h
|
||||
@@ -190,6 +190,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
@@ -191,6 +191,10 @@ class VIEWS_EXPORT WidgetDelegate {
|
||||
// be cycled through with keyboard focus.
|
||||
virtual void GetAccessiblePanes(std::vector<View*>* panes) {}
|
||||
|
||||
@ -411,10 +411,10 @@ index 5bcb8d8b9bae..020fa85573aa 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 fb8e820175ac..66c5cb91f7e8 100644
|
||||
index de88c769b5be..1b642132eb2f 100644
|
||||
--- ui/views/win/hwnd_message_handler.cc
|
||||
+++ ui/views/win/hwnd_message_handler.cc
|
||||
@@ -2918,10 +2918,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
@@ -2903,10 +2903,13 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
} else if (event.type() == ui::ET_MOUSEWHEEL) {
|
||||
ui::MouseWheelEvent mouse_wheel_event(msg);
|
||||
// Reroute the mouse wheel to the window under the pointer if applicable.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/web_contents/web_contents_impl.cc content/browser/web_contents/web_contents_impl.cc
|
||||
index 1491bf580c59..ab2c83357303 100644
|
||||
index f88cff5ab6d1..981a83fdded2 100644
|
||||
--- content/browser/web_contents/web_contents_impl.cc
|
||||
+++ content/browser/web_contents/web_contents_impl.cc
|
||||
@@ -2068,21 +2068,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
@@ -2070,21 +2070,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
std::string unique_name;
|
||||
frame_tree_.root()->SetFrameName(params.main_frame_name, unique_name);
|
||||
|
||||
@ -45,7 +45,7 @@ index 1491bf580c59..ab2c83357303 100644
|
||||
CHECK(render_view_host_delegate_view_);
|
||||
CHECK(view_.get());
|
||||
|
||||
@@ -2781,6 +2790,15 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -2783,6 +2792,15 @@ void WebContentsImpl::CreateNewWindow(
|
||||
create_params.renderer_initiated_creation =
|
||||
main_frame_route_id != MSG_ROUTING_NONE;
|
||||
|
||||
@ -61,7 +61,7 @@ index 1491bf580c59..ab2c83357303 100644
|
||||
std::unique_ptr<WebContents> new_contents;
|
||||
if (!is_guest) {
|
||||
create_params.context = view_->GetNativeView();
|
||||
@@ -2813,7 +2831,7 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -2815,7 +2833,7 @@ void WebContentsImpl::CreateNewWindow(
|
||||
// TODO(brettw): It seems bogus that we have to call this function on the
|
||||
// newly created object and give it one of its own member variables.
|
||||
new_view->CreateViewForWidget(
|
||||
@ -70,7 +70,7 @@ index 1491bf580c59..ab2c83357303 100644
|
||||
}
|
||||
// Save the created window associated with the route so we can show it
|
||||
// later.
|
||||
@@ -6372,7 +6390,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
|
||||
@@ -6387,7 +6405,7 @@ InterstitialPageImpl* WebContentsImpl::GetInterstitialForRenderManager() {
|
||||
void WebContentsImpl::CreateRenderWidgetHostViewForRenderManager(
|
||||
RenderViewHost* render_view_host) {
|
||||
RenderWidgetHostViewBase* rwh_view =
|
||||
@ -122,10 +122,10 @@ index 6cf2ca2a0ec5..bb29ed68f094 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 3789137953ac..c8eb2dfb55ca 100644
|
||||
index e99b9c52101d..ee725bd31948 100644
|
||||
--- content/public/browser/web_contents_delegate.h
|
||||
+++ content/public/browser/web_contents_delegate.h
|
||||
@@ -56,10 +56,12 @@ class FileSelectListener;
|
||||
@@ -57,10 +57,12 @@ class FileSelectListener;
|
||||
class JavaScriptDialogManager;
|
||||
class RenderFrameHost;
|
||||
class RenderProcessHost;
|
||||
@ -138,7 +138,7 @@ index 3789137953ac..c8eb2dfb55ca 100644
|
||||
struct ContextMenuParams;
|
||||
struct DropData;
|
||||
struct NativeWebKeyboardEvent;
|
||||
@@ -321,6 +323,14 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -323,6 +325,14 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
const std::string& partition_id,
|
||||
SessionStorageNamespace* session_storage_namespace);
|
||||
|
||||
|
36
patch/patches/web_url_loader_cancel_1617042.patch
Normal file
36
patch/patches/web_url_loader_cancel_1617042.patch
Normal file
@ -0,0 +1,36 @@
|
||||
diff --git content/renderer/loader/web_url_loader_impl.h content/renderer/loader/web_url_loader_impl.h
|
||||
index 9ce1066841fc..b83e4bcc8969 100644
|
||||
--- content/renderer/loader/web_url_loader_impl.h
|
||||
+++ content/renderer/loader/web_url_loader_impl.h
|
||||
@@ -86,6 +86,7 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
|
||||
blink::WebBlobInfo& downloaded_blob) override;
|
||||
void LoadAsynchronously(const blink::WebURLRequest& request,
|
||||
blink::WebURLLoaderClient* client) override;
|
||||
+ void Cancel() override;
|
||||
void SetDefersLoading(bool value) override;
|
||||
void DidChangePriority(blink::WebURLRequest::Priority new_priority,
|
||||
int intra_priority_value) override;
|
||||
@@ -96,8 +97,6 @@ class CONTENT_EXPORT WebURLLoaderImpl : public blink::WebURLLoader {
|
||||
class RequestPeerImpl;
|
||||
class SinkPeer;
|
||||
|
||||
- void Cancel();
|
||||
-
|
||||
scoped_refptr<Context> context_;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(WebURLLoaderImpl);
|
||||
diff --git third_party/blink/public/platform/web_url_loader.h third_party/blink/public/platform/web_url_loader.h
|
||||
index 7bb0b6bf25dc..d0b6bf5a887b 100644
|
||||
--- third_party/blink/public/platform/web_url_loader.h
|
||||
+++ third_party/blink/public/platform/web_url_loader.h
|
||||
@@ -71,6 +71,10 @@ class WebURLLoader {
|
||||
virtual void LoadAsynchronously(const WebURLRequest&,
|
||||
WebURLLoaderClient*) = 0;
|
||||
|
||||
+ // Cancels an asynchronous load. This will appear as a load error to
|
||||
+ // the client.
|
||||
+ virtual void Cancel() {}
|
||||
+
|
||||
// Suspends/resumes an asynchronous load.
|
||||
virtual void SetDefersLoading(bool) = 0;
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/public/mojom/plugins/plugin_registry.mojom third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
index 0cc3d5b6c9df..a4044788af10 100644
|
||||
index ff7a8ed89e94..77f44956ff22 100644
|
||||
--- third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
+++ third_party/blink/public/mojom/plugins/plugin_registry.mojom
|
||||
@@ -37,5 +37,5 @@ interface PluginRegistry {
|
||||
@@ -36,5 +36,5 @@ interface PluginRegistry {
|
||||
//
|
||||
// TODO(crbug.com/850278): We shouldn't rely on the renderer to tell us the main frame origin.
|
||||
[Sync]
|
||||
@ -10,10 +10,10 @@ index 0cc3d5b6c9df..a4044788af10 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 198d6649ef41..648b0bc20653 100644
|
||||
index cd2e8603c391..a0eb460fcae1 100644
|
||||
--- third_party/blink/public/platform/platform.h
|
||||
+++ third_party/blink/public/platform/platform.h
|
||||
@@ -729,6 +729,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
@@ -706,6 +706,11 @@ class BLINK_PLATFORM_EXPORT Platform {
|
||||
// runs during Chromium's build step).
|
||||
virtual bool IsTakingV8ContextSnapshot() { return false; }
|
||||
|
||||
@ -26,7 +26,7 @@ index 198d6649ef41..648b0bc20653 100644
|
||||
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 a616fafed51f..dae131dad5de 100644
|
||||
index 3de30fbbe096..a7cab9da38f2 100644
|
||||
--- third_party/blink/renderer/core/dom/dom_implementation.cc
|
||||
+++ third_party/blink/renderer/core/dom/dom_implementation.cc
|
||||
@@ -244,10 +244,11 @@ Document* DOMImplementation::createDocument(const String& type,
|
||||
@ -44,10 +44,10 @@ index a616fafed51f..dae131dad5de 100644
|
||||
.Top()
|
||||
.GetSecurityContext()
|
||||
diff --git third_party/blink/renderer/core/frame/local_frame.cc third_party/blink/renderer/core/frame/local_frame.cc
|
||||
index dd0e2f0df7b5..3c3ff59f72a9 100644
|
||||
index 4851cb4a227b..cc88dce2db46 100644
|
||||
--- third_party/blink/renderer/core/frame/local_frame.cc
|
||||
+++ third_party/blink/renderer/core/frame/local_frame.cc
|
||||
@@ -1257,7 +1257,7 @@ FrameResourceCoordinator* LocalFrame::GetFrameResourceCoordinator() {
|
||||
@@ -1234,7 +1234,7 @@ WebContentSettingsClient* LocalFrame::GetContentSettingsClient() {
|
||||
PluginData* LocalFrame::GetPluginData() const {
|
||||
if (!Loader().AllowPlugins(kNotAboutToInstantiatePlugin))
|
||||
return nullptr;
|
||||
@ -57,7 +57,7 @@ index dd0e2f0df7b5..3c3ff59f72a9 100644
|
||||
}
|
||||
|
||||
diff --git third_party/blink/renderer/core/inspector/devtools_session.cc third_party/blink/renderer/core/inspector/devtools_session.cc
|
||||
index 6435384652b7..79bd103df30d 100644
|
||||
index e839efcfbd0b..1927d8dd2ed0 100644
|
||||
--- third_party/blink/renderer/core/inspector/devtools_session.cc
|
||||
+++ third_party/blink/renderer/core/inspector/devtools_session.cc
|
||||
@@ -5,6 +5,7 @@
|
||||
@ -76,7 +76,7 @@ index 6435384652b7..79bd103df30d 100644
|
||||
}
|
||||
|
||||
DevToolsSession::~DevToolsSession() {
|
||||
@@ -191,6 +193,7 @@ void DevToolsSession::Detach() {
|
||||
@@ -192,6 +194,7 @@ void DevToolsSession::Detach() {
|
||||
agents_.clear();
|
||||
v8_session_.reset();
|
||||
agent_->client_->DebuggerTaskFinished();
|
||||
@ -85,10 +85,10 @@ index 6435384652b7..79bd103df30d 100644
|
||||
|
||||
void DevToolsSession::FlushProtocolNotifications() {
|
||||
diff --git third_party/blink/renderer/core/page/page.cc third_party/blink/renderer/core/page/page.cc
|
||||
index 5480f0e29789..3bf2f35c9741 100644
|
||||
index bcab9669d29b..9e90c96b29e7 100644
|
||||
--- third_party/blink/renderer/core/page/page.cc
|
||||
+++ third_party/blink/renderer/core/page/page.cc
|
||||
@@ -180,7 +180,8 @@ Page::Page(PageClients& page_clients)
|
||||
@@ -185,7 +185,8 @@ Page::Page(PageClients& page_clients)
|
||||
MakeGarbageCollected<OverscrollController>(GetVisualViewport(),
|
||||
GetChromeClient())),
|
||||
link_highlights_(MakeGarbageCollected<LinkHighlights>(*this)),
|
||||
@ -98,7 +98,7 @@ index 5480f0e29789..3bf2f35c9741 100644
|
||||
// TODO(pdr): Initialize |validation_message_client_| lazily.
|
||||
validation_message_client_(
|
||||
MakeGarbageCollected<ValidationMessageClientImpl>(*this)),
|
||||
@@ -337,21 +338,40 @@ void Page::InitialStyleChanged() {
|
||||
@@ -346,21 +347,40 @@ void Page::InitialStyleChanged() {
|
||||
}
|
||||
}
|
||||
|
||||
@ -148,7 +148,7 @@ index 5480f0e29789..3bf2f35c9741 100644
|
||||
page->NotifyPluginsChanged();
|
||||
}
|
||||
}
|
||||
@@ -786,7 +806,8 @@ void Page::Trace(blink::Visitor* visitor) {
|
||||
@@ -832,7 +852,8 @@ void Page::Trace(blink::Visitor* visitor) {
|
||||
visitor->Trace(link_highlights_);
|
||||
visitor->Trace(spatial_navigation_controller_);
|
||||
visitor->Trace(main_frame_);
|
||||
@ -159,7 +159,7 @@ index 5480f0e29789..3bf2f35c9741 100644
|
||||
visitor->Trace(plugins_changed_observers_);
|
||||
visitor->Trace(next_related_page_);
|
||||
diff --git third_party/blink/renderer/core/page/page.h third_party/blink/renderer/core/page/page.h
|
||||
index f3d748e4a3e7..3750ba015d76 100644
|
||||
index eb5e930c4653..3a12676266d3 100644
|
||||
--- third_party/blink/renderer/core/page/page.h
|
||||
+++ third_party/blink/renderer/core/page/page.h
|
||||
@@ -140,7 +140,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
@ -172,7 +172,7 @@ index f3d748e4a3e7..3750ba015d76 100644
|
||||
|
||||
// Resets the plugin data for all pages in the renderer process and notifies
|
||||
// PluginsChangedObservers.
|
||||
@@ -364,7 +365,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
@@ -366,7 +367,8 @@ class CORE_EXPORT Page final : public GarbageCollectedFinalized<Page>,
|
||||
const Member<LinkHighlights> link_highlights_;
|
||||
Member<SpatialNavigationController> spatial_navigation_controller_;
|
||||
|
||||
@ -183,7 +183,7 @@ index f3d748e4a3e7..3750ba015d76 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 3855e47147d5..c83cd67b93d8 100644
|
||||
index 89a12219de60..df47c0efd193 100644
|
||||
--- third_party/blink/renderer/core/page/plugin_data.cc
|
||||
+++ third_party/blink/renderer/core/page/plugin_data.cc
|
||||
@@ -90,10 +90,12 @@ void PluginData::RefreshBrowserSidePluginCache() {
|
||||
@ -211,7 +211,7 @@ index 3855e47147d5..c83cd67b93d8 100644
|
||||
auto* plugin_info = MakeGarbageCollected<PluginInfo>(
|
||||
plugin->name, FilePathToWebString(plugin->filename),
|
||||
diff --git third_party/blink/renderer/core/page/plugin_data.h third_party/blink/renderer/core/page/plugin_data.h
|
||||
index 446cf8fbe161..299648db9c28 100644
|
||||
index 7ca6da99d9a3..2f0dedba19ff 100644
|
||||
--- third_party/blink/renderer/core/page/plugin_data.h
|
||||
+++ third_party/blink/renderer/core/page/plugin_data.h
|
||||
@@ -100,7 +100,8 @@ class CORE_EXPORT PluginData final
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git third_party/blink/renderer/core/input/pointer_event_manager.cc third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
index b84e3bdd6679..a0d65d9a65a1 100644
|
||||
index 4c8debe8c179..29aac92f216a 100644
|
||||
--- third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
+++ third_party/blink/renderer/core/input/pointer_event_manager.cc
|
||||
@@ -285,7 +285,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
@@ -312,7 +312,7 @@ void PointerEventManager::HandlePointerInterruption(
|
||||
for (auto pointer_event : canceled_pointer_events) {
|
||||
// If we are sending a pointercancel we have sent the pointerevent to some
|
||||
// target before.
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
|
||||
index f831c084e1d3..80dd4ea3a154 100644
|
||||
index 3b6b9a0bfc70..5ab43573416b 100644
|
||||
--- third_party/blink/public/web/web_view.h
|
||||
+++ third_party/blink/public/web/web_view.h
|
||||
@@ -363,6 +363,7 @@ class WebView {
|
||||
@ -11,10 +11,10 @@ index f831c084e1d3..80dd4ea3a154 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 fa2150289b4f..611dffb1ef7d 100644
|
||||
index ec827ff90d5d..cd1f822785ae 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
|
||||
@@ -238,8 +238,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
@@ -234,8 +234,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
||||
g_should_use_external_popup_menus = use_external_popup_menus;
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ index fa2150289b4f..611dffb1ef7d 100644
|
||||
}
|
||||
|
||||
namespace {
|
||||
@@ -297,6 +302,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
|
||||
@@ -293,6 +298,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client,
|
||||
chrome_client_(MakeGarbageCollected<ChromeClientImpl>(this)),
|
||||
minimum_zoom_level_(ZoomFactorToZoomLevel(kMinTextSizeMultiplier)),
|
||||
maximum_zoom_level_(ZoomFactorToZoomLevel(kMaxTextSizeMultiplier)),
|
||||
@ -39,10 +39,10 @@ index fa2150289b4f..611dffb1ef7d 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 aaa17462ee65..647b51d8fddc 100644
|
||||
index 218915791efb..a57420b95773 100644
|
||||
--- third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
+++ third_party/blink/renderer/core/exported/web_view_impl.h
|
||||
@@ -105,7 +105,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -107,7 +107,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 aaa17462ee65..647b51d8fddc 100644
|
||||
|
||||
// Returns whether frames under this WebView are backed by a compositor. When
|
||||
// false there may be no WebWidgetClient present. When true, there must be a
|
||||
@@ -617,6 +618,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
||||
@@ -615,6 +616,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 aaa17462ee65..647b51d8fddc 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 4c326ba6d8d9..59f8ceb29958 100644
|
||||
index b71a9ad5dba7..5fc52d50d0ad 100644
|
||||
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
|
||||
@@ -812,7 +812,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
@@ -847,7 +847,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
||||
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
|
||||
HTMLSelectElement& select) {
|
||||
NotifyPopupOpeningObservers();
|
||||
|
@ -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 ea311eb90f4d..9e4a6ff96c56 100644
|
||||
index 00fb583bc90e..667ff3497c1c 100644
|
||||
--- chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
+++ chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.cc
|
||||
@@ -21,6 +21,7 @@
|
||||
@ -10,7 +10,7 @@ index ea311eb90f4d..9e4a6ff96c56 100644
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/sync/driver/about_sync_util.h"
|
||||
#include "components/sync/driver/sync_service.h"
|
||||
@@ -268,6 +269,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
@@ -275,6 +276,10 @@ void ChromeInternalLogSource::Fetch(SysLogsSourceCallback callback) {
|
||||
}
|
||||
|
||||
void ChromeInternalLogSource::PopulateSyncLogs(SystemLogsResponse* response) {
|
||||
@ -21,7 +21,7 @@ index ea311eb90f4d..9e4a6ff96c56 100644
|
||||
// We are only interested in sync logs for the primary user profile.
|
||||
Profile* profile = ProfileManager::GetPrimaryUserProfile();
|
||||
if (!profile || !ProfileSyncServiceFactory::HasSyncService(profile))
|
||||
@@ -310,6 +315,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
@@ -317,6 +322,12 @@ void ChromeInternalLogSource::PopulateExtensionInfoLogs(
|
||||
if (!profile)
|
||||
return;
|
||||
|
||||
@ -34,6 +34,15 @@ index ea311eb90f4d..9e4a6ff96c56 100644
|
||||
extensions::ExtensionRegistry* extension_registry =
|
||||
extensions::ExtensionRegistry::Get(profile);
|
||||
std::string extensions_list;
|
||||
@@ -395,6 +406,8 @@ void ChromeInternalLogSource::PopulateLocalStateSettings(
|
||||
#if defined(OS_WIN)
|
||||
void ChromeInternalLogSource::PopulateUsbKeyboardDetected(
|
||||
SystemLogsResponse* response) {
|
||||
+ // The below call may result in some DLLs being loaded.
|
||||
+ base::ScopedAllowBlockingForTesting allow_blocking;
|
||||
std::string reason;
|
||||
bool result =
|
||||
base::win::IsKeyboardPresentOnSlate(&reason, ui::GetHiddenWindow());
|
||||
diff --git chrome/browser/memory_details.cc chrome/browser/memory_details.cc
|
||||
index 14b789a35c34..19a1f340a101 100644
|
||||
--- chrome/browser/memory_details.cc
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git chrome/app/generated_resources.grd chrome/app/generated_resources.grd
|
||||
index 4989fa559ee6..c6859944e8b4 100644
|
||||
index af7b8fa63af0..118aea76fe39 100644
|
||||
--- chrome/app/generated_resources.grd
|
||||
+++ chrome/app/generated_resources.grd
|
||||
@@ -4644,7 +4644,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
@@ -4654,7 +4654,7 @@ Keep your key file in a safe place. You will need it to create new versions of y
|
||||
</message>
|
||||
</if>
|
||||
<message name="IDS_PLUGIN_BLOCKED_BY_POLICY" desc="The placeholder text for a plugin blocked by enterprise policy.">
|
||||
|
@ -1,18 +1,17 @@
|
||||
diff --git services/service_manager/sandbox/win/sandbox_win.cc services/service_manager/sandbox/win/sandbox_win.cc
|
||||
index 2d994b725cf7..b91459e5b559 100644
|
||||
index b5e74f458898..c0f00b9745df 100644
|
||||
--- services/service_manager/sandbox/win/sandbox_win.cc
|
||||
+++ services/service_manager/sandbox/win/sandbox_win.cc
|
||||
@@ -917,8 +917,11 @@ sandbox::ResultCode SandboxWin::StartSandboxedProcess(
|
||||
#endif
|
||||
|
||||
// Post-startup mitigations.
|
||||
- mitigations = sandbox::MITIGATION_STRICT_HANDLE_CHECKS |
|
||||
- sandbox::MITIGATION_DLL_SEARCH_ORDER;
|
||||
+ mitigations = sandbox::MITIGATION_DLL_SEARCH_ORDER;
|
||||
+ if (!launcher_process_command_line.HasSwitch("win-rt-app")) {
|
||||
@@ -931,8 +931,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 (!launcher_process_command_line.HasSwitch("win-rt-app") &&
|
||||
+ sandbox_type != SANDBOX_TYPE_NETWORK) {
|
||||
+ // Don't enable this mitigation in WinRT apps. See issue #2274.
|
||||
+ mitigations |= sandbox::MITIGATION_STRICT_HANDLE_CHECKS;
|
||||
mitigations |= sandbox::MITIGATION_STRICT_HANDLE_CHECKS;
|
||||
+ }
|
||||
if (!cmd_line->HasSwitch(switches::kAllowThirdPartyModules))
|
||||
mitigations |= sandbox::MITIGATION_FORCE_MS_SIGNED_BINS;
|
||||
if (sandbox_type == SANDBOX_TYPE_NETWORK ||
|
||||
|
||||
result = policy->SetDelayedProcessMitigations(mitigations);
|
||||
if (result != sandbox::SBOX_ALL_OK)
|
||||
|
Reference in New Issue
Block a user