Chromium Code Reviews| 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); |