Index: content/browser/renderer_host/render_widget_host_impl.cc |
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc |
index 156cd330454fa1e15a363d2ad3dcfb1188c0a12a..7dcae5a132096567fdee37d5b5e02de2dc042795 100644 |
--- a/content/browser/renderer_host/render_widget_host_impl.cc |
+++ b/content/browser/renderer_host/render_widget_host_impl.cc |
@@ -170,7 +170,7 @@ |
is_hidden_(hidden), |
repaint_ack_pending_(false), |
resize_ack_pending_(false), |
- screen_info_out_of_date_(true), |
+ screen_info_out_of_date_(false), |
auto_resize_enabled_(false), |
waiting_for_screen_rects_ack_(false), |
needs_repainting_on_restore_(false), |
@@ -577,11 +577,13 @@ |
} |
bool RenderWidgetHostImpl::GetResizeParams( |
- ViewMsg_Resize_Params* resize_params) const { |
- DCHECK(!screen_info_out_of_date_); |
- |
+ ViewMsg_Resize_Params* resize_params) { |
*resize_params = ViewMsg_Resize_Params(); |
+ if (!screen_info_) { |
+ screen_info_.reset(new blink::WebScreenInfo); |
+ GetWebScreenInfo(screen_info_.get()); |
+ } |
resize_params->screen_info = *screen_info_; |
resize_params->resizer_rect = GetRootWindowResizerRect(); |
@@ -601,7 +603,7 @@ |
(old_resize_params_->physical_backing_size.IsEmpty() && |
!resize_params->physical_backing_size.IsEmpty()); |
bool dirty = |
- size_changed || |
+ size_changed || screen_info_out_of_date_ || |
old_resize_params_->physical_backing_size != |
resize_params->physical_backing_size || |
old_resize_params_->is_fullscreen_granted != |
@@ -622,17 +624,6 @@ |
return dirty; |
} |
-bool RenderWidgetHostImpl::UpdateScreenInfo() { |
- if (!screen_info_out_of_date_) |
- return false; |
- |
- screen_info_.reset(new blink::WebScreenInfo); |
- GetWebScreenInfo(screen_info_.get()); |
- screen_info_out_of_date_ = false; |
- |
- return true; |
-} |
- |
void RenderWidgetHostImpl::SetInitialRenderSizeParams( |
const ViewMsg_Resize_Params& resize_params) { |
resize_ack_pending_ = resize_params.needs_resize_ack; |
@@ -649,9 +640,8 @@ |
return; |
} |
- bool screen_info_was_updated = UpdateScreenInfo(); |
scoped_ptr<ViewMsg_Resize_Params> params(new ViewMsg_Resize_Params); |
- if (!GetResizeParams(params.get()) && !screen_info_was_updated) |
+ if (!GetResizeParams(params.get())) |
return; |
bool width_changed = |
@@ -1145,9 +1135,8 @@ |
view_->GetScreenInfo(result); |
else |
RenderWidgetHostViewBase::GetDefaultScreenInfo(result); |
- // TODO(sievers): find a way to make this done another way so the method |
- // can be const. |
latency_tracker_.set_device_scale_factor(result->deviceScaleFactor); |
+ screen_info_out_of_date_ = false; |
} |
const NativeWebKeyboardEvent* |