OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/renderer_host/render_widget_host_impl.h" | 5 #include "content/browser/renderer_host/render_widget_host_impl.h" |
6 | 6 |
7 #include <math.h> | 7 #include <math.h> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
163 hung_renderer_delay_( | 163 hung_renderer_delay_( |
164 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), | 164 base::TimeDelta::FromMilliseconds(kHungRendererDelayMs)), |
165 delegate_(delegate), | 165 delegate_(delegate), |
166 process_(process), | 166 process_(process), |
167 routing_id_(routing_id), | 167 routing_id_(routing_id), |
168 surface_id_(0), | 168 surface_id_(0), |
169 is_loading_(false), | 169 is_loading_(false), |
170 is_hidden_(hidden), | 170 is_hidden_(hidden), |
171 repaint_ack_pending_(false), | 171 repaint_ack_pending_(false), |
172 resize_ack_pending_(false), | 172 resize_ack_pending_(false), |
173 screen_info_out_of_date_(false), | 173 screen_info_out_of_date_(true), |
174 auto_resize_enabled_(false), | 174 auto_resize_enabled_(false), |
175 waiting_for_screen_rects_ack_(false), | 175 waiting_for_screen_rects_ack_(false), |
176 needs_repainting_on_restore_(false), | 176 needs_repainting_on_restore_(false), |
177 is_unresponsive_(false), | 177 is_unresponsive_(false), |
178 in_flight_event_count_(0), | 178 in_flight_event_count_(0), |
179 in_get_backing_store_(false), | 179 in_get_backing_store_(false), |
180 ignore_input_events_(false), | 180 ignore_input_events_(false), |
181 input_method_active_(false), | 181 input_method_active_(false), |
182 text_direction_updated_(false), | 182 text_direction_updated_(false), |
183 text_direction_(blink::WebTextDirectionLeftToRight), | 183 text_direction_(blink::WebTextDirectionLeftToRight), |
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
573 // could handle both the restore and resize at once. This isn't that big a | 573 // could handle both the restore and resize at once. This isn't that big a |
574 // deal as RenderWidget::WasShown delays updating, so that the resize from | 574 // deal as RenderWidget::WasShown delays updating, so that the resize from |
575 // WasResized is usually processed before the renderer is painted. | 575 // WasResized is usually processed before the renderer is painted. |
576 WasResized(); | 576 WasResized(); |
577 } | 577 } |
578 | 578 |
579 bool RenderWidgetHostImpl::GetResizeParams( | 579 bool RenderWidgetHostImpl::GetResizeParams( |
580 ViewMsg_Resize_Params* resize_params) { | 580 ViewMsg_Resize_Params* resize_params) { |
581 *resize_params = ViewMsg_Resize_Params(); | 581 *resize_params = ViewMsg_Resize_Params(); |
582 | 582 |
583 if (!screen_info_) { | 583 const bool screen_info_was_out_of_date = screen_info_out_of_date_; |
584 if (screen_info_out_of_date_) { | |
584 screen_info_.reset(new blink::WebScreenInfo); | 585 screen_info_.reset(new blink::WebScreenInfo); |
585 GetWebScreenInfo(screen_info_.get()); | 586 GetWebScreenInfo(screen_info_.get()); |
587 screen_info_out_of_date_ = false; | |
586 } | 588 } |
no sievers
2015/04/10 18:40:31
Should we just move this out to WasResized()?
And
mlamouri (slow - plz ping)
2015/04/13 11:39:08
Done.
| |
587 resize_params->screen_info = *screen_info_; | 589 resize_params->screen_info = *screen_info_; |
588 resize_params->resizer_rect = GetRootWindowResizerRect(); | 590 resize_params->resizer_rect = GetRootWindowResizerRect(); |
589 | 591 |
590 if (view_) { | 592 if (view_) { |
591 resize_params->new_size = view_->GetRequestedRendererSize(); | 593 resize_params->new_size = view_->GetRequestedRendererSize(); |
592 resize_params->physical_backing_size = view_->GetPhysicalBackingSize(); | 594 resize_params->physical_backing_size = view_->GetPhysicalBackingSize(); |
593 resize_params->top_controls_height = view_->GetTopControlsHeight(); | 595 resize_params->top_controls_height = view_->GetTopControlsHeight(); |
594 resize_params->top_controls_shrink_blink_size = | 596 resize_params->top_controls_shrink_blink_size = |
595 view_->DoTopControlsShrinkBlinkSize(); | 597 view_->DoTopControlsShrinkBlinkSize(); |
596 resize_params->visible_viewport_size = view_->GetVisibleViewportSize(); | 598 resize_params->visible_viewport_size = view_->GetVisibleViewportSize(); |
597 resize_params->is_fullscreen = IsFullscreen(); | 599 resize_params->is_fullscreen = IsFullscreen(); |
598 } | 600 } |
599 | 601 |
600 const bool size_changed = | 602 const bool size_changed = |
601 !old_resize_params_ || | 603 !old_resize_params_ || |
602 old_resize_params_->new_size != resize_params->new_size || | 604 old_resize_params_->new_size != resize_params->new_size || |
603 (old_resize_params_->physical_backing_size.IsEmpty() && | 605 (old_resize_params_->physical_backing_size.IsEmpty() && |
604 !resize_params->physical_backing_size.IsEmpty()); | 606 !resize_params->physical_backing_size.IsEmpty()); |
605 bool dirty = | 607 bool dirty = |
606 size_changed || screen_info_out_of_date_ || | 608 size_changed || screen_info_was_out_of_date || |
607 old_resize_params_->physical_backing_size != | 609 old_resize_params_->physical_backing_size != |
608 resize_params->physical_backing_size || | 610 resize_params->physical_backing_size || |
609 old_resize_params_->is_fullscreen != resize_params->is_fullscreen || | 611 old_resize_params_->is_fullscreen != resize_params->is_fullscreen || |
610 old_resize_params_->top_controls_height != | 612 old_resize_params_->top_controls_height != |
611 resize_params->top_controls_height || | 613 resize_params->top_controls_height || |
612 old_resize_params_->top_controls_shrink_blink_size != | 614 old_resize_params_->top_controls_shrink_blink_size != |
613 resize_params->top_controls_shrink_blink_size || | 615 resize_params->top_controls_shrink_blink_size || |
614 old_resize_params_->visible_viewport_size != | 616 old_resize_params_->visible_viewport_size != |
615 resize_params->visible_viewport_size; | 617 resize_params->visible_viewport_size; |
616 | 618 |
(...skipping 511 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1128 } | 1130 } |
1129 } | 1131 } |
1130 | 1132 |
1131 void RenderWidgetHostImpl::GetWebScreenInfo(blink::WebScreenInfo* result) { | 1133 void RenderWidgetHostImpl::GetWebScreenInfo(blink::WebScreenInfo* result) { |
1132 TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::GetWebScreenInfo"); | 1134 TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::GetWebScreenInfo"); |
1133 if (view_) | 1135 if (view_) |
1134 view_->GetScreenInfo(result); | 1136 view_->GetScreenInfo(result); |
1135 else | 1137 else |
1136 RenderWidgetHostViewBase::GetDefaultScreenInfo(result); | 1138 RenderWidgetHostViewBase::GetDefaultScreenInfo(result); |
1137 latency_tracker_.set_device_scale_factor(result->deviceScaleFactor); | 1139 latency_tracker_.set_device_scale_factor(result->deviceScaleFactor); |
1138 screen_info_out_of_date_ = false; | |
1139 } | 1140 } |
1140 | 1141 |
1141 const NativeWebKeyboardEvent* | 1142 const NativeWebKeyboardEvent* |
1142 RenderWidgetHostImpl::GetLastKeyboardEvent() const { | 1143 RenderWidgetHostImpl::GetLastKeyboardEvent() const { |
1143 return input_router_->GetLastKeyboardEvent(); | 1144 return input_router_->GetLastKeyboardEvent(); |
1144 } | 1145 } |
1145 | 1146 |
1146 void RenderWidgetHostImpl::NotifyScreenInfoChanged() { | 1147 void RenderWidgetHostImpl::NotifyScreenInfoChanged() { |
1147 if (delegate_) | 1148 if (delegate_) |
1148 delegate_->ScreenInfoChanged(); | 1149 delegate_->ScreenInfoChanged(); |
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2119 } | 2120 } |
2120 #endif | 2121 #endif |
2121 | 2122 |
2122 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() { | 2123 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() { |
2123 if (view_) | 2124 if (view_) |
2124 return view_->PreferredReadbackFormat(); | 2125 return view_->PreferredReadbackFormat(); |
2125 return kN32_SkColorType; | 2126 return kN32_SkColorType; |
2126 } | 2127 } |
2127 | 2128 |
2128 } // namespace content | 2129 } // namespace content |
OLD | NEW |