| Index: content/renderer/render_widget.h
|
| diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h
|
| index 280ca7dc392cb710cf92df36f5e1c17f68c3665e..87866408934b1d6e9a731f74ebec8a9637f40a4c 100644
|
| --- a/content/renderer/render_widget.h
|
| +++ b/content/renderer/render_widget.h
|
| @@ -33,7 +33,6 @@
|
| #include "content/renderer/mouse_lock_dispatcher.h"
|
| #include "content/renderer/render_widget_mouse_lock_dispatcher.h"
|
| #include "ipc/ipc_listener.h"
|
| -#include "ipc/ipc_message.h"
|
| #include "ipc/ipc_sender.h"
|
| #include "third_party/WebKit/public/platform/WebDisplayMode.h"
|
| #include "third_party/WebKit/public/platform/WebInputEvent.h"
|
| @@ -129,7 +128,7 @@
|
| const ScreenInfo& screen_info);
|
|
|
| // Creates a new RenderWidget that will be attached to a RenderFrame.
|
| - static RenderWidget* CreateForFrame(int widget_routing_id,
|
| + static RenderWidget* CreateForFrame(int routing_id,
|
| bool hidden,
|
| const ScreenInfo& screen_info,
|
| CompositorDependencies* compositor_deps,
|
| @@ -154,10 +153,8 @@
|
| // https://crbug.com/545684
|
| virtual void CloseForFrame();
|
|
|
| - int32_t routing_id() const {
|
| - DCHECK(routing_id_ != MSG_ROUTING_NONE);
|
| - return routing_id_;
|
| - }
|
| + int32_t routing_id() const { return routing_id_; }
|
| + void SetRoutingID(int32_t routing_id);
|
|
|
| CompositorDependencies* compositor_deps() const { return compositor_deps_; }
|
| virtual blink::WebWidget* GetWebWidget() const;
|
| @@ -406,6 +403,8 @@
|
| // For unit tests.
|
| friend class RenderWidgetTest;
|
|
|
| + using CreateWidgetCallback = base::OnceCallback<bool()>;
|
| +
|
| enum ResizeAck {
|
| SEND_RESIZE_ACK,
|
| NO_RESIZE_ACK,
|
| @@ -427,12 +426,13 @@
|
| // Creates a WebWidget based on the popup type.
|
| static blink::WebWidget* CreateWebWidget(RenderWidget* render_widget);
|
|
|
| - // Called by Create() functions and subclasses, after the routing_id is
|
| - // available. Must be called before Init().
|
| - void InitRoutingID(int32_t routing_id);
|
| -
|
| - // Called by Create() functions and subclasses to finish initialization.
|
| - void Init(int32_t opener_id, blink::WebWidget* web_widget);
|
| + // Initializes this view with the given opener.
|
| + bool Init(int32_t opener_id);
|
| +
|
| + // Called by Init and subclasses to perform initialization.
|
| + bool DoInit(int32_t opener_id,
|
| + blink::WebWidget* web_widget,
|
| + CreateWidgetCallback create_widget_callback);
|
|
|
| // Allows the process to exit once the unload handler has finished, if there
|
| // are no other active RenderWidgets.
|
| @@ -793,6 +793,10 @@
|
| void ScreenRectToEmulatedIfNeeded(blink::WebRect* window_rect) const;
|
| void EmulatedToScreenRectIfNeeded(blink::WebRect* window_rect) const;
|
|
|
| + bool CreateWidget(int32_t opener_id,
|
| + blink::WebPopupType popup_type,
|
| + int32_t* routing_id);
|
| +
|
| // Indicates whether this widget has focus.
|
| bool has_focus_;
|
|
|
|
|