Chromium Code Reviews| Index: chrome/test/chromedriver/chrome_launcher.cc |
| diff --git a/chrome/test/chromedriver/chrome_launcher.cc b/chrome/test/chromedriver/chrome_launcher.cc |
| index 1592c2913c813c10936865934ba31f80edf66884..89e88c7ff4739fdd6b1e157e896ed99bfef535df 100644 |
| --- a/chrome/test/chromedriver/chrome_launcher.cc |
| +++ b/chrome/test/chromedriver/chrome_launcher.cc |
| @@ -7,6 +7,7 @@ |
| #include <stddef.h> |
| #include <stdint.h> |
| #include <algorithm> |
| +#include <memory> |
| #include <utility> |
| #include <vector> |
| @@ -244,21 +245,19 @@ Status CreateBrowserwideDevToolsClientAndConnect( |
| const NetAddress& address, |
| const PerfLoggingPrefs& perf_logging_prefs, |
| const SyncWebSocketFactory& socket_factory, |
| - const ScopedVector<DevToolsEventListener>& devtools_event_listeners, |
| + const std::vector<std::unique_ptr<DevToolsEventListener>>& |
| + devtools_event_listeners, |
| std::unique_ptr<DevToolsClient>* browser_client) { |
| std::unique_ptr<DevToolsClient> client(new DevToolsClientImpl( |
| socket_factory, base::StringPrintf("ws://%s/devtools/browser/", |
| address.ToString().c_str()), |
| DevToolsClientImpl::kBrowserwideDevToolsClientId)); |
| - for (ScopedVector<DevToolsEventListener>::const_iterator it = |
| - devtools_event_listeners.begin(); |
| - it != devtools_event_listeners.end(); |
| - ++it) { |
| + for (const auto& listener : devtools_event_listeners) { |
| // Only add listeners that subscribe to the browser-wide |DevToolsClient|. |
| // Otherwise, listeners will think this client is associated with a webview, |
| // and will send unrecognized commands to it. |
| - if ((*it)->subscribes_to_browser()) |
| - client->AddListener(*it); |
| + if (listener->subscribes_to_browser()) |
| + client->AddListener(listener.get()); |
| } |
| // Provide the client regardless of whether it connects, so that Chrome always |
| // has a valid |devtools_websocket_client_|. If not connected, no listeners |
| @@ -278,7 +277,8 @@ Status LaunchRemoteChromeSession( |
| URLRequestContextGetter* context_getter, |
| const SyncWebSocketFactory& socket_factory, |
| const Capabilities& capabilities, |
| - ScopedVector<DevToolsEventListener>* devtools_event_listeners, |
| + std::vector<std::unique_ptr<DevToolsEventListener>>* |
| + devtools_event_listeners, |
|
Avi (use Gerrit)
2017/03/29 03:26:55
This is passed by pointer, yes, but down on line 2
leonhsl(Using Gerrit)
2017/03/29 09:22:30
Done.
|
| std::unique_ptr<Chrome>* chrome) { |
| Status status(kOk); |
| std::unique_ptr<DevToolsHttpClient> devtools_http_client; |
| @@ -307,15 +307,15 @@ Status LaunchRemoteChromeSession( |
| return Status(kOk); |
| } |
| -Status LaunchDesktopChrome( |
| - URLRequestContextGetter* context_getter, |
| - uint16_t port, |
| - std::unique_ptr<PortReservation> port_reservation, |
| - const SyncWebSocketFactory& socket_factory, |
| - const Capabilities& capabilities, |
| - ScopedVector<DevToolsEventListener>* devtools_event_listeners, |
| - std::unique_ptr<Chrome>* chrome, |
| - bool w3c_compliant) { |
| +Status LaunchDesktopChrome(URLRequestContextGetter* context_getter, |
| + uint16_t port, |
| + std::unique_ptr<PortReservation> port_reservation, |
| + const SyncWebSocketFactory& socket_factory, |
| + const Capabilities& capabilities, |
| + std::vector<std::unique_ptr<DevToolsEventListener>>* |
| + devtools_event_listeners, |
| + std::unique_ptr<Chrome>* chrome, |
| + bool w3c_compliant) { |
| base::CommandLine command(base::CommandLine::NO_PROGRAM); |
| base::ScopedTempDir user_data_dir; |
| base::ScopedTempDir extension_dir; |
| @@ -466,15 +466,15 @@ Status LaunchDesktopChrome( |
| return Status(kOk); |
| } |
| -Status LaunchAndroidChrome( |
| - URLRequestContextGetter* context_getter, |
| - uint16_t port, |
| - std::unique_ptr<PortReservation> port_reservation, |
| - const SyncWebSocketFactory& socket_factory, |
| - const Capabilities& capabilities, |
| - ScopedVector<DevToolsEventListener>* devtools_event_listeners, |
| - DeviceManager* device_manager, |
| - std::unique_ptr<Chrome>* chrome) { |
| +Status LaunchAndroidChrome(URLRequestContextGetter* context_getter, |
| + uint16_t port, |
| + std::unique_ptr<PortReservation> port_reservation, |
| + const SyncWebSocketFactory& socket_factory, |
| + const Capabilities& capabilities, |
| + std::vector<std::unique_ptr<DevToolsEventListener>>* |
| + devtools_event_listeners, |
| + DeviceManager* device_manager, |
| + std::unique_ptr<Chrome>* chrome) { |
| Status status(kOk); |
| std::unique_ptr<Device> device; |
| if (capabilities.android_device_serial.empty()) { |
| @@ -535,16 +535,16 @@ Status LaunchAndroidChrome( |
| } // namespace |
| -Status LaunchChrome( |
| - URLRequestContextGetter* context_getter, |
| - const SyncWebSocketFactory& socket_factory, |
| - DeviceManager* device_manager, |
| - PortServer* port_server, |
| - PortManager* port_manager, |
| - const Capabilities& capabilities, |
| - ScopedVector<DevToolsEventListener>* devtools_event_listeners, |
| - std::unique_ptr<Chrome>* chrome, |
| - bool w3c_compliant) { |
| +Status LaunchChrome(URLRequestContextGetter* context_getter, |
| + const SyncWebSocketFactory& socket_factory, |
| + DeviceManager* device_manager, |
| + PortServer* port_server, |
| + PortManager* port_manager, |
| + const Capabilities& capabilities, |
| + std::vector<std::unique_ptr<DevToolsEventListener>>* |
| + devtools_event_listeners, |
| + std::unique_ptr<Chrome>* chrome, |
| + bool w3c_compliant) { |
| if (capabilities.IsRemoteBrowser()) { |
| return LaunchRemoteChromeSession( |
| context_getter, socket_factory, |