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 88a8466bedda45fbe54625d2c3655796f5e39de2..c81a2266a6e4e4526a54b9495ed1638c487ba50c 100644 |
--- a/net/http/http_server_properties_manager.cc |
+++ b/net/http/http_server_properties_manager.cc |
@@ -160,7 +160,7 @@ void HttpServerPropertiesManager::SetSupportsSpdy(const HostPortPair& server, |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetSupportsSpdy(server, support_spdy); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(SUPPORTS_SPDY); |
} |
bool HttpServerPropertiesManager::RequiresHTTP11(const HostPortPair& server) { |
@@ -173,7 +173,7 @@ void HttpServerPropertiesManager::SetHTTP11Required( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetHTTP11Required(server); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(HTTP_11_REQUIRED); |
} |
void HttpServerPropertiesManager::MaybeForceHTTP11(const HostPortPair& server, |
@@ -195,7 +195,7 @@ void HttpServerPropertiesManager::SetAlternativeService( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetAlternativeService( |
origin, alternative_service, alternative_probability); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(SET_ALTERNATIVE_SERVICE); |
} |
void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
@@ -203,7 +203,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceBroken( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->MarkAlternativeServiceBroken( |
alternative_service); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(MARK_ALTERNATIVE_SERVICE_BROKEN); |
} |
void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
@@ -211,7 +211,7 @@ void HttpServerPropertiesManager::MarkAlternativeServiceRecentlyBroken( |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->MarkAlternativeServiceRecentlyBroken( |
alternative_service); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(MARK_ALTERNATIVE_SERVICE_RECENTLY_BROKEN); |
} |
bool HttpServerPropertiesManager::IsAlternativeServiceBroken( |
@@ -232,14 +232,14 @@ void HttpServerPropertiesManager::ConfirmAlternativeService( |
const AlternativeService& alternative_service) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ConfirmAlternativeService(alternative_service); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(CONFIRM_ALTERNATIVE_SERVICE); |
} |
void HttpServerPropertiesManager::ClearAlternativeService( |
const HostPortPair& origin) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearAlternativeService(origin); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(CLEAR_ALTERNATIVE_SERVICE); |
} |
const AlternativeServiceMap& |
@@ -276,7 +276,7 @@ bool HttpServerPropertiesManager::SetSpdySetting( |
bool persist = http_server_properties_impl_->SetSpdySetting( |
host_port_pair, id, flags, value); |
if (persist) |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(SET_SPDY_SETTING); |
return persist; |
} |
@@ -284,13 +284,13 @@ void HttpServerPropertiesManager::ClearSpdySettings( |
const HostPortPair& host_port_pair) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearSpdySettings(host_port_pair); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(CLEAR_SPDY_SETTINGS); |
} |
void HttpServerPropertiesManager::ClearAllSpdySettings() { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->ClearAllSpdySettings(); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(CLEAR_ALL_SPDY_SETTINGS); |
} |
const SpdySettingsMap& HttpServerPropertiesManager::spdy_settings_map() |
@@ -310,7 +310,7 @@ void HttpServerPropertiesManager::SetSupportsQuic( |
const IPAddressNumber& address) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetSupportsQuic(used_quic, address); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(SET_SUPPORTS_QUIC); |
} |
void HttpServerPropertiesManager::SetServerNetworkStats( |
@@ -318,7 +318,7 @@ void HttpServerPropertiesManager::SetServerNetworkStats( |
ServerNetworkStats stats) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
http_server_properties_impl_->SetServerNetworkStats(host_port_pair, stats); |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(SET_SERVER_NETWORK_STATS); |
} |
const ServerNetworkStats* HttpServerPropertiesManager::GetServerNetworkStats( |
@@ -652,18 +652,22 @@ void HttpServerPropertiesManager::UpdateCacheFromPrefsOnNetworkThread( |
// Update the prefs with what we have read (delete all corrupted prefs). |
if (detected_corrupted_prefs) |
- ScheduleUpdatePrefsOnNetworkThread(); |
+ ScheduleUpdatePrefsOnNetworkThread(DETECTED_CORRUPTED_PREFS); |
} |
// |
// Update Preferences with data from the cached data. |
// |
-void HttpServerPropertiesManager::ScheduleUpdatePrefsOnNetworkThread() { |
+void HttpServerPropertiesManager::ScheduleUpdatePrefsOnNetworkThread( |
+ Location location) { |
DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); |
// Cancel pending updates, if any. |
network_prefs_update_timer_->Stop(); |
StartPrefsUpdateTimerOnNetworkThread( |
base::TimeDelta::FromMilliseconds(kUpdatePrefsDelayMs)); |
+ // TODO(rtenneti): Delete the following histogram after collecting some data. |
+ UMA_HISTOGRAM_ENUMERATION("Net.HttpServerProperties.UpdatePrefs", location, |
+ HttpServerPropertiesManager::NUM_LOCATIONS); |
} |
void HttpServerPropertiesManager::StartPrefsUpdateTimerOnNetworkThread( |