OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |