Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 592a57c0c1d3a076f4b8354c9affead6d7f5bdd3..14bdf73987221be2f207eddf068ddfeed334ca4d 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -225,6 +225,7 @@ class RenderWidget::ScreenMetricsEmulator { |
// The following methods alter handlers' behavior for messages related to |
// widget size and position. |
void OnResizeMessage(const ResizeParams& params); |
+ void OnUpdateWindowScreenRectMessage(const gfx::Rect& window_screen_rect); |
void OnUpdateScreenRectsMessage(const gfx::Rect& view_screen_rect, |
const gfx::Rect& window_screen_rect); |
void OnShowContextMenu(ContextMenuParams* params); |
@@ -415,6 +416,13 @@ void RenderWidget::ScreenMetricsEmulator::OnResizeMessage( |
} |
} |
+void RenderWidget::ScreenMetricsEmulator::OnUpdateWindowScreenRectMessage( |
+ const gfx::Rect& window_screen_rect) { |
+ original_window_screen_rect_ = window_screen_rect; |
+ if (params_.screenPosition == WebDeviceEmulationParams::Desktop) |
+ Reapply(); |
+} |
+ |
void RenderWidget::ScreenMetricsEmulator::OnUpdateScreenRectsMessage( |
const gfx::Rect& view_screen_rect, |
const gfx::Rect& window_screen_rect) { |
@@ -1726,6 +1734,16 @@ void RenderWidget::OnUpdateScreenRects(const gfx::Rect& view_screen_rect, |
Send(new ViewHostMsg_UpdateScreenRects_ACK(routing_id())); |
} |
+void RenderWidget::OnUpdateWindowScreenRect( |
+ const gfx::Rect& window_screen_rect) { |
+ if (screen_metrics_emulator_) { |
+ screen_metrics_emulator_->OnUpdateWindowScreenRectMessage( |
+ window_screen_rect); |
+ } else { |
+ window_screen_rect_ = window_screen_rect; |
+ } |
+} |
+ |
void RenderWidget::OnSetSurfaceIdNamespace(uint32_t surface_id_namespace) { |
if (compositor_) |
compositor_->SetSurfaceIdNamespace(surface_id_namespace); |