| 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/renderer/render_widget.h" | 5 #include "content/renderer/render_widget.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 560 | 560 |
| 561 void RenderWidget::OnResize(const ResizeParams& params) { | 561 void RenderWidget::OnResize(const ResizeParams& params) { |
| 562 if (resizing_mode_selector_->ShouldAbortOnResize(this, params)) | 562 if (resizing_mode_selector_->ShouldAbortOnResize(this, params)) |
| 563 return; | 563 return; |
| 564 | 564 |
| 565 if (screen_metrics_emulator_) { | 565 if (screen_metrics_emulator_) { |
| 566 screen_metrics_emulator_->OnResize(params); | 566 screen_metrics_emulator_->OnResize(params); |
| 567 return; | 567 return; |
| 568 } | 568 } |
| 569 | 569 |
| 570 bool orientation_changed = | |
| 571 screen_info_.orientationAngle != params.screen_info.orientationAngle; | |
| 572 | |
| 573 Resize(params); | 570 Resize(params); |
| 574 | |
| 575 if (orientation_changed) | |
| 576 OnOrientationChange(); | |
| 577 } | 571 } |
| 578 | 572 |
| 579 void RenderWidget::OnEnableDeviceEmulation( | 573 void RenderWidget::OnEnableDeviceEmulation( |
| 580 const blink::WebDeviceEmulationParams& params) { | 574 const blink::WebDeviceEmulationParams& params) { |
| 581 if (!screen_metrics_emulator_) { | 575 if (!screen_metrics_emulator_) { |
| 582 ResizeParams resize_params; | 576 ResizeParams resize_params; |
| 583 resize_params.screen_info = screen_info_; | 577 resize_params.screen_info = screen_info_; |
| 584 resize_params.new_size = size_; | 578 resize_params.new_size = size_; |
| 585 resize_params.physical_backing_size = physical_backing_size_; | 579 resize_params.physical_backing_size = physical_backing_size_; |
| 586 resize_params.visible_viewport_size = visible_viewport_size_; | 580 resize_params.visible_viewport_size = visible_viewport_size_; |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1053 /////////////////////////////////////////////////////////////////////////////// | 1047 /////////////////////////////////////////////////////////////////////////////// |
| 1054 // RenderWidgetScreenMetricsDelegate | 1048 // RenderWidgetScreenMetricsDelegate |
| 1055 | 1049 |
| 1056 void RenderWidget::Redraw() { | 1050 void RenderWidget::Redraw() { |
| 1057 set_next_paint_is_resize_ack(); | 1051 set_next_paint_is_resize_ack(); |
| 1058 if (compositor_) | 1052 if (compositor_) |
| 1059 compositor_->SetNeedsRedrawRect(gfx::Rect(size_)); | 1053 compositor_->SetNeedsRedrawRect(gfx::Rect(size_)); |
| 1060 } | 1054 } |
| 1061 | 1055 |
| 1062 void RenderWidget::Resize(const ResizeParams& params) { | 1056 void RenderWidget::Resize(const ResizeParams& params) { |
| 1057 bool orientation_changed = |
| 1058 screen_info_.orientationAngle != params.screen_info.orientationAngle || |
| 1059 screen_info_.orientationType != params.screen_info.orientationType; |
| 1060 |
| 1063 screen_info_ = params.screen_info; | 1061 screen_info_ = params.screen_info; |
| 1064 SetDeviceScaleFactor(screen_info_.deviceScaleFactor); | 1062 SetDeviceScaleFactor(screen_info_.deviceScaleFactor); |
| 1065 | 1063 |
| 1066 if (resizing_mode_selector_->NeverUsesSynchronousResize()) { | 1064 if (resizing_mode_selector_->NeverUsesSynchronousResize()) { |
| 1067 // A resize ack shouldn't be requested if we have not ACK'd the previous | 1065 // A resize ack shouldn't be requested if we have not ACK'd the previous |
| 1068 // one. | 1066 // one. |
| 1069 DCHECK(!params.needs_resize_ack || !next_paint_is_resize_ack()); | 1067 DCHECK(!params.needs_resize_ack || !next_paint_is_resize_ack()); |
| 1070 } | 1068 } |
| 1071 | 1069 |
| 1072 // Ignore this during shutdown. | 1070 // Ignore this during shutdown. |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1122 DCHECK(!params.needs_resize_ack); | 1120 DCHECK(!params.needs_resize_ack); |
| 1123 } | 1121 } |
| 1124 | 1122 |
| 1125 // Send the Resize_ACK flag once we paint again if requested. | 1123 // Send the Resize_ACK flag once we paint again if requested. |
| 1126 if (params.needs_resize_ack) | 1124 if (params.needs_resize_ack) |
| 1127 set_next_paint_is_resize_ack(); | 1125 set_next_paint_is_resize_ack(); |
| 1128 | 1126 |
| 1129 if (fullscreen_change) | 1127 if (fullscreen_change) |
| 1130 DidToggleFullscreen(); | 1128 DidToggleFullscreen(); |
| 1131 | 1129 |
| 1130 if (orientation_changed) |
| 1131 OnOrientationChange(); |
| 1132 |
| 1132 // If a resize ack is requested and it isn't set-up, then no more resizes will | 1133 // If a resize ack is requested and it isn't set-up, then no more resizes will |
| 1133 // come in and in general things will go wrong. | 1134 // come in and in general things will go wrong. |
| 1134 DCHECK(!params.needs_resize_ack || next_paint_is_resize_ack()); | 1135 DCHECK(!params.needs_resize_ack || next_paint_is_resize_ack()); |
| 1135 } | 1136 } |
| 1136 | 1137 |
| 1137 void RenderWidget::SetScreenMetricsEmulationParameters( | 1138 void RenderWidget::SetScreenMetricsEmulationParameters( |
| 1138 bool enabled, | 1139 bool enabled, |
| 1139 const blink::WebDeviceEmulationParams& params) { | 1140 const blink::WebDeviceEmulationParams& params) { |
| 1140 // This is only supported in RenderView. | 1141 // This is only supported in RenderView. |
| 1141 NOTREACHED(); | 1142 NOTREACHED(); |
| (...skipping 945 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2087 video_hole_frames_.RemoveObserver(frame); | 2088 video_hole_frames_.RemoveObserver(frame); |
| 2088 } | 2089 } |
| 2089 #endif // defined(VIDEO_HOLE) | 2090 #endif // defined(VIDEO_HOLE) |
| 2090 | 2091 |
| 2091 void RenderWidget::OnWaitNextFrameForTests(int routing_id) { | 2092 void RenderWidget::OnWaitNextFrameForTests(int routing_id) { |
| 2092 QueueMessage(new ViewHostMsg_WaitForNextFrameForTests_ACK(routing_id), | 2093 QueueMessage(new ViewHostMsg_WaitForNextFrameForTests_ACK(routing_id), |
| 2093 MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE); | 2094 MESSAGE_DELIVERY_POLICY_WITH_VISUAL_STATE); |
| 2094 } | 2095 } |
| 2095 | 2096 |
| 2096 } // namespace content | 2097 } // namespace content |
| OLD | NEW |