| 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);
|
|
|
|
|