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

Side by Side Diff: chrome/browser/profiles/profile_impl_io_data.h

Issue 734263003: Move data reduction proxy logic out of chrome and android webview network delegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test fix Created 6 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_PROFILES_PROFILE_IMPL_IO_DATA_H_ 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_
6 #define CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ 6 #define CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/containers/hash_tables.h" 10 #include "base/containers/hash_tables.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 12 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
13 #include "chrome/browser/net/chrome_url_request_context_getter.h" 13 #include "chrome/browser/net/chrome_url_request_context_getter.h"
14 #include "chrome/browser/profiles/profile_io_data.h" 14 #include "chrome/browser/profiles/profile_io_data.h"
15 #include "content/public/browser/cookie_store_factory.h" 15 #include "content/public/browser/cookie_store_factory.h"
16 16
17 class ChromeSdchPolicy; 17 class ChromeSdchPolicy;
18 18
19 namespace chrome_browser_net { 19 namespace chrome_browser_net {
20 class Predictor; 20 class Predictor;
21 } // namespace chrome_browser_net 21 } // namespace chrome_browser_net
22 22
23 namespace content { 23 namespace content {
24 class CookieCryptoDelegate; 24 class CookieCryptoDelegate;
25 } // namespace content 25 } // namespace content
26 26
27 namespace data_reduction_proxy {
28 class DataReductionProxyNetworkDelegate;
29 } // namespace data_reduction_proxy
30
27 namespace domain_reliability { 31 namespace domain_reliability {
28 class DomainReliabilityMonitor; 32 class DomainReliabilityMonitor;
29 } // namespace domain_reliability 33 } // namespace domain_reliability
30 34
31 namespace net { 35 namespace net {
32 class FtpTransactionFactory; 36 class FtpTransactionFactory;
33 class HttpServerProperties; 37 class HttpServerProperties;
34 class HttpServerPropertiesManager; 38 class HttpServerPropertiesManager;
35 class HttpTransactionFactory; 39 class HttpTransactionFactory;
36 class ProxyConfig; 40 class ProxyConfig;
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 152
149 Profile* const profile_; 153 Profile* const profile_;
150 154
151 mutable bool initialized_; 155 mutable bool initialized_;
152 156
153 DISALLOW_COPY_AND_ASSIGN(Handle); 157 DISALLOW_COPY_AND_ASSIGN(Handle);
154 }; 158 };
155 159
156 bool IsDataReductionProxyEnabled() const override; 160 bool IsDataReductionProxyEnabled() const override;
157 161
158 BooleanPrefMember* data_reduction_proxy_enabled() const {
159 return &data_reduction_proxy_enabled_;
160 }
161
162 private: 162 private:
163 friend class base::RefCountedThreadSafe<ProfileImplIOData>; 163 friend class base::RefCountedThreadSafe<ProfileImplIOData>;
164 164
165 struct LazyParams { 165 struct LazyParams {
166 LazyParams(); 166 LazyParams();
167 ~LazyParams(); 167 ~LazyParams();
168 168
169 // All of these parameters are intended to be read on the IO thread. 169 // All of these parameters are intended to be read on the IO thread.
170 base::FilePath cookie_path; 170 base::FilePath cookie_path;
171 base::FilePath channel_id_path; 171 base::FilePath channel_id_path;
172 base::FilePath cache_path; 172 base::FilePath cache_path;
173 int cache_max_size; 173 int cache_max_size;
174 base::FilePath media_cache_path; 174 base::FilePath media_cache_path;
175 int media_cache_max_size; 175 int media_cache_max_size;
176 base::FilePath extensions_cookie_path; 176 base::FilePath extensions_cookie_path;
177 base::FilePath infinite_cache_path; 177 base::FilePath infinite_cache_path;
178 content::CookieStoreConfig::SessionCookieMode session_cookie_mode; 178 content::CookieStoreConfig::SessionCookieMode session_cookie_mode;
179 scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy; 179 scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy;
180 }; 180 };
181 181
182 ProfileImplIOData(); 182 ProfileImplIOData();
183 ~ProfileImplIOData() override; 183 ~ProfileImplIOData() override;
184 184
185 void InitializeInternal(ProfileParams* profile_params, 185 void InitializeInternal(
186 content::ProtocolHandlerMap* protocol_handlers, 186 scoped_ptr<ChromeNetworkDelegate> chrome_network_delegate,
187 content::URLRequestInterceptorScopedVector 187 ProfileParams* profile_params,
188 request_interceptors) const override; 188 content::ProtocolHandlerMap* protocol_handlers,
189 content::URLRequestInterceptorScopedVector
190 request_interceptors) const override;
189 void InitializeExtensionsRequestContext( 191 void InitializeExtensionsRequestContext(
190 ProfileParams* profile_params) const override; 192 ProfileParams* profile_params) const override;
191 net::URLRequestContext* InitializeAppRequestContext( 193 net::URLRequestContext* InitializeAppRequestContext(
192 net::URLRequestContext* main_context, 194 net::URLRequestContext* main_context,
193 const StoragePartitionDescriptor& partition_descriptor, 195 const StoragePartitionDescriptor& partition_descriptor,
194 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory> 196 scoped_ptr<ProtocolHandlerRegistry::JobInterceptorFactory>
195 protocol_handler_interceptor, 197 protocol_handler_interceptor,
196 content::ProtocolHandlerMap* protocol_handlers, 198 content::ProtocolHandlerMap* protocol_handlers,
197 content::URLRequestInterceptorScopedVector request_interceptors) 199 content::URLRequestInterceptorScopedVector request_interceptors)
198 const override; 200 const override;
(...skipping 13 matching lines...) Expand all
212 net::URLRequestContext* app_context, 214 net::URLRequestContext* app_context,
213 const StoragePartitionDescriptor& partition_descriptor) const override; 215 const StoragePartitionDescriptor& partition_descriptor) const override;
214 216
215 // Deletes all network related data since |time|. It deletes transport 217 // Deletes all network related data since |time|. It deletes transport
216 // security state since |time| and also deletes HttpServerProperties data. 218 // security state since |time| and also deletes HttpServerProperties data.
217 // Works asynchronously, however if the |completion| callback is non-null, 219 // Works asynchronously, however if the |completion| callback is non-null,
218 // it will be posted on the UI thread once the removal process completes. 220 // it will be posted on the UI thread once the removal process completes.
219 void ClearNetworkingHistorySinceOnIOThread(base::Time time, 221 void ClearNetworkingHistorySinceOnIOThread(base::Time time,
220 const base::Closure& completion); 222 const base::Closure& completion);
221 223
224 mutable scoped_ptr<data_reduction_proxy::DataReductionProxyNetworkDelegate>
225 network_delegate_;
226
222 // Lazy initialization params. 227 // Lazy initialization params.
223 mutable scoped_ptr<LazyParams> lazy_params_; 228 mutable scoped_ptr<LazyParams> lazy_params_;
224 229
225 mutable scoped_ptr<net::HttpTransactionFactory> main_http_factory_; 230 mutable scoped_ptr<net::HttpTransactionFactory> main_http_factory_;
226 mutable scoped_ptr<net::FtpTransactionFactory> ftp_factory_; 231 mutable scoped_ptr<net::FtpTransactionFactory> ftp_factory_;
227 232
228 // Same as |ProfileIOData::http_server_properties_|, owned there to maintain 233 // Same as |ProfileIOData::http_server_properties_|, owned there to maintain
229 // destruction ordering. 234 // destruction ordering.
230 mutable net::HttpServerPropertiesManager* http_server_properties_manager_; 235 mutable net::HttpServerPropertiesManager* http_server_properties_manager_;
231 236
(...skipping 14 matching lines...) Expand all
246 251
247 // Parameters needed for isolated apps. 252 // Parameters needed for isolated apps.
248 base::FilePath profile_path_; 253 base::FilePath profile_path_;
249 int app_cache_max_size_; 254 int app_cache_max_size_;
250 int app_media_cache_max_size_; 255 int app_media_cache_max_size_;
251 256
252 DISALLOW_COPY_AND_ASSIGN(ProfileImplIOData); 257 DISALLOW_COPY_AND_ASSIGN(ProfileImplIOData);
253 }; 258 };
254 259
255 #endif // CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_ 260 #endif // CHROME_BROWSER_PROFILES_PROFILE_IMPL_IO_DATA_H_
OLDNEW
« no previous file with comments | « chrome/browser/profiles/off_the_record_profile_io_data.cc ('k') | chrome/browser/profiles/profile_impl_io_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698