#include "components/visitedlink/browser/visitedlink_delegate.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/content_browser_client.h"
-#include "content/public/browser/geolocation_permission_context.h"
#include "net/url_request/url_request_job_factory.h"
class GURL;
namespace content {
class ResourceContext;
+class SSLHostStateDelegate;
class WebContents;
}
+namespace data_reduction_proxy {
+class DataReductionProxyConfigurator;
+class DataReductionProxySettings;
+class DataReductionProxyStatisticsPrefs;
+}
+
namespace net {
class CookieStore;
}
static AwBrowserContext* FromWebContents(
content::WebContents* web_contents);
+ static void SetDataReductionProxyEnabled(bool enabled);
+ static void SetLegacyCacheRemovalDelayForTest(int delay_ms);
+
// Maps to BrowserMainParts::PreMainMessageLoopRun.
void PreMainMessageLoopRun();
void AddVisitedURLs(const std::vector<GURL>& urls);
net::URLRequestContextGetter* CreateRequestContext(
- content::ProtocolHandlerMap* protocol_handlers);
+ content::ProtocolHandlerMap* protocol_handlers,
+ content::URLRequestInterceptorScopedVector request_interceptors);
net::URLRequestContextGetter* CreateRequestContextForStoragePartition(
const base::FilePath& partition_path,
bool in_memory,
- content::ProtocolHandlerMap* protocol_handlers);
+ content::ProtocolHandlerMap* protocol_handlers,
+ content::URLRequestInterceptorScopedVector request_interceptors);
AwQuotaManagerBridge* GetQuotaManagerBridge();
AwFormDatabaseService* GetFormDatabaseService();
+
+ data_reduction_proxy::DataReductionProxySettings*
+ GetDataReductionProxySettings();
+
+ AwURLRequestContextGetter* GetAwURLRequestContext();
+
void CreateUserPrefServiceIfNecessary();
// content::BrowserContext implementation.
- virtual base::FilePath GetPath() const OVERRIDE;
- virtual bool IsOffTheRecord() const OVERRIDE;
- virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
+ virtual base::FilePath GetPath() const override;
+ virtual bool IsOffTheRecord() const override;
+ virtual net::URLRequestContextGetter* GetRequestContext() override;
virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(
- int renderer_child_id) OVERRIDE;
- virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
+ int renderer_child_id) override;
+ virtual net::URLRequestContextGetter* GetMediaRequestContext() override;
virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(
- int renderer_child_id) OVERRIDE;
+ int renderer_child_id) override;
virtual net::URLRequestContextGetter*
GetMediaRequestContextForStoragePartition(
- const base::FilePath& partition_path, bool in_memory) OVERRIDE;
- virtual void RequestMidiSysExPermission(
- int render_process_id,
- int render_view_id,
- int bridge_id,
- const GURL& requesting_frame,
- const MidiSysExPermissionCallback& callback) OVERRIDE;
- virtual void CancelMidiSysExPermissionRequest(
- int render_process_id,
- int render_view_id,
- int bridge_id,
- const GURL& requesting_frame) OVERRIDE;
- virtual void RequestProtectedMediaIdentifierPermission(
- int render_process_id,
- int render_view_id,
- int bridge_id,
- int group_id,
- const GURL& requesting_frame,
- const ProtectedMediaIdentifierPermissionCallback& callback) OVERRIDE;
- virtual void CancelProtectedMediaIdentifierPermissionRequests(int group_id)
- OVERRIDE;
- virtual content::ResourceContext* GetResourceContext() OVERRIDE;
+ const base::FilePath& partition_path, bool in_memory) override;
+ virtual content::ResourceContext* GetResourceContext() override;
virtual content::DownloadManagerDelegate*
- GetDownloadManagerDelegate() OVERRIDE;
- virtual content::GeolocationPermissionContext*
- GetGeolocationPermissionContext() OVERRIDE;
- virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
+ GetDownloadManagerDelegate() override;
+ virtual content::BrowserPluginGuestManager* GetGuestManager() override;
+ virtual storage::SpecialStoragePolicy* GetSpecialStoragePolicy() override;
+ virtual content::PushMessagingService* GetPushMessagingService() override;
+ virtual content::SSLHostStateDelegate* GetSSLHostStateDelegate() override;
// visitedlink::VisitedLinkDelegate implementation.
virtual void RebuildTable(
- const scoped_refptr<URLEnumerator>& enumerator) OVERRIDE;
+ const scoped_refptr<URLEnumerator>& enumerator) override;
private:
+ void CreateDataReductionProxyStatisticsIfNecessary();
+ static bool data_reduction_proxy_enabled_;
+
+ // Delay, in milliseconds, before removing the legacy cache dir.
+ // This is non-const for testing purposes.
+ static int legacy_cache_removal_delay_ms_;
+
// The file path where data for this context is persisted.
base::FilePath context_storage_path_;
JniDependencyFactory* native_factory_;
scoped_refptr<net::CookieStore> cookie_store_;
scoped_refptr<AwURLRequestContextGetter> url_request_context_getter_;
- scoped_refptr<content::GeolocationPermissionContext>
- geolocation_permission_context_;
scoped_refptr<AwQuotaManagerBridge> quota_manager_bridge_;
scoped_ptr<AwFormDatabaseService> form_database_service_;
scoped_ptr<PrefService> user_pref_service_;
+ scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator>
+ data_reduction_proxy_configurator_;
+ scoped_ptr<data_reduction_proxy::DataReductionProxyStatisticsPrefs>
+ data_reduction_proxy_statistics_;
+ scoped_ptr<data_reduction_proxy::DataReductionProxySettings>
+ data_reduction_proxy_settings_;
+
DISALLOW_COPY_AND_ASSIGN(AwBrowserContext);
};