Commit 6949e0d2 authored by bokan@chromium.org's avatar bokan@chromium.org

Set visible viewport value in screen emulation.

Saved the current value and restore it when emulation ends. During emulation
the visible viewport is set to the size of the emulated screen.

BUG=370035

Review URL: https://codereview.chromium.org/302193002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@274359 0039d316-1c4b-4281-b951-d872f2087c98
parent d20a3c32
...@@ -188,7 +188,6 @@ class RenderWidget::ScreenMetricsEmulator { ...@@ -188,7 +188,6 @@ class RenderWidget::ScreenMetricsEmulator {
private: private:
void Reapply(); void Reapply();
void Apply(float overdraw_bottom_height, void Apply(float overdraw_bottom_height,
const gfx::Size& visible_viewport_size,
gfx::Rect resizer_rect, gfx::Rect resizer_rect,
bool is_fullscreen); bool is_fullscreen);
...@@ -207,6 +206,7 @@ class RenderWidget::ScreenMetricsEmulator { ...@@ -207,6 +206,7 @@ class RenderWidget::ScreenMetricsEmulator {
// Original values to restore back after emulation ends. // Original values to restore back after emulation ends.
gfx::Size original_size_; gfx::Size original_size_;
gfx::Size original_physical_backing_size_; gfx::Size original_physical_backing_size_;
gfx::Size original_visible_viewport_size_;
blink::WebScreenInfo original_screen_info_; blink::WebScreenInfo original_screen_info_;
gfx::Rect original_view_screen_rect_; gfx::Rect original_view_screen_rect_;
gfx::Rect original_window_screen_rect_; gfx::Rect original_window_screen_rect_;
...@@ -220,11 +220,12 @@ RenderWidget::ScreenMetricsEmulator::ScreenMetricsEmulator( ...@@ -220,11 +220,12 @@ RenderWidget::ScreenMetricsEmulator::ScreenMetricsEmulator(
scale_(1.f) { scale_(1.f) {
original_size_ = widget_->size_; original_size_ = widget_->size_;
original_physical_backing_size_ = widget_->physical_backing_size_; original_physical_backing_size_ = widget_->physical_backing_size_;
original_visible_viewport_size_ = widget_->visible_viewport_size_;
original_screen_info_ = widget_->screen_info_; original_screen_info_ = widget_->screen_info_;
original_view_screen_rect_ = widget_->view_screen_rect_; original_view_screen_rect_ = widget_->view_screen_rect_;
original_window_screen_rect_ = widget_->window_screen_rect_; original_window_screen_rect_ = widget_->window_screen_rect_;
Apply(widget_->overdraw_bottom_height_, widget_->visible_viewport_size_, Apply(widget_->overdraw_bottom_height_, widget_->resizer_rect_,
widget_->resizer_rect_, widget_->is_fullscreen_); widget_->is_fullscreen_);
} }
RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() {
...@@ -235,7 +236,7 @@ RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() { ...@@ -235,7 +236,7 @@ RenderWidget::ScreenMetricsEmulator::~ScreenMetricsEmulator() {
widget_->view_screen_rect_ = original_view_screen_rect_; widget_->view_screen_rect_ = original_view_screen_rect_;
widget_->window_screen_rect_ = original_window_screen_rect_; widget_->window_screen_rect_ = original_window_screen_rect_;
widget_->Resize(original_size_, original_physical_backing_size_, 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); widget_->resizer_rect_, widget_->is_fullscreen_, NO_RESIZE_ACK);
} }
...@@ -246,13 +247,12 @@ void RenderWidget::ScreenMetricsEmulator::ChangeEmulationParams( ...@@ -246,13 +247,12 @@ void RenderWidget::ScreenMetricsEmulator::ChangeEmulationParams(
} }
void RenderWidget::ScreenMetricsEmulator::Reapply() { void RenderWidget::ScreenMetricsEmulator::Reapply() {
Apply(widget_->overdraw_bottom_height_, widget_->visible_viewport_size_, Apply(widget_->overdraw_bottom_height_, widget_->resizer_rect_,
widget_->resizer_rect_, widget_->is_fullscreen_); widget_->is_fullscreen_);
} }
void RenderWidget::ScreenMetricsEmulator::Apply( void RenderWidget::ScreenMetricsEmulator::Apply(
float overdraw_bottom_height, float overdraw_bottom_height,
const gfx::Size& visible_viewport_size,
gfx::Rect resizer_rect, gfx::Rect resizer_rect,
bool is_fullscreen) { bool is_fullscreen) {
applied_widget_rect_.set_size(gfx::Size(params_.viewSize)); applied_widget_rect_.set_size(gfx::Size(params_.viewSize));
...@@ -313,7 +313,7 @@ void RenderWidget::ScreenMetricsEmulator::Apply( ...@@ -313,7 +313,7 @@ void RenderWidget::ScreenMetricsEmulator::Apply(
gfx::Size physical_backing_size = gfx::ToCeiledSize(gfx::ScaleSize( gfx::Size physical_backing_size = gfx::ToCeiledSize(gfx::ScaleSize(
original_size_, original_screen_info_.deviceScaleFactor)); original_size_, original_screen_info_.deviceScaleFactor));
widget_->Resize(applied_widget_rect_.size(), physical_backing_size, 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); is_fullscreen, NO_RESIZE_ACK);
} }
...@@ -324,8 +324,9 @@ void RenderWidget::ScreenMetricsEmulator::OnResizeMessage( ...@@ -324,8 +324,9 @@ void RenderWidget::ScreenMetricsEmulator::OnResizeMessage(
original_size_ = params.new_size; original_size_ = params.new_size;
original_physical_backing_size_ = params.physical_backing_size; original_physical_backing_size_ = params.physical_backing_size;
original_screen_info_ = params.screen_info; original_screen_info_ = params.screen_info;
Apply(params.overdraw_bottom_height, params.visible_viewport_size, original_visible_viewport_size_ = params.visible_viewport_size;
params.resizer_rect, params.is_fullscreen); Apply(params.overdraw_bottom_height, params.resizer_rect,
params.is_fullscreen);
if (need_ack) { if (need_ack) {
widget_->set_next_paint_is_resize_ack(); widget_->set_next_paint_is_resize_ack();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment