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

Side by Side Diff: chrome/test/chromedriver/logging.cc

Issue 14591005: C++ readability review from original change https://chromiumcodereview.appspot.com/14263024/ (Closed) Base URL: https://src.chromium.org/chrome/trunk/src/
Patch Set: Fix types in CHECK comparisons. Created 7 years, 6 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 unified diff | 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/logging.h" 5 #include "chrome/test/chromedriver/logging.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/time.h" 9 #include "base/time.h"
10 #include "chrome/test/chromedriver/capabilities.h" 10 #include "chrome/test/chromedriver/capabilities.h"
11 #include "chrome/test/chromedriver/chrome/console_logger.h" 11 #include "chrome/test/chromedriver/chrome/console_logger.h"
12 #include "chrome/test/chromedriver/chrome/performance_logger.h" 12 #include "chrome/test/chromedriver/chrome/performance_logger.h"
13 #include "chrome/test/chromedriver/chrome/status.h" 13 #include "chrome/test/chromedriver/chrome/status.h"
14 14
15 15
16 namespace { 16 namespace {
17 17
18 // Map between WebDriverLog::WebDriverLevel and its name in WD wire protocol. 18 // Map between WebDriverLog::WebDriverLevel and its name in WD wire protocol.
19 // Array indices are the WebDriverLog::WebDriverLevel enum values. 19 // Array indices are the WebDriverLog::WebDriverLevel enum values.
20 const char* kWebDriverLevelNames[] = { 20 const char* const kWebDriverLevelNames[] = {
21 "ALL", "DEBUG", "INFO", "WARNING", "SEVERE", "OFF" 21 "ALL", "DEBUG", "INFO", "WARNING", "SEVERE", "OFF"
22 }; 22 };
23 23
24 // Map between Log::Level and WebDriverLog::WebDriverLevel. 24 // Map between Log::Level and WebDriverLog::WebDriverLevel.
25 // Array indices are the Log::Level enum values. 25 // Array indices are the Log::Level enum values.
26 WebDriverLog::WebDriverLevel kLogLevelToWebDriverLevels[] = { 26 WebDriverLog::WebDriverLevel kLogLevelToWebDriverLevels[] = {
27 WebDriverLog::kWdDebug, // kDebug 27 WebDriverLog::kWdDebug, // kDebug
28 WebDriverLog::kWdInfo, // kLog 28 WebDriverLog::kWdInfo, // kLog
29 WebDriverLog::kWdWarning, // kWarning 29 WebDriverLog::kWdWarning, // kWarning
30 WebDriverLog::kWdSevere // kError 30 WebDriverLog::kWdSevere // kError
31 }; 31 };
32 32
33 // Translates Log::Level to WebDriverLog::WebDriverLevel.
33 WebDriverLog::WebDriverLevel LogLevelToWebDriverLevel(Log::Level level) { 34 WebDriverLog::WebDriverLevel LogLevelToWebDriverLevel(Log::Level level) {
34 const int index = level - Log::kDebug; 35 const int index = level - Log::kDebug;
35 CHECK(index >= 0); 36 CHECK_GE(index, 0);
36 CHECK(static_cast<size_t>(index) < arraysize(kLogLevelToWebDriverLevels)); 37 CHECK_LT(static_cast<size_t>(index), arraysize(kLogLevelToWebDriverLevels));
37 return kLogLevelToWebDriverLevels[index]; 38 return kLogLevelToWebDriverLevels[index];
38 } 39 }
39 40
41 // Returns WD wire protocol level name for a WebDriverLog::WebDriverLevel.
40 std::string GetWebDriverLevelName( 42 std::string GetWebDriverLevelName(
41 const WebDriverLog::WebDriverLevel level) { 43 const WebDriverLog::WebDriverLevel level) {
42 const int index = level - WebDriverLog::kWdAll; 44 const int index = level - WebDriverLog::kWdAll;
43 CHECK(index >= 0); 45 CHECK_GE(index, 0);
44 CHECK(static_cast<size_t>(index) < arraysize(kWebDriverLevelNames)); 46 CHECK_LT(static_cast<size_t>(index), arraysize(kWebDriverLevelNames));
45 return kWebDriverLevelNames[index]; 47 return kWebDriverLevelNames[index];
46 } 48 }
47 49
48 } // namespace 50 } // namespace
49 51
50 bool WebDriverLog::NameToLevel( 52 bool WebDriverLog::NameToLevel(
51 const std::string& name, WebDriverLog::WebDriverLevel* out_level) { 53 const std::string& name, WebDriverLog::WebDriverLevel* out_level) {
52 for (size_t i = 0; i < arraysize(kWebDriverLevelNames); ++i) { 54 for (size_t i = 0; i < arraysize(kWebDriverLevelNames); ++i) {
53 if (name == kWebDriverLevelNames[i]) { 55 if (name == kWebDriverLevelNames[i]) {
54 CHECK(WebDriverLog::kWdAll + i <= WebDriverLog::kWdOff); 56 CHECK_LE(WebDriverLog::kWdAll + i,
57 static_cast<size_t>(WebDriverLog::kWdOff));
55 *out_level = 58 *out_level =
56 static_cast<WebDriverLog::WebDriverLevel>(WebDriverLog::kWdAll + i); 59 static_cast<WebDriverLog::WebDriverLevel>(WebDriverLog::kWdAll + i);
57 return true; 60 return true;
58 } 61 }
59 } 62 }
60 return false; 63 return false;
61 } 64 }
62 65
63 WebDriverLog::WebDriverLog( 66 WebDriverLog::WebDriverLog(
64 const std::string& type, WebDriverLog::WebDriverLevel min_wd_level) 67 const std::string& type, WebDriverLog::WebDriverLevel min_wd_level)
65 : type_(type), 68 : type_(type),
66 min_wd_level_(min_wd_level), 69 min_wd_level_(min_wd_level),
67 entries_(new base::ListValue()) { 70 entries_(new base::ListValue()) {
68 VLOG(1) << "Log(" << type_ << ", " << min_wd_level_ << ")"; 71 VLOG(1) << "Log(" << type_ << ", " << min_wd_level_ << ")";
69 } 72 }
70 73
71 WebDriverLog::~WebDriverLog() { 74 WebDriverLog::~WebDriverLog() {
72 VLOG(1) << "Log type '" << type_ << "' lost " 75 VLOG(1) << "Log type '" << type_ << "' lost "
73 << entries_->GetSize() << " entries on destruction"; 76 << entries_->GetSize() << " entries on destruction";
74 } 77 }
75 78
76 const std::string& WebDriverLog::GetType() { 79 const std::string& WebDriverLog::GetType() {
77 return type_; 80 return type_;
78 } 81 }
79 82
80 void WebDriverLog::AddEntry(const base::Time& time, 83 void WebDriverLog::AddEntryTimestamped(const base::Time& timestamp,
81 Log::Level level, 84 Log::Level level,
82 const std::string& message) { 85 const std::string& message) {
83 const WebDriverLog::WebDriverLevel wd_level = LogLevelToWebDriverLevel(level); 86 const WebDriverLog::WebDriverLevel wd_level = LogLevelToWebDriverLevel(level);
84 if (wd_level < min_wd_level_) 87 if (wd_level < min_wd_level_)
85 return; 88 return;
86 scoped_ptr<base::DictionaryValue> log_entry_dict(new base::DictionaryValue()); 89 scoped_ptr<base::DictionaryValue> log_entry_dict(new base::DictionaryValue());
87 log_entry_dict->SetDouble("timestamp", static_cast<int64>(time.ToJsTime())); 90 log_entry_dict->SetDouble("timestamp",
91 static_cast<int64>(timestamp.ToJsTime()));
88 log_entry_dict->SetString("level", GetWebDriverLevelName(wd_level)); 92 log_entry_dict->SetString("level", GetWebDriverLevelName(wd_level));
89 log_entry_dict->SetString("message", message); 93 log_entry_dict->SetString("message", message);
90 entries_->Append(log_entry_dict.release()); 94 entries_->Append(log_entry_dict.release());
91 } 95 }
92 96
93 scoped_ptr<base::ListValue> WebDriverLog::GetAndClearEntries() { 97 scoped_ptr<base::ListValue> WebDriverLog::GetAndClearEntries() {
94 scoped_ptr<base::ListValue> ret(entries_.release()); 98 scoped_ptr<base::ListValue> ret(entries_.release());
95 entries_.reset(new base::ListValue()); 99 entries_.reset(new base::ListValue());
96 return ret.Pass(); 100 return ret.Pass();
97 } 101 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 WebDriverLog* browser_log = new WebDriverLog("browser", browser_log_level); 142 WebDriverLog* browser_log = new WebDriverLog("browser", browser_log_level);
139 devtools_logs.push_back(browser_log); 143 devtools_logs.push_back(browser_log);
140 // If the level is OFF, don't even bother listening for DevTools events. 144 // If the level is OFF, don't even bother listening for DevTools events.
141 if (browser_log_level != WebDriverLog::kWdOff) 145 if (browser_log_level != WebDriverLog::kWdOff)
142 listeners.push_back(new ConsoleLogger(browser_log)); 146 listeners.push_back(new ConsoleLogger(browser_log));
143 147
144 out_devtools_logs->swap(devtools_logs); 148 out_devtools_logs->swap(devtools_logs);
145 out_listeners->swap(listeners); 149 out_listeners->swap(listeners);
146 return Status(kOk); 150 return Status(kOk);
147 } 151 }
OLDNEW
« 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