Chromium Code Reviews| Index: content/renderer/render_widget.cc |
| diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
| index d17cf0804803d5c7cd3b507705f366db3ed8c993..ebb6ff6cdd47e8129b84e500ec4ebae26c15affe 100644 |
| --- a/content/renderer/render_widget.cc |
| +++ b/content/renderer/render_widget.cc |
| @@ -188,7 +188,6 @@ class RenderWidget::ScreenMetricsEmulator { |
| private: |
| void Reapply(); |
| void Apply(float overdraw_bottom_height, |
| - const gfx::Size& visible_viewport_size, |
| gfx::Rect resizer_rect, |
| bool is_fullscreen); |
| @@ -207,6 +206,7 @@ class RenderWidget::ScreenMetricsEmulator { |
| // Original values to restore back after emulation ends. |
| gfx::Size original_size_; |
| gfx::Size original_physical_backing_size_; |
| + gfx::Size original_visible_viewport_size_; |
| blink::WebScreenInfo original_screen_info_; |
| gfx::Rect original_view_screen_rect_; |
| gfx::Rect original_window_screen_rect_; |
| @@ -220,11 +220,12 @@ RenderWidget::ScreenMetricsEmulator::ScreenMetricsEmulator( |
| scale_(1.f) { |
| original_size_ = widget_->size_; |
| original_physical_backing_size_ = widget_->physical_backing_size_; |
| + original_visible_viewport_size_ = widget_->visible_viewport_size_; |
| original_screen_info_ = widget_->screen_info_; |
| original_view_screen_rect_ = widget_->view_screen_rect_; |
| original_window_screen_rect_ = widget_->window_screen_rect_; |
| - Apply(widget_->overdraw_bottom_height_, widget_->visible_viewport_size_, |
| - widget_->resizer_rect_, widget_->is_fullscreen_); |
| + Apply(widget_->overdraw_bottom_height_, widget_->resizer_rect_, |
| + widget_->is_fullscreen_); |
| } |
| RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { |
| @@ -235,7 +236,7 @@ RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { |
| widget_->view_screen_rect_ = original_view_screen_rect_; |
| widget_->window_screen_rect_ = original_window_screen_rect_; |
| widget_->Resize(original_size_, original_physical_backing_size_, |
| - widget_->overdraw_bottom_height_, widget_->visible_viewport_size_, |
| + widget_->overdraw_bottom_height_, original_visible_viewport_size_, |
| widget_->resizer_rect_, widget_->is_fullscreen_, NO_RESIZE_ACK); |
| } |
| @@ -246,13 +247,12 @@ void RenderWidget::ScreenMetricsEmulator::ChangeEmulationParams( |
| } |
| void RenderWidget::ScreenMetricsEmulator::Reapply() { |
| - Apply(widget_->overdraw_bottom_height_, widget_->visible_viewport_size_, |
| - widget_->resizer_rect_, widget_->is_fullscreen_); |
| + Apply(widget_->overdraw_bottom_height_, widget_->resizer_rect_, |
| + widget_->is_fullscreen_); |
| } |
| void RenderWidget::ScreenMetricsEmulator::Apply( |
| float overdraw_bottom_height, |
| - const gfx::Size& visible_viewport_size, |
| gfx::Rect resizer_rect, |
| bool is_fullscreen) { |
| applied_widget_rect_.set_size(gfx::Size(params_.viewSize)); |
| @@ -313,7 +313,7 @@ void RenderWidget::ScreenMetricsEmulator::Apply( |
| gfx::Size physical_backing_size = gfx::ToCeiledSize(gfx::ScaleSize( |
| original_size_, original_screen_info_.deviceScaleFactor)); |
| widget_->Resize(applied_widget_rect_.size(), physical_backing_size, |
| - overdraw_bottom_height, visible_viewport_size, resizer_rect, |
| + overdraw_bottom_height, applied_widget_rect_.size(), resizer_rect, |
| is_fullscreen, NO_RESIZE_ACK); |
| } |
| @@ -324,8 +324,8 @@ void RenderWidget::ScreenMetricsEmulator::OnResizeMessage( |
| original_size_ = params.new_size; |
| original_physical_backing_size_ = params.physical_backing_size; |
| original_screen_info_ = params.screen_info; |
| - Apply(params.overdraw_bottom_height, params.visible_viewport_size, |
| - params.resizer_rect, params.is_fullscreen); |
| + Apply(params.overdraw_bottom_height, params.resizer_rect, |
|
dgozman
2014/05/30 19:17:52
You should update |original_visible_viewport_size_
bokan
2014/05/30 19:43:46
Good catch, thanks.
|
| + params.is_fullscreen); |
| if (need_ack) { |
| widget_->set_next_paint_is_resize_ack(); |