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

Side by Side Diff: content/renderer/render_widget.cc

Issue 1711083002: [DevTools] Move screen orientation override to RenderWidgetScreenMetricsEmulator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 10 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698