Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Unified Diff: chrome/test/chromedriver/chrome_launcher.cc

Issue 2777883003: Remove ScopedVector from chrome/test/chromedriver/ (Closed)
Patch Set: address nit from stgao@ Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/chromedriver/chrome_launcher.h ('k') | chrome/test/chromedriver/commands_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..6d4ebae9d53e33490535ff69f7cd5082a4f9e592 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,
std::unique_ptr<Chrome>* chrome) {
Status status(kOk);
std::unique_ptr<DevToolsHttpClient> devtools_http_client;
@@ -294,28 +294,27 @@ Status LaunchRemoteChromeSession(
std::unique_ptr<DevToolsClient> devtools_websocket_client;
status = CreateBrowserwideDevToolsClientAndConnect(
capabilities.debugger_address, capabilities.perf_logging_prefs,
- socket_factory, *devtools_event_listeners, &devtools_websocket_client);
+ socket_factory, devtools_event_listeners, &devtools_websocket_client);
if (status.IsError()) {
LOG(WARNING) << "Browser-wide DevTools client failed to connect: "
<< status.message();
}
- chrome->reset(new ChromeRemoteImpl(std::move(devtools_http_client),
- std::move(devtools_websocket_client),
- *devtools_event_listeners,
- capabilities.page_load_strategy));
+ chrome->reset(new ChromeRemoteImpl(
+ std::move(devtools_http_client), std::move(devtools_websocket_client),
+ std::move(devtools_event_listeners), capabilities.page_load_strategy));
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;
@@ -432,23 +431,17 @@ Status LaunchDesktopChrome(
std::unique_ptr<DevToolsClient> devtools_websocket_client;
status = CreateBrowserwideDevToolsClientAndConnect(
NetAddress(port), capabilities.perf_logging_prefs, socket_factory,
- *devtools_event_listeners, &devtools_websocket_client);
+ devtools_event_listeners, &devtools_websocket_client);
if (status.IsError()) {
LOG(WARNING) << "Browser-wide DevTools client failed to connect: "
<< status.message();
}
- std::unique_ptr<ChromeDesktopImpl> chrome_desktop(
- new ChromeDesktopImpl(std::move(devtools_http_client),
- std::move(devtools_websocket_client),
- *devtools_event_listeners,
- std::move(port_reservation),
- capabilities.page_load_strategy,
- std::move(process),
- command,
- &user_data_dir,
- &extension_dir,
- capabilities.network_emulation_enabled));
+ std::unique_ptr<ChromeDesktopImpl> chrome_desktop(new ChromeDesktopImpl(
+ std::move(devtools_http_client), std::move(devtools_websocket_client),
+ std::move(devtools_event_listeners), std::move(port_reservation),
+ capabilities.page_load_strategy, std::move(process), command,
+ &user_data_dir, &extension_dir, capabilities.network_emulation_enabled));
for (size_t i = 0; i < extension_bg_pages.size(); ++i) {
VLOG(0) << "Waiting for extension bg page load: " << extension_bg_pages[i];
std::unique_ptr<WebView> web_view;
@@ -466,15 +459,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()) {
@@ -518,37 +511,35 @@ Status LaunchAndroidChrome(
std::unique_ptr<DevToolsClient> devtools_websocket_client;
status = CreateBrowserwideDevToolsClientAndConnect(
NetAddress(port), capabilities.perf_logging_prefs, socket_factory,
- *devtools_event_listeners, &devtools_websocket_client);
+ devtools_event_listeners, &devtools_websocket_client);
if (status.IsError()) {
LOG(WARNING) << "Browser-wide DevTools client failed to connect: "
<< status.message();
}
- chrome->reset(new ChromeAndroidImpl(std::move(devtools_http_client),
- std::move(devtools_websocket_client),
- *devtools_event_listeners,
- std::move(port_reservation),
- capabilities.page_load_strategy,
- std::move(device)));
+ chrome->reset(new ChromeAndroidImpl(
+ std::move(devtools_http_client), std::move(devtools_websocket_client),
+ std::move(devtools_event_listeners), std::move(port_reservation),
+ capabilities.page_load_strategy, std::move(device)));
return Status(kOk);
}
} // 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,
- capabilities, devtools_event_listeners, chrome);
+ context_getter, socket_factory, capabilities,
+ std::move(devtools_event_listeners), chrome);
}
uint16_t port = 0;
@@ -565,7 +556,8 @@ Status LaunchChrome(
port_status);
return LaunchAndroidChrome(
context_getter, port, std::move(port_reservation), socket_factory,
- capabilities, devtools_event_listeners, device_manager, chrome);
+ capabilities, std::move(devtools_event_listeners), device_manager,
+ chrome);
} else {
if (port_server)
port_status = port_server->ReservePort(&port, &port_reservation);
@@ -574,10 +566,10 @@ Status LaunchChrome(
if (port_status.IsError())
return Status(kUnknownError, "cannot reserve port for Chrome",
port_status);
- return LaunchDesktopChrome(context_getter, port,
- std::move(port_reservation), socket_factory,
- capabilities, devtools_event_listeners, chrome,
- w3c_compliant);
+ return LaunchDesktopChrome(
+ context_getter, port, std::move(port_reservation), socket_factory,
+ capabilities, std::move(devtools_event_listeners), chrome,
+ w3c_compliant);
}
}
« no previous file with comments | « chrome/test/chromedriver/chrome_launcher.h ('k') | chrome/test/chromedriver/commands_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698