mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium revision 304f01a1 (#358063)
- Improve ordering of CefLoadHandler callbacks. OnLoadingStateChange will be called before and after all calls to OnLoadStart and OnLoadEnd. OnLoadStart/OnLoadEnd calls will occur as matching pairs (see http://crbug.com/539952#c2). - Remove the |requesting_url| argument to CefGeolocationHandler:: OnCancelGeolocationPermission. Clients can use the |request_id| argument to track this information themselves. - Fix a crash when loading the PDF extension in multiple browsers with a custom CefRequestContext (issue #1757).
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
diff --git render_widget_host_view_guest.cc render_widget_host_view_guest.cc
|
||||
index ecda893d..446c6e6 100644
|
||||
index b389e40..c3b5d3e 100644
|
||||
--- render_widget_host_view_guest.cc
|
||||
+++ render_widget_host_view_guest.cc
|
||||
@@ -191,6 +191,9 @@ void RenderWidgetHostViewGuest::Destroy() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git browser/browser_plugin/browser_plugin_guest.cc browser/browser_plugin/browser_plugin_guest.cc
|
||||
index 00529ff..57ccf08 100644
|
||||
index cef0842..d79092d 100644
|
||||
--- browser/browser_plugin/browser_plugin_guest.cc
|
||||
+++ browser/browser_plugin/browser_plugin_guest.cc
|
||||
@@ -23,7 +23,7 @@
|
||||
@ -11,7 +11,7 @@ index 00529ff..57ccf08 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"
|
||||
@@ -289,20 +289,19 @@ void BrowserPluginGuest::InitInternal(
|
||||
@@ -290,20 +290,19 @@ void BrowserPluginGuest::InitInternal(
|
||||
guest_window_rect_ = params.view_rect;
|
||||
|
||||
if (owner_web_contents_ != owner_web_contents) {
|
||||
@ -36,24 +36,23 @@ index 00529ff..57ccf08 100644
|
||||
}
|
||||
|
||||
RendererPreferences* renderer_prefs =
|
||||
@@ -748,12 +747,9 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
||||
@@ -792,11 +791,10 @@ void BrowserPluginGuest::OnWillAttachComplete(
|
||||
// This will trigger a callback to RenderViewReady after a round-trip IPC.
|
||||
static_cast<RenderViewHostImpl*>(
|
||||
GetWebContents()->GetRenderViewHost())->Init();
|
||||
- WebContentsViewGuest* web_contents_view =
|
||||
- static_cast<WebContentsViewGuest*>(GetWebContents()->GetView());
|
||||
- if (!web_contents()->GetRenderViewHost()->GetView()) {
|
||||
if (!web_contents()->GetRenderViewHost()->GetWidget()->GetView()) {
|
||||
- web_contents_view->CreateViewForWidget(
|
||||
- web_contents()->GetRenderViewHost(), true);
|
||||
- }
|
||||
+ if (!web_contents()->GetRenderViewHost()->GetView())
|
||||
+ delegate_->CreateViewForWidget(GetWebContents()->GetView(),
|
||||
+ web_contents()->GetRenderViewHost());
|
||||
- web_contents()->GetRenderViewHost()->GetWidget(), true);
|
||||
+ delegate_->CreateViewForWidget(
|
||||
+ GetWebContents()->GetView(),
|
||||
+ web_contents()->GetRenderViewHost()->GetWidget());
|
||||
}
|
||||
}
|
||||
|
||||
InitInternal(params, embedder_web_contents);
|
||||
diff --git public/browser/browser_plugin_guest_delegate.cc public/browser/browser_plugin_guest_delegate.cc
|
||||
index fd7dec4..49d4f99 100644
|
||||
index bfa19e4..d788495 100644
|
||||
--- public/browser/browser_plugin_guest_delegate.cc
|
||||
+++ public/browser/browser_plugin_guest_delegate.cc
|
||||
@@ -4,6 +4,8 @@
|
||||
@ -65,7 +64,7 @@ index fd7dec4..49d4f99 100644
|
||||
namespace content {
|
||||
|
||||
bool BrowserPluginGuestDelegate::CanRunInDetachedState() const {
|
||||
@@ -30,4 +32,23 @@ bool BrowserPluginGuestDelegate::StopFinding(StopFindAction action) {
|
||||
@@ -32,4 +34,23 @@ bool BrowserPluginGuestDelegate::HandleStopFindingForEmbedder(
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -90,7 +89,7 @@ index fd7dec4..49d4f99 100644
|
||||
+
|
||||
} // namespace content
|
||||
diff --git public/browser/browser_plugin_guest_delegate.h public/browser/browser_plugin_guest_delegate.h
|
||||
index aabe27b..8ff46f4 100644
|
||||
index 4dd1a4c..b299190 100644
|
||||
--- public/browser/browser_plugin_guest_delegate.h
|
||||
+++ public/browser/browser_plugin_guest_delegate.h
|
||||
@@ -21,6 +21,8 @@ class Size;
|
||||
|
@ -1,9 +1,9 @@
|
||||
diff --git web_contents_impl.cc web_contents_impl.cc
|
||||
index 7c84d90..2aaace4 100644
|
||||
index bf45da9..19ef2c7 100644
|
||||
--- web_contents_impl.cc
|
||||
+++ web_contents_impl.cc
|
||||
@@ -1353,23 +1353,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
MSG_ROUTING_NONE);
|
||||
@@ -1351,23 +1351,30 @@ void WebContentsImpl::Init(const WebContents::CreateParams& params) {
|
||||
main_frame_widget_routing_id);
|
||||
frame_tree_.root()->SetFrameName(params.main_frame_name);
|
||||
|
||||
- WebContentsViewDelegate* delegate =
|
||||
@ -50,7 +50,7 @@ index 7c84d90..2aaace4 100644
|
||||
}
|
||||
CHECK(render_view_host_delegate_view_);
|
||||
CHECK(view_.get());
|
||||
@@ -1715,6 +1722,9 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -1719,11 +1726,14 @@ void WebContentsImpl::CreateNewWindow(
|
||||
static_cast<SessionStorageNamespaceImpl*>(session_storage_namespace);
|
||||
CHECK(session_storage_namespace_impl->IsFromContext(dom_storage_context));
|
||||
|
||||
@ -58,20 +58,15 @@ index 7c84d90..2aaace4 100644
|
||||
+ content::RenderViewHostDelegateView* delegate_view = NULL;
|
||||
+
|
||||
if (delegate_ &&
|
||||
!delegate_->ShouldCreateWebContents(this,
|
||||
route_id,
|
||||
@@ -1723,7 +1733,9 @@ void WebContentsImpl::CreateNewWindow(
|
||||
params.frame_name,
|
||||
params.target_url,
|
||||
partition_id,
|
||||
- session_storage_namespace)) {
|
||||
+ session_storage_namespace,
|
||||
+ &view,
|
||||
+ &delegate_view)) {
|
||||
!delegate_->ShouldCreateWebContents(
|
||||
this, route_id, main_frame_route_id, main_frame_widget_route_id,
|
||||
params.window_container_type, params.frame_name, params.target_url,
|
||||
- partition_id, session_storage_namespace)) {
|
||||
+ partition_id, session_storage_namespace, &view, &delegate_view)) {
|
||||
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
|
||||
@@ -1745,6 +1757,8 @@ void WebContentsImpl::CreateNewWindow(
|
||||
@@ -1748,6 +1758,8 @@ void WebContentsImpl::CreateNewWindow(
|
||||
create_params.opener_render_process_id = render_process_id;
|
||||
create_params.opener_render_frame_id = params.opener_render_frame_id;
|
||||
create_params.opener_suppressed = params.opener_suppressed;
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git common.gypi common.gypi
|
||||
index cce7b3c..84a702a 100644
|
||||
index 780f43d..409a018 100644
|
||||
--- common.gypi
|
||||
+++ common.gypi
|
||||
@@ -9,6 +9,9 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git ui/browser.cc ui/browser.cc
|
||||
index 36d24b6..bbc5075 100644
|
||||
index d6a2493..c352fd6a 100644
|
||||
--- ui/browser.cc
|
||||
+++ ui/browser.cc
|
||||
@@ -1669,7 +1669,9 @@ bool Browser::ShouldCreateWebContents(
|
||||
@@ -1673,7 +1673,9 @@ bool Browser::ShouldCreateWebContents(
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
@ -12,9 +12,9 @@ index 36d24b6..bbc5075 100644
|
||||
+ content::RenderViewHostDelegateView** delegate_view) {
|
||||
if (window_container_type == WINDOW_CONTAINER_TYPE_BACKGROUND) {
|
||||
// If a BackgroundContents is created, suppress the normal WebContents.
|
||||
return !MaybeCreateBackgroundContents(route_id,
|
||||
return !MaybeCreateBackgroundContents(
|
||||
diff --git ui/browser.h ui/browser.h
|
||||
index e296569..bf03785 100644
|
||||
index 1511788..23ffe53 100644
|
||||
--- ui/browser.h
|
||||
+++ ui/browser.h
|
||||
@@ -591,7 +591,9 @@ class Browser : public TabStripModelObserver,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git content/browser/compositor/gpu_process_transport_factory.cc content/browser/compositor/gpu_process_transport_factory.cc
|
||||
index b7ed844..c6ec2a9 100644
|
||||
index b74845f..4ac77c3 100644
|
||||
--- content/browser/compositor/gpu_process_transport_factory.cc
|
||||
+++ content/browser/compositor/gpu_process_transport_factory.cc
|
||||
@@ -142,6 +142,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
|
||||
@@ -143,6 +143,13 @@ GpuProcessTransportFactory::CreateOffscreenCommandBufferContext() {
|
||||
scoped_ptr<cc::SoftwareOutputDevice>
|
||||
GpuProcessTransportFactory::CreateSoftwareOutputDevice(
|
||||
ui::Compositor* compositor) {
|
||||
@ -17,10 +17,10 @@ index b7ed844..c6ec2a9 100644
|
||||
return scoped_ptr<cc::SoftwareOutputDevice>(
|
||||
new SoftwareOutputDeviceWin(software_backing_.get(), compositor));
|
||||
diff --git ui/compositor/compositor.h ui/compositor/compositor.h
|
||||
index fe2a033..b6cd7c9 100644
|
||||
index 1602d30..3dd3e3e 100644
|
||||
--- ui/compositor/compositor.h
|
||||
+++ ui/compositor/compositor.h
|
||||
@@ -15,6 +15,7 @@
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "base/single_thread_task_runner.h"
|
||||
#include "base/time/time.h"
|
||||
#include "cc/output/begin_frame_args.h"
|
||||
@ -28,7 +28,7 @@ index fe2a033..b6cd7c9 100644
|
||||
#include "cc/surfaces/surface_sequence.h"
|
||||
#include "cc/trees/layer_tree_host_client.h"
|
||||
#include "cc/trees/layer_tree_host_single_thread_client.h"
|
||||
@@ -149,6 +150,17 @@ class COMPOSITOR_EXPORT CompositorBeginFrameObserver {
|
||||
@@ -148,6 +149,17 @@ class COMPOSITOR_EXPORT CompositorBeginFrameObserver {
|
||||
virtual void OnSendBeginFrame(const cc::BeginFrameArgs& args) = 0;
|
||||
};
|
||||
|
||||
@ -46,7 +46,7 @@ index fe2a033..b6cd7c9 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
|
||||
@@ -169,6 +181,9 @@ class COMPOSITOR_EXPORT Compositor
|
||||
@@ -168,6 +180,9 @@ class COMPOSITOR_EXPORT Compositor
|
||||
// Schedules a redraw of the layer tree associated with this compositor.
|
||||
void ScheduleDraw();
|
||||
|
||||
@ -56,7 +56,7 @@ index fe2a033..b6cd7c9 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
|
||||
@@ -335,6 +350,8 @@ class COMPOSITOR_EXPORT Compositor
|
||||
@@ -338,6 +353,8 @@ class COMPOSITOR_EXPORT Compositor
|
||||
|
||||
ui::ContextFactory* context_factory_;
|
||||
|
||||
|
@ -1,78 +1,60 @@
|
||||
diff --git public/renderer/content_renderer_client.cc public/renderer/content_renderer_client.cc
|
||||
index e09e803..ff26996 100644
|
||||
index 3d0316f..ccd1f58 100644
|
||||
--- public/renderer/content_renderer_client.cc
|
||||
+++ public/renderer/content_renderer_client.cc
|
||||
@@ -98,6 +98,18 @@ bool ContentRendererClient::AllowPopup() {
|
||||
@@ -98,7 +98,6 @@ bool ContentRendererClient::AllowPopup() {
|
||||
return false;
|
||||
}
|
||||
|
||||
+bool ContentRendererClient::HandleNavigation(
|
||||
+ RenderFrame* render_frame,
|
||||
+ DocumentState* document_state,
|
||||
+ int opener_id,
|
||||
+ blink::WebFrame* frame,
|
||||
+ const blink::WebURLRequest& request,
|
||||
+ blink::WebNavigationType type,
|
||||
+ blink::WebNavigationPolicy default_policy,
|
||||
+ bool is_redirect) {
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
-#ifdef OS_ANDROID
|
||||
bool ContentRendererClient::HandleNavigation(
|
||||
RenderFrame* render_frame,
|
||||
bool is_content_initiated,
|
||||
@@ -110,7 +109,6 @@ bool ContentRendererClient::HandleNavigation(
|
||||
bool is_redirect) {
|
||||
return false;
|
||||
}
|
||||
-#endif
|
||||
|
||||
bool ContentRendererClient::ShouldFork(blink::WebLocalFrame* frame,
|
||||
const GURL& url,
|
||||
const std::string& http_method,
|
||||
diff --git public/renderer/content_renderer_client.h public/renderer/content_renderer_client.h
|
||||
index df8d501..f3a2068 100644
|
||||
index f55c691..0aeb1b24 100644
|
||||
--- public/renderer/content_renderer_client.h
|
||||
+++ public/renderer/content_renderer_client.h
|
||||
@@ -16,6 +16,8 @@
|
||||
#include "base/strings/string16.h"
|
||||
#include "content/public/common/content_client.h"
|
||||
#include "third_party/WebKit/public/platform/WebPageVisibilityState.h"
|
||||
+#include "third_party/WebKit/public/web/WebNavigationPolicy.h"
|
||||
+#include "third_party/WebKit/public/web/WebNavigationType.h"
|
||||
#include "ui/base/page_transition_types.h"
|
||||
#include "v8/include/v8.h"
|
||||
|
||||
@@ -191,6 +193,17 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
@@ -192,7 +192,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
// Returns true if a popup window should be allowed.
|
||||
virtual bool AllowPopup();
|
||||
|
||||
+ // Returns true if the navigation was handled by the embedder and should be
|
||||
+ // ignored by WebKit. This method is used by CEF and android_webview.
|
||||
+ virtual bool HandleNavigation(RenderFrame* render_frame,
|
||||
+ DocumentState* document_state,
|
||||
+ int opener_id,
|
||||
+ blink::WebFrame* frame,
|
||||
+ const blink::WebURLRequest& request,
|
||||
+ blink::WebNavigationType type,
|
||||
+ blink::WebNavigationPolicy default_policy,
|
||||
+ bool is_redirect);
|
||||
+
|
||||
-#ifdef OS_ANDROID
|
||||
// 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
|
||||
@@ -207,7 +206,6 @@ class CONTENT_EXPORT ContentRendererClient {
|
||||
blink::WebNavigationType type,
|
||||
blink::WebNavigationPolicy default_policy,
|
||||
bool is_redirect);
|
||||
-#endif
|
||||
|
||||
// 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
|
||||
// header will be send for the navigation. Otherwise, the referrer header is
|
||||
diff --git renderer/render_frame_impl.cc renderer/render_frame_impl.cc
|
||||
index ff5d269..6ca4948 100644
|
||||
index 33219e5..f6aac25 100644
|
||||
--- renderer/render_frame_impl.cc
|
||||
+++ renderer/render_frame_impl.cc
|
||||
@@ -4274,6 +4274,19 @@ void RenderFrameImpl::OnFailedNavigation(
|
||||
WebNavigationPolicy RenderFrameImpl::DecidePolicyForNavigation(
|
||||
RenderFrame* render_frame,
|
||||
const NavigationPolicyInfo& info) {
|
||||
+ if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
|
||||
+ GetContentClient()->renderer()->HandleNavigation(
|
||||
+ render_frame,
|
||||
+ static_cast<DocumentState*>(info.extraData),
|
||||
+ render_view_->opener_id_,
|
||||
+ info.frame,
|
||||
+ info.urlRequest,
|
||||
+ info.navigationType,
|
||||
+ info.defaultPolicy,
|
||||
+ info.isRedirect)) {
|
||||
+ return blink::WebNavigationPolicyIgnore;
|
||||
+ }
|
||||
+
|
||||
Referrer referrer(RenderViewImpl::GetReferrerFromRequest(info.frame,
|
||||
info.urlRequest));
|
||||
@@ -4395,7 +4395,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
||||
(pending_navigation_params_ &&
|
||||
!pending_navigation_params_->request_params.redirects.empty());
|
||||
|
||||
-#ifdef OS_ANDROID
|
||||
// The handlenavigation API is deprecated and will be removed once
|
||||
// crbug.com/325351 is resolved.
|
||||
if (info.urlRequest.url() != GURL(kSwappedOutURL) &&
|
||||
@@ -4405,7 +4404,6 @@ WebNavigationPolicy RenderFrameImpl::decidePolicyForNavigation(
|
||||
is_redirect)) {
|
||||
return blink::WebNavigationPolicyIgnore;
|
||||
}
|
||||
-#endif
|
||||
|
||||
Referrer referrer(
|
||||
RenderViewImpl::GetReferrerFromRequest(frame_, info.urlRequest));
|
||||
|
@ -1,18 +0,0 @@
|
||||
diff --git extension_process_policy.h extension_process_policy.h
|
||||
index 7231c0f..2323483 100644
|
||||
--- extension_process_policy.h
|
||||
+++ extension_process_policy.h
|
||||
@@ -5,12 +5,12 @@
|
||||
#ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_
|
||||
#define CHROME_COMMON_EXTENSIONS_EXTENSION_PROCESS_POLICY_H_
|
||||
|
||||
-class ExtensionSet;
|
||||
class GURL;
|
||||
|
||||
namespace extensions {
|
||||
|
||||
class Extension;
|
||||
+class ExtensionSet;
|
||||
|
||||
// Returns the extension for the given URL. Excludes extension objects for
|
||||
// bookmark apps, which do not use the app process model.
|
@ -1,8 +1,8 @@
|
||||
diff --git browser/guest_view/extension_options/extension_options_guest.cc browser/guest_view/extension_options/extension_options_guest.cc
|
||||
index cfdb5cf..5a4749d 100644
|
||||
index 6a34aa0..1743907 100644
|
||||
--- browser/guest_view/extension_options/extension_options_guest.cc
|
||||
+++ browser/guest_view/extension_options/extension_options_guest.cc
|
||||
@@ -196,7 +196,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
|
||||
@@ -197,7 +197,9 @@ bool ExtensionOptionsGuest::ShouldCreateWebContents(
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
@ -14,17 +14,17 @@ index cfdb5cf..5a4749d 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 9cf37d2..19e3b6d 100644
|
||||
index 922d670..cb19e4e 100644
|
||||
--- browser/guest_view/extension_options/extension_options_guest.h
|
||||
+++ browser/guest_view/extension_options/extension_options_guest.h
|
||||
@@ -49,7 +49,9 @@ class ExtensionOptionsGuest
|
||||
@@ -54,7 +54,9 @@ class ExtensionOptionsGuest
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
- content::SessionStorageNamespace* session_storage_namespace) override;
|
||||
- content::SessionStorageNamespace* session_storage_namespace) final;
|
||||
+ content::SessionStorageNamespace* session_storage_namespace,
|
||||
+ content::WebContentsView** view,
|
||||
+ content::RenderViewHostDelegateView** delegate_view) override;
|
||||
+ content::RenderViewHostDelegateView** delegate_view) final;
|
||||
|
||||
// content::WebContentsObserver implementation.
|
||||
void DidNavigateMainFrame(
|
||||
void DidNavigateMainFrame(const content::LoadCommittedDetails& details,
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git resource_ids resource_ids
|
||||
index 92456c8..9fa9ce3 100644
|
||||
index a5bcffe..6b897df 100644
|
||||
--- resource_ids
|
||||
+++ resource_ids
|
||||
@@ -14,6 +14,12 @@
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git gyp/generator/ninja.py gyp/generator/ninja.py
|
||||
index 51c288b..d996bbd 100644
|
||||
index 58be3bf..4dcb2a6 100644
|
||||
--- gyp/generator/ninja.py
|
||||
+++ gyp/generator/ninja.py
|
||||
@@ -741,7 +741,16 @@ class NinjaWriter(object):
|
||||
@@ -745,7 +745,16 @@ class NinjaWriter(object):
|
||||
for path in copy['files']:
|
||||
# Normalize the path so trailing slashes don't confuse us.
|
||||
path = os.path.normpath(path)
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git hwnd_message_handler.cc hwnd_message_handler.cc
|
||||
index 5348080..4f9bec5 100644
|
||||
index 035df76..d1517b4 100644
|
||||
--- hwnd_message_handler.cc
|
||||
+++ hwnd_message_handler.cc
|
||||
@@ -2364,8 +2364,12 @@ LRESULT HWNDMessageHandler::HandleMouseEventInternal(UINT message,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git input_method_win.cc input_method_win.cc
|
||||
index df75bb2..a688138 100644
|
||||
index ef500a7..5454067 100644
|
||||
--- input_method_win.cc
|
||||
+++ input_method_win.cc
|
||||
@@ -548,8 +548,9 @@ bool InputMethodWin::IsWindowFocused(const TextInputClient* client) const {
|
||||
@@ -586,8 +586,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.
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git mime_handler_view_guest.cc mime_handler_view_guest.cc
|
||||
index aee7d72..951d0cc 100644
|
||||
index 55b2426..bea8823 100644
|
||||
--- mime_handler_view_guest.cc
|
||||
+++ mime_handler_view_guest.cc
|
||||
@@ -131,6 +131,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
@@ -132,6 +132,8 @@ void MimeHandlerViewGuest::CreateWebContents(
|
||||
WebContents::CreateParams params(browser_context(),
|
||||
guest_site_instance.get());
|
||||
params.guest_delegate = this;
|
||||
@ -11,7 +11,7 @@ index aee7d72..951d0cc 100644
|
||||
callback.Run(WebContents::Create(params));
|
||||
}
|
||||
|
||||
@@ -155,6 +157,30 @@ bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const {
|
||||
@@ -156,6 +158,30 @@ bool MimeHandlerViewGuest::ZoomPropagatesFromEmbedderToGuest() const {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -43,12 +43,12 @@ index aee7d72..951d0cc 100644
|
||||
WebContents* source,
|
||||
const content::OpenURLParams& params) {
|
||||
diff --git mime_handler_view_guest.h mime_handler_view_guest.h
|
||||
index 26c0e11..a568b45 100644
|
||||
index a876f6a..4808aa3 100644
|
||||
--- mime_handler_view_guest.h
|
||||
+++ mime_handler_view_guest.h
|
||||
@@ -67,6 +67,15 @@ class MimeHandlerViewGuest :
|
||||
bool ShouldHandleFindRequestsForEmbedder() const override;
|
||||
bool ZoomPropagatesFromEmbedderToGuest() const override;
|
||||
@@ -74,6 +74,15 @@ class MimeHandlerViewGuest :
|
||||
bool ShouldHandleFindRequestsForEmbedder() const final;
|
||||
bool ZoomPropagatesFromEmbedderToGuest() const final;
|
||||
|
||||
+ // content::BrowserPluginGuestDelegate implementation
|
||||
+ void OnGuestAttached(content::WebContentsView* guest_view,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git url_request.h url_request.h
|
||||
index 9209697..a2f73f8 100644
|
||||
index f685cf7..d01faaee 100644
|
||||
--- url_request.h
|
||||
+++ url_request.h
|
||||
@@ -640,10 +640,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
||||
@@ -645,10 +645,10 @@ class NET_EXPORT URLRequest : NON_EXPORTED_BASE(public base::NonThreadSafe),
|
||||
// or after the response headers are received.
|
||||
void GetConnectionAttempts(ConnectionAttempts* out) const;
|
||||
|
||||
|
103
patch/patches/pdf_print_549365.patch
Normal file
103
patch/patches/pdf_print_549365.patch
Normal file
@ -0,0 +1,103 @@
|
||||
diff --git pdf.cc pdf.cc
|
||||
index 1f580e4..9521fdf 100644
|
||||
--- pdf.cc
|
||||
+++ pdf.cc
|
||||
@@ -10,8 +10,6 @@
|
||||
|
||||
#include "base/command_line.h"
|
||||
#include "base/logging.h"
|
||||
-#include "gin/array_buffer.h"
|
||||
-#include "gin/public/isolate_holder.h"
|
||||
#include "pdf/out_of_process_instance.h"
|
||||
#include "ppapi/c/ppp.h"
|
||||
#include "ppapi/cpp/private/internal_module.h"
|
||||
@@ -24,14 +22,6 @@ namespace {
|
||||
|
||||
bool g_sdk_initialized_via_pepper = false;
|
||||
|
||||
-gin::IsolateHolder* g_isolate_holder = nullptr;
|
||||
-
|
||||
-void TearDownV8() {
|
||||
- g_isolate_holder->isolate()->Exit();
|
||||
- delete g_isolate_holder;
|
||||
- g_isolate_holder = nullptr;
|
||||
-}
|
||||
-
|
||||
} // namespace
|
||||
|
||||
PDFModule::PDFModule() {
|
||||
@@ -39,7 +29,6 @@ PDFModule::PDFModule() {
|
||||
|
||||
PDFModule::~PDFModule() {
|
||||
if (g_sdk_initialized_via_pepper) {
|
||||
- TearDownV8();
|
||||
chrome_pdf::ShutdownSDK();
|
||||
g_sdk_initialized_via_pepper = false;
|
||||
}
|
||||
@@ -60,15 +49,8 @@ pp::Instance* PDFModule::CreateInstance(PP_Instance instance) {
|
||||
v8::V8::SetNativesDataBlob(&natives);
|
||||
v8::V8::SetSnapshotDataBlob(&snapshot);
|
||||
}
|
||||
- gin::IsolateHolder::Initialize(gin::IsolateHolder::kNonStrictMode,
|
||||
- gin::ArrayBufferAllocator::SharedInstance());
|
||||
- g_isolate_holder =
|
||||
- new gin::IsolateHolder(gin::IsolateHolder::kSingleThread);
|
||||
- g_isolate_holder->isolate()->Enter();
|
||||
- if (!chrome_pdf::InitializeSDK()) {
|
||||
- TearDownV8();
|
||||
+ if (!chrome_pdf::InitializeSDK())
|
||||
return NULL;
|
||||
- }
|
||||
g_sdk_initialized_via_pepper = true;
|
||||
}
|
||||
|
||||
diff --git pdfium/pdfium_engine.cc pdfium/pdfium_engine.cc
|
||||
index 8631088..d23c141 100644
|
||||
--- pdfium/pdfium_engine.cc
|
||||
+++ pdfium/pdfium_engine.cc
|
||||
@@ -18,7 +18,9 @@
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
#include "base/values.h"
|
||||
+#include "gin/array_buffer.h"
|
||||
#include "gin/public/gin_embedders.h"
|
||||
+#include "gin/public/isolate_holder.h"
|
||||
#include "pdf/draw_utils.h"
|
||||
#include "pdf/pdfium/pdfium_api_string_buffer_adapter.h"
|
||||
#include "pdf/pdfium/pdfium_mem_buffer_file_read.h"
|
||||
@@ -449,9 +451,27 @@ std::string GetDocumentMetadata(FPDF_DOCUMENT doc, const std::string& key) {
|
||||
return base::UTF16ToUTF8(value);
|
||||
}
|
||||
|
||||
+gin::IsolateHolder* g_isolate_holder = nullptr;
|
||||
+
|
||||
+void SetUpV8() {
|
||||
+ gin::IsolateHolder::Initialize(gin::IsolateHolder::kNonStrictMode,
|
||||
+ gin::ArrayBufferAllocator::SharedInstance());
|
||||
+ g_isolate_holder =
|
||||
+ new gin::IsolateHolder(gin::IsolateHolder::kSingleThread);
|
||||
+ g_isolate_holder->isolate()->Enter();
|
||||
+}
|
||||
+
|
||||
+void TearDownV8() {
|
||||
+ g_isolate_holder->isolate()->Exit();
|
||||
+ delete g_isolate_holder;
|
||||
+ g_isolate_holder = nullptr;
|
||||
+}
|
||||
+
|
||||
} // namespace
|
||||
|
||||
bool InitializeSDK() {
|
||||
+ SetUpV8();
|
||||
+
|
||||
FPDF_LIBRARY_CONFIG config;
|
||||
config.version = 2;
|
||||
config.m_pUserFontPaths = nullptr;
|
||||
@@ -470,6 +490,7 @@ bool InitializeSDK() {
|
||||
}
|
||||
|
||||
void ShutdownSDK() {
|
||||
+ TearDownV8();
|
||||
FPDF_DestroyLibrary();
|
||||
}
|
||||
|
20
patch/patches/pdfium_print_549365.patch
Normal file
20
patch/patches/pdfium_print_549365.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git fpdfsdk/src/fpdfview.cpp fpdfsdk/src/fpdfview.cpp
|
||||
index 97da89e..0484d93 100644
|
||||
--- fpdfsdk/src/fpdfview.cpp
|
||||
+++ fpdfsdk/src/fpdfview.cpp
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "../../core/include/fxcodec/fx_codec.h"
|
||||
#include "../../core/include/fxcrt/fx_safe_types.h"
|
||||
+#include "../../fpdfsdk/include/jsapi/fxjs_v8.h"
|
||||
#include "../../public/fpdf_ext.h"
|
||||
#include "../../public/fpdf_progressive.h"
|
||||
#include "../../public/fpdfview.h"
|
||||
@@ -105,6 +106,7 @@ DLLEXPORT void STDCALL FPDF_InitLibraryWithConfig(
|
||||
DLLEXPORT void STDCALL FPDF_DestroyLibrary() {
|
||||
CPDF_ModuleMgr::Destroy();
|
||||
CFX_GEModule::Destroy();
|
||||
+ FXJS_Release();
|
||||
|
||||
delete g_pCodecModule;
|
||||
g_pCodecModule = nullptr;
|
@ -1,8 +1,8 @@
|
||||
diff --git public/common/common_param_traits_macros.h public/common/common_param_traits_macros.h
|
||||
index a308f84..bbbe950 100644
|
||||
index 48ba994..039d8fe 100644
|
||||
--- public/common/common_param_traits_macros.h
|
||||
+++ public/common/common_param_traits_macros.h
|
||||
@@ -196,6 +196,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,7 +11,7 @@ index a308f84..bbbe950 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 deb82db..2da2957 100644
|
||||
index 6b599c0..d2ff454 100644
|
||||
--- public/common/web_preferences.cc
|
||||
+++ public/common/web_preferences.cc
|
||||
@@ -176,6 +176,7 @@ WebPreferences::WebPreferences()
|
||||
@ -21,9 +21,9 @@ index deb82db..2da2957 100644
|
||||
+ base_background_color(0xFFFFFFFF), // Color::white
|
||||
v8_cache_options(V8_CACHE_OPTIONS_DEFAULT),
|
||||
slimming_paint_v2_enabled(false),
|
||||
inert_visual_viewport(false),
|
||||
cookie_enabled(true),
|
||||
diff --git public/common/web_preferences.h public/common/web_preferences.h
|
||||
index 75012d1..8da71be 100644
|
||||
index 0378cd7..484342b 100644
|
||||
--- public/common/web_preferences.h
|
||||
+++ public/common/web_preferences.h
|
||||
@@ -173,6 +173,7 @@ struct CONTENT_EXPORT WebPreferences {
|
||||
@ -33,12 +33,12 @@ index 75012d1..8da71be 100644
|
||||
+ uint32_t base_background_color;
|
||||
V8CacheOptions v8_cache_options;
|
||||
bool slimming_paint_v2_enabled;
|
||||
bool inert_visual_viewport;
|
||||
|
||||
diff --git renderer/render_view_impl.cc renderer/render_view_impl.cc
|
||||
index d6d5d6e..82b499e 100644
|
||||
index 3fd5464..4bf3639 100644
|
||||
--- renderer/render_view_impl.cc
|
||||
+++ renderer/render_view_impl.cc
|
||||
@@ -949,6 +949,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
@@ -953,6 +953,8 @@ void RenderView::ApplyWebPreferences(const WebPreferences& prefs,
|
||||
settings->setCookieEnabled(prefs.cookie_enabled);
|
||||
settings->setNavigateOnDragDrop(prefs.navigate_on_drag_drop);
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git printing/renderer/print_web_view_helper.cc printing/renderer/print_web_view_helper.cc
|
||||
index 27419d6..0a6757b 100644
|
||||
index f2dc502..c0049d0 100644
|
||||
--- printing/renderer/print_web_view_helper.cc
|
||||
+++ printing/renderer/print_web_view_helper.cc
|
||||
@@ -73,6 +73,9 @@ const double kMinDpi = 1.0;
|
||||
@@ -74,6 +74,9 @@ const double kMinDpi = 1.0;
|
||||
|
||||
#if defined(ENABLE_PRINT_PREVIEW)
|
||||
bool g_is_preview_enabled = true;
|
||||
@ -12,7 +12,7 @@ index 27419d6..0a6757b 100644
|
||||
|
||||
const char kPageLoadScriptFormat[] =
|
||||
"document.open(); document.write(%s); document.close();";
|
||||
@@ -87,9 +90,6 @@ void ExecuteScript(blink::WebFrame* frame,
|
||||
@@ -88,9 +91,6 @@ void ExecuteScript(blink::WebFrame* frame,
|
||||
std::string script = base::StringPrintf(script_format, json.c_str());
|
||||
frame->executeScript(blink::WebString(base::UTF8ToUTF16(script)));
|
||||
}
|
||||
@ -22,7 +22,7 @@ index 27419d6..0a6757b 100644
|
||||
|
||||
int GetDPI(const PrintMsg_Print_Params* print_params) {
|
||||
#if defined(OS_MACOSX)
|
||||
@@ -480,7 +480,6 @@ blink::WebView* FrameReference::view() {
|
||||
@@ -481,7 +481,6 @@ blink::WebView* FrameReference::view() {
|
||||
return view_;
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ index 27419d6..0a6757b 100644
|
||||
// static - Not anonymous so that platform implementations can use it.
|
||||
void PrintWebViewHelper::PrintHeaderAndFooter(
|
||||
blink::WebCanvas* canvas,
|
||||
@@ -536,7 +535,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
|
||||
@@ -537,7 +536,6 @@ void PrintWebViewHelper::PrintHeaderAndFooter(
|
||||
web_view->close();
|
||||
frame->close();
|
||||
}
|
||||
@ -38,7 +38,7 @@ index 27419d6..0a6757b 100644
|
||||
|
||||
// static - Not anonymous so that platform implementations can use it.
|
||||
float PrintWebViewHelper::RenderPageContent(blink::WebFrame* frame,
|
||||
@@ -807,6 +805,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view,
|
||||
@@ -810,6 +808,7 @@ PrintWebViewHelper::PrintWebViewHelper(content::RenderView* render_view,
|
||||
print_for_preview_(false),
|
||||
delegate_(delegate.Pass()),
|
||||
print_node_in_progress_(false),
|
||||
@ -46,7 +46,7 @@ index 27419d6..0a6757b 100644
|
||||
is_loading_(false),
|
||||
is_scripted_preview_delayed_(false),
|
||||
ipc_nesting_level_(0),
|
||||
@@ -1246,7 +1245,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
|
||||
@@ -1249,7 +1248,9 @@ void PrintWebViewHelper::OnInitiatePrintPreview(bool selection_only) {
|
||||
// that instead.
|
||||
auto plugin = delegate_->GetPdfElement(frame);
|
||||
if (!plugin.isNull()) {
|
||||
@ -56,7 +56,7 @@ index 27419d6..0a6757b 100644
|
||||
return;
|
||||
}
|
||||
print_preview_context_.InitWithFrame(frame);
|
||||
@@ -1279,7 +1280,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
|
||||
@@ -1282,7 +1283,7 @@ void PrintWebViewHelper::PrintNode(const blink::WebNode& node) {
|
||||
|
||||
// Make a copy of the node, in case RenderView::OnContextMenuClosed resets
|
||||
// its |context_menu_node_|.
|
||||
|
@ -1,19 +1,8 @@
|
||||
diff --git web_contents.cc web_contents.cc
|
||||
index 887f242..a7cc318 100644
|
||||
index 1b6d8a6..b606a30 100644
|
||||
--- web_contents.cc
|
||||
+++ web_contents.cc
|
||||
@@ -21,7 +21,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context)
|
||||
initially_hidden(false),
|
||||
guest_delegate(nullptr),
|
||||
context(nullptr),
|
||||
- renderer_initiated_creation(false) {}
|
||||
+ renderer_initiated_creation(false),
|
||||
+ view(nullptr),
|
||||
+ delegate_view(nullptr) {}
|
||||
|
||||
WebContents::CreateParams::CreateParams(
|
||||
BrowserContext* context, SiteInstance* site)
|
||||
@@ -36,7 +38,9 @@ WebContents::CreateParams::CreateParams(
|
||||
@@ -26,7 +26,9 @@ WebContents::CreateParams::CreateParams(BrowserContext* context,
|
||||
initially_hidden(false),
|
||||
guest_delegate(nullptr),
|
||||
context(nullptr),
|
||||
@ -25,7 +14,7 @@ index 887f242..a7cc318 100644
|
||||
WebContents::CreateParams::~CreateParams() {
|
||||
}
|
||||
diff --git web_contents.h web_contents.h
|
||||
index 08c5ba9..459fe19 100644
|
||||
index cda6487..6a84ed1 100644
|
||||
--- web_contents.h
|
||||
+++ web_contents.h
|
||||
@@ -52,9 +52,11 @@ class PageState;
|
||||
@ -40,7 +29,7 @@ index 08c5ba9..459fe19 100644
|
||||
struct CustomContextMenuContext;
|
||||
struct DropData;
|
||||
struct Manifest;
|
||||
@@ -142,6 +144,10 @@ class WebContents : public PageNavigator,
|
||||
@@ -144,6 +146,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,10 +41,10 @@ index 08c5ba9..459fe19 100644
|
||||
|
||||
// Creates a new WebContents.
|
||||
diff --git web_contents_delegate.cc web_contents_delegate.cc
|
||||
index b3d2d70..727401c 100644
|
||||
index b39436d..bf257a7 100644
|
||||
--- web_contents_delegate.cc
|
||||
+++ web_contents_delegate.cc
|
||||
@@ -138,7 +138,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
|
||||
@@ -139,7 +139,9 @@ bool WebContentsDelegate::ShouldCreateWebContents(
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
@ -67,7 +56,7 @@ index b3d2d70..727401c 100644
|
||||
}
|
||||
|
||||
diff --git web_contents_delegate.h web_contents_delegate.h
|
||||
index 76dfd36..f3bec13 100644
|
||||
index 40a4904..e857dee 100644
|
||||
--- web_contents_delegate.h
|
||||
+++ web_contents_delegate.h
|
||||
@@ -39,9 +39,11 @@ class DownloadItem;
|
||||
@ -82,7 +71,7 @@ index 76dfd36..f3bec13 100644
|
||||
struct ColorSuggestion;
|
||||
struct ContextMenuParams;
|
||||
struct DropData;
|
||||
@@ -299,7 +301,9 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
@@ -296,7 +298,9 @@ class CONTENT_EXPORT WebContentsDelegate {
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git render_widget_host_view_mac.mm render_widget_host_view_mac.mm
|
||||
index 8db1f59..41157952 100644
|
||||
index fb89516..6edca6e 100644
|
||||
--- render_widget_host_view_mac.mm
|
||||
+++ render_widget_host_view_mac.mm
|
||||
@@ -590,9 +590,6 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
|
||||
@@ -529,9 +529,6 @@ RenderWidgetHostViewMac::RenderWidgetHostViewMac(RenderWidgetHost* widget,
|
||||
// Paint this view host with |background_color_| when there is no content
|
||||
// ready to draw.
|
||||
background_layer_.reset([[CALayer alloc] init]);
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git os_exchange_data_provider_aurax11.cc os_exchange_data_provider_aurax11.cc
|
||||
index 73ec4bf..9023835 100644
|
||||
index e2bba47..ea698fa3 100644
|
||||
--- os_exchange_data_provider_aurax11.cc
|
||||
+++ os_exchange_data_provider_aurax11.cc
|
||||
@@ -159,7 +159,8 @@ void OSExchangeDataProviderAuraX11::SetURL(const GURL& url,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git web_dialog_view.cc web_dialog_view.cc
|
||||
index 4b5e8b2..1501d0b 100644
|
||||
index c5a2b03..0594c4a 100644
|
||||
--- web_dialog_view.cc
|
||||
+++ web_dialog_view.cc
|
||||
@@ -340,7 +340,9 @@ bool WebDialogView::ShouldCreateWebContents(
|
||||
@@ -341,7 +341,9 @@ bool WebDialogView::ShouldCreateWebContents(
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
@ -14,10 +14,10 @@ index 4b5e8b2..1501d0b 100644
|
||||
return delegate_->HandleShouldCreateWebContents();
|
||||
return true;
|
||||
diff --git web_dialog_view.h web_dialog_view.h
|
||||
index dc6598d..ce2616c 100644
|
||||
index d897dbf..92bb481 100644
|
||||
--- web_dialog_view.h
|
||||
+++ web_dialog_view.h
|
||||
@@ -119,7 +119,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
|
||||
@@ -120,7 +120,9 @@ class WEBVIEW_EXPORT WebDialogView : public views::ClientView,
|
||||
const std::string& frame_name,
|
||||
const GURL& target_url,
|
||||
const std::string& partition_id,
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git content/browser/renderer_host/render_widget_host_view_aura.cc content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
index c7aac43..ae08073 100644
|
||||
index bbb79c9..bf9a924 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
+++ content/browser/renderer_host/render_widget_host_view_aura.cc
|
||||
@@ -758,6 +758,13 @@ void RenderWidgetHostViewAura::SetKeyboardFocus() {
|
||||
@ -40,7 +40,7 @@ index 1b40705..52599e5 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 2fbfb1e..33aa009 100644
|
||||
index bf3b8e1..351c601 100644
|
||||
--- content/browser/renderer_host/render_widget_host_view_base.h
|
||||
+++ content/browser/renderer_host/render_widget_host_view_base.h
|
||||
@@ -78,6 +78,7 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
|
||||
@ -51,7 +51,7 @@ index 2fbfb1e..33aa009 100644
|
||||
|
||||
// IPC::Listener implementation:
|
||||
bool OnMessageReceived(const IPC::Message& msg) override;
|
||||
@@ -416,6 +417,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
|
||||
@@ -414,6 +415,10 @@ class CONTENT_EXPORT RenderWidgetHostViewBase : public RenderWidgetHostView,
|
||||
// renderer.
|
||||
bool pinch_zoom_enabled_;
|
||||
|
||||
@ -91,7 +91,7 @@ index a8e088c..838b6a0 100644
|
||||
return host ? host->GetAcceleratedWidget() : NULL;
|
||||
}
|
||||
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 270bd54..53d979b 100644
|
||||
index 48368f9..6a566ba 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
|
||||
@@ -85,6 +85,7 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin(
|
||||
@ -150,7 +150,7 @@ index 363c019..97ada1d 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 ed0cb1d..d4a2221 100644
|
||||
index 298c92b..393a5dc 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
|
||||
@@ -165,6 +165,7 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
@ -161,17 +161,17 @@ index ed0cb1d..d4a2221 100644
|
||||
drag_drop_client_(NULL),
|
||||
native_widget_delegate_(native_widget_delegate),
|
||||
desktop_native_widget_aura_(desktop_native_widget_aura),
|
||||
@@ -172,7 +173,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
window_parent_(NULL),
|
||||
@@ -173,7 +174,8 @@ DesktopWindowTreeHostX11::DesktopWindowTreeHostX11(
|
||||
custom_window_shape_(false),
|
||||
urgency_hint_set_(false),
|
||||
activatable_(true),
|
||||
- close_widget_factory_(this) {
|
||||
+ close_widget_factory_(this),
|
||||
+ xwindow_destroyed_(false) {
|
||||
}
|
||||
|
||||
DesktopWindowTreeHostX11::~DesktopWindowTreeHostX11() {
|
||||
@@ -382,7 +384,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
@@ -384,7 +386,8 @@ void DesktopWindowTreeHostX11::CloseNow() {
|
||||
// Actually free our native resources.
|
||||
if (ui::PlatformEventSource::GetInstance())
|
||||
ui::PlatformEventSource::GetInstance()->RemovePlatformEventDispatcher(this);
|
||||
@ -181,7 +181,7 @@ index ed0cb1d..d4a2221 100644
|
||||
xwindow_ = None;
|
||||
|
||||
desktop_native_widget_aura_->OnHostClosed();
|
||||
@@ -526,6 +529,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
@@ -533,6 +536,8 @@ void DesktopWindowTreeHostX11::GetWindowPlacement(
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetWindowBoundsInScreen() const {
|
||||
@ -190,7 +190,7 @@ index ed0cb1d..d4a2221 100644
|
||||
return ToDIPRect(bounds_in_pixels_);
|
||||
}
|
||||
|
||||
@@ -963,6 +968,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
|
||||
@@ -970,6 +975,8 @@ void DesktopWindowTreeHostX11::HideImpl() {
|
||||
}
|
||||
|
||||
gfx::Rect DesktopWindowTreeHostX11::GetBounds() const {
|
||||
@ -199,7 +199,7 @@ index ed0cb1d..d4a2221 100644
|
||||
return bounds_in_pixels_;
|
||||
}
|
||||
|
||||
@@ -1020,6 +1027,8 @@ void DesktopWindowTreeHostX11::SetBounds(
|
||||
@@ -1027,6 +1034,8 @@ void DesktopWindowTreeHostX11::SetBounds(
|
||||
}
|
||||
|
||||
gfx::Point DesktopWindowTreeHostX11::GetLocationOnNativeScreen() const {
|
||||
@ -208,7 +208,7 @@ index ed0cb1d..d4a2221 100644
|
||||
return bounds_in_pixels_.origin();
|
||||
}
|
||||
|
||||
@@ -1133,9 +1142,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
@@ -1140,9 +1149,15 @@ void DesktopWindowTreeHostX11::InitX11Window(
|
||||
}
|
||||
}
|
||||
|
||||
@ -225,7 +225,7 @@ index ed0cb1d..d4a2221 100644
|
||||
bounds_in_pixels_.y(), bounds_in_pixels_.width(),
|
||||
bounds_in_pixels_.height(),
|
||||
0, // border width
|
||||
@@ -1789,6 +1804,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
@@ -1797,6 +1812,10 @@ uint32_t DesktopWindowTreeHostX11::DispatchEvent(
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -237,7 +237,7 @@ index ed0cb1d..d4a2221 100644
|
||||
if (xev->xfocus.mode != NotifyGrab) {
|
||||
ReleaseCapture();
|
||||
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 73e9e3e6..8c2f0f7 100644
|
||||
index 09b5993..db1b2bc 100644
|
||||
--- ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
+++ ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h
|
||||
@@ -85,6 +85,12 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
@ -274,7 +274,7 @@ index 73e9e3e6..8c2f0f7 100644
|
||||
DesktopDragDropClientAuraX11* drag_drop_client_;
|
||||
|
||||
scoped_ptr<ui::EventHandler> x11_non_client_event_filter_;
|
||||
@@ -351,6 +364,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
@@ -353,6 +366,9 @@ class VIEWS_EXPORT DesktopWindowTreeHostX11
|
||||
|
||||
base::WeakPtrFactory<DesktopWindowTreeHostX11> close_widget_factory_;
|
||||
|
||||
@ -346,10 +346,10 @@ index 5ab84f9..c4095fa 100644
|
||||
x_active_window_ = None;
|
||||
}
|
||||
diff --git ui/views/widget/widget.cc ui/views/widget/widget.cc
|
||||
index 154d107..cf276b1 100644
|
||||
index 6c0168d..fbcfbfc 100644
|
||||
--- ui/views/widget/widget.cc
|
||||
+++ ui/views/widget/widget.cc
|
||||
@@ -119,6 +119,7 @@ Widget::InitParams::InitParams()
|
||||
@@ -124,6 +124,7 @@ Widget::InitParams::InitParams()
|
||||
use_system_default_icon(false),
|
||||
show_state(ui::SHOW_STATE_DEFAULT),
|
||||
parent(NULL),
|
||||
@ -357,7 +357,7 @@ index 154d107..cf276b1 100644
|
||||
native_widget(NULL),
|
||||
desktop_window_tree_host(NULL),
|
||||
layer_type(ui::LAYER_TEXTURED),
|
||||
@@ -142,6 +143,7 @@ Widget::InitParams::InitParams(Type type)
|
||||
@@ -148,6 +149,7 @@ Widget::InitParams::InitParams(Type type)
|
||||
use_system_default_icon(false),
|
||||
show_state(ui::SHOW_STATE_DEFAULT),
|
||||
parent(NULL),
|
||||
@ -365,7 +365,7 @@ index 154d107..cf276b1 100644
|
||||
native_widget(NULL),
|
||||
desktop_window_tree_host(NULL),
|
||||
layer_type(ui::LAYER_TEXTURED),
|
||||
@@ -316,7 +318,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -323,7 +325,7 @@ void Widget::Init(const InitParams& in_params) {
|
||||
InitParams params = in_params;
|
||||
|
||||
params.child |= (params.type == InitParams::TYPE_CONTROL);
|
||||
@ -374,7 +374,7 @@ index 154d107..cf276b1 100644
|
||||
|
||||
if (params.opacity == views::Widget::InitParams::INFER_OPACITY &&
|
||||
params.type != views::Widget::InitParams::TYPE_WINDOW &&
|
||||
@@ -379,7 +381,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
@@ -386,7 +388,12 @@ void Widget::Init(const InitParams& in_params) {
|
||||
Minimize();
|
||||
} else if (params.delegate) {
|
||||
SetContentsView(params.delegate->GetContentsView());
|
||||
@ -389,7 +389,7 @@ index 154d107..cf276b1 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 ui/views/widget/widget.h ui/views/widget/widget.h
|
||||
index 1342625..7fbc24c 100644
|
||||
index 301c0af..de63108 100644
|
||||
--- ui/views/widget/widget.h
|
||||
+++ ui/views/widget/widget.h
|
||||
@@ -232,6 +232,7 @@ class VIEWS_EXPORT Widget : public internal::NativeWidgetDelegate,
|
||||
|
@ -1,8 +1,8 @@
|
||||
diff --git Source/web/ChromeClientImpl.cpp Source/web/ChromeClientImpl.cpp
|
||||
index 5577228..74ccf53 100644
|
||||
index 499991c..b5d6d32 100644
|
||||
--- Source/web/ChromeClientImpl.cpp
|
||||
+++ Source/web/ChromeClientImpl.cpp
|
||||
@@ -814,7 +814,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
|
||||
@@ -809,7 +809,7 @@ bool ChromeClientImpl::hasOpenedPopup() const
|
||||
PassRefPtrWillBeRawPtr<PopupMenu> ChromeClientImpl::openPopupMenu(LocalFrame& frame, HTMLSelectElement& select)
|
||||
{
|
||||
notifyPopupOpeningObservers();
|
||||
@ -12,10 +12,10 @@ index 5577228..74ccf53 100644
|
||||
|
||||
ASSERT(RuntimeEnabledFeatures::pagePopupEnabled());
|
||||
diff --git Source/web/WebViewImpl.cpp Source/web/WebViewImpl.cpp
|
||||
index b708684..769c127 100644
|
||||
index c97a89c..6d2fb40 100644
|
||||
--- Source/web/WebViewImpl.cpp
|
||||
+++ Source/web/WebViewImpl.cpp
|
||||
@@ -421,6 +421,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
||||
@@ -418,6 +418,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
||||
, m_enableFakePageScaleAnimationForTesting(false)
|
||||
, m_fakePageScaleAnimationPageScaleFactor(0)
|
||||
, m_fakePageScaleAnimationUseAnchor(false)
|
||||
@ -40,10 +40,10 @@ index b708684..769c127 100644
|
||||
|
||||
void WebViewImpl::startDragging(LocalFrame* frame,
|
||||
diff --git Source/web/WebViewImpl.h Source/web/WebViewImpl.h
|
||||
index a1f3e54..24f60a9 100644
|
||||
index 09b718d..a1bc2ffc 100644
|
||||
--- Source/web/WebViewImpl.h
|
||||
+++ Source/web/WebViewImpl.h
|
||||
@@ -393,7 +393,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 a1f3e54..24f60a9 100644
|
||||
|
||||
bool shouldAutoResize() const
|
||||
{
|
||||
@@ -671,6 +672,8 @@ private:
|
||||
@@ -670,6 +671,8 @@ private:
|
||||
float m_fakePageScaleAnimationPageScaleFactor;
|
||||
bool m_fakePageScaleAnimationUseAnchor;
|
||||
|
||||
@ -63,7 +63,7 @@ index a1f3e54..24f60a9 100644
|
||||
|
||||
bool m_ignoreInputEvents;
|
||||
diff --git public/web/WebView.h public/web/WebView.h
|
||||
index 1bce1b2..3ea51c1 100644
|
||||
index 83d8c13..350bca4 100644
|
||||
--- public/web/WebView.h
|
||||
+++ public/web/WebView.h
|
||||
@@ -400,6 +400,7 @@ public:
|
||||
|
Reference in New Issue
Block a user