Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2077)

Unified Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 1078123002: Send resize event when the screen info changes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: simpler Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 65c4971f8e8c82109752edd1fc2f2670b2c1c1c3..0d09c74a82fc8a53493b6affee33def9424b6f6d 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -170,7 +170,6 @@ RenderWidgetHostImpl::RenderWidgetHostImpl(RenderWidgetHostDelegate* delegate,
is_hidden_(hidden),
repaint_ack_pending_(false),
resize_ack_pending_(false),
- screen_info_out_of_date_(false),
auto_resize_enabled_(false),
waiting_for_screen_rects_ack_(false),
needs_repainting_on_restore_(false),
@@ -580,11 +579,7 @@ bool RenderWidgetHostImpl::GetResizeParams(
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_;
+ GetWebScreenInfo(&resize_params->screen_info);
resize_params->resizer_rect = GetRootWindowResizerRect();
if (view_) {
@@ -603,8 +598,8 @@ bool RenderWidgetHostImpl::GetResizeParams(
old_resize_params_->new_size != resize_params->new_size ||
(old_resize_params_->physical_backing_size.IsEmpty() &&
!resize_params->physical_backing_size.IsEmpty());
- bool dirty =
- size_changed || screen_info_out_of_date_ ||
+ bool dirty = size_changed ||
+ old_resize_params_->screen_info != resize_params->screen_info ||
old_resize_params_->physical_backing_size !=
resize_params->physical_backing_size ||
old_resize_params_->is_fullscreen_granted !=
@@ -1137,8 +1132,9 @@ void RenderWidgetHostImpl::GetWebScreenInfo(blink::WebScreenInfo* result) {
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*
@@ -1153,15 +1149,9 @@ void RenderWidgetHostImpl::NotifyScreenInfoChanged() {
// The resize message (which may not happen immediately) will carry with it
// the screen info as well as the new size (if the screen has changed scale
// factor).
- InvalidateScreenInfo();
WasResized();
}
-void RenderWidgetHostImpl::InvalidateScreenInfo() {
- screen_info_out_of_date_ = true;
- screen_info_.reset();
-}
-
void RenderWidgetHostImpl::GetSnapshotFromBrowser(
const base::Callback<void(const unsigned char*,size_t)> callback) {
int id = next_browser_snapshot_id_++;
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.h ('k') | content/browser/renderer_host/render_widget_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698