Update to Chromium revision 12bfc336 (#338390).

- The ffmpeg library is now statically linked (see https://codereview.chromium.org/1141703002).
- Off-screen rendering of the PDF viewer does not work in combination with surfaces. Pass the
  `--disable-surfaces` command-line flag if GPU is enabled (see https://codereview.chromium.org/1169983006).
This commit is contained in:
Marshall Greenblatt
2015-07-23 20:06:56 -04:00
parent 50a9343cec
commit 8da8a4fbf1
69 changed files with 413 additions and 402 deletions

View File

@@ -1,8 +1,8 @@
diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc
index f438805..d199c6b 100644
index 092a045..baea4bb 100644
--- browser/browser_plugin/browser_plugin_guest.cc
+++ browser/browser_plugin/browser_plugin_guest.cc
@@ -19,7 +19,7 @@
@@ -23,7 +23,7 @@
#include "content/browser/renderer_host/render_widget_host_impl.h"
#include "content/browser/renderer_host/render_widget_host_view_base.h"
#include "content/browser/web_contents/web_contents_impl.h"
@@ -11,29 +11,33 @@ index f438805..d199c6b 100644
#include "content/common/browser_plugin/browser_plugin_constants.h"
#include "content/common/browser_plugin/browser_plugin_messages.h"
#include "content/common/content_constants_internal.h"
@@ -262,15 +262,16 @@ void BrowserPluginGuest::InitInternal(
@@ -277,21 +277,20 @@ void BrowserPluginGuest::InitInternal(
guest_window_rect_ = params.view_rect;
if (owner_web_contents_ != owner_web_contents) {
- WebContentsViewGuest* new_view =
- static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
- if (owner_web_contents_)
- WebContentsViewGuest* new_view = nullptr;
+ WebContentsView* new_view = nullptr;
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
switches::kSitePerProcess)) {
- new_view =
- static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
+ new_view = GetWebContents()->GetView();
}
if (owner_web_contents_ && new_view)
- new_view->OnGuestDetached(owner_web_contents_->GetView());
+ if (owner_web_contents_) {
+ delegate_->OnGuestDetached(GetWebContents()->GetView(),
+ owner_web_contents_->GetView());
+ }
+ delegate_->OnGuestDetached(new_view, owner_web_contents_->GetView());
// Once a BrowserPluginGuest has an embedder WebContents, it's considered to
// be attached.
owner_web_contents_ = owner_web_contents;
- new_view->OnGuestAttached(owner_web_contents_->GetView());
+ delegate_->OnGuestAttached(GetWebContents()->GetView(),
+ owner_web_contents_->GetView());
if (new_view)
- new_view->OnGuestAttached(owner_web_contents_->GetView());
+ delegate_->OnGuestAttached(new_view, owner_web_contents_->GetView());
}
RendererPreferences* renderer_prefs =
@@ -656,12 +657,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
@@ -733,12 +732,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
// This will trigger a callback to RenderViewReady after a round-trip IPC.
static_cast<RenderViewHostImpl*>(
GetWebContents()->GetRenderViewHost())->Init();

View File

@@ -1,15 +1,21 @@
diff --git web_contents_impl.cc web_contents_impl.cc
index 4ab69e9..7c119d1 100644
index 3aedda6..b4aa061 100644
--- web_contents_impl.cc
+++ web_contents_impl.cc
@@ -1232,22 +1232,29 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
@@ -1312,24 +1312,31 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
params.main_frame_routing_id);
frame_tree_.root()->SetFrameName(params.main_frame_name);
- WebContentsViewDelegate* delegate =
- GetContentClient()->browser()->GetWebContentsViewDelegate(this);
-
- if (browser_plugin_guest_) {
+ if (params.view && params.delegate_view) {
+ view_.reset(params.view);
+ render_view_host_delegate_view_ = params.delegate_view;
+ }
- if (browser_plugin_guest_ &&
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kSitePerProcess)) {
- scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
- this, delegate, &render_view_host_delegate_view_));
-
@@ -22,16 +28,13 @@ index 4ab69e9..7c119d1 100644
- // Regular WebContentsView.
- view_.reset(CreateWebContentsView(
- this, delegate, &render_view_host_delegate_view_));
+ if (params.view && params.delegate_view) {
+ view_.reset(params.view);
+ render_view_host_delegate_view_ = params.delegate_view;
+ }
+
+ if (!view_) {
+ WebContentsViewDelegate* delegate =
+ GetContentClient()->browser()->GetWebContentsViewDelegate(this);
+
+ if (browser_plugin_guest_) {
+ if (browser_plugin_guest_ &&
+ !base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kSitePerProcess)) {
+ scoped_ptr<WebContentsView> platform_view(CreateWebContentsView(
+ this, delegate, &render_view_host_delegate_view_));
+
@@ -48,7 +51,7 @@ index 4ab69e9..7c119d1 100644
}
CHECK(render_view_host_delegate_view_);
CHECK(view_.get());
@@ -1583,6 +1590,9 @@ void WebContentsImpl::CreateNewWindow(
@@ -1665,6 +1672,9 @@ void WebContentsImpl::CreateNewWindow(
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
@@ -58,7 +61,7 @@ index 4ab69e9..7c119d1 100644
if (delegate_ &&
!delegate_->ShouldCreateWebContents(this,
route_id,
@@ -1591,7 +1601,9 @@ void WebContentsImpl::CreateNewWindow(
@@ -1673,7 +1683,9 @@ void WebContentsImpl::CreateNewWindow(
params.frame_name,
params.target_url,
partition_id,
@@ -69,12 +72,12 @@ index 4ab69e9..7c119d1 100644
if (route_id != MSG_ROUTING_NONE &&
!RenderViewHost::FromID(render_process_id, route_id)) {
// If the embedder didn't create a WebContents for this route, we need to
@@ -1612,6 +1624,8 @@ void WebContentsImpl::CreateNewWindow(
create_params.main_frame_name = base::UTF16ToUTF8(params.frame_name);
create_params.opener = this;
@@ -1695,6 +1707,8 @@ void WebContentsImpl::CreateNewWindow(
create_params.opener_render_process_id = GetRenderProcessHost()->GetID();
create_params.opener_render_frame_id = params.opener_render_frame_id;
create_params.opener_suppressed = params.opener_suppressed;
+ create_params.view = view;
+ create_params.delegate_view = delegate_view;
if (params.disposition == NEW_BACKGROUND_TAB)
create_params.initially_hidden = true;
create_params.renderer_initiated_creation = true;
create_params.renderer_initiated_creation =

View File

@@ -1,5 +1,5 @@
diff --git common.gypi common.gypi
index cfa4352..b701fcc 100644
index a0ebbf3..10dfe71 100644
--- common.gypi
+++ common.gypi
@@ -9,6 +9,9 @@

View File

@@ -1,9 +1,9 @@
diff --git ui/browser.cc ui/browser.cc
index 1cc78f2..e2c4de0 100644
index 242f79b..66326ef 100644
--- ui/browser.cc
+++ ui/browser.cc
@@ -1606,7 +1606,9 @@ bool Browser::ShouldCreateWebContents(
const base::string16& frame_name,
@@ -1666,7 +1666,9 @@ bool Browser::ShouldCreateWebContents(
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) {
@@ -14,11 +14,11 @@ index 1cc78f2..e2c4de0 100644
// If a BackgroundContents is created, suppress the normal WebContents.
return !MaybeCreateBackgroundContents(route_id,
diff --git ui/browser.h ui/browser.h
index c4a3a62..0cfedfa 100644
index 9bb2137..6dbdcbf 100644
--- ui/browser.h
+++ ui/browser.h
@@ -590,7 +590,9 @@ class Browser : public TabStripModelObserver,
const base::string16& frame_name,
@@ -593,7 +593,9 @@ class Browser : public TabStripModelObserver,
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) override;
@@ -27,4 +27,4 @@ index c4a3a62..0cfedfa 100644
+ content::RenderViewHostDelegateView** delegate_view) override;
void WebContentsCreated(content::WebContents* source_contents,
int opener_render_frame_id,
const base::string16& frame_name,
const std::string& frame_name,

View File

@@ -1,8 +1,8 @@
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
index 68ee72c..6c8e8eb7 100644
index 35db2b9..b9adc3f 100644
--- content/browser/compositor/gpu_process_transport_factory.cc
+++ content/browser/compositor/gpu_process_transport_factory.cc
@@ -141,6 +141,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
@@ -139,6 +139,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
scoped_ptr<cc::SoftwareOutputDevice>
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
ui::Compositor* compositor) {
@@ -17,7 +17,7 @@ index 68ee72c..6c8e8eb7 100644
return scoped_ptr<cc::SoftwareOutputDevice>(
new SoftwareOutputDeviceWin(software_backing_.get(), compositor));
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
index e82c49d..97b438bf 100644
index f703771..307a2ab 100644
--- ui/compositor/compositor.h
+++ ui/compositor/compositor.h
@@ -15,6 +15,7 @@
@@ -56,7 +56,7 @@ index e82c49d..97b438bf 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
@@ -331,6 +346,8 @@ class COMPOSITOR_EXPORT Compositor
@@ -335,6 +350,8 @@ class COMPOSITOR_EXPORT Compositor
ui::ContextFactory* context_factory_;

View File

@@ -1,5 +1,5 @@
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
index 524a6cd..29aac98 100644
index 7c6957b..c7270f1 100644
--- public/renderer/content_renderer_client.cc
+++ public/renderer/content_renderer_client.cc
@@ -101,7 +101,6 @@ bool ContentRendererClient::AllowPopup() {
@@ -16,13 +16,13 @@ index 524a6cd..29aac98 100644
}
-#endif
bool ContentRendererClient::ShouldFork(blink::WebFrame* frame,
bool ContentRendererClient::ShouldFork(blink::WebLocalFrame* frame,
const GURL& url,
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
index 8c7d4fe..b88a6c9 100644
index 2a0517a..9a0d4e4 100644
--- public/renderer/content_renderer_client.h
+++ public/renderer/content_renderer_client.h
@@ -197,7 +197,6 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -198,7 +198,6 @@ class CONTENT_EXPORT ContentRendererClient {
// Returns true if a popup window should be allowed.
virtual bool AllowPopup();
@@ -30,7 +30,7 @@ index 8c7d4fe..b88a6c9 100644
// TODO(sgurun) This callback is deprecated and will be removed as soon
// as android webview completes implementation of a resource throttle based
// shouldoverrideurl implementation. See crbug.com/325351
@@ -212,7 +211,6 @@ class CONTENT_EXPORT ContentRendererClient {
@@ -213,7 +212,6 @@ class CONTENT_EXPORT ContentRendererClient {
blink::WebNavigationType type,
blink::WebNavigationPolicy default_policy,
bool is_redirect);
@@ -39,10 +39,10 @@ index 8c7d4fe..b88a6c9 100644
// Returns true if we should fork a new process for the given navigation.
// If |send_referrer| is set to false (which is the default), no referrer
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
index f67a40a..4b5b3f2 100644
index bee5039..a818d6e 100644
--- renderer/render_frame_impl.cc
+++ renderer/render_frame_impl.cc
@@ -4088,7 +4088,6 @@ void RenderFrameImpl::OnFailedNavigation(
@@ -4186,7 +4186,6 @@ void RenderFrameImpl::OnFailedNavigation(
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
RenderFrame* render_frame,
const NavigationPolicyInfo& info) {
@@ -50,7 +50,7 @@ index f67a40a..4b5b3f2 100644
// The handlenavigation API is deprecated and will be removed once
// crbug.com/325351 is resolved.
if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
@@ -4103,7 +4102,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
@@ -4201,7 +4200,6 @@ WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
info.isRedirect)) {
return blink::WebNavigationPolicyIgnore;
}

View File

@@ -1,9 +1,9 @@
diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc
index c882315..ff6d25f 100644
index cb9cdd5..8ad7ee0 100644
--- browser/guest_view/extension_options/extension_options_guest.cc
+++ browser/guest_view/extension_options/extension_options_guest.cc
@@ -208,7 +208,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
const base::string16& frame_name,
@@ -195,7 +195,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) {
@@ -14,11 +14,11 @@ index c882315..ff6d25f 100644
// view is used for displaying embedded extension options, we want any
// external links to be opened in a new tab, not in a new guest view.
diff --git browser/guest_view/extension_options/extension_options_guest.h browser/guest_view/extension_options/extension_options_guest.h
index b62d81a..8176f84 100644
index 916b5ed..1dec304 100644
--- browser/guest_view/extension_options/extension_options_guest.h
+++ browser/guest_view/extension_options/extension_options_guest.h
@@ -54,7 +54,9 @@ class ExtensionOptionsGuest
const base::string16& frame_name,
@@ -48,7 +48,9 @@ class ExtensionOptionsGuest
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) override;

View File

@@ -1,5 +1,5 @@
diff --git resource_ids resource_ids
index 20fc28b..85f1566 100644
index 49973d1..86cc523 100644
--- resource_ids
+++ resource_ids
@@ -14,6 +14,12 @@

View File

@@ -1,8 +1,8 @@
diff --git input_method_win.cc input_method_win.cc
index 29413f5..e1e2bd0 100644
index 0870fde..23d8038 100644
--- input_method_win.cc
+++ input_method_win.cc
@@ -571,8 +571,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const {
@@ -567,8 +567,9 @@ bool InputMethodWin::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.

View File

@@ -1,5 +1,5 @@
diff --git message_loop.cc message_loop.cc
index 4222c77..bbc04b4 100644
index 4fecbc5..7298151 100644
--- message_loop.cc
+++ message_loop.cc
@@ -134,12 +134,6 @@ MessageLoop::~MessageLoop() {

View File

@@ -1,8 +1,8 @@
diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc
index 61fd142..ed9a58d 100644
index 2f44662..26524c4 100644
--- mime_handler_view_guest.cc
+++ mime_handler_view_guest.cc
@@ -142,6 +142,8 @@ void MimeHandlerViewGuest::CreateWebContents(
@@ -134,6 +134,8 @@ void MimeHandlerViewGuest::CreateWebContents(
WebContents::CreateParams params(browser_context(),
guest_site_instance.get());
params.guest_delegate = this;
@@ -11,7 +11,7 @@ index 61fd142..ed9a58d 100644
callback.Run(WebContents::Create(params));
}
@@ -183,6 +185,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) {
@@ -172,6 +174,30 @@ bool MimeHandlerViewGuest::StopFinding(content::StopFindAction action) {
return false;
}
@@ -43,10 +43,10 @@ index 61fd142..ed9a58d 100644
content::WebContents* source,
const content::OpenURLParams& params) {
diff --git mime_handler_view_guest.h mime_handler_view_guest.h
index f95aab7..fe4944e 100644
index 33ff28e..2d9a00e 100644
--- mime_handler_view_guest.h
+++ mime_handler_view_guest.h
@@ -76,6 +76,13 @@ class MimeHandlerViewGuest : public guest_view::GuestView<MimeHandlerViewGuest>,
@@ -71,6 +71,13 @@ class MimeHandlerViewGuest :
const base::string16& search_text,
const blink::WebFindOptions& options) override;
bool StopFinding(content::StopFindAction action) override;
@@ -90,7 +90,7 @@ index 63b81b8..0f63f48 100644
content::WebContents* web_contents,
const content::ContextMenuParams& params) {
diff --git mime_handler_view_guest_delegate.h mime_handler_view_guest_delegate.h
index b9a6fe3..6a2c3b0 100644
index e065104..f68b66c 100644
--- mime_handler_view_guest_delegate.h
+++ mime_handler_view_guest_delegate.h
@@ -6,10 +6,11 @@
@@ -106,10 +106,11 @@ index b9a6fe3..6a2c3b0 100644
} // namespace content
namespace extensions {
@@ -22,6 +23,21 @@ class MimeHandlerViewGuestDelegate {
explicit MimeHandlerViewGuestDelegate(MimeHandlerViewGuest* guest) {}
@@ -21,6 +22,21 @@ class MimeHandlerViewGuestDelegate {
public:
MimeHandlerViewGuestDelegate() {}
virtual ~MimeHandlerViewGuestDelegate() {}
+
+ // Provides an opportunity to supply a custom view implementation.
+ virtual void OverrideWebContentsCreateParams(
+ content::WebContents::CreateParams* params) {}
@@ -124,7 +125,6 @@ index b9a6fe3..6a2c3b0 100644
+ virtual bool CreateViewForWidget(
+ content::WebContentsView* guest_view,
+ content::RenderWidgetHost* render_widget_host);
+
// Attaches helpers upon initializing the WebContents.
virtual void AttachHelpers() {}
// Handles context menu, or returns false if unhandled.
virtual bool HandleContextMenu(content::WebContents* web_contents,

View File

@@ -1,5 +1,5 @@
diff --git url_request.h url_request.h
index a2b2f6b..150f19f 100644
index 4176689..1fe5976 100644
--- url_request.h
+++ url_request.h
@@ -614,10 +614,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),

View File

@@ -1,8 +1,8 @@
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
index 9c8e453..03f5d51 100644
index 060fbb9..f028062 100644
--- public/common/common_param_traits_macros.h
+++ public/common/common_param_traits_macros.h
@@ -192,6 +192,7 @@ IPC_STRUCT_TRAITS_BEGIN(content::WebPreferences)
@@ -195,6 +195,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 9c8e453..03f5d51 100644
IPC_STRUCT_TRAITS_MEMBER(navigate_on_drag_drop)
IPC_STRUCT_TRAITS_MEMBER(spatial_navigation_enabled)
diff --git public/common/web_preferences.cc public/common/web_preferences.cc
index 6279aba..242fd16 100644
index e140001..42f3b2d 100644
--- public/common/web_preferences.cc
+++ public/common/web_preferences.cc
@@ -187,6 +187,7 @@ WebPreferences::WebPreferences()
@@ -170,6 +170,7 @@ WebPreferences::WebPreferences()
pinch_overlay_scrollbar_thickness(0),
use_solid_color_scrollbars(false),
navigate_on_drag_drop(true),
@@ -23,10 +23,10 @@ index 6279aba..242fd16 100644
slimming_paint_enabled(false),
cookie_enabled(true),
diff --git public/common/web_preferences.h public/common/web_preferences.h
index 5dfc5d5..150bdf5 100644
index e8d7d13..493c743 100644
--- public/common/web_preferences.h
+++ public/common/web_preferences.h
@@ -179,6 +179,7 @@ struct CONTENT_EXPORT WebPreferences {
@@ -171,6 +171,7 @@ struct CONTENT_EXPORT WebPreferences {
int pinch_overlay_scrollbar_thickness;
bool use_solid_color_scrollbars;
bool navigate_on_drag_drop;
@@ -35,10 +35,10 @@ index 5dfc5d5..150bdf5 100644
bool slimming_paint_enabled;
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
index 53ba225..d5ebdd8 100644
index 12f950e..61fc3c1 100644
--- renderer/render_view_impl.cc
+++ renderer/render_view_impl.cc
@@ -945,6 +945,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
@@ -1002,6 +1002,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
settings->setJavaEnabled(prefs.java_enabled);

View File

@@ -1,5 +1,5 @@
diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc
index 313d12d..558052c 100644
index d315efa..a312f77 100644
--- printing/renderer/print_web_view_helper.cc
+++ printing/renderer/print_web_view_helper.cc
@@ -75,6 +75,7 @@ const double kMinDpi = 1.0;
@@ -18,7 +18,7 @@ index 313d12d..558052c 100644
int GetDPI(const PrintMsg_Print_Params* print_params) {
#if defined(OS_MACOSX)
@@ -474,7 +474,6 @@ blink::WebView* FrameReference::view() {
@@ -480,7 +480,6 @@ blink::WebView* FrameReference::view() {
return view_;
}
@@ -26,7 +26,7 @@ index 313d12d..558052c 100644
// static - Not anonymous so that platform implementations can use it.
void PrintWebViewHelper::PrintHeaderAndFooter(
blink::WebCanvas* canvas,
@@ -532,7 +531,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
@@ -538,7 +537,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
web_view->close();
frame->close();
}
@@ -34,8 +34,35 @@ index 313d12d..558052c 100644
// static - Not anonymous so that platform implementations can use it.
float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame,
@@ -813,6 +811,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view,
print_for_preview_(false),
delegate_(delegate.Pass()),
print_node_in_progress_(false),
+ force_print_preview_(false),
is_loading_(false),
is_scripted_preview_delayed_(false),
ipc_nesting_level_(0),
@@ -1254,7 +1253,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
// that instead.
auto plugin = delegate_->GetPdfElement(frame);
if (!plugin.isNull()) {
+ force_print_preview_ = true;
PrintNode(plugin);
+ force_print_preview_ = false;
return;
}
print_preview_context_.InitWithFrame(frame);
@@ -1287,7 +1288,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
// Make a copy of the node, in case RenderView::OnContextMenuClosed resets
// its |context_menu_node_|.
- if (!g_is_preview_enabled_) {
+ if (!g_is_preview_enabled_ && !force_print_preview_) {
blink::WebNode duplicate_node(node);
Print(duplicate_node.document().frame(), duplicate_node, false);
} else {
diff --git printing/renderer/print_web_view_helper.h printing/renderer/print_web_view_helper.h
index 341ec8e..47777b8 100644
index 54179ff..0c48602 100644
--- printing/renderer/print_web_view_helper.h
+++ printing/renderer/print_web_view_helper.h
@@ -309,7 +309,6 @@ class PrintWebViewHelper
@@ -54,11 +81,19 @@ index 341ec8e..47777b8 100644
bool GetPrintFrame(blink::WebLocalFrame** frame);
@@ -498,6 +496,7 @@ class PrintWebViewHelper
ScriptingThrottler scripting_throttler_;
bool print_node_in_progress_;
+ bool force_print_preview_;
PrintPreviewContext print_preview_context_;
bool is_loading_;
bool is_scripted_preview_delayed_;
diff --git printing/renderer/print_web_view_helper_linux.cc printing/renderer/print_web_view_helper_linux.cc
index 79b82e9..8d1f6f4 100644
index 61a1a1d..f931979 100644
--- printing/renderer/print_web_view_helper_linux.cc
+++ printing/renderer/print_web_view_helper_linux.cc
@@ -169,7 +169,6 @@ void PrintWebViewHelper::PrintPageInternal(
@@ -172,7 +172,6 @@ void PrintWebViewHelper::PrintPageInternal(
MetafileSkiaWrapper::SetMetafileOnCanvas(*canvas, metafile);
skia::SetIsDraftMode(*canvas, is_print_ready_metafile_sent_);
@@ -66,7 +101,7 @@ index 79b82e9..8d1f6f4 100644
if (params.params.display_header_footer) {
// |page_number| is 0-based, so 1 is added.
// TODO(vitalybuka) : why does it work only with 1.25?
@@ -178,7 +177,6 @@ void PrintWebViewHelper::PrintPageInternal(
@@ -181,7 +180,6 @@ void PrintWebViewHelper::PrintPageInternal(
scale_factor / 1.25, page_layout_in_points,
params.params);
}

View File

@@ -1,8 +1,8 @@
diff --git web_contents.cc web_contents.cc
index a0c8a4d..1c102ae 100644
index 887f242..a7cc318 100644
--- web_contents.cc
+++ web_contents.cc
@@ -19,7 +19,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
@@ -21,7 +21,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
initially_hidden(false),
guest_delegate(nullptr),
context(nullptr),
@@ -13,7 +13,7 @@ index a0c8a4d..1c102ae 100644
WebContents::CreateParams::CreateParams(
BrowserContext* context, SiteInstance* site)
@@ -33,7 +35,9 @@ WebContents::CreateParams::CreateParams(
@@ -36,7 +38,9 @@ WebContents::CreateParams::CreateParams(
initially_hidden(false),
guest_delegate(nullptr),
context(nullptr),
@@ -25,7 +25,7 @@ index a0c8a4d..1c102ae 100644
WebContents::CreateParams::~CreateParams() {
}
diff --git web_contents.h web_contents.h
index 768ece2..9c2d863 100644
index 4ed6a40..2bbba64 100644
--- web_contents.h
+++ web_contents.h
@@ -52,9 +52,11 @@ class PageState;
@@ -40,7 +40,7 @@ index 768ece2..9c2d863 100644
struct CustomContextMenuContext;
struct DropData;
struct Manifest;
@@ -139,6 +141,10 @@ class WebContents : public PageNavigator,
@@ -141,6 +143,10 @@ class WebContents : public PageNavigator,
// RenderFrame, have already been created on the renderer side, and
// WebContents construction should take this into account.
bool renderer_initiated_creation;
@@ -52,11 +52,11 @@ index 768ece2..9c2d863 100644
// Creates a new WebContents.
diff --git web_contents_delegate.cc web_contents_delegate.cc
index b1fc250..555e25d 100644
index 016097b..4fb00ed 100644
--- web_contents_delegate.cc
+++ web_contents_delegate.cc
@@ -136,7 +136,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
const base::string16& frame_name,
@@ -138,7 +138,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- SessionStorageNamespace* session_storage_namespace) {
@@ -67,10 +67,10 @@ index b1fc250..555e25d 100644
}
diff --git web_contents_delegate.h web_contents_delegate.h
index 66439df..c8779c9 100644
index 34ddd26..7a850af 100644
--- web_contents_delegate.h
+++ web_contents_delegate.h
@@ -37,9 +37,11 @@ class DownloadItem;
@@ -38,9 +38,11 @@ class DownloadItem;
class JavaScriptDialogManager;
class PageState;
class RenderViewHost;
@@ -82,8 +82,8 @@ index 66439df..c8779c9 100644
struct ColorSuggestion;
struct ContextMenuParams;
struct DropData;
@@ -296,7 +298,9 @@ class CONTENT_EXPORT WebContentsDelegate {
const base::string16& frame_name,
@@ -298,7 +300,9 @@ class CONTENT_EXPORT WebContentsDelegate {
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- SessionStorageNamespace* session_storage_namespace);

View File

@@ -1,22 +0,0 @@
diff --git render_process_host_impl.cc render_process_host_impl.cc
index f32d2bb..9874d50 100644
--- render_process_host_impl.cc
+++ render_process_host_impl.cc
@@ -2120,6 +2120,8 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
#endif
RemoveUserData(kSessionStorageHolderKey);
+ mojo_application_host_.reset(new MojoApplicationHost);
+
IDMap<IPC::Listener>::iterator iter(&listeners_);
while (!iter.IsAtEnd()) {
iter.GetCurrentValue()->OnMessageReceived(
@@ -2129,8 +2131,6 @@ void RenderProcessHostImpl::ProcessDied(bool already_dead,
iter.Advance();
}
- mojo_application_host_.reset(new MojoApplicationHost);
-
// It's possible that one of the calls out to the observers might have caused
// this object to be no longer needed.
if (delayed_cleanup_needed_)

View File

@@ -1,5 +1,5 @@
diff --git spellcheck_factory.cc spellcheck_factory.cc
index edbed40..b9a192b 100644
index 4c61d34..9e4f3d1 100644
--- spellcheck_factory.cc
+++ spellcheck_factory.cc
@@ -16,6 +16,13 @@

View File

@@ -1,8 +1,8 @@
diff --git os_exchange_data_provider_aurax11.cc os_exchange_data_provider_aurax11.cc
index c9285a0..f82f90a 100644
index e7a815c..8188710 100644
--- os_exchange_data_provider_aurax11.cc
+++ os_exchange_data_provider_aurax11.cc
@@ -158,7 +158,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
@@ -159,7 +159,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
format_map_.Insert(atom_cache_.GetAtom(kMimeTypeMozillaURL), mem);
// Set a string fallback as well.

View File

@@ -1,9 +1,9 @@
diff --git web_dialog_view.cc web_dialog_view.cc
index 4a5a114..b28fb3c 100644
index 4b5e8b2..1501d0b 100644
--- web_dialog_view.cc
+++ web_dialog_view.cc
@@ -340,7 +340,9 @@ bool WebDialogView::ShouldCreateWebContents(
const base::string16& frame_name,
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) {
@@ -14,11 +14,11 @@ index 4a5a114..b28fb3c 100644
return delegate_->HandleShouldCreateWebContents();
return true;
diff --git web_dialog_view.h web_dialog_view.h
index 22550dd..8d72f6d 100644
index dc6598d..ce2616c 100644
--- web_dialog_view.h
+++ web_dialog_view.h
@@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
const base::string16& frame_name,
const std::string& frame_name,
const GURL& target_url,
const std::string& partition_id,
- content::SessionStorageNamespace* session_storage_namespace) override;

View File

@@ -12,10 +12,10 @@ index a8e088c..838b6a0 100644
return host ? host->GetAcceleratedWidget() : NULL;
}
diff --git desktop_aura/desktop_window_tree_host_win.cc desktop_aura/desktop_window_tree_host_win.cc
index a663f38..a3dacca 100644
index 93b3c5b..e0e505e 100644
--- desktop_aura/desktop_window_tree_host_win.cc
+++ desktop_aura/desktop_window_tree_host_win.cc
@@ -132,7 +132,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window,
@@ -131,7 +131,9 @@ void DesktopWindowTreeHostWin::Init(aura::Window* content_window,
native_widget_delegate_);
HWND parent_hwnd = NULL;
@@ -26,7 +26,7 @@ index a663f38..a3dacca 100644
parent_hwnd = params.parent->GetHost()->GetAcceleratedWidget();
message_handler_->set_remove_standard_frame(params.remove_standard_frame);
@@ -799,6 +801,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
@@ -793,6 +795,7 @@ void DesktopWindowTreeHostWin::HandleFrameChanged() {
void DesktopWindowTreeHostWin::HandleNativeFocus(HWND last_focused_window) {
// TODO(beng): inform the native_widget_delegate_.
@@ -35,10 +35,10 @@ index a663f38..a3dacca 100644
void DesktopWindowTreeHostWin::HandleNativeBlur(HWND focused_window) {
diff --git desktop_aura/desktop_window_tree_host_x11.cc desktop_aura/desktop_window_tree_host_x11.cc
index 4a8f64c..369867b 100644
index a56deb7..a5e8422 100644
--- desktop_aura/desktop_window_tree_host_x11.cc
+++ desktop_aura/desktop_window_tree_host_x11.cc
@@ -153,7 +153,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
@@ -171,7 +171,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
window_parent_(NULL),
custom_window_shape_(false),
urgency_hint_set_(false),
@@ -48,7 +48,7 @@ index 4a8f64c..369867b 100644
}
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
@@ -353,7 +354,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
@@ -381,7 +382,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
// Actually free our native resources.
if (ui::PlatformEventSource::GetInstance())
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
@@ -58,7 +58,7 @@ index 4a8f64c..369867b 100644
xwindow_ = None;
desktop_native_widget_aura_->OnHostClosed();
@@ -466,6 +468,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
@@ -525,6 +527,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
}
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
@@ -67,7 +67,7 @@ index 4a8f64c..369867b 100644
return ToDIPRect(bounds_in_pixels_);
}
@@ -906,6 +910,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
@@ -962,6 +966,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
}
gfx::Rect DesktopWindowTreeHostX11::GetBounds() const {
@@ -76,7 +76,7 @@ index 4a8f64c..369867b 100644
return bounds_in_pixels_;
}
@@ -962,6 +968,8 @@ void DesktopWindowTreeHostX11::SetBounds(
@@ -1018,6 +1024,8 @@ void DesktopWindowTreeHostX11::SetBounds(
}
gfx::Point DesktopWindowTreeHostX11::GetLocationOnNativeScreen() const {
@@ -85,7 +85,7 @@ index 4a8f64c..369867b 100644
return bounds_in_pixels_.origin();
}
@@ -1082,9 +1090,13 @@ void DesktopWindowTreeHostX11::InitX11Window(
@@ -1131,9 +1139,13 @@ void DesktopWindowTreeHostX11::InitX11Window(
}
}
@@ -100,7 +100,7 @@ index 4a8f64c..369867b 100644
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
bounds_in_pixels_.height(),
0, // border width
@@ -1731,6 +1743,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
@@ -1782,6 +1794,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
}
break;
}
@@ -112,19 +112,19 @@ index 4a8f64c..369867b 100644
if (xev->xfocus.mode != NotifyGrab) {
ReleaseCapture();
diff --git desktop_aura/desktop_window_tree_host_x11.h desktop_aura/desktop_window_tree_host_x11.h
index e2fd61f..46434af 100644
index 787372d..d9d57b8 100644
--- desktop_aura/desktop_window_tree_host_x11.h
+++ desktop_aura/desktop_window_tree_host_x11.h
@@ -86,6 +86,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// Deallocates the internal list of open windows.
static void CleanUpWindowList();
@@ -85,6 +85,8 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// internal list of open windows.
static void CleanUpWindowList(void (*func)(aura::Window* window));
+ void set_screen_bounds(const gfx::Rect& bounds) { screen_bounds_ = bounds; }
+
protected:
// Overridden from DesktopWindowTreeHost:
void Init(aura::Window* content_window,
@@ -265,6 +267,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -262,6 +264,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
// The bounds of |xwindow_|.
gfx::Rect bounds_in_pixels_;
@@ -134,7 +134,7 @@ index e2fd61f..46434af 100644
// Whenever the bounds are set, we keep the previous set of bounds around so
// we can have a better chance of getting the real
// |restored_bounds_in_pixels_|. Window managers tend to send a Configure
@@ -351,6 +356,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
@@ -348,6 +353,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_;
@@ -145,10 +145,10 @@ index e2fd61f..46434af 100644
};
diff --git widget.cc widget.cc
index b4d2a48..3890ab0 100644
index 280969a..8ea7f0b 100644
--- widget.cc
+++ widget.cc
@@ -110,6 +110,7 @@ Widget::InitParams::InitParams()
@@ -118,6 +118,7 @@ Widget::InitParams::InitParams()
use_system_default_icon(false),
show_state(ui::SHOW_STATE_DEFAULT),
parent(NULL),
@@ -156,7 +156,7 @@ index b4d2a48..3890ab0 100644
native_widget(NULL),
desktop_window_tree_host(NULL),
layer_type(ui::LAYER_TEXTURED),
@@ -133,6 +134,7 @@ Widget::InitParams::InitParams(Type type)
@@ -141,6 +142,7 @@ Widget::InitParams::InitParams(Type type)
use_system_default_icon(false),
show_state(ui::SHOW_STATE_DEFAULT),
parent(NULL),
@@ -164,7 +164,7 @@ index b4d2a48..3890ab0 100644
native_widget(NULL),
desktop_window_tree_host(NULL),
layer_type(ui::LAYER_TEXTURED),
@@ -307,7 +309,7 @@ void Widget::Init(const InitParams& in_params) {
@@ -315,7 +317,7 @@ void Widget::Init(const InitParams& in_params) {
InitParams params = in_params;
params.child |= (params.type == InitParams::TYPE_CONTROL);
@@ -173,7 +173,7 @@ index b4d2a48..3890ab0 100644
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
params.type != views::Widget::InitParams::TYPE_WINDOW &&
@@ -370,7 +372,12 @@ void Widget::Init(const InitParams& in_params) {
@@ -378,7 +380,12 @@ void Widget::Init(const InitParams& in_params) {
Minimize();
} else if (params.delegate) {
SetContentsView(params.delegate->GetContentsView());
@@ -188,10 +188,10 @@ index b4d2a48..3890ab0 100644
// This must come after SetContentsView() or it might not be able to find
// the correct NativeTheme (on Linux). See http://crbug.com/384492
diff --git widget.h widget.h
index 9c21ea2..aa610fd 100644
index 320332b..8d46883 100644
--- widget.h
+++ widget.h
@@ -234,6 +234,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
@@ -233,6 +233,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
// Whether the widget should be maximized or minimized.
ui::WindowShowState show_state;
gfx::NativeView parent;

View File

@@ -1,31 +0,0 @@
diff --git ThemeMac.mm ThemeMac.mm
index 20a4ff0..38cb2c4 100644
--- ThemeMac.mm
+++ ThemeMac.mm
@@ -482,7 +482,7 @@ static void paintButton(ControlPart part, ControlStates states, GraphicsContext*
[buttonCell drawWithFrame:NSRect(inflatedRect) inView:view];
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
- if (states & FocusControlState)
+ if (states & FocusState)
[buttonCell _web_drawFocusRingWithFrame:NSRect(inflatedRect) inView:view];
#endif
[buttonCell setControlView:nil];
diff --git WebCoreNSCellExtras.h WebCoreNSCellExtras.h
index 54e9c9a..075e076 100644
--- WebCoreNSCellExtras.h
+++ WebCoreNSCellExtras.h
@@ -26,11 +26,11 @@
#import <AppKit/AppKit.h>
#include "platform/PlatformExport.h"
-#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING (!defined(MAC_OS_X_VERSION_10_7) || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7)
+#define BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING 1
#if !BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
-@interface NSCell (WebCoreFocusRingDrawing)
+PLATFORM_EXPORT @interface NSCell (WebCoreFocusRingDrawing)
- (void)_web_drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView *)controlView;
@end

View File

@@ -1,8 +1,8 @@
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
index e1fd006..fa9486b 100644
index 58e8166..23c0cea 100644
--- Source/web/ChromeClientImpl.cpp
+++ Source/web/ChromeClientImpl.cpp
@@ -768,7 +768,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
@@ -774,7 +774,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, PopupMenuClient* client)
{
notifyPopupOpeningObservers();
@@ -12,7 +12,7 @@ index e1fd006..fa9486b 100644
ASSERT(RuntimeEnabledFeatures::pagePopupEnabled());
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
index 9a4161a..cf68085 100644
index 1f8413a..efeff15 100644
--- Source/web/WebViewImpl.cpp
+++ Source/web/WebViewImpl.cpp
@@ -397,6 +397,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
@@ -23,7 +23,7 @@ index 9a4161a..cf68085 100644
, m_doingDragAndDrop(false)
, m_ignoreInputEvents(false)
, m_compositorDeviceScaleFactorOverride(0)
@@ -3946,9 +3947,14 @@ void WebViewImpl::pageScaleFactorChanged()
@@ -3925,9 +3926,14 @@ void WebViewImpl::pageScaleFactorChanged()
m_client->pageScaleFactorChanged();
}
@@ -40,10 +40,10 @@ index 9a4161a..cf68085 100644
void WebViewImpl::startDragging(LocalFrame* frame,
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
index f222ca0..51478ce 100644
index a3ece01..60adce4 100644
--- Source/web/WebViewImpl.h
+++ Source/web/WebViewImpl.h
@@ -390,7 +390,8 @@ public:
@@ -389,7 +389,8 @@ public:
// Returns true if popup menus should be rendered by the browser, false if
// they should be rendered by WebKit (which is the default).
@@ -53,7 +53,7 @@ index f222ca0..51478ce 100644
bool contextMenuAllowed() const
{
@@ -677,6 +678,8 @@ private:
@@ -675,6 +676,8 @@ private:
bool m_contextMenuAllowed;