electron/brightray/browser/browser_context.h

69 lines
2.4 KiB
C
Raw Normal View History

2013-03-13 19:12:05 +00:00
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE-CHROMIUM file.
#ifndef BRIGHTRAY_BROWSER_BROWSER_CONTEXT_H_
#define BRIGHTRAY_BROWSER_BROWSER_CONTEXT_H_
2013-03-13 19:12:05 +00:00
#include "content/public/browser/browser_context.h"
#include "content/public/browser/content_browser_client.h"
class PrefRegistrySimple;
class PrefService;
2013-03-13 19:12:05 +00:00
namespace brightray {
class DownloadManagerDelegate;
class NetworkDelegate;
2013-03-13 19:12:05 +00:00
class URLRequestContextGetter;
class BrowserContext : public content::BrowserContext {
public:
BrowserContext();
~BrowserContext();
void Initialize();
2013-03-13 19:12:05 +00:00
net::URLRequestContextGetter* CreateRequestContext(content::ProtocolHandlerMap*);
PrefService* prefs() { return prefs_.get(); }
protected:
// Subclasses should override this to register custom preferences.
virtual void RegisterPrefs(PrefRegistrySimple*) {}
// Subclasses should override this to provide a custom NetworkDelegate implementation.
virtual scoped_ptr<NetworkDelegate> CreateNetworkDelegate();
virtual base::FilePath GetPath() OVERRIDE;
2013-03-13 19:12:05 +00:00
private:
class ResourceContext;
void RegisterInternalPrefs(PrefRegistrySimple*);
2013-03-13 19:12:05 +00:00
virtual bool IsOffTheRecord() const OVERRIDE;
virtual net::URLRequestContextGetter* GetRequestContext() OVERRIDE;
virtual net::URLRequestContextGetter* GetRequestContextForRenderProcess(int renderer_child_id);
virtual net::URLRequestContextGetter* GetMediaRequestContext() OVERRIDE;
virtual net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(int renderer_child_id) OVERRIDE;
virtual net::URLRequestContextGetter* GetMediaRequestContextForStoragePartition(const base::FilePath& partition_path, bool in_memory);
virtual content::ResourceContext* GetResourceContext() OVERRIDE;
virtual content::DownloadManagerDelegate* GetDownloadManagerDelegate() OVERRIDE;
virtual content::GeolocationPermissionContext* GetGeolocationPermissionContext() OVERRIDE;
virtual content::SpeechRecognitionPreferences* GetSpeechRecognitionPreferences() OVERRIDE;
virtual quota::SpecialStoragePolicy* GetSpecialStoragePolicy() OVERRIDE;
base::FilePath path_;
2013-03-13 19:12:05 +00:00
scoped_ptr<ResourceContext> resource_context_;
scoped_refptr<URLRequestContextGetter> url_request_getter_;
scoped_ptr<PrefService> prefs_;
scoped_ptr<DownloadManagerDelegate> download_manager_delegate_;
2013-03-13 19:12:05 +00:00
DISALLOW_COPY_AND_ASSIGN(BrowserContext);
};
}
#endif