diff options
Diffstat (limited to 'content/renderer/render_widget.h')
-rw-r--r-- | content/renderer/render_widget.h | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/content/renderer/render_widget.h b/content/renderer/render_widget.h index 1185fa2b..3f083e7 100644 --- a/content/renderer/render_widget.h +++ b/content/renderer/render_widget.h @@ -23,7 +23,6 @@ #include "content/common/cursors/webcursor.h" #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" #include "content/common/input/synthetic_gesture_params.h" -#include "content/renderer/devtools/render_widget_screen_metrics_emulator_delegate.h" #include "content/renderer/gpu/render_widget_compositor_delegate.h" #include "content/renderer/input/render_widget_input_handler.h" #include "content/renderer/input/render_widget_input_handler_delegate.h" @@ -86,7 +85,6 @@ class ImeEventGuard; class RenderFrameImpl; class RenderFrameProxy; class RenderWidgetCompositor; -class RenderWidgetScreenMetricsEmulator; class ResizingModeSelector; struct ContextMenuParams; struct DidOverscrollParams; @@ -107,7 +105,6 @@ class CONTENT_EXPORT RenderWidget NON_EXPORTED_BASE(virtual public blink::WebWidgetClient), public RenderWidgetCompositorDelegate, public RenderWidgetInputHandlerDelegate, - public RenderWidgetScreenMetricsEmulatorDelegate, public base::RefCounted<RenderWidget> { public: // Creates a new RenderWidget. The opener_id is the routing ID of the @@ -134,7 +131,7 @@ class CONTENT_EXPORT RenderWidget CompositorDependencies* compositor_deps() const { return compositor_deps_; } blink::WebWidget* webwidget() const { return webwidget_; } - const gfx::Size& size() const { return size_; } + gfx::Size size() const { return size_; } bool is_fullscreen_granted() const { return is_fullscreen_granted_; } blink::WebDisplayMode display_mode() const { return display_mode_; } bool is_hidden() const { return is_hidden_; } @@ -213,15 +210,6 @@ class CONTENT_EXPORT RenderWidget bool WillHandleGestureEvent(const blink::WebGestureEvent& event) override; bool WillHandleMouseEvent(const blink::WebMouseEvent& event) override; - // RenderWidgetScreenMetricsDelegate - void Redraw() override; - void Resize(const ResizeParams& resize_params) override; - void SetScreenMetricsEmulationParameters( - bool enabled, - const blink::WebDeviceEmulationParams& params) override; - void SetScreenRects(const gfx::Rect& view_screen_rect, - const gfx::Rect& window_screen_rect) override; - // blink::WebWidgetClient void didAutoResize(const blink::WebSize& new_size) override; void initializeLayerTreeView() override; @@ -324,9 +312,13 @@ class CONTENT_EXPORT RenderWidget // Returns whether we currently should handle an IME event. bool ShouldHandleImeEvent(); - void SetPopupOriginAdjustmentsForEmulation( - RenderWidgetScreenMetricsEmulator* emulator); + // ScreenMetricsEmulator class manages screen emulation inside a render + // widget. This includes resizing, placing view on the screen at desired + // position, changing device scale factor, and scaling down the whole + // widget if required to fit into the browser window. + class ScreenMetricsEmulator; + void SetPopupOriginAdjustmentsForEmulation(ScreenMetricsEmulator* emulator); gfx::Rect AdjustValidationMessageAnchor(const gfx::Rect& anchor); @@ -402,12 +394,24 @@ class CONTENT_EXPORT RenderWidget // Close the underlying WebWidget. virtual void Close(); + // Resizes the render widget. + void Resize(const gfx::Size& new_size, + const gfx::Size& physical_backing_size, + bool top_controls_shrink_blink_size, + float top_controls_height, + const gfx::Size& visible_viewport_size, + const gfx::Rect& resizer_rect, + bool is_fullscreen_granted, + blink::WebDisplayMode display_mode, + ResizeAck resize_ack); // Used to force the size of a window when running layout tests. void SetWindowRectSynchronously(const gfx::Rect& new_window_rect); + virtual void SetScreenMetricsEmulationParameters( + bool enabled, + const blink::WebDeviceEmulationParams& params); #if defined(OS_MACOSX) || defined(OS_ANDROID) void SetExternalPopupOriginAdjustmentsForEmulation( - ExternalPopupMenu* popup, - RenderWidgetScreenMetricsEmulator* emulator); + ExternalPopupMenu* popup, ScreenMetricsEmulator* emulator); #endif // RenderWidget IPC message handlers @@ -726,7 +730,7 @@ class CONTENT_EXPORT RenderWidget std::deque<blink::WebTextInputInfo> text_input_info_history_; #endif - scoped_ptr<RenderWidgetScreenMetricsEmulator> screen_metrics_emulator_; + scoped_ptr<ScreenMetricsEmulator> screen_metrics_emulator_; // Popups may be displaced when screen metrics emulation is enabled. // These values are used to properly adjust popup position. |