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

Side by Side Diff: chrome/browser/net/http_server_properties_manager.h

Issue 8833003: Revert 113315 (speculative revert for http://crbug.com/106657) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years 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 | Annotate | Revision Log
« no previous file with comments | « base/memory/mru_cache.h ('k') | chrome/browser/net/http_server_properties_manager.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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_ 5 #ifndef CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_
6 #define CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_ 6 #define CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/compiler_specific.h" 12 #include "base/compiler_specific.h"
13 #include "base/memory/scoped_ptr.h" 13 #include "base/memory/scoped_ptr.h"
14 #include "base/memory/weak_ptr.h" 14 #include "base/memory/weak_ptr.h"
15 #include "base/timer.h" 15 #include "base/timer.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/browser/prefs/pref_change_registrar.h" 17 #include "chrome/browser/prefs/pref_change_registrar.h"
18 #include "content/public/browser/notification_observer.h" 18 #include "content/public/browser/notification_observer.h"
19 #include "net/base/host_port_pair.h" 19 #include "net/base/host_port_pair.h"
20 #include "net/http/http_pipelined_host_capability.h"
21 #include "net/http/http_server_properties.h" 20 #include "net/http/http_server_properties.h"
22 #include "net/http/http_server_properties_impl.h" 21 #include "net/http/http_server_properties_impl.h"
23 22
24 class PrefService; 23 class PrefService;
25 24
26 namespace chrome_browser_net { 25 namespace chrome_browser_net {
27 26
28 //////////////////////////////////////////////////////////////////////////////// 27 ////////////////////////////////////////////////////////////////////////////////
29 // HttpServerPropertiesManager 28 // HttpServerPropertiesManager
30 29
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 virtual bool SetSpdySettings( 115 virtual bool SetSpdySettings(
117 const net::HostPortPair& host_port_pair, 116 const net::HostPortPair& host_port_pair,
118 const spdy::SpdySettings& settings) OVERRIDE; 117 const spdy::SpdySettings& settings) OVERRIDE;
119 118
120 // Clears all spdy_settings. 119 // Clears all spdy_settings.
121 virtual void ClearSpdySettings() OVERRIDE; 120 virtual void ClearSpdySettings() OVERRIDE;
122 121
123 // Returns all SpdySettings mappings. 122 // Returns all SpdySettings mappings.
124 virtual const net::SpdySettingsMap& spdy_settings_map() const OVERRIDE; 123 virtual const net::SpdySettingsMap& spdy_settings_map() const OVERRIDE;
125 124
126 virtual net::HttpPipelinedHostCapability GetPipelineCapability(
127 const net::HostPortPair& origin) OVERRIDE;
128
129 virtual void SetPipelineCapability(
130 const net::HostPortPair& origin,
131 net::HttpPipelinedHostCapability capability) OVERRIDE;
132
133 virtual void ClearPipelineCapabilities() OVERRIDE;
134
135 virtual net::PipelineCapabilityMap GetPipelineCapabilityMap() const OVERRIDE;
136
137 protected: 125 protected:
138 // -------------------- 126 // --------------------
139 // SPDY related methods 127 // SPDY related methods
140 128
141 // These are used to delay updating of the cached data in 129 // These are used to delay updating of the cached data in
142 // |http_server_properties_impl_| while the preferences are changing, and 130 // |http_server_properties_impl_| while the preferences are changing, and
143 // execute only one update per simultaneous prefs changes. 131 // execute only one update per simultaneous prefs changes.
144 void ScheduleUpdateCacheOnUI(); 132 void ScheduleUpdateCacheOnUI();
145 133
146 // Starts the timers to update the cached prefs. This are overridden in tests 134 // Starts the timers to update the cached prefs. This are overridden in tests
147 // to prevent the delay. 135 // to prevent the delay.
148 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay); 136 virtual void StartCacheUpdateTimerOnUI(base::TimeDelta delay);
149 137
150 // Update cached prefs in |http_server_properties_impl_| with data from 138 // Update cached prefs in |http_server_properties_impl_| with data from
151 // preferences. It gets the data on UI thread and calls 139 // preferences. It gets the data on UI thread and calls
152 // UpdateSpdyServersFromPrefsOnIO() to perform the update on IO thread. 140 // UpdateSpdyServersFromPrefsOnIO() to perform the update on IO thread.
153 virtual void UpdateCacheFromPrefsOnUI(); 141 virtual void UpdateCacheFromPrefsOnUI();
154 142
155 // Starts the update of cached prefs in |http_server_properties_impl_| on the 143 // Starts the update of cached prefs in |http_server_properties_impl_| on the
156 // IO thread. Protected for testing. 144 // IO thread. Protected for testing.
157 void UpdateCacheFromPrefsOnIO( 145 void UpdateCacheFromPrefsOnIO(
158 std::vector<std::string>* spdy_servers, 146 std::vector<std::string>* spdy_servers,
159 net::SpdySettingsMap* spdy_settings_map, 147 net::SpdySettingsMap* spdy_settings_map,
160 net::AlternateProtocolMap* alternate_protocol_map, 148 net::AlternateProtocolMap* alternate_protocol_map);
161 net::PipelineCapabilityMap* pipeline_capability_map);
162 149
163 // These are used to delay updating the preferences when cached data in 150 // These are used to delay updating the preferences when cached data in
164 // |http_server_properties_impl_| is changing, and execute only one update per 151 // |http_server_properties_impl_| is changing, and execute only one update per
165 // simultaneous spdy_servers or spdy_settings or alternate_protocol changes. 152 // simultaneous spdy_servers or spdy_settings or alternate_protocol changes.
166 void ScheduleUpdatePrefsOnIO(); 153 void ScheduleUpdatePrefsOnIO();
167 154
168 // Starts the timers to update the prefs from cache. This are overridden in 155 // Starts the timers to update the prefs from cache. This are overridden in
169 // tests to prevent the delay. 156 // tests to prevent the delay.
170 virtual void StartPrefsUpdateTimerOnIO(base::TimeDelta delay); 157 virtual void StartPrefsUpdateTimerOnIO(base::TimeDelta delay);
171 158
172 // Update prefs::kHttpServerProperties in preferences with the cached data 159 // Update prefs::kHttpServerProperties in preferences with the cached data
173 // from |http_server_properties_impl_|. This gets the data on IO thread and 160 // from |http_server_properties_impl_|. This gets the data on IO thread and
174 // posts a task (UpdatePrefsOnUI) to update the preferences UI thread. 161 // posts a task (UpdatePrefsOnUI) to update the preferences UI thread.
175 // Virtual for testing. 162 // Virtual for testing.
176 virtual void UpdatePrefsFromCacheOnIO(); 163 virtual void UpdatePrefsFromCacheOnIO();
177 164
178 // Update prefs::kHttpServerProperties preferences on UI thread. Protected for 165 // Update prefs::kHttpServerProperties preferences on UI thread. Protected for
179 // testing. 166 // testing.
180 void UpdatePrefsOnUI( 167 void UpdatePrefsOnUI(
181 base::ListValue* spdy_server_list, 168 base::ListValue* spdy_server_list,
182 net::SpdySettingsMap* spdy_settings_map, 169 net::SpdySettingsMap* spdy_settings_map,
183 net::AlternateProtocolMap* alternate_protocol_map, 170 net::AlternateProtocolMap* alternate_protocol_map);
184 net::PipelineCapabilityMap* pipeline_capability_map);
185 171
186 private: 172 private:
187 // Callback for preference changes. 173 // Callback for preference changes.
188 virtual void Observe(int type, 174 virtual void Observe(int type,
189 const content::NotificationSource& source, 175 const content::NotificationSource& source,
190 const content::NotificationDetails& details) OVERRIDE; 176 const content::NotificationDetails& details) OVERRIDE;
191 177
192 // --------- 178 // ---------
193 // UI thread 179 // UI thread
194 // --------- 180 // ---------
(...skipping 22 matching lines...) Expand all
217 io_prefs_update_timer_; 203 io_prefs_update_timer_;
218 204
219 scoped_ptr<net::HttpServerPropertiesImpl> http_server_properties_impl_; 205 scoped_ptr<net::HttpServerPropertiesImpl> http_server_properties_impl_;
220 206
221 DISALLOW_COPY_AND_ASSIGN(HttpServerPropertiesManager); 207 DISALLOW_COPY_AND_ASSIGN(HttpServerPropertiesManager);
222 }; 208 };
223 209
224 } // namespace chrome_browser_net 210 } // namespace chrome_browser_net
225 211
226 #endif // CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_ 212 #endif // CHROME_BROWSER_NET_HTTP_SERVER_PROPERTIES_MANAGER_H_
OLDNEW
« no previous file with comments | « base/memory/mru_cache.h ('k') | chrome/browser/net/http_server_properties_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698