Index: chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
diff --git a/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc b/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
index 4a69c6617539ad882e165b589926608db04e156a..0e35b906dd02c418e4c14e7d98fe90cf0acbd1de 100644 |
--- a/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
+++ b/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
@@ -7,11 +7,15 @@ |
#include "chrome/test/chromedriver/chrome/devtools_client.h" |
#include "chrome/test/chromedriver/chrome/mobile_emulation_override_manager.h" |
#include "chrome/test/chromedriver/chrome/status.h" |
+#include "chrome/test/chromedriver/chrome/version.h" |
MobileEmulationOverrideManager::MobileEmulationOverrideManager( |
DevToolsClient* client, |
- const DeviceMetrics* device_metrics) |
- : client_(client), overridden_device_metrics_(device_metrics) { |
+ const DeviceMetrics* device_metrics, |
+ const BrowserInfo* browser_info) |
+ : client_(client), |
+ overridden_device_metrics_(device_metrics), |
+ browser_info_(browser_info) { |
if (overridden_device_metrics_) |
client_->AddListener(this); |
} |
@@ -39,13 +43,24 @@ Status MobileEmulationOverrideManager::ApplyOverrideIfNeeded() { |
if (overridden_device_metrics_ == NULL) |
return Status(kOk); |
+ // Old revisions of Blink expect a parameter named |emulateViewport| but in |
+ // Blink revision 177367 (Chromium revision 281046, build number 2081) this |
+ // was renamed to |mobile|. |
+ std::string tmp = "mobile"; |
stgao
2014/07/11 06:00:29
nit: name |tmp| is not that clear.
|
+ if (browser_info_->browser_name == "chrome") { |
+ if (browser_info_->build_no <= 2081) |
+ tmp = "emulateViewport"; |
+ } else { |
+ if (browser_info_->blink_revision < 177367) |
+ tmp = "emulateViewport"; |
+ } |
+ |
base::DictionaryValue params; |
params.SetInteger("width", overridden_device_metrics_->width); |
params.SetInteger("height", overridden_device_metrics_->height); |
params.SetDouble("deviceScaleFactor", |
overridden_device_metrics_->device_scale_factor); |
- params.SetBoolean("emulateViewport", |
- overridden_device_metrics_->emulate_viewport); |
+ params.SetBoolean(tmp, overridden_device_metrics_->mobile); |
params.SetBoolean("fitWindow", overridden_device_metrics_->fit_window); |
params.SetBoolean("textAutosizing", |
overridden_device_metrics_->text_autosizing); |