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

Unified Diff: net/base/net_log_logger.cc

Issue 574433002: Make the net logging code more compact. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 | « no previous file | net/cert/cert_status_flags_list.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/net_log_logger.cc
diff --git a/net/base/net_log_logger.cc b/net/base/net_log_logger.cc
index f6ac5dd7188c0c8e49f0eb105baa666c92264dec..fc4041d096ce44035ddbdac30ca8d90ae1c02979 100644
--- a/net/base/net_log_logger.cc
+++ b/net/base/net_log_logger.cc
@@ -77,14 +77,23 @@ base::DictionaryValue* NetLogLogger::GetConstants() {
// enums and their symbolic names.
constants_dict->Set("logEventTypes", net::NetLog::GetEventTypesAsValue());
+ struct StringToConstantTable {
+ const char* name;
+ const int constant;
+ };
mmenke 2014/09/15 14:06:08 nit: -2 indent, and blank line after struct defin
// Add a dictionary with information about the relationship between CertStatus
// flags and their symbolic names.
{
base::DictionaryValue* dict = new base::DictionaryValue();
-#define CERT_STATUS_FLAG(label, value) dict->SetInteger(#label, value);
+#define CERT_STATUS_FLAG(label, value) \
+ { #label, (value) },
mmenke 2014/09/15 14:06:08 Can these defines all fit on one row? (Except per
mmenke 2014/09/15 14:06:08 Any reason value is in parentheses here, but not e
Daniel Bratell 2014/09/15 16:11:51 I had a compiler error I thought was because of th
+ static const StringToConstantTable certStatusFlags[] = {
mmenke 2014/09/15 14:06:08 constants should use kConstantNamingScheme
mmenke 2014/09/15 14:06:08 Don't use static: It makes this code potentially
#include "net/cert/cert_status_flags_list.h"
+ };
#undef CERT_STATUS_FLAG
mmenke 2014/09/15 14:06:08 optional: I think these are little more readable
Daniel Bratell 2014/09/15 16:11:51 Good suggestion! It did make it more readable!
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(certStatusFlags); i++)
+ dict->SetInteger(certStatusFlags[i].name, certStatusFlags[i].constant);
constants_dict->Set("certStatusFlag", dict);
}
@@ -95,9 +104,13 @@ base::DictionaryValue* NetLogLogger::GetConstants() {
base::DictionaryValue* dict = new base::DictionaryValue();
#define LOAD_FLAG(label, value) \
- dict->SetInteger(# label, static_cast<int>(value));
+ { #label, value },
+ static const StringToConstantTable loadFlags[] = {
#include "net/base/load_flags_list.h"
+ }; // End loadFlags.
#undef LOAD_FLAG
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(loadFlags); i++)
mmenke 2014/09/15 14:06:08 Looks like we aren't including the header for ARRA
+ dict->SetInteger(loadFlags[i].name, loadFlags[i].constant);
constants_dict->Set("loadFlag", dict);
}
@@ -108,9 +121,13 @@ base::DictionaryValue* NetLogLogger::GetConstants() {
base::DictionaryValue* dict = new base::DictionaryValue();
#define LOAD_STATE(label) \
- dict->SetInteger(# label, net::LOAD_STATE_ ## label);
+ { # label, net::LOAD_STATE_ ## label },
mmenke 2014/09/15 14:06:08 Believe this should use a 2-space indent, like the
mmenke 2014/09/15 14:37:41 Sorry, that should have been 4-space indent.
+ static const StringToConstantTable loadStateTable[] = {
#include "net/base/load_states_list.h"
+ }; // End loadStateTable.
mmenke 2014/09/15 14:06:08 optional nit: I don't think this comment adds any
#undef LOAD_STATE
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(loadStateTable); i++)
+ dict->SetInteger(loadStateTable[i].name, loadStateTable[i].constant);
constants_dict->Set("loadState", dict);
}
@@ -120,10 +137,13 @@ base::DictionaryValue* NetLogLogger::GetConstants() {
{
base::DictionaryValue* dict = new base::DictionaryValue();
-#define NET_ERROR(label, value) \
- dict->SetInteger(ErrorToShortString(value), static_cast<int>(value));
+#define NET_ERROR(label, value) value,
+ static const int errorList[] = {
#include "net/base/net_error_list.h"
+ }; // end errorList.
#undef NET_ERROR
+ for (size_t i = 0; i < ARRAYSIZE_UNSAFE(errorList); i++)
+ dict->SetInteger(ErrorToShortString(errorList[i]), errorList[i]);
constants_dict->Set("netError", dict);
}
« no previous file with comments | « no previous file | net/cert/cert_status_flags_list.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698