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 95e56ff1e95d8c55ecf293e9fd1f33f5f7b46ece..8aa8385c3a91c50596c6dbe27f04bb9d766b2c2d 100644 |
--- a/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
+++ b/chrome/test/chromedriver/chrome/mobile_emulation_override_manager.cc |
@@ -11,10 +11,12 @@ |
MobileEmulationOverrideManager::MobileEmulationOverrideManager( |
DevToolsClient* client, |
- const DeviceMetrics* device_metrics) |
+ const DeviceMetrics* device_metrics, |
+ std::string user_agent) |
: client_(client), |
- overridden_device_metrics_(device_metrics) { |
- if (overridden_device_metrics_) |
+ overridden_device_metrics_(device_metrics), |
+ overridden_user_agent_(user_agent) { |
+ if (overridden_device_metrics_ || !overridden_user_agent_.empty()) |
client_->AddListener(this); |
} |
@@ -42,6 +44,19 @@ bool MobileEmulationOverrideManager::IsEmulatingTouch() { |
} |
Status MobileEmulationOverrideManager::ApplyOverrideIfNeeded() { |
+ if (!overridden_user_agent_.empty()) { |
+ base::DictionaryValue net_enable_params, user_agent_params; |
+ net_enable_params.SetInteger("maxTotalBufferSize", 0); |
+ net_enable_params.SetInteger("maxResourceBufferSize", 0); |
+ Status status = client_->SendCommand("Network.enable", net_enable_params); |
+ |
+ user_agent_params.SetString("userAgent", overridden_user_agent_); |
+ status = |
+ client_->SendCommand("Network.setUserAgentOverride", user_agent_params); |
+ if (status.IsError()) |
+ return status; |
+ } |
+ |
if (overridden_device_metrics_ == NULL) |
return Status(kOk); |