| 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 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 return true; | 50 return true; |
| 51 } | 51 } |
| 52 | 52 |
| 53 } // namespace | 53 } // namespace |
| 54 | 54 |
| 55 InitSessionParams::InitSessionParams( | 55 InitSessionParams::InitSessionParams( |
| 56 scoped_refptr<URLRequestContextGetter> context_getter, | 56 scoped_refptr<URLRequestContextGetter> context_getter, |
| 57 const SyncWebSocketFactory& socket_factory, | 57 const SyncWebSocketFactory& socket_factory, |
| 58 DeviceManager* device_manager, | 58 DeviceManager* device_manager, |
| 59 PortServer* port_server, | 59 PortServer* port_server, |
| 60 PortManager* port_manager) | 60 PortManager* port_manager, |
| 61 PortManager* port_manager_android) |
| 61 : context_getter(context_getter), | 62 : context_getter(context_getter), |
| 62 socket_factory(socket_factory), | 63 socket_factory(socket_factory), |
| 63 device_manager(device_manager), | 64 device_manager(device_manager), |
| 64 port_server(port_server), | 65 port_server(port_server), |
| 65 port_manager(port_manager) {} | 66 port_manager(port_manager), |
| 67 port_manager_android(port_manager_android) {} |
| 66 | 68 |
| 67 InitSessionParams::~InitSessionParams() {} | 69 InitSessionParams::~InitSessionParams() {} |
| 68 | 70 |
| 69 namespace { | 71 namespace { |
| 70 | 72 |
| 71 scoped_ptr<base::DictionaryValue> CreateCapabilities(Chrome* chrome) { | 73 scoped_ptr<base::DictionaryValue> CreateCapabilities(Chrome* chrome) { |
| 72 scoped_ptr<base::DictionaryValue> caps(new base::DictionaryValue()); | 74 scoped_ptr<base::DictionaryValue> caps(new base::DictionaryValue()); |
| 73 caps->SetString("browserName", "chrome"); | 75 caps->SetString("browserName", "chrome"); |
| 74 caps->SetString("version", chrome->GetVersion()); | 76 caps->SetString("version", chrome->GetVersion()); |
| 75 caps->SetString("chrome.chromedriverVersion", kChromeDriverVersion); | 77 caps->SetString("chrome.chromedriverVersion", kChromeDriverVersion); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 &session->devtools_logs, | 129 &session->devtools_logs, |
| 128 &devtools_event_listeners); | 130 &devtools_event_listeners); |
| 129 if (status.IsError()) | 131 if (status.IsError()) |
| 130 return status; | 132 return status; |
| 131 | 133 |
| 132 status = LaunchChrome(bound_params.context_getter.get(), | 134 status = LaunchChrome(bound_params.context_getter.get(), |
| 133 bound_params.socket_factory, | 135 bound_params.socket_factory, |
| 134 bound_params.device_manager, | 136 bound_params.device_manager, |
| 135 bound_params.port_server, | 137 bound_params.port_server, |
| 136 bound_params.port_manager, | 138 bound_params.port_manager, |
| 139 bound_params.port_manager_android, |
| 137 capabilities, | 140 capabilities, |
| 138 devtools_event_listeners, | 141 devtools_event_listeners, |
| 139 &session->chrome); | 142 &session->chrome); |
| 140 if (status.IsError()) | 143 if (status.IsError()) |
| 141 return status; | 144 return status; |
| 142 | 145 |
| 143 std::list<std::string> web_view_ids; | 146 std::list<std::string> web_view_ids; |
| 144 status = session->chrome->GetWebViewIds(&web_view_ids); | 147 status = session->chrome->GetWebViewIds(&web_view_ids); |
| 145 if (status.IsError() || web_view_ids.empty()) { | 148 if (status.IsError() || web_view_ids.empty()) { |
| 146 return status.IsError() ? status : | 149 return status.IsError() ? status : |
| 147 Status(kUnknownError, "unable to discover open window in chrome"); | 150 Status(kUnknownError, "unable to discover open window in chrome"); |
| 148 } | 151 } |
| 149 | 152 |
| 150 session->window = web_view_ids.front(); | 153 session->window = web_view_ids.front(); |
| 151 session->detach = capabilities.detach; | 154 session->detach = capabilities.detach; |
| 152 session->force_devtools_screenshot = capabilities.force_devtools_screenshot; | 155 session->force_devtools_screenshot = capabilities.force_devtools_screenshot; |
| 153 session->capabilities = CreateCapabilities(session->chrome.get()); | 156 session->capabilities = CreateCapabilities(session->chrome.get()); |
| 154 value->reset(session->capabilities->DeepCopy()); | 157 value->reset(session->capabilities->DeepCopy()); |
| 155 return Status(kOk); | 158 return Status(kOk); |
| 156 } | 159 } |
| 157 | 160 |
| 158 } // namespace | 161 } // namespace |
| 159 | 162 |
| 160 Status ExecuteInitSession( | 163 Status ExecuteInitSession( |
| 161 const InitSessionParams& bound_params, | 164 const InitSessionParams& bound_params, |
| 162 Session* session, | 165 Session* session, |
| 163 const base::DictionaryValue& params, | 166 const base::DictionaryValue& params, |
| 164 scoped_ptr<base::Value>* value) { | 167 scoped_ptr<base::Value>* value) { |
| 165 Status status = InitSessionHelper(bound_params, session, params, value); | 168 Status status = InitSessionHelper(bound_params, session, params, value); |
| 166 if (status.IsError()) | 169 if (status.IsError()) { |
| 167 session->quit = true; | 170 session->quit = true; |
| 171 if (session->chrome != NULL) |
| 172 session->chrome->Quit(); |
| 173 } |
| 168 return status; | 174 return status; |
| 169 } | 175 } |
| 170 | 176 |
| 171 Status ExecuteQuit( | 177 Status ExecuteQuit( |
| 172 bool allow_detach, | 178 bool allow_detach, |
| 173 Session* session, | 179 Session* session, |
| 174 const base::DictionaryValue& params, | 180 const base::DictionaryValue& params, |
| 175 scoped_ptr<base::Value>* value) { | 181 scoped_ptr<base::Value>* value) { |
| 176 session->quit = true; | 182 session->quit = true; |
| 177 if (allow_detach && session->detach) | 183 if (allow_detach && session->detach) |
| (...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 600 } | 606 } |
| 601 std::string error_msg; | 607 std::string error_msg; |
| 602 base::FilePath upload; | 608 base::FilePath upload; |
| 603 Status status = UnzipSoleFile(upload_dir, zip_data, &upload); | 609 Status status = UnzipSoleFile(upload_dir, zip_data, &upload); |
| 604 if (status.IsError()) | 610 if (status.IsError()) |
| 605 return Status(kUnknownError, "unable to unzip 'file'", status); | 611 return Status(kUnknownError, "unable to unzip 'file'", status); |
| 606 | 612 |
| 607 value->reset(new base::StringValue(upload.value())); | 613 value->reset(new base::StringValue(upload.value())); |
| 608 return Status(kOk); | 614 return Status(kOk); |
| 609 } | 615 } |
| OLD | NEW |