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

Unified Diff: content/browser/devtools/protocol/emulation_handler.cc

Issue 1203503002: [DevTools] Implement screen size and position in Emulation.setDeviceMetricsOverrides. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screen-size-stub
Patch Set: Fixed nit Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/devtools/protocol/emulation_handler.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/protocol/emulation_handler.cc
diff --git a/content/browser/devtools/protocol/emulation_handler.cc b/content/browser/devtools/protocol/emulation_handler.cc
index 359fdec1da8099a1e79645d330e90a40dc8fdacb..2a217fc46dfb897dc47a62fd3ee5294b11f483cd 100644
--- a/content/browser/devtools/protocol/emulation_handler.cc
+++ b/content/browser/devtools/protocol/emulation_handler.cc
@@ -125,25 +125,38 @@ Response EmulationHandler::CanEmulate(bool* result) {
}
Response EmulationHandler::SetDeviceMetricsOverride(
- int width, int height, double device_scale_factor, bool mobile,
- bool fit_window, const double* optional_scale,
- const double* optional_offset_x, const double* optional_offset_y,
- const int* screen_width, const int* screen_height,
- const int* position_x, const int* position_y) {
- return SetDeviceMetricsOverride(width, height, device_scale_factor, mobile,
- fit_window, optional_scale, optional_offset_x, optional_offset_y);
-}
-
-Response EmulationHandler::SetDeviceMetricsOverride(
- int width, int height, double device_scale_factor, bool mobile,
- bool fit_window, const double* optional_scale,
- const double* optional_offset_x, const double* optional_offset_y) {
+ int width,
jochen (gone - plz use gerrit) 2015/06/23 14:59:47 wouldn't clang format put as many parameters as po
dgozman 2015/06/23 15:05:23 I've just changed to one-per-line per nasko@ comme
+ int height,
+ double device_scale_factor,
+ bool mobile,
+ bool fit_window,
+ const double* optional_scale,
+ const double* optional_offset_x,
+ const double* optional_offset_y,
+ const int* screen_width,
+ const int* screen_height,
+ const int* position_x,
+ const int* position_y) {
const static int max_size = 10000000;
const static double max_scale = 10;
if (!host_)
return Response::InternalError("Could not connect to view");
+ if (screen_width && screen_height &&
+ (*screen_width < 0 || *screen_height < 0 ||
+ *screen_width > max_size || *screen_height > max_size)) {
+ return Response::InvalidParams(
+ "Screen width and height values must be positive, not greater than " +
+ base::IntToString(max_size));
+ }
+
+ if (screen_width && screen_height && position_x && position_y &&
+ (*position_x < 0 || *position_y < 0 ||
+ *position_x > *screen_width || *position_y > *screen_height)) {
+ return Response::InvalidParams("View position should be on the screen");
+ }
+
if (width < 0 || height < 0 || width > max_size || height > max_size) {
return Response::InvalidParams(
"Width and height values must be positive, not greater than " +
@@ -162,6 +175,10 @@ Response EmulationHandler::SetDeviceMetricsOverride(
blink::WebDeviceEmulationParams params;
params.screenPosition = mobile ? blink::WebDeviceEmulationParams::Mobile :
blink::WebDeviceEmulationParams::Desktop;
+ if (screen_width && screen_height)
+ params.screenSize = blink::WebSize(*screen_width, *screen_height);
+ if (position_x && position_y)
+ params.viewPosition = blink::WebPoint(*position_x, *position_y);
params.deviceScaleFactor = device_scale_factor;
params.viewSize = blink::WebSize(width, height);
params.fitToView = fit_window;
« no previous file with comments | « content/browser/devtools/protocol/emulation_handler.h ('k') | content/common/view_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698