Chromium Code Reviews| Index: net/base/net_log_util.cc |
| diff --git a/net/base/net_log_util.cc b/net/base/net_log_util.cc |
| index b8816bad919441a12428d49f79ffb19ddb6027bc..ce7979796f212ea5ff02e05a396d7fef48636330 100644 |
| --- a/net/base/net_log_util.cc |
| +++ b/net/base/net_log_util.cc |
| @@ -15,6 +15,7 @@ |
| #include "net/base/load_states.h" |
| #include "net/base/net_errors.h" |
| #include "net/base/net_log.h" |
| +#include "net/base/sdch_manager.h" |
| #include "net/disk_cache/disk_cache.h" |
| #include "net/dns/host_cache.h" |
| #include "net/dns/host_resolver.h" |
| @@ -66,6 +67,12 @@ const short kNetErrors[] = { |
| #undef NET_ERROR |
| }; |
| +const StringToConstant kSdchProblems[] = { |
| +#define SDCH_PROBLEM_CODE(label, value) { #label, value }, |
| +#include "net/base/sdch_problem_code_list.h" |
| +#undef SDCH_PROBLEM_CODE |
| +}; |
| + |
| const char* NetInfoSourceToString(NetInfoSource source) { |
| switch (source) { |
| #define NET_INFO_SOURCE(label, string, value) \ |
| @@ -187,6 +194,17 @@ scoped_ptr<base::DictionaryValue> GetNetConstants() { |
| constants_dict->Set("quicRstStreamError", dict); |
| } |
| + // Add information on the relationship between SDCH problem codes and their |
| + // symbolic names. |
| + { |
| + base::DictionaryValue* dict = new base::DictionaryValue(); |
| + |
| + for (size_t i = 0; i < arraysize(kSdchProblems); i++) |
| + dict->SetInteger(kSdchProblems[i].name, kSdchProblems[i].constant); |
| + |
| + constants_dict->Set("sdchProblemCode", dict); |
| + } |
| + |
| // Information about the relationship between event phase enums and their |
| // symbolic names. |
| { |
| @@ -455,6 +473,18 @@ NET_EXPORT scoped_ptr<base::DictionaryValue> GetNetInfo( |
| info_dict); |
| } |
| + if (info_sources & NET_INFO_SDCH) { |
| + base::Value* info_dict = nullptr; |
|
mmenke
2014/10/30 21:18:52
nit: No need to initialize. We're in trouble if
|
| + SdchManager* sdch_manager = context->sdch_manager(); |
| + if (sdch_manager) { |
| + info_dict = sdch_manager->SdchInfoToValue(); |
| + } else { |
| + info_dict = new base::DictionaryValue(); |
| + } |
| + net_info_dict->Set(NetInfoSourceToString(NET_INFO_SDCH), |
| + info_dict); |
| + } |
| + |
| return net_info_dict.Pass(); |
| } |