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

Side by Side Diff: content/renderer/devtools/render_widget_screen_metrics_emulator.cc

Issue 2317563004: Change blink::WebScreenInfo to content::ScreenInfo (Closed)
Patch Set: Fix Windows compile Created 4 years, 3 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/devtools/render_widget_screen_metrics_emulator.h" 5 #include "content/renderer/devtools/render_widget_screen_metrics_emulator.h"
6 6
7 #include "content/common/resize_params.h" 7 #include "content/common/resize_params.h"
8 #include "content/public/common/context_menu_params.h" 8 #include "content/public/common/context_menu_params.h"
9 #include "content/renderer/devtools/render_widget_screen_metrics_emulator_delega te.h" 9 #include "content/renderer/devtools/render_widget_screen_metrics_emulator_delega te.h"
10 10
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 applied_widget_rect_.set_size( 74 applied_widget_rect_.set_size(
75 gfx::ScaleToRoundedSize(original_size(), 1.f / scale_)); 75 gfx::ScaleToRoundedSize(original_size(), 1.f / scale_));
76 } 76 }
77 } 77 }
78 78
79 gfx::Rect window_screen_rect; 79 gfx::Rect window_screen_rect;
80 if (emulation_params_.screenPosition == 80 if (emulation_params_.screenPosition ==
81 blink::WebDeviceEmulationParams::Desktop) { 81 blink::WebDeviceEmulationParams::Desktop) {
82 applied_widget_rect_.set_origin(original_view_screen_rect_.origin()); 82 applied_widget_rect_.set_origin(original_view_screen_rect_.origin());
83 modified_resize_params.screen_info.rect = original_screen_info().rect; 83 modified_resize_params.screen_info.rect = original_screen_info().rect;
84 modified_resize_params.screen_info.availableRect = 84 modified_resize_params.screen_info.available_rect =
85 original_screen_info().availableRect; 85 original_screen_info().available_rect;
86 window_screen_rect = original_window_screen_rect_; 86 window_screen_rect = original_window_screen_rect_;
87 } else { 87 } else {
88 applied_widget_rect_.set_origin(emulation_params_.viewPosition); 88 applied_widget_rect_.set_origin(emulation_params_.viewPosition);
89 gfx::Rect screen_rect = applied_widget_rect_; 89 gfx::Rect screen_rect = applied_widget_rect_;
90 if (!emulation_params_.screenSize.isEmpty()) { 90 if (!emulation_params_.screenSize.isEmpty()) {
91 screen_rect = gfx::Rect(0, 0, emulation_params_.screenSize.width, 91 screen_rect = gfx::Rect(0, 0, emulation_params_.screenSize.width,
92 emulation_params_.screenSize.height); 92 emulation_params_.screenSize.height);
93 } 93 }
94 modified_resize_params.screen_info.rect = screen_rect; 94 modified_resize_params.screen_info.rect = screen_rect;
95 modified_resize_params.screen_info.availableRect = screen_rect; 95 modified_resize_params.screen_info.available_rect = screen_rect;
96 window_screen_rect = applied_widget_rect_; 96 window_screen_rect = applied_widget_rect_;
97 } 97 }
98 98
99 modified_resize_params.screen_info.deviceScaleFactor = 99 modified_resize_params.screen_info.device_scale_factor =
100 emulation_params_.deviceScaleFactor 100 emulation_params_.deviceScaleFactor
101 ? emulation_params_.deviceScaleFactor 101 ? emulation_params_.deviceScaleFactor
102 : original_screen_info().deviceScaleFactor; 102 : original_screen_info().device_scale_factor;
103 103
104 if (emulation_params_.screenOrientationType != 104 if (emulation_params_.screenOrientationType !=
105 blink::WebScreenOrientationUndefined) { 105 blink::WebScreenOrientationUndefined) {
106 modified_resize_params.screen_info.orientationType = 106 switch (emulation_params_.screenOrientationType) {
107 emulation_params_.screenOrientationType; 107 case blink::WebScreenOrientationPortraitPrimary:
108 modified_resize_params.screen_info.orientationAngle = 108 modified_resize_params.screen_info.orientation_type =
109 SCREEN_ORIENTATION_VALUES_PORTRAIT_PRIMARY;
110 break;
111 case blink::WebScreenOrientationPortraitSecondary:
112 modified_resize_params.screen_info.orientation_type =
113 SCREEN_ORIENTATION_VALUES_PORTRAIT_SECONDARY;
114 break;
115 case blink::WebScreenOrientationLandscapePrimary:
116 modified_resize_params.screen_info.orientation_type =
117 SCREEN_ORIENTATION_VALUES_LANDSCAPE_PRIMARY;
118 break;
119 case blink::WebScreenOrientationLandscapeSecondary:
120 modified_resize_params.screen_info.orientation_type =
121 SCREEN_ORIENTATION_VALUES_LANDSCAPE_SECONDARY;
122 break;
123 default:
124 modified_resize_params.screen_info.orientation_type =
125 SCREEN_ORIENTATION_VALUES_DEFAULT;
126 break;
127 }
128 modified_resize_params.screen_info.orientation_angle =
109 emulation_params_.screenOrientationAngle; 129 emulation_params_.screenOrientationAngle;
110 } 130 }
111 131
112 // Pass three emulation parameters to the blink side: 132 // Pass three emulation parameters to the blink side:
113 // - we keep the real device scale factor in compositor to produce sharp image 133 // - we keep the real device scale factor in compositor to produce sharp image
114 // even when emulating different scale factor; 134 // even when emulating different scale factor;
115 // - in order to fit into view, WebView applies offset and scale to the 135 // - in order to fit into view, WebView applies offset and scale to the
116 // root layer. 136 // root layer.
117 blink::WebDeviceEmulationParams modified_emulation_params = emulation_params_; 137 blink::WebDeviceEmulationParams modified_emulation_params = emulation_params_;
118 modified_emulation_params.deviceScaleFactor = 138 modified_emulation_params.deviceScaleFactor =
119 original_screen_info().deviceScaleFactor; 139 original_screen_info().device_scale_factor;
120 modified_emulation_params.offset = 140 modified_emulation_params.offset =
121 blink::WebFloatPoint(offset_.x(), offset_.y()); 141 blink::WebFloatPoint(offset_.x(), offset_.y());
122 modified_emulation_params.scale = scale_; 142 modified_emulation_params.scale = scale_;
123 delegate_->SetScreenMetricsEmulationParameters(true, 143 delegate_->SetScreenMetricsEmulationParameters(true,
124 modified_emulation_params); 144 modified_emulation_params);
125 145
126 delegate_->SetScreenRects(applied_widget_rect_, window_screen_rect); 146 delegate_->SetScreenRects(applied_widget_rect_, window_screen_rect);
127 147
128 modified_resize_params.physical_backing_size = 148 modified_resize_params.physical_backing_size =
129 gfx::ScaleToCeiledSize(original_resize_params_.new_size, 149 gfx::ScaleToCeiledSize(original_resize_params_.new_size,
130 original_screen_info().deviceScaleFactor); 150 original_screen_info().device_scale_factor);
131 modified_resize_params.new_size = applied_widget_rect_.size(); 151 modified_resize_params.new_size = applied_widget_rect_.size();
132 modified_resize_params.visible_viewport_size = applied_widget_rect_.size(); 152 modified_resize_params.visible_viewport_size = applied_widget_rect_.size();
133 modified_resize_params.needs_resize_ack = false; 153 modified_resize_params.needs_resize_ack = false;
134 delegate_->Resize(modified_resize_params); 154 delegate_->Resize(modified_resize_params);
135 } 155 }
136 156
137 void RenderWidgetScreenMetricsEmulator::OnResize(const ResizeParams& params) { 157 void RenderWidgetScreenMetricsEmulator::OnResize(const ResizeParams& params) {
138 original_resize_params_ = params; 158 original_resize_params_ = params;
139 Apply(); 159 Apply();
140 160
(...skipping 30 matching lines...) Expand all
171 191
172 gfx::Rect RenderWidgetScreenMetricsEmulator::AdjustValidationMessageAnchor( 192 gfx::Rect RenderWidgetScreenMetricsEmulator::AdjustValidationMessageAnchor(
173 const gfx::Rect& anchor) { 193 const gfx::Rect& anchor) {
174 gfx::Rect scaled = gfx::ScaleToEnclosedRect(anchor, scale_); 194 gfx::Rect scaled = gfx::ScaleToEnclosedRect(anchor, scale_);
175 scaled.set_x(scaled.x() + offset_.x()); 195 scaled.set_x(scaled.x() + offset_.x());
176 scaled.set_y(scaled.y() + offset_.y()); 196 scaled.set_y(scaled.y() + offset_.y());
177 return scaled; 197 return scaled;
178 } 198 }
179 199
180 } // namespace content 200 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698