Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/test/chromedriver/session_commands.h" | 5 #include "chrome/test/chromedriver/session_commands.h" |
| 6 | 6 |
| 7 #include <list> | 7 #include <list> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 97 device_manager(device_manager), | 97 device_manager(device_manager), |
| 98 port_server(port_server), | 98 port_server(port_server), |
| 99 port_manager(port_manager) {} | 99 port_manager(port_manager) {} |
| 100 | 100 |
| 101 InitSessionParams::InitSessionParams(const InitSessionParams& other) = default; | 101 InitSessionParams::InitSessionParams(const InitSessionParams& other) = default; |
| 102 | 102 |
| 103 InitSessionParams::~InitSessionParams() {} | 103 InitSessionParams::~InitSessionParams() {} |
| 104 | 104 |
| 105 namespace { | 105 namespace { |
| 106 | 106 |
| 107 std::unique_ptr<base::DictionaryValue> CreateCapabilities(Chrome* chrome) { | 107 std::unique_ptr<base::DictionaryValue> CreateCapabilities(Chrome* chrome) { |
|
samuong
2016/11/22 19:52:16
since capabilities belong to the session, i think
gmanikpure
2016/11/23 18:34:26
Done.Thank you!
| |
| 108 std::unique_ptr<base::DictionaryValue> caps(new base::DictionaryValue()); | 108 std::unique_ptr<base::DictionaryValue> caps(new base::DictionaryValue()); |
| 109 caps->SetString("browserName", "chrome"); | 109 caps->SetString("browserName", "chrome"); |
| 110 caps->SetString("version", chrome->GetBrowserInfo()->browser_version); | 110 caps->SetString("version", chrome->GetBrowserInfo()->browser_version); |
| 111 caps->SetString("chrome.chromedriverVersion", kChromeDriverVersion); | 111 caps->SetString("chrome.chromedriverVersion", kChromeDriverVersion); |
| 112 caps->SetString("platform", chrome->GetOperatingSystemName()); | 112 caps->SetString("platform", chrome->GetOperatingSystemName()); |
| 113 caps->SetString("pageLoadStrategy", chrome->page_load_strategy()); | 113 caps->SetString("pageLoadStrategy", chrome->page_load_strategy()); |
| 114 caps->SetBoolean("javascriptEnabled", true); | 114 caps->SetBoolean("javascriptEnabled", true); |
| 115 caps->SetBoolean("takesScreenshot", true); | 115 caps->SetBoolean("takesScreenshot", true); |
| 116 caps->SetBoolean("takesHeapSnapshot", true); | 116 caps->SetBoolean("takesHeapSnapshot", true); |
| 117 caps->SetBoolean("handlesAlerts", true); | 117 caps->SetBoolean("handlesAlerts", true); |
| 118 caps->SetBoolean("databaseEnabled", false); | 118 caps->SetBoolean("databaseEnabled", false); |
| 119 caps->SetBoolean("locationContextEnabled", true); | 119 caps->SetBoolean("locationContextEnabled", true); |
| 120 caps->SetBoolean("mobileEmulationEnabled", | 120 caps->SetBoolean("mobileEmulationEnabled", |
| 121 chrome->IsMobileEmulationEnabled()); | 121 chrome->IsMobileEmulationEnabled()); |
| 122 caps->SetBoolean("applicationCacheEnabled", false); | 122 caps->SetBoolean("applicationCacheEnabled", false); |
| 123 caps->SetBoolean("browserConnectionEnabled", false); | 123 caps->SetBoolean("browserConnectionEnabled", false); |
| 124 caps->SetBoolean("cssSelectorsEnabled", true); | 124 caps->SetBoolean("cssSelectorsEnabled", true); |
| 125 caps->SetBoolean("webStorageEnabled", true); | 125 caps->SetBoolean("webStorageEnabled", true); |
| 126 caps->SetBoolean("rotatable", false); | 126 caps->SetBoolean("rotatable", false); |
| 127 caps->SetBoolean("acceptSslCerts", true); | 127 caps->SetBoolean("acceptSslCerts", true); |
| 128 caps->SetBoolean("nativeEvents", true); | 128 caps->SetBoolean("nativeEvents", true); |
| 129 caps->SetBoolean("hasTouchScreen", chrome->HasTouchScreen()); | 129 caps->SetBoolean("hasTouchScreen", chrome->HasTouchScreen()); |
| 130 | 130 |
| 131 Session* session = GetThreadLocalSession(); | |
| 132 caps->SetString("unexpectedAlertBehaviour", | |
| 133 session->GetUnexpectedAlertBehaviour()); | |
| 134 | |
| 131 ChromeDesktopImpl* desktop = NULL; | 135 ChromeDesktopImpl* desktop = NULL; |
| 132 Status status = chrome->GetAsDesktop(&desktop); | 136 Status status = chrome->GetAsDesktop(&desktop); |
| 133 if (status.IsOk()) { | 137 if (status.IsOk()) { |
| 134 caps->SetString("chrome.userDataDir", | 138 caps->SetString("chrome.userDataDir", |
| 135 desktop->command().GetSwitchValueNative("user-data-dir")); | 139 desktop->command().GetSwitchValueNative("user-data-dir")); |
| 136 caps->SetBoolean("networkConnectionEnabled", | 140 caps->SetBoolean("networkConnectionEnabled", |
| 137 desktop->IsNetworkConnectionEnabled()); | 141 desktop->IsNetworkConnectionEnabled()); |
| 138 } | 142 } |
| 139 | 143 |
| 140 return caps; | 144 return caps; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 180 session->w3c_compliant = true; | 184 session->w3c_compliant = true; |
| 181 else if (!params.GetDictionary("desiredCapabilities", &desired_caps) && | 185 else if (!params.GetDictionary("desiredCapabilities", &desired_caps) && |
| 182 !params.GetDictionary("capabilities.desiredCapabilities", &desired_caps)) | 186 !params.GetDictionary("capabilities.desiredCapabilities", &desired_caps)) |
| 183 return Status(kUnknownError, "cannot find dict 'desiredCapabilities'"); | 187 return Status(kUnknownError, "cannot find dict 'desiredCapabilities'"); |
| 184 | 188 |
| 185 Capabilities capabilities; | 189 Capabilities capabilities; |
| 186 Status status = capabilities.Parse(*desired_caps); | 190 Status status = capabilities.Parse(*desired_caps); |
| 187 if (status.IsError()) | 191 if (status.IsError()) |
| 188 return status; | 192 return status; |
| 189 | 193 |
| 194 desired_caps->GetString("unexpectedAlertBehaviour", | |
| 195 &session->unexpected_alert_behaviour); | |
| 196 | |
| 190 Log::Level driver_level = Log::kWarning; | 197 Log::Level driver_level = Log::kWarning; |
| 191 if (capabilities.logging_prefs.count(WebDriverLog::kDriverType)) | 198 if (capabilities.logging_prefs.count(WebDriverLog::kDriverType)) |
| 192 driver_level = capabilities.logging_prefs[WebDriverLog::kDriverType]; | 199 driver_level = capabilities.logging_prefs[WebDriverLog::kDriverType]; |
| 193 session->driver_log->set_min_level(driver_level); | 200 session->driver_log->set_min_level(driver_level); |
| 194 | 201 |
| 195 // Create Log's and DevToolsEventListener's for ones that are DevTools-based. | 202 // Create Log's and DevToolsEventListener's for ones that are DevTools-based. |
| 196 // Session will own the Log's, Chrome will own the listeners. | 203 // Session will own the Log's, Chrome will own the listeners. |
| 197 // Also create |CommandListener|s for the appropriate logs. | 204 // Also create |CommandListener|s for the appropriate logs. |
| 198 ScopedVector<DevToolsEventListener> devtools_event_listeners; | 205 ScopedVector<DevToolsEventListener> devtools_event_listeners; |
| 199 ScopedVector<CommandListener> command_listeners; | 206 ScopedVector<CommandListener> command_listeners; |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 874 std::unique_ptr<base::Value>* value) { | 881 std::unique_ptr<base::Value>* value) { |
| 875 WebView* web_view = nullptr; | 882 WebView* web_view = nullptr; |
| 876 Status status = session->GetTargetWindow(&web_view); | 883 Status status = session->GetTargetWindow(&web_view); |
| 877 if (status.IsError()) | 884 if (status.IsError()) |
| 878 return status; | 885 return status; |
| 879 status = web_view->DeleteScreenOrientation(); | 886 status = web_view->DeleteScreenOrientation(); |
| 880 if (status.IsError()) | 887 if (status.IsError()) |
| 881 return status; | 888 return status; |
| 882 return Status(kOk); | 889 return Status(kOk); |
| 883 } | 890 } |
| OLD | NEW |