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

Unified Diff: chrome/test/chromedriver/logging.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/logging.h ('k') | chrome/test/chromedriver/logging_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/chromedriver/logging.cc
diff --git a/chrome/test/chromedriver/logging.cc b/chrome/test/chromedriver/logging.cc
index eacb53fa094fa6c968b30c340c4bced8075be3f7..71dfbd5659d655ec2381195700ca2ae49b6de5b6 100644
--- a/chrome/test/chromedriver/logging.cc
+++ b/chrome/test/chromedriver/logging.cc
@@ -15,6 +15,7 @@
#include "base/json/json_reader.h"
#include "base/logging.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/strings/stringprintf.h"
#include "base/time/time.h"
#include "build/build_config.h"
@@ -271,14 +272,15 @@ bool InitLogging() {
return logging::InitLogging(logging_settings);
}
-Status CreateLogs(const Capabilities& capabilities,
- const Session* session,
- ScopedVector<WebDriverLog>* out_logs,
- ScopedVector<DevToolsEventListener>* out_devtools_listeners,
- ScopedVector<CommandListener>* out_command_listeners) {
- ScopedVector<WebDriverLog> logs;
- ScopedVector<DevToolsEventListener> devtools_listeners;
- ScopedVector<CommandListener> command_listeners;
+Status CreateLogs(
+ const Capabilities& capabilities,
+ const Session* session,
+ std::vector<std::unique_ptr<WebDriverLog>>* out_logs,
+ std::vector<std::unique_ptr<DevToolsEventListener>>* out_devtools_listeners,
+ std::vector<std::unique_ptr<CommandListener>>* out_command_listeners) {
+ std::vector<std::unique_ptr<WebDriverLog>> logs;
+ std::vector<std::unique_ptr<DevToolsEventListener>> devtools_listeners;
+ std::vector<std::unique_ptr<CommandListener>> command_listeners;
Log::Level browser_log_level = Log::kWarning;
const LoggingPrefs& prefs = capabilities.logging_prefs;
@@ -289,19 +291,18 @@ Status CreateLogs(const Capabilities& capabilities,
Log::Level level = iter->second;
if (type == WebDriverLog::kPerformanceType) {
if (level != Log::kOff) {
- WebDriverLog* log = new WebDriverLog(type, Log::kAll);
- logs.push_back(log);
+ logs.push_back(base::MakeUnique<WebDriverLog>(type, Log::kAll));
+ devtools_listeners.push_back(base::MakeUnique<PerformanceLogger>(
+ logs.back().get(), session, capabilities.perf_logging_prefs));
PerformanceLogger* perf_log =
- new PerformanceLogger(log, session,
- capabilities.perf_logging_prefs);
+ static_cast<PerformanceLogger*>(devtools_listeners.back().get());
// We use a proxy for |perf_log|'s |CommandListener| interface.
// Otherwise, |perf_log| would be owned by both session->chrome and
// |session|, which would lead to memory errors on destruction.
// session->chrome will own |perf_log|, and |session| will own |proxy|.
// session->command_listeners (the proxy) will be destroyed first.
- CommandListenerProxy* proxy = new CommandListenerProxy(perf_log);
- devtools_listeners.push_back(perf_log);
- command_listeners.push_back(proxy);
+ command_listeners.push_back(
+ base::MakeUnique<CommandListenerProxy>(perf_log));
}
} else if (type == WebDriverLog::kBrowserType) {
browser_log_level = level;
@@ -313,12 +314,12 @@ Status CreateLogs(const Capabilities& capabilities,
}
}
// Create "browser" log -- should always exist.
- WebDriverLog* browser_log =
- new WebDriverLog(WebDriverLog::kBrowserType, browser_log_level);
- logs.push_back(browser_log);
+ logs.push_back(base::MakeUnique<WebDriverLog>(WebDriverLog::kBrowserType,
+ browser_log_level));
// If the level is OFF, don't even bother listening for DevTools events.
if (browser_log_level != Log::kOff)
- devtools_listeners.push_back(new ConsoleLogger(browser_log));
+ devtools_listeners.push_back(
+ base::MakeUnique<ConsoleLogger>(logs.back().get()));
out_logs->swap(logs);
out_devtools_listeners->swap(devtools_listeners);
« no previous file with comments | « chrome/test/chromedriver/logging.h ('k') | chrome/test/chromedriver/logging_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698