Index: net/http/http_server_properties_manager.cc |
diff --git a/net/http/http_server_properties_manager.cc b/net/http/http_server_properties_manager.cc |
index 6a4aaaaf62691584e548501b3982f8b24ac08b47..96b18f3a36459be2a8acaa3d929bf88e4efd6597 100644 |
--- a/net/http/http_server_properties_manager.cc |
+++ b/net/http/http_server_properties_manager.cc |
@@ -65,6 +65,13 @@ const char kExpirationKey[] = "expiration"; |
const char kNetworkStatsKey[] = "network_stats"; |
const char kSrttKey[] = "srtt"; |
+std::unique_ptr<base::Value> NetLogCallback( |
+ const base::DictionaryValue& http_server_properties_dict, |
+ NetLogCaptureMode capture_mode) { |
+ return base::WrapUnique<base::DictionaryValue>( |
+ http_server_properties_dict.DeepCopy()); |
+} |
+ |
} // namespace |
//////////////////////////////////////////////////////////////////////////////// |
@@ -75,12 +82,16 @@ HttpServerPropertiesManager::PrefDelegate::~PrefDelegate() {} |
HttpServerPropertiesManager::HttpServerPropertiesManager( |
PrefDelegate* pref_delegate, |
scoped_refptr<base::SingleThreadTaskRunner> pref_task_runner, |
- scoped_refptr<base::SingleThreadTaskRunner> network_task_runner) |
+ scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, |
+ NetLog* net_log) |
: pref_task_runner_(std::move(pref_task_runner)), |
pref_delegate_(pref_delegate), |
setting_prefs_(false), |
is_initialized_(false), |
- network_task_runner_(std::move(network_task_runner)) { |
+ network_task_runner_(std::move(network_task_runner)), |
+ net_log_( |
+ NetLogWithSource::Make(net_log, |
+ NetLogSourceType::HTTP_SERVER_PROPERTIES)) { |
DCHECK(pref_task_runner_->RunsTasksInCurrentSequence()); |
DCHECK(pref_delegate_); |
pref_weak_ptr_factory_.reset( |
@@ -100,6 +111,7 @@ HttpServerPropertiesManager::~HttpServerPropertiesManager() { |
void HttpServerPropertiesManager::InitializeOnNetworkSequence() { |
DCHECK(network_task_runner_->RunsTasksInCurrentSequence()); |
+ net_log_.BeginEvent(NetLogEventType::HTTP_SERVER_PROPERTIES_INITIALIZATION); |
network_weak_ptr_factory_.reset( |
new base::WeakPtrFactory<HttpServerPropertiesManager>(this)); |
@@ -415,6 +427,8 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnPrefSequence() { |
const base::DictionaryValue& http_server_properties_dict = |
pref_delegate_->GetServerProperties(); |
+ net_log_.AddEvent(NetLogEventType::HTTP_SERVER_PROPERTIES_UPDATE_CACHE, |
+ base::Bind(&NetLogCallback, http_server_properties_dict)); |
int version = kMissingVersion; |
if (!http_server_properties_dict.GetIntegerWithoutPathExpansion(kVersionKey, |
&version)) { |
@@ -1052,6 +1066,8 @@ void HttpServerPropertiesManager::UpdatePrefsOnPrefThread( |
pref_delegate_->SetServerProperties(http_server_properties_dict); |
setting_prefs_ = false; |
+ net_log_.AddEvent(NetLogEventType::HTTP_SERVER_PROPERTIES_UPDATE_PREFS, |
+ base::Bind(&NetLogCallback, http_server_properties_dict)); |
// Note that |completion| will be fired after we have written everything to |
// the Preferences, but likely before these changes are serialized to disk. |
// This is not a problem though, as JSONPrefStore guarantees that this will |
@@ -1153,6 +1169,7 @@ void HttpServerPropertiesManager::OnHttpServerPropertiesChanged() { |
void HttpServerPropertiesManager::SetInitialized() { |
DCHECK(network_task_runner_->RunsTasksInCurrentSequence()); |
is_initialized_ = true; |
+ net_log_.EndEvent(NetLogEventType::HTTP_SERVER_PROPERTIES_INITIALIZATION); |
} |
} // namespace net |