diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 21:03:20 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-09 21:03:20 +0000 |
commit | df02acac84b909c194541c93eb25a3933b2b60cf (patch) | |
tree | ccd84a66926a2197dd25889141d1bf608f2baa36 /content/browser | |
parent | 69faf748560f4f9c98b5e81c1bc917a3b7d6e045 (diff) | |
download | chromium_src-df02acac84b909c194541c93eb25a3933b2b60cf.zip chromium_src-df02acac84b909c194541c93eb25a3933b2b60cf.tar.gz chromium_src-df02acac84b909c194541c93eb25a3933b2b60cf.tar.bz2 |
Make content::ResourceContext be a real interface like the rest of the Content API (i.e. don't have setters/getters on it, and make all the functions pure virtual).
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9369009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
60 files changed, 308 insertions, 444 deletions
diff --git a/content/browser/appcache/chrome_appcache_service.cc b/content/browser/appcache/chrome_appcache_service.cc index 1cb689d..2dbf2c8 100644 --- a/content/browser/appcache/chrome_appcache_service.cc +++ b/content/browser/appcache/chrome_appcache_service.cc @@ -22,7 +22,7 @@ ChromeAppCacheService::ChromeAppCacheService( void ChromeAppCacheService::InitializeOnIOThread( const FilePath& cache_path, - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); @@ -50,14 +50,14 @@ bool ChromeAppCacheService::CanLoadAppCache(const GURL& manifest_url, DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); // We don't prompt for read access. return content::GetContentClient()->browser()->AllowAppCache( - manifest_url, first_party, *resource_context_); + manifest_url, first_party, resource_context_); } bool ChromeAppCacheService::CanCreateAppCache( const GURL& manifest_url, const GURL& first_party) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); return content::GetContentClient()->browser()->AllowAppCache( - manifest_url, first_party, *resource_context_); + manifest_url, first_party, resource_context_); } void ChromeAppCacheService::Observe( diff --git a/content/browser/appcache/chrome_appcache_service.h b/content/browser/appcache/chrome_appcache_service.h index bb755cf..8ba1430 100644 --- a/content/browser/appcache/chrome_appcache_service.h +++ b/content/browser/appcache/chrome_appcache_service.h @@ -45,7 +45,7 @@ class CONTENT_EXPORT ChromeAppCacheService void InitializeOnIOThread( const FilePath& cache_path, // may be empty to use in-memory structures - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, scoped_refptr<quota::SpecialStoragePolicy> special_storage_policy); private: @@ -68,7 +68,7 @@ class CONTENT_EXPORT ChromeAppCacheService const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; content::NotificationRegistrar registrar_; FilePath cache_path_; diff --git a/content/browser/appcache/chrome_appcache_service_unittest.cc b/content/browser/appcache/chrome_appcache_service_unittest.cc index 78b2197..7e59dcb 100644 --- a/content/browser/appcache/chrome_appcache_service_unittest.cc +++ b/content/browser/appcache/chrome_appcache_service_unittest.cc @@ -73,7 +73,7 @@ ChromeAppCacheServiceTest::CreateAppCacheService( bool init_storage) { scoped_refptr<ChromeAppCacheService> appcache_service = new ChromeAppCacheService(NULL); - const content::ResourceContext* resource_context = NULL; + content::ResourceContext* resource_context = NULL; scoped_refptr<quota::MockSpecialStoragePolicy> mock_policy = new quota::MockSpecialStoragePolicy; mock_policy->AddProtected(kProtectedManifestURL.GetOrigin()); diff --git a/content/browser/download/download_manager_impl.cc b/content/browser/download/download_manager_impl.cc index dfbb367..918f447 100644 --- a/content/browser/download/download_manager_impl.cc +++ b/content/browser/download/download_manager_impl.cc @@ -74,7 +74,7 @@ void BeginDownload(const URLParams& url_params, const DownloadSaveInfo& save_info, ResourceDispatcherHost* resource_dispatcher_host, const RenderParams& render_params, - const content::ResourceContext* context) { + content::ResourceContext* context) { scoped_ptr<net::URLRequest> request( new net::URLRequest(url_params.url_, resource_dispatcher_host)); request->set_referrer(url_params.referrer_.spec()); @@ -94,7 +94,7 @@ void BeginDownload(const URLParams& url_params, DownloadResourceHandler::OnStartedCallback(), render_params.render_process_id_, render_params.render_view_id_, - *context); + context); } class MapValueIteratorAdapter { @@ -847,7 +847,7 @@ void DownloadManagerImpl::DownloadUrl( resource_dispatcher_host, RenderParams(web_contents->GetRenderProcessHost()->GetID(), web_contents->GetRenderViewHost()->routing_id()), - &web_contents->GetBrowserContext()->GetResourceContext())); + web_contents->GetBrowserContext()->GetResourceContext())); } void DownloadManagerImpl::AddObserver(Observer* observer) { diff --git a/content/browser/download/save_file_manager.cc b/content/browser/download/save_file_manager.cc index 0eace5ab..4406593 100644 --- a/content/browser/download/save_file_manager.cc +++ b/content/browser/download/save_file_manager.cc @@ -119,7 +119,7 @@ void SaveFileManager::SaveURL( int render_view_id, SaveFileCreateInfo::SaveFileSource save_source, const FilePath& file_full_path, - const content::ResourceContext& context, + content::ResourceContext* context, SavePackage* save_package) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); @@ -131,7 +131,7 @@ void SaveFileManager::SaveURL( BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, base::Bind(&SaveFileManager::OnSaveURL, this, url, referrer, - render_process_host_id, render_view_id, &context)); + render_process_host_id, render_view_id, context)); } else { // We manually start the save job. SaveFileCreateInfo* info = new SaveFileCreateInfo(file_full_path, @@ -356,13 +356,13 @@ void SaveFileManager::OnSaveURL( const GURL& referrer, int render_process_host_id, int render_view_id, - const content::ResourceContext* context) { + content::ResourceContext* context) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); resource_dispatcher_host_->BeginSaveFile(url, referrer, render_process_host_id, render_view_id, - *context); + context); } void SaveFileManager::OnRequireSaveJobFromOtherSource( diff --git a/content/browser/download/save_file_manager.h b/content/browser/download/save_file_manager.h index c2d512b..9b88405 100644 --- a/content/browser/download/save_file_manager.h +++ b/content/browser/download/save_file_manager.h @@ -102,7 +102,7 @@ class SaveFileManager int render_view_id, SaveFileCreateInfo::SaveFileSource save_source, const FilePath& file_full_path, - const content::ResourceContext& context, + content::ResourceContext* context, SavePackage* save_package); // Notifications sent from the IO thread and run on the file thread: @@ -210,7 +210,7 @@ class SaveFileManager const GURL& referrer, int render_process_host_id, int render_view_id, - const content::ResourceContext* context); + content::ResourceContext* context); // Handler for a notification sent to the IO thread for generating save id. void OnRequireSaveJobFromOtherSource(SaveFileCreateInfo* info); // Call ResourceDispatcherHost's CancelRequest method to execute cancel diff --git a/content/browser/mock_content_browser_client.cc b/content/browser/mock_content_browser_client.cc index d5b8547..015cc16 100644 --- a/content/browser/mock_content_browser_client.cc +++ b/content/browser/mock_content_browser_client.cc @@ -102,7 +102,7 @@ SkBitmap* MockContentBrowserClient::GetDefaultFavicon() { bool MockContentBrowserClient::AllowAppCache( const GURL& manifest_url, const GURL& first_party, - const content::ResourceContext& context) { + content::ResourceContext* context) { return true; } @@ -110,7 +110,7 @@ bool MockContentBrowserClient::AllowGetCookie( const GURL& url, const GURL& first_party, const net::CookieList& cookie_list, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id, int render_view_id) { return true; @@ -120,7 +120,7 @@ bool MockContentBrowserClient::AllowSetCookie( const GURL& url, const GURL& first_party, const std::string& cookie_line, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id, int render_view_id, net::CookieOptions* options) { @@ -128,7 +128,7 @@ bool MockContentBrowserClient::AllowSetCookie( } bool MockContentBrowserClient::AllowSaveLocalState( - const content::ResourceContext& context) { + content::ResourceContext* context) { return true; } @@ -137,14 +137,14 @@ bool MockContentBrowserClient::AllowWorkerDatabase( const string16& name, const string16& display_name, unsigned long estimated_size, - const content::ResourceContext& context, + content::ResourceContext* context, const std::vector<std::pair<int, int> >& render_views) { return true; } bool MockContentBrowserClient::AllowWorkerFileSystem( const GURL& url, - const content::ResourceContext& context, + content::ResourceContext* context, const std::vector<std::pair<int, int> >& render_views) { return true; } @@ -155,7 +155,7 @@ QuotaPermissionContext* } net::URLRequestContext* MockContentBrowserClient::OverrideRequestContextForURL( - const GURL& url, const content::ResourceContext& context) { + const GURL& url, content::ResourceContext* context) { return NULL; } @@ -194,7 +194,7 @@ void MockContentBrowserClient::RequestDesktopNotificationPermission( WebKit::WebNotificationPresenter::Permission MockContentBrowserClient::CheckDesktopNotificationPermission( const GURL& source_origin, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id) { return WebKit::WebNotificationPresenter::PermissionAllowed; } @@ -215,13 +215,13 @@ void MockContentBrowserClient::CancelDesktopNotification( bool MockContentBrowserClient::CanCreateWindow( const GURL& source_origin, WindowContainerType container_type, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id) { return true; } std::string MockContentBrowserClient::GetWorkerProcessTitle( - const GURL& url, const content::ResourceContext& context) { + const GURL& url, content::ResourceContext* context) { return std::string(); } diff --git a/content/browser/mock_content_browser_client.h b/content/browser/mock_content_browser_client.h index 4a0aaf3..7e22cfa 100644 --- a/content/browser/mock_content_browser_client.h +++ b/content/browser/mock_content_browser_client.h @@ -51,35 +51,35 @@ class MockContentBrowserClient : public ContentBrowserClient { virtual SkBitmap* GetDefaultFavicon() OVERRIDE; virtual bool AllowAppCache(const GURL& manifest_url, const GURL& first_party, - const content::ResourceContext& context) OVERRIDE; + content::ResourceContext* context) OVERRIDE; virtual bool AllowGetCookie(const GURL& url, const GURL& first_party, const net::CookieList& cookie_list, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id, int render_view_id) OVERRIDE; virtual bool AllowSetCookie(const GURL& url, const GURL& first_party, const std::string& cookie_line, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id, int render_view_id, net::CookieOptions* options) OVERRIDE; virtual bool AllowSaveLocalState( - const content::ResourceContext& context) OVERRIDE; + content::ResourceContext* context) OVERRIDE; virtual bool AllowWorkerDatabase( const GURL& url, const string16& name, const string16& display_name, unsigned long estimated_size, - const content::ResourceContext& context, + content::ResourceContext* context, const std::vector<std::pair<int, int> >& render_views) OVERRIDE; virtual bool AllowWorkerFileSystem( const GURL& url, - const content::ResourceContext& context, + content::ResourceContext* context, const std::vector<std::pair<int, int> >& render_views) OVERRIDE; virtual net::URLRequestContext* OverrideRequestContextForURL( - const GURL& url, const content::ResourceContext& context) OVERRIDE; + const GURL& url, content::ResourceContext* context) OVERRIDE; virtual QuotaPermissionContext* CreateQuotaPermissionContext() OVERRIDE; virtual void OpenItem(const FilePath& path) OVERRIDE; virtual void ShowItemInFolder(const FilePath& path) OVERRIDE; @@ -105,7 +105,7 @@ class MockContentBrowserClient : public ContentBrowserClient { virtual WebKit::WebNotificationPresenter::Permission CheckDesktopNotificationPermission( const GURL& source_origin, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id) OVERRIDE; virtual void ShowDesktopNotification( const content::ShowDesktopNotificationHostMsgParams& params, @@ -119,10 +119,10 @@ class MockContentBrowserClient : public ContentBrowserClient { virtual bool CanCreateWindow( const GURL& source_origin, WindowContainerType container_type, - const content::ResourceContext& context, + content::ResourceContext* context, int render_process_id) OVERRIDE; virtual std::string GetWorkerProcessTitle( - const GURL& url, const content::ResourceContext& context) OVERRIDE; + const GURL& url, content::ResourceContext* context) OVERRIDE; virtual void ResourceDispatcherHostCreated() OVERRIDE; virtual ui::Clipboard* GetClipboard() OVERRIDE; virtual MHTMLGenerationManager* GetMHTMLGenerationManager() OVERRIDE; diff --git a/content/browser/mock_resource_context.cc b/content/browser/mock_resource_context.cc index 3d8b4dd..3444a3d 100644 --- a/content/browser/mock_resource_context.cc +++ b/content/browser/mock_resource_context.cc @@ -17,11 +17,64 @@ MockResourceContext* MockResourceContext::GetInstance() { } MockResourceContext::MockResourceContext() - : test_request_context_(new TestURLRequestContext) { - set_request_context(test_request_context_); + : test_request_context_(new TestURLRequestContext), + media_observer_(NULL), + media_stream_manager_(NULL), + audio_manager_(NULL) { } + +MockResourceContext::MockResourceContext(net::URLRequestContext* context) + : test_request_context_(context), + media_observer_(NULL), + media_stream_manager_(NULL), + audio_manager_(NULL) { +} + MockResourceContext::~MockResourceContext() {} -void MockResourceContext::EnsureInitialized() const {} +net::HostResolver* MockResourceContext::GetHostResolver() { + return NULL; +} + +net::URLRequestContext* MockResourceContext::GetRequestContext() { + return test_request_context_; +} + +ChromeAppCacheService* MockResourceContext::GetAppCacheService() { + return NULL; +} + +webkit_database::DatabaseTracker* MockResourceContext::GetDatabaseTracker() { + return NULL; +} + +fileapi::FileSystemContext* MockResourceContext::GetFileSystemContext() { + return NULL; +} + +ChromeBlobStorageContext* MockResourceContext::GetBlobStorageContext() { + return NULL; +} + +quota::QuotaManager* MockResourceContext::GetQuotaManager() { + return NULL; +} + +HostZoomMap* MockResourceContext::GetHostZoomMap() { + return NULL; +} + +MediaObserver* MockResourceContext::GetMediaObserver() { + return media_observer_; +} + +media_stream::MediaStreamManager* + MockResourceContext::GetMediaStreamManager() { + return media_stream_manager_; +} + +AudioManager* MockResourceContext::GetAudioManager() { + return audio_manager_; +} } // namespace content diff --git a/content/browser/mock_resource_context.h b/content/browser/mock_resource_context.h index 3e1995d..d39952f 100644 --- a/content/browser/mock_resource_context.h +++ b/content/browser/mock_resource_context.h @@ -9,6 +9,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "content/browser/resource_context.h" +#include "net/url_request/url_request_context.h" namespace base { template <typename T> @@ -20,17 +21,45 @@ namespace content { class MockResourceContext : public ResourceContext { public: // Note that this is a shared instance between all tests. Make no assumptions - // regarding its members. + // regarding its members. Or you can construct a local version below. static MockResourceContext* GetInstance(); - private: - friend struct base::DefaultLazyInstanceTraits<MockResourceContext>; - MockResourceContext(); + explicit MockResourceContext(net::URLRequestContext* context); virtual ~MockResourceContext(); - virtual void EnsureInitialized() const OVERRIDE; - const scoped_refptr<net::URLRequestContext> test_request_context_; + void set_request_context(net::URLRequestContext* context) { + test_request_context_ = context; + } + + void set_media_observer(MediaObserver* observer) { + media_observer_ = observer; + } + void set_media_stream_manager(media_stream::MediaStreamManager* manager) { + media_stream_manager_ = manager; + } + void set_audio_manager(AudioManager* manager) { audio_manager_ = manager; } + + // ResourceContext implementation: + virtual net::HostResolver* GetHostResolver() OVERRIDE; + virtual net::URLRequestContext* GetRequestContext() OVERRIDE; + virtual ChromeAppCacheService* GetAppCacheService() OVERRIDE; + virtual webkit_database::DatabaseTracker* GetDatabaseTracker() OVERRIDE; + virtual fileapi::FileSystemContext* GetFileSystemContext() OVERRIDE; + virtual ChromeBlobStorageContext* GetBlobStorageContext() OVERRIDE; + virtual quota::QuotaManager* GetQuotaManager() OVERRIDE; + virtual HostZoomMap* GetHostZoomMap() OVERRIDE; + virtual MediaObserver* GetMediaObserver() OVERRIDE; + virtual media_stream::MediaStreamManager* GetMediaStreamManager() OVERRIDE; + virtual AudioManager* GetAudioManager() OVERRIDE; + + private: + friend struct base::DefaultLazyInstanceTraits<MockResourceContext>; + + scoped_refptr<net::URLRequestContext> test_request_context_; + MediaObserver* media_observer_; + media_stream::MediaStreamManager* media_stream_manager_; + AudioManager* audio_manager_; }; } // namespace content diff --git a/content/browser/plugin_data_remover_impl.cc b/content/browser/plugin_data_remover_impl.cc index 2340a78..35fde09 100644 --- a/content/browser/plugin_data_remover_impl.cc +++ b/content/browser/plugin_data_remover_impl.cc @@ -32,7 +32,7 @@ namespace content { // static PluginDataRemover* PluginDataRemover::Create( - const content::ResourceContext& resource_context) { + content::ResourceContext* resource_context) { return new PluginDataRemoverImpl(resource_context); } @@ -64,7 +64,7 @@ class PluginDataRemoverImpl::Context BrowserThread::DeleteOnIOThread> { public: Context(base::Time begin_time, - const content::ResourceContext& resource_context) + content::ResourceContext* resource_context) : event_(new base::WaitableEvent(true, false)), begin_time_(begin_time), is_removing_(false), @@ -116,7 +116,7 @@ class PluginDataRemoverImpl::Context return false; } - virtual const content::ResourceContext& GetResourceContext() OVERRIDE { + virtual content::ResourceContext* GetResourceContext() OVERRIDE { return resource_context_; } @@ -214,7 +214,7 @@ class PluginDataRemoverImpl::Context bool is_removing_; // The resource context for the profile. - const content::ResourceContext& resource_context_; + content::ResourceContext* resource_context_; // The channel is NULL until we have opened a connection to the plug-in // process. @@ -223,7 +223,7 @@ class PluginDataRemoverImpl::Context PluginDataRemoverImpl::PluginDataRemoverImpl( - const content::ResourceContext& resource_context) + content::ResourceContext* resource_context) : mime_type_(kFlashMimeType), resource_context_(resource_context) { } diff --git a/content/browser/plugin_data_remover_impl.h b/content/browser/plugin_data_remover_impl.h index 881f998..91e084c 100644 --- a/content/browser/plugin_data_remover_impl.h +++ b/content/browser/plugin_data_remover_impl.h @@ -14,8 +14,7 @@ class CONTENT_EXPORT PluginDataRemoverImpl : public content::PluginDataRemover { public: - explicit PluginDataRemoverImpl( - const content::ResourceContext& resource_context); + explicit PluginDataRemoverImpl(content::ResourceContext* resource_context); virtual ~PluginDataRemoverImpl(); // content::PluginDataRemover implementation: @@ -31,7 +30,7 @@ class CONTENT_EXPORT PluginDataRemoverImpl : public content::PluginDataRemover { std::string mime_type_; // The resource context for the profile. - const content::ResourceContext& resource_context_; + content::ResourceContext* resource_context_; // This allows this object to be deleted on the UI thread while it's still // being used on the IO thread. diff --git a/content/browser/plugin_process_host.cc b/content/browser/plugin_process_host.cc index ad8d074..03b5273 100644 --- a/content/browser/plugin_process_host.cc +++ b/content/browser/plugin_process_host.cc @@ -355,11 +355,11 @@ void PluginProcessHost::CancelRequests() { // static void PluginProcessHost::CancelPendingRequestsForResourceContext( - const content::ResourceContext* context) { + content::ResourceContext* context) { for (PluginProcessHostIterator host_it; !host_it.Done(); ++host_it) { PluginProcessHost* host = *host_it; for (size_t i = 0; i < host->pending_requests_.size(); ++i) { - if (&host->pending_requests_[i]->GetResourceContext() == context) { + if (host->pending_requests_[i]->GetResourceContext() == context) { host->pending_requests_[i]->OnError(); host->pending_requests_.erase(host->pending_requests_.begin() + i); --i; diff --git a/content/browser/plugin_process_host.h b/content/browser/plugin_process_host.h index d1b1171..af8a224 100644 --- a/content/browser/plugin_process_host.h +++ b/content/browser/plugin_process_host.h @@ -55,7 +55,7 @@ class CONTENT_EXPORT PluginProcessHost // the channel. virtual int ID() = 0; // Returns the resource context for the renderer requesting the channel. - virtual const content::ResourceContext& GetResourceContext() = 0; + virtual content::ResourceContext* GetResourceContext() = 0; virtual bool OffTheRecord() = 0; virtual void SetPluginInfo(const webkit::WebPluginInfo& info) = 0; virtual void OnFoundPluginProcessHost(PluginProcessHost* host) = 0; @@ -92,7 +92,7 @@ class CONTENT_EXPORT PluginProcessHost // Cancels all pending channel requests for the given resource context. static void CancelPendingRequestsForResourceContext( - const content::ResourceContext* context); + content::ResourceContext* context); // This function is called to cancel pending requests to open new channels. void CancelPendingRequest(Client* client); diff --git a/content/browser/plugin_service_filter.h b/content/browser/plugin_service_filter.h index 12bd114..cb86219 100644 --- a/content/browser/plugin_service_filter.h +++ b/content/browser/plugin_service_filter.h @@ -22,7 +22,7 @@ struct PluginServiceFilterParams { int render_process_id; int render_view_id; GURL page_url; - const ResourceContext* resource_context; + ResourceContext* resource_context; }; // Callback class to let the client filter the list of all installed plug-ins. diff --git a/content/browser/plugin_service_impl.cc b/content/browser/plugin_service_impl.cc index 4477b2f..bbd29bd 100644 --- a/content/browser/plugin_service_impl.cc +++ b/content/browser/plugin_service_impl.cc @@ -293,7 +293,7 @@ PpapiPluginProcessHost* PluginServiceImpl::FindOrStartPpapiPluginProcess( // This plugin isn't loaded by any plugin process, so create a new process. return PpapiPluginProcessHost::CreatePluginHost( *info, - client->GetResourceContext()->host_resolver()); + client->GetResourceContext()->GetHostResolver()); } PpapiPluginProcessHost* PluginServiceImpl::FindOrStartPpapiBrokerProcess( @@ -332,7 +332,7 @@ void PluginServiceImpl::OpenChannelToNpapiPlugin( render_process_id, render_view_id, page_url, - &client->GetResourceContext() + client->GetResourceContext() }; GetPlugins(base::Bind( &PluginServiceImpl::ForwardGetAllowedPluginForOpenChannelToPlugin, @@ -385,11 +385,11 @@ void PluginServiceImpl::GetAllowedPluginForOpenChannelToPlugin( const GURL& page_url, const std::string& mime_type, PluginProcessHost::Client* client, - const content::ResourceContext* resource_context) { + content::ResourceContext* resource_context) { webkit::WebPluginInfo info; bool allow_wildcard = true; bool found = GetPluginInfo( - render_process_id, render_view_id, *resource_context, + render_process_id, render_view_id, resource_context, url, page_url, mime_type, allow_wildcard, NULL, &info, NULL); FilePath plugin_path; @@ -436,7 +436,7 @@ bool PluginServiceImpl::GetPluginInfoArray( bool PluginServiceImpl::GetPluginInfo(int render_process_id, int render_view_id, - const content::ResourceContext& context, + content::ResourceContext* context, const GURL& url, const GURL& page_url, const std::string& mime_type, @@ -454,7 +454,7 @@ bool PluginServiceImpl::GetPluginInfo(int render_process_id, for (size_t i = 0; i < plugins.size(); ++i) { if (!filter_ || filter_->ShouldUsePlugin(render_process_id, render_view_id, - &context, + context, url, page_url, &plugins[i])) { diff --git a/content/browser/plugin_service_impl.h b/content/browser/plugin_service_impl.h index 4b74b58..602ca64 100644 --- a/content/browser/plugin_service_impl.h +++ b/content/browser/plugin_service_impl.h @@ -76,7 +76,7 @@ class CONTENT_EXPORT PluginServiceImpl std::vector<std::string>* actual_mime_types) OVERRIDE; virtual bool GetPluginInfo(int render_process_id, int render_view_id, - const content::ResourceContext& context, + content::ResourceContext* context, const GURL& url, const GURL& page_url, const std::string& mime_type, @@ -181,7 +181,7 @@ class CONTENT_EXPORT PluginServiceImpl const GURL& page_url, const std::string& mime_type, PluginProcessHost::Client* client, - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); // Helper so we can finish opening the channel after looking up the // plugin. diff --git a/content/browser/plugin_service_impl_browsertest.cc b/content/browser/plugin_service_impl_browsertest.cc index dbf3fee..0b2da49 100644 --- a/content/browser/plugin_service_impl_browsertest.cc +++ b/content/browser/plugin_service_impl_browsertest.cc @@ -36,7 +36,7 @@ void OpenChannel(PluginProcessHost::Client* client) { class MockPluginProcessHostClient : public PluginProcessHost::Client, public IPC::Channel::Listener { public: - MockPluginProcessHostClient(const content::ResourceContext& context) + MockPluginProcessHostClient(content::ResourceContext* context) : context_(context), channel_(NULL), set_plugin_info_called_(false) { @@ -50,7 +50,7 @@ class MockPluginProcessHostClient : public PluginProcessHost::Client, // Client implementation. virtual int ID() OVERRIDE { return 42; } virtual bool OffTheRecord() OVERRIDE { return false; } - virtual const content::ResourceContext& GetResourceContext() OVERRIDE { + virtual content::ResourceContext* GetResourceContext() OVERRIDE { return context_; } virtual void OnFoundPluginProcessHost(PluginProcessHost* host) OVERRIDE {} @@ -83,7 +83,7 @@ class MockPluginProcessHostClient : public PluginProcessHost::Client, MOCK_METHOD0(OnChannelListenError, void()); private: - const content::ResourceContext& context_; + content::ResourceContext* context_; IPC::Channel* channel_; bool set_plugin_info_called_; DISALLOW_COPY_AND_ASSIGN(MockPluginProcessHostClient); @@ -118,7 +118,7 @@ IN_PROC_BROWSER_TEST_F(PluginServiceTest, OpenChannelToPlugin) { // called since the request should get canceled before then. class MockCanceledPluginServiceClient : public PluginProcessHost::Client { public: - MockCanceledPluginServiceClient(const content::ResourceContext& context) + MockCanceledPluginServiceClient(content::ResourceContext* context) : context_(context), get_resource_context_called_(false) { } @@ -127,7 +127,7 @@ class MockCanceledPluginServiceClient : public PluginProcessHost::Client { // Client implementation. MOCK_METHOD0(ID, int()); - virtual const content::ResourceContext& GetResourceContext() OVERRIDE { + virtual content::ResourceContext* GetResourceContext() OVERRIDE { get_resource_context_called_ = true; return context_; } @@ -143,7 +143,7 @@ class MockCanceledPluginServiceClient : public PluginProcessHost::Client { } private: - const content::ResourceContext& context_; + content::ResourceContext* context_; bool get_resource_context_called_; DISALLOW_COPY_AND_ASSIGN(MockCanceledPluginServiceClient); @@ -185,7 +185,7 @@ class MockCanceledBeforeSentPluginProcessHostClient : public MockCanceledPluginServiceClient { public: MockCanceledBeforeSentPluginProcessHostClient( - const content::ResourceContext& context) + content::ResourceContext* context) : MockCanceledPluginServiceClient(context), set_plugin_info_called_(false), on_found_plugin_process_host_called_(false), @@ -258,7 +258,7 @@ class MockCanceledAfterSentPluginProcessHostClient : public MockCanceledBeforeSentPluginProcessHostClient { public: MockCanceledAfterSentPluginProcessHostClient( - const content::ResourceContext& context) + content::ResourceContext* context) : MockCanceledBeforeSentPluginProcessHostClient(context), on_sent_plugin_channel_request_called_(false) {} virtual ~MockCanceledAfterSentPluginProcessHostClient() {} diff --git a/content/browser/ppapi_plugin_process_host.h b/content/browser/ppapi_plugin_process_host.h index 7376321..6035b2ed 100644 --- a/content/browser/ppapi_plugin_process_host.h +++ b/content/browser/ppapi_plugin_process_host.h @@ -50,7 +50,7 @@ class PpapiPluginProcessHost : public content::BrowserChildProcessHostDelegate, class PluginClient : public Client { public: // Returns the resource context for the renderer requesting the channel. - virtual const content::ResourceContext* GetResourceContext() = 0; + virtual content::ResourceContext* GetResourceContext() = 0; }; class BrokerClient : public Client { diff --git a/content/browser/renderer_host/async_resource_handler.cc b/content/browser/renderer_host/async_resource_handler.cc index 4b1bf18..e8ca8ce 100644 --- a/content/browser/renderer_host/async_resource_handler.cc +++ b/content/browser/renderer_host/async_resource_handler.cc @@ -133,9 +133,8 @@ bool AsyncResourceHandler::OnResponseStarted( DevToolsNetLogObserver::PopulateResponseInfo(request, response); - const content::ResourceContext& resource_context = - filter_->resource_context(); - content::HostZoomMap* host_zoom_map = resource_context.host_zoom_map(); + content::ResourceContext* resource_context = filter_->resource_context(); + content::HostZoomMap* host_zoom_map = resource_context->GetHostZoomMap(); ResourceDispatcherHostRequestInfo* info = rdh_->InfoForRequest(request); if (info->resource_type() == ResourceType::MAIN_FRAME && host_zoom_map) { diff --git a/content/browser/renderer_host/buffered_resource_handler.cc b/content/browser/renderer_host/buffered_resource_handler.cc index 3f6b476..a42a586 100644 --- a/content/browser/renderer_host/buffered_resource_handler.cc +++ b/content/browser/renderer_host/buffered_resource_handler.cc @@ -307,7 +307,7 @@ bool BufferedResourceHandler::CompleteResponseStarted(int request_id) { scoped_refptr<ResourceHandler> handler( host_->CreateResourceHandlerForDownload( request_, - *info->context(), + info->context(), info->child_id(), info->route_id(), info->request_id(), @@ -371,7 +371,7 @@ bool BufferedResourceHandler::ShouldDownload(bool* need_plugin_list) { bool stale = false; webkit::WebPluginInfo plugin; bool found = PluginServiceImpl::GetInstance()->GetPluginInfo( - info->child_id(), info->route_id(), *info->context(), + info->child_id(), info->route_id(), info->context(), request_->url(), GURL(), type, allow_wildcard, &stale, &plugin, NULL); diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.cc b/content/browser/renderer_host/media/audio_input_renderer_host.cc index 4ab9413e..b35b509 100644 --- a/content/browser/renderer_host/media/audio_input_renderer_host.cc +++ b/content/browser/renderer_host/media/audio_input_renderer_host.cc @@ -27,7 +27,7 @@ AudioInputRendererHost::AudioEntry::AudioEntry() AudioInputRendererHost::AudioEntry::~AudioEntry() {} AudioInputRendererHost::AudioInputRendererHost( - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : resource_context_(resource_context) { } @@ -189,7 +189,7 @@ void AudioInputRendererHost::OnStartDevice(int stream_id, int session_id) { // Get access to the AudioInputDeviceManager to start the device. media_stream::AudioInputDeviceManager* audio_input_man = - resource_context_->media_stream_manager()->audio_input_device_manager(); + resource_context_->GetMediaStreamManager()->audio_input_device_manager(); // Add the session entry to the map. session_entries_[session_id] = stream_id; @@ -241,7 +241,7 @@ void AudioInputRendererHost::OnCreateStream(int stream_id, // latency path. See crbug.com/112472 for details. entry->writer.reset(writer.release()); entry->controller = media::AudioInputController::CreateLowLatency( - resource_context_->audio_manager(), + resource_context_->GetAudioManager(), this, audio_params, device_id, @@ -367,7 +367,7 @@ void AudioInputRendererHost::StopAndDeleteDevice(int session_id) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); media_stream::AudioInputDeviceManager* audio_input_man = - resource_context_->media_stream_manager()->audio_input_device_manager(); + resource_context_->GetMediaStreamManager()->audio_input_device_manager(); audio_input_man->Stop(session_id); // Delete the session entry. diff --git a/content/browser/renderer_host/media/audio_input_renderer_host.h b/content/browser/renderer_host/media/audio_input_renderer_host.h index bb3dc9b..f6d1873 100644 --- a/content/browser/renderer_host/media/audio_input_renderer_host.h +++ b/content/browser/renderer_host/media/audio_input_renderer_host.h @@ -99,7 +99,7 @@ class CONTENT_EXPORT AudioInputRendererHost // Called from UI thread from the owner of this object. explicit AudioInputRendererHost( - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; @@ -201,7 +201,7 @@ class CONTENT_EXPORT AudioInputRendererHost int LookupSessionById(int stream_id); // Used to get an instance of AudioInputDeviceManager. - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; // A map of stream IDs to audio sources. typedef std::map<int, AudioEntry*> AudioEntryMap; diff --git a/content/browser/renderer_host/media/audio_renderer_host.cc b/content/browser/renderer_host/media/audio_renderer_host.cc index d5f05e2..a853b32 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.cc +++ b/content/browser/renderer_host/media/audio_renderer_host.cc @@ -29,7 +29,7 @@ AudioRendererHost::AudioEntry::~AudioEntry() {} /////////////////////////////////////////////////////////////////////////////// // AudioRendererHost implementations. AudioRendererHost::AudioRendererHost( - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : resource_context_(resource_context), media_observer_(NULL) { } @@ -229,7 +229,7 @@ void AudioRendererHost::OnCreateStream( // entry and construct an AudioOutputController. entry->reader.reset(reader.release()); entry->controller = media::AudioOutputController::Create( - resource_context_->audio_manager(), this, audio_params, + resource_context_->GetAudioManager(), this, audio_params, entry->reader.get()); if (!entry->controller) { @@ -391,6 +391,6 @@ AudioRendererHost::AudioEntry* AudioRendererHost::LookupByController( MediaObserver* AudioRendererHost::media_observer() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); if (!media_observer_) - media_observer_ = resource_context_->media_observer(); + media_observer_ = resource_context_->GetMediaObserver(); return media_observer_; } diff --git a/content/browser/renderer_host/media/audio_renderer_host.h b/content/browser/renderer_host/media/audio_renderer_host.h index 9f3fe67..d7248f8 100644 --- a/content/browser/renderer_host/media/audio_renderer_host.h +++ b/content/browser/renderer_host/media/audio_renderer_host.h @@ -89,7 +89,7 @@ class CONTENT_EXPORT AudioRendererHost typedef std::map<int, AudioEntry*> AudioEntryMap; // Called from UI thread from the owner of this object. - AudioRendererHost(const content::ResourceContext* resource_context); + AudioRendererHost(content::ResourceContext* resource_context); // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; @@ -186,7 +186,7 @@ class CONTENT_EXPORT AudioRendererHost // A map of stream IDs to audio sources. AudioEntryMap audio_entries_; - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; MediaObserver* media_observer_; DISALLOW_COPY_AND_ASSIGN(AudioRendererHost); diff --git a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc index 49ff5e8..02efe7d 100644 --- a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc +++ b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc @@ -43,7 +43,7 @@ static bool IsRunningHeadless() { class MockAudioRendererHost : public AudioRendererHost { public: explicit MockAudioRendererHost( - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : AudioRendererHost(resource_context), shared_memory_length_(0) { } diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc index 33fc522..1f23529 100644 --- a/content/browser/renderer_host/media/media_stream_dispatcher_host.cc +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.cc @@ -25,7 +25,7 @@ struct MediaStreamDispatcherHost::StreamRequest { }; MediaStreamDispatcherHost::MediaStreamDispatcherHost( - const content::ResourceContext* resource_context, int render_process_id) + content::ResourceContext* resource_context, int render_process_id) : resource_context_(resource_context), render_process_id_(render_process_id) { } @@ -34,7 +34,7 @@ MediaStreamDispatcherHost::~MediaStreamDispatcherHost() { } MediaStreamManager* MediaStreamDispatcherHost::manager() { - return resource_context_->media_stream_manager(); + return resource_context_->GetMediaStreamManager(); } bool MediaStreamDispatcherHost::OnMessageReceived( diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host.h b/content/browser/renderer_host/media/media_stream_dispatcher_host.h index 478cdd8..6fa68c6 100644 --- a/content/browser/renderer_host/media/media_stream_dispatcher_host.h +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host.h @@ -28,7 +28,7 @@ class CONTENT_EXPORT MediaStreamDispatcherHost : public content::BrowserMessageFilter, public MediaStreamRequester { public: - MediaStreamDispatcherHost(const content::ResourceContext* resource_context, + MediaStreamDispatcherHost(content::ResourceContext* resource_context, int render_process_id); virtual ~MediaStreamDispatcherHost(); @@ -77,7 +77,7 @@ class CONTENT_EXPORT MediaStreamDispatcherHost // creating one if needed. MediaStreamManager* manager(); - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; int render_process_id_; struct StreamRequest; diff --git a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc index 0e3ba72..1b53c93 100644 --- a/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc +++ b/content/browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc @@ -303,7 +303,7 @@ TEST_F(MediaStreamDispatcherHostTest, FailDevice) { EXPECT_CALL(*host_, OnVideoDeviceFailed(kRenderId, 0)); int session_id = host_->video_devices_[0].session_id; - content::MockResourceContext::GetInstance()->media_stream_manager()-> + content::MockResourceContext::GetInstance()->GetMediaStreamManager()-> video_capture_manager()->Error(session_id); WaitForResult(); EXPECT_EQ(host_->video_devices_.size(), 0u); diff --git a/content/browser/renderer_host/media/video_capture_host.cc b/content/browser/renderer_host/media/video_capture_host.cc index cee39ee..e5cfdaa 100644 --- a/content/browser/renderer_host/media/video_capture_host.cc +++ b/content/browser/renderer_host/media/video_capture_host.cc @@ -38,8 +38,7 @@ struct VideoCaptureHost::Entry { video_capture::State state; }; -VideoCaptureHost::VideoCaptureHost( - const content::ResourceContext* resource_context) +VideoCaptureHost::VideoCaptureHost(content::ResourceContext* resource_context) : resource_context_(resource_context) { } @@ -286,5 +285,5 @@ void VideoCaptureHost::DoDeleteVideoCaptureController( media_stream::VideoCaptureManager* VideoCaptureHost::GetVideoCaptureManager() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - return resource_context_->media_stream_manager()->video_capture_manager(); + return resource_context_->GetMediaStreamManager()->video_capture_manager(); } diff --git a/content/browser/renderer_host/media/video_capture_host.h b/content/browser/renderer_host/media/video_capture_host.h index 26f1900..9ee7e1b 100644 --- a/content/browser/renderer_host/media/video_capture_host.h +++ b/content/browser/renderer_host/media/video_capture_host.h @@ -53,7 +53,7 @@ class CONTENT_EXPORT VideoCaptureHost : public content::BrowserMessageFilter, public VideoCaptureControllerEventHandler { public: - explicit VideoCaptureHost(const content::ResourceContext* resource_context); + explicit VideoCaptureHost(content::ResourceContext* resource_context); // content::BrowserMessageFilter implementation. virtual void OnChannelClosing() OVERRIDE; @@ -141,7 +141,7 @@ class CONTENT_EXPORT VideoCaptureHost EntryMap entries_; // Used to get a pointer to VideoCaptureManager to start/stop capture devices. - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost); }; diff --git a/content/browser/renderer_host/media/video_capture_host_unittest.cc b/content/browser/renderer_host/media/video_capture_host_unittest.cc index feedb27..19aa5fc 100644 --- a/content/browser/renderer_host/media/video_capture_host_unittest.cc +++ b/content/browser/renderer_host/media/video_capture_host_unittest.cc @@ -256,7 +256,7 @@ class VideoCaptureHostTest : public testing::Test { // Called on the main thread. static void PostQuitOnVideoCaptureManagerThread( MessageLoop* message_loop, content::ResourceContext* resource_context) { - resource_context->media_stream_manager()->video_capture_manager()-> + resource_context->GetMediaStreamManager()->video_capture_manager()-> GetMessageLoop()->PostTask(FROM_HERE, base::Bind(&PostQuitMessageLoop, message_loop)); diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc index 710a575..e871577 100644 --- a/content/browser/renderer_host/p2p/socket_dispatcher_host.cc +++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.cc @@ -101,7 +101,7 @@ class P2PSocketDispatcherHost::DnsRequest { }; P2PSocketDispatcherHost::P2PSocketDispatcherHost( - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : resource_context_(resource_context), monitoring_networks_(false) { } @@ -204,7 +204,7 @@ void P2PSocketDispatcherHost::OnGetHostAddress(const IPC::Message& msg, const std::string& host_name, int32 request_id) { DnsRequest* request = new DnsRequest( - msg.routing_id(), request_id, resource_context_->host_resolver()); + msg.routing_id(), request_id, resource_context_->GetHostResolver()); dns_requests_.insert(request); request->Resolve(host_name, base::Bind( &P2PSocketDispatcherHost::OnAddressResolved, diff --git a/content/browser/renderer_host/p2p/socket_dispatcher_host.h b/content/browser/renderer_host/p2p/socket_dispatcher_host.h index 25a3d50..9f664fe 100644 --- a/content/browser/renderer_host/p2p/socket_dispatcher_host.h +++ b/content/browser/renderer_host/p2p/socket_dispatcher_host.h @@ -21,7 +21,7 @@ class P2PSocketDispatcherHost : public content::BrowserMessageFilter, public net::NetworkChangeNotifier::IPAddressObserver { public: - P2PSocketDispatcherHost(const content::ResourceContext* resource_context); + P2PSocketDispatcherHost(content::ResourceContext* resource_context); virtual ~P2PSocketDispatcherHost(); // content::BrowserMessageFilter overrides. @@ -69,7 +69,7 @@ class P2PSocketDispatcherHost void OnAddressResolved(DnsRequest* request, const net::IPAddressNumber& result); - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; SocketsMap sockets_; diff --git a/content/browser/renderer_host/pepper_message_filter.cc b/content/browser/renderer_host/pepper_message_filter.cc index eaac07b..1078e5c 100644 --- a/content/browser/renderer_host/pepper_message_filter.cc +++ b/content/browser/renderer_host/pepper_message_filter.cc @@ -49,7 +49,7 @@ const uint32 kInvalidSocketID = 0; } // namespace PepperMessageFilter::PepperMessageFilter( - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : resource_context_(resource_context), host_resolver_(NULL), next_socket_id_(1) { @@ -102,7 +102,7 @@ bool PepperMessageFilter::OnMessageReceived(const IPC::Message& msg, net::HostResolver* PepperMessageFilter::GetHostResolver() { return resource_context_ ? - resource_context_->host_resolver() : host_resolver_; + resource_context_->GetHostResolver() : host_resolver_; } net::CertVerifier* PepperMessageFilter::GetCertVerifier() { diff --git a/content/browser/renderer_host/pepper_message_filter.h b/content/browser/renderer_host/pepper_message_filter.h index 8da6c92..e55a523 100644 --- a/content/browser/renderer_host/pepper_message_filter.h +++ b/content/browser/renderer_host/pepper_message_filter.h @@ -40,8 +40,7 @@ class HostResolver; // handle requests that out-of-process plugins send directly to the browser. class PepperMessageFilter : public content::BrowserMessageFilter { public: - explicit PepperMessageFilter( - const content::ResourceContext* resource_context); + explicit PepperMessageFilter(content::ResourceContext* resource_context); explicit PepperMessageFilter(net::HostResolver* host_resolver); virtual ~PepperMessageFilter(); @@ -123,7 +122,7 @@ class PepperMessageFilter : public content::BrowserMessageFilter { uint32 GenerateSocketID(); // When non-NULL, this should be used instead of the host_resolver_. - const content::ResourceContext* const resource_context_; + content::ResourceContext* const resource_context_; // When non-NULL, this should be used instead of the resource_context_. Use // GetHostResolver instead of accessing directly. diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc index 0e71899..f3b036a 100644 --- a/content/browser/renderer_host/render_message_filter.cc +++ b/content/browser/renderer_host/render_message_filter.cc @@ -115,7 +115,7 @@ class OpenChannelToPpapiPluginCallback public PpapiPluginProcessHost::PluginClient { public: OpenChannelToPpapiPluginCallback(RenderMessageFilter* filter, - const content::ResourceContext* context, + content::ResourceContext* context, IPC::Message* reply_msg) : RenderMessageCompletionCallback(filter, reply_msg), context_(context) { @@ -134,12 +134,12 @@ class OpenChannelToPpapiPluginCallback SendReplyAndDeleteThis(); } - virtual const content::ResourceContext* GetResourceContext() { + virtual content::ResourceContext* GetResourceContext() { return context_; } private: - const content::ResourceContext* context_; + content::ResourceContext* context_; }; class OpenChannelToPpapiBrokerCallback @@ -183,7 +183,7 @@ class RenderMessageFilter::OpenChannelToNpapiPluginCallback public PluginProcessHost::Client { public: OpenChannelToNpapiPluginCallback(RenderMessageFilter* filter, - const content::ResourceContext& context, + content::ResourceContext* context, IPC::Message* reply_msg) : RenderMessageCompletionCallback(filter, reply_msg), context_(context), @@ -195,7 +195,7 @@ class RenderMessageFilter::OpenChannelToNpapiPluginCallback return filter()->render_process_id(); } - virtual const content::ResourceContext& GetResourceContext() OVERRIDE { + virtual content::ResourceContext* GetResourceContext() OVERRIDE { return context_; } @@ -254,7 +254,7 @@ class RenderMessageFilter::OpenChannelToNpapiPluginCallback SendReplyAndDeleteThis(); } - const content::ResourceContext& context_; + content::ResourceContext* context_; webkit::WebPluginInfo info_; PluginProcessHost* host_; bool sent_plugin_channel_request_; @@ -587,7 +587,7 @@ void RenderMessageFilter::GetPluginsCallback( webkit::WebPluginInfo plugin(all_plugins[i]); if (!filter || filter->ShouldUsePlugin(child_process_id, routing_id, - &resource_context_, + resource_context_, GURL(), GURL(), &plugin)) { @@ -634,7 +634,7 @@ void RenderMessageFilter::OnOpenChannelToPepperPlugin( plugin_service_->OpenChannelToPpapiPlugin( path, new OpenChannelToPpapiPluginCallback( - this, &resource_context_, reply_msg)); + this, resource_context_, reply_msg)); } void RenderMessageFilter::OnOpenChannelToPpapiBroker(int routing_id, @@ -861,7 +861,8 @@ void RenderMessageFilter::AsyncOpenFileOnFileThread(const FilePath& path, } void RenderMessageFilter::OnMediaLogEvent(const media::MediaLogEvent& event) { - resource_context_.media_observer()->OnMediaEvent(render_process_id_, event); + resource_context_->GetMediaObserver()->OnMediaEvent( + render_process_id_, event); } void RenderMessageFilter::CheckPolicyForCookies( diff --git a/content/browser/renderer_host/render_message_filter.h b/content/browser/renderer_host/render_message_filter.h index 445bcd9..ab01f80 100644 --- a/content/browser/renderer_host/render_message_filter.h +++ b/content/browser/renderer_host/render_message_filter.h @@ -243,7 +243,7 @@ class RenderMessageFilter : public content::BrowserMessageFilter { scoped_refptr<net::URLRequestContextGetter> request_context_; // The ResourceContext which is to be used on the IO thread. - const content::ResourceContext& resource_context_; + content::ResourceContext* resource_context_; scoped_refptr<RenderWidgetHelper> render_widget_helper_; diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 4796585..5eb3c9b 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -447,8 +447,8 @@ void RenderProcessHostImpl::CreateMessageFilters() { widget_helper_)); channel_->AddFilter(render_message_filter); content::BrowserContext* browser_context = GetBrowserContext(); - const content::ResourceContext* resource_context = - &browser_context->GetResourceContext(); + content::ResourceContext* resource_context = + browser_context->GetResourceContext(); ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter( GetID(), content::PROCESS_TYPE_RENDERER, resource_context, diff --git a/content/browser/renderer_host/resource_dispatcher_host.cc b/content/browser/renderer_host/resource_dispatcher_host.cc index b925a85..41a735c 100644 --- a/content/browser/renderer_host/resource_dispatcher_host.cc +++ b/content/browser/renderer_host/resource_dispatcher_host.cc @@ -365,7 +365,7 @@ void ResourceDispatcherHost::AddResourceQueueDelegate( scoped_refptr<ResourceHandler> ResourceDispatcherHost::CreateResourceHandlerForDownload( net::URLRequest* request, - const content::ResourceContext& context, + content::ResourceContext* context, int child_id, int route_id, int request_id, @@ -535,12 +535,11 @@ void ResourceDispatcherHost::BeginRequest( transferred_navigations_.erase(iter); } - const content::ResourceContext& resource_context = - filter_->resource_context(); + content::ResourceContext* resource_context = filter_->resource_context(); // Might need to resolve the blob references in the upload data. if (request_data.upload_data) { - resource_context.blob_storage_context()->controller()-> + resource_context->GetBlobStorageContext()->controller()-> ResolveBlobReferencesInUploadData(request_data.upload_data.get()); } @@ -580,10 +579,10 @@ void ResourceDispatcherHost::BeginRequest( handler = new content::RedirectToFileResourceHandler(handler, child_id, this); - if (HandleExternalProtocol(request_id, child_id, route_id, - request_data.url, request_data.resource_type, - *resource_context.request_context()->job_factory(), - handler)) { + if (HandleExternalProtocol( + request_id, child_id, route_id, request_data.url, + request_data.resource_type, + *resource_context->GetRequestContext()->job_factory(), handler)) { return; } @@ -704,21 +703,21 @@ void ResourceDispatcherHost::BeginRequest( ResourceType::IsFrame(request_data.resource_type), // allow_download request_data.has_user_gesture, request_data.referrer_policy, - &resource_context); + resource_context); SetRequestInfo(request, extra_info); // Request takes ownership. if (request->url().SchemeIs(chrome::kBlobScheme)) { // Hang on to a reference to ensure the blob is not released prior // to the job being started. webkit_blob::BlobStorageController* controller = - resource_context.blob_storage_context()->controller(); + resource_context->GetBlobStorageContext()->controller(); extra_info->set_requested_blob_data( controller->GetBlobDataFromUrl(request->url())); } // Have the appcache associate its extra info with the request. appcache::AppCacheInterceptor::SetExtraRequestInfo( - request, resource_context.appcache_service(), child_id, + request, resource_context->GetAppCacheService(), child_id, request_data.appcache_host_id, request_data.resource_type); if (deferred_request) { @@ -855,7 +854,7 @@ ResourceDispatcherHostRequestInfo* ResourceDispatcherHost::CreateRequestInfo( int child_id, int route_id, bool download, - const content::ResourceContext& context) { + content::ResourceContext* context) { return new ResourceDispatcherHostRequestInfo( handler, content::PROCESS_TYPE_RENDERER, @@ -874,7 +873,7 @@ ResourceDispatcherHostRequestInfo* ResourceDispatcherHost::CreateRequestInfo( download, // allow_download false, // has_user_gesture WebKit::WebReferrerPolicyDefault, - &context); + context); } void ResourceDispatcherHost::OnSwapOutACK( @@ -919,12 +918,12 @@ net::Error ResourceDispatcherHost::BeginDownload( const DownloadResourceHandler::OnStartedCallback& started_cb, int child_id, int route_id, - const content::ResourceContext& context) { + content::ResourceContext* context) { if (is_shutdown_) return net::ERR_INSUFFICIENT_RESOURCES; const GURL& url = request->original_url(); - const net::URLRequestContext* request_context = context.request_context(); + const net::URLRequestContext* request_context = context->GetRequestContext(); request->set_referrer(MaybeStripReferrer(GURL(request->referrer())).spec()); request->set_context(request_context); int extra_load_flags = net::LOAD_IS_DOWNLOAD; @@ -977,7 +976,7 @@ void ResourceDispatcherHost::BeginSaveFile( const GURL& referrer, int child_id, int route_id, - const content::ResourceContext& context) { + content::ResourceContext* context) { if (is_shutdown_) return; @@ -988,7 +987,7 @@ void ResourceDispatcherHost::BeginSaveFile( save_file_manager_.get())); request_id_--; - const net::URLRequestContext* request_context = context.request_context(); + const net::URLRequestContext* request_context = context->GetRequestContext(); bool known_proto = request_context->job_factory()->IsHandledURL(url); if (!known_proto) { @@ -1005,7 +1004,7 @@ void ResourceDispatcherHost::BeginSaveFile( // So far, for saving page, we need fetch content from cache, in the // future, maybe we can use a configuration to configure this behavior. request->set_load_flags(net::LOAD_PREFERRING_CACHE); - request->set_context(context.request_context()); + request->set_context(context->GetRequestContext()); // Since we're just saving some resources we need, disallow downloading. ResourceDispatcherHostRequestInfo* extra_info = @@ -1188,7 +1187,7 @@ void ResourceDispatcherHost::CancelRequestsForRoute(int child_id, } void ResourceDispatcherHost::CancelRequestsForContext( - const content::ResourceContext* context) { + content::ResourceContext* context) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); DCHECK(context); @@ -1442,7 +1441,7 @@ bool ResourceDispatcherHost::CanGetCookies( return content::GetContentClient()->browser()->AllowGetCookie( request->url(), request->first_party_for_cookies(), cookie_list, - *info->context(), render_process_id, render_view_id); + info->context(), render_process_id, render_view_id); } bool ResourceDispatcherHost::CanSetCookie(const net::URLRequest* request, @@ -1457,7 +1456,7 @@ bool ResourceDispatcherHost::CanSetCookie(const net::URLRequest* request, const ResourceDispatcherHostRequestInfo* info = InfoForRequest(request); return content::GetContentClient()->browser()->AllowSetCookie( request->url(), request->first_party_for_cookies(), cookie_line, - *info->context(), render_process_id, render_view_id, options); + info->context(), render_process_id, render_view_id, options); } void ResourceDispatcherHost::OnResponseStarted(net::URLRequest* request) { diff --git a/content/browser/renderer_host/resource_dispatcher_host.h b/content/browser/renderer_host/resource_dispatcher_host.h index 2cbe3af..80c9337 100644 --- a/content/browser/renderer_host/resource_dispatcher_host.h +++ b/content/browser/renderer_host/resource_dispatcher_host.h @@ -91,7 +91,7 @@ class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { const DownloadResourceHandler::OnStartedCallback& started_cb, int child_id, int route_id, - const content::ResourceContext& context); + content::ResourceContext* context); // Initiates a save file from the browser process (as opposed to a resource // request from the renderer or another child process). @@ -99,7 +99,7 @@ class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { const GURL& referrer, int child_id, int route_id, - const content::ResourceContext& context); + content::ResourceContext* context); // Cancels the given request if it still exists. We ignore cancels from the // renderer in the event of a download. @@ -175,7 +175,7 @@ class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { // Force cancels any pending requests for the given |context|. This is // necessary to ensure that before |context| goes away, all requests // for it are dead. - void CancelRequestsForContext(const content::ResourceContext* context); + void CancelRequestsForContext(content::ResourceContext* context); // net::URLRequest::Delegate virtual void OnReceivedRedirect(net::URLRequest* request, @@ -277,7 +277,7 @@ class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { scoped_refptr<ResourceHandler> CreateResourceHandlerForDownload( net::URLRequest* request, - const content::ResourceContext& context, + content::ResourceContext* context, int child_id, int route_id, int request_id, @@ -428,7 +428,7 @@ class CONTENT_EXPORT ResourceDispatcherHost : public net::URLRequest::Delegate { int child_id, int route_id, bool download, - const content::ResourceContext& context); + content::ResourceContext* context); // Returns true if |request| is in |pending_requests_|. bool IsValidRequest(net::URLRequest* request); diff --git a/content/browser/renderer_host/resource_dispatcher_host_request_info.cc b/content/browser/renderer_host/resource_dispatcher_host_request_info.cc index defe16b..74e1a54 100644 --- a/content/browser/renderer_host/resource_dispatcher_host_request_info.cc +++ b/content/browser/renderer_host/resource_dispatcher_host_request_info.cc @@ -27,7 +27,7 @@ ResourceDispatcherHostRequestInfo::ResourceDispatcherHostRequestInfo( bool allow_download, bool has_user_gesture, WebKit::WebReferrerPolicy referrer_policy, - const content::ResourceContext* context) + content::ResourceContext* context) : resource_handler_(handler), cross_site_handler_(NULL), process_type_(process_type), diff --git a/content/browser/renderer_host/resource_dispatcher_host_request_info.h b/content/browser/renderer_host/resource_dispatcher_host_request_info.h index cf613ba..2296640 100644 --- a/content/browser/renderer_host/resource_dispatcher_host_request_info.h +++ b/content/browser/renderer_host/resource_dispatcher_host_request_info.h @@ -55,7 +55,7 @@ class ResourceDispatcherHostRequestInfo : public net::URLRequest::UserData { bool allow_download, bool has_user_gesture, WebKit::WebReferrerPolicy referrer_policy, - const content::ResourceContext* context); + content::ResourceContext* context); virtual ~ResourceDispatcherHostRequestInfo(); // Top-level ResourceHandler servicing this request. @@ -188,7 +188,7 @@ class ResourceDispatcherHostRequestInfo : public net::URLRequest::UserData { WebKit::WebReferrerPolicy referrer_policy() const { return referrer_policy_; } - const content::ResourceContext* context() const { return context_; } + content::ResourceContext* context() const { return context_; } private: friend class ResourceDispatcherHost; @@ -252,7 +252,7 @@ class ResourceDispatcherHostRequestInfo : public net::URLRequest::UserData { int memory_cost_; scoped_refptr<webkit_blob::BlobData> requested_blob_data_; WebKit::WebReferrerPolicy referrer_policy_; - const content::ResourceContext* context_; + content::ResourceContext* context_; // "Private" data accessible only to ResourceDispatcherHost (use the // accessors above for consistency). diff --git a/content/browser/renderer_host/resource_dispatcher_host_unittest.cc b/content/browser/renderer_host/resource_dispatcher_host_unittest.cc index e01752d..1a89561 100644 --- a/content/browser/renderer_host/resource_dispatcher_host_unittest.cc +++ b/content/browser/renderer_host/resource_dispatcher_host_unittest.cc @@ -174,7 +174,7 @@ class ForwardingFilter : public ResourceMessageFilter { content::PROCESS_TYPE_RENDERER, content::MockResourceContext::GetInstance(), new MockURLRequestContextSelector( - content::MockResourceContext::GetInstance()->request_context())), + content::MockResourceContext::GetInstance()->GetRequestContext())), dest_(dest) { OnChannelConnected(base::GetCurrentProcId()); } @@ -303,7 +303,7 @@ class TestResourceDispatcherHostDelegate virtual void RequestBeginning( net::URLRequest* request, - const content::ResourceContext& resource_context, + content::ResourceContext* resource_context, ResourceType::Type resource_type, int child_id, int route_id, @@ -315,7 +315,7 @@ class TestResourceDispatcherHostDelegate virtual bool ShouldDeferStart( net::URLRequest* request, - const content::ResourceContext& resource_context) OVERRIDE { + content::ResourceContext* resource_context) OVERRIDE { return defer_start_; } @@ -1299,7 +1299,7 @@ TEST_F(ResourceDispatcherHostTest, CancelRequestsForContext) { EXPECT_EQ(1, host_.pending_requests()); // Cancelling by context should work. - host_.CancelRequestsForContext(&filter_->resource_context()); + host_.CancelRequestsForContext(filter_->resource_context()); EXPECT_EQ(0, host_.pending_requests()); } @@ -1342,7 +1342,7 @@ TEST_F(ResourceDispatcherHostTest, CancelRequestsForContextTransferred) { EXPECT_EQ(1, host_.pending_requests()); // Cancelling by context should work. - host_.CancelRequestsForContext(&filter_->resource_context()); + host_.CancelRequestsForContext(filter_->resource_context()); EXPECT_EQ(0, host_.pending_requests()); } diff --git a/content/browser/renderer_host/resource_message_filter.cc b/content/browser/renderer_host/resource_message_filter.cc index 7c8497f..bb2dc2f 100644 --- a/content/browser/renderer_host/resource_message_filter.cc +++ b/content/browser/renderer_host/resource_message_filter.cc @@ -13,7 +13,7 @@ using content::BrowserMessageFilter; ResourceMessageFilter::ResourceMessageFilter( int child_id, content::ProcessType process_type, - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, URLRequestContextSelector* url_request_context_selector) : child_id_(child_id), process_type_(process_type), diff --git a/content/browser/renderer_host/resource_message_filter.h b/content/browser/renderer_host/resource_message_filter.h index c9f6d0d..50d5e1c 100644 --- a/content/browser/renderer_host/resource_message_filter.h +++ b/content/browser/renderer_host/resource_message_filter.h @@ -43,7 +43,7 @@ class CONTENT_EXPORT ResourceMessageFilter ResourceMessageFilter( int child_id, content::ProcessType process_type, - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, URLRequestContextSelector* url_request_context_selector); // content::BrowserMessageFilter implementation. @@ -51,8 +51,8 @@ class CONTENT_EXPORT ResourceMessageFilter virtual bool OnMessageReceived(const IPC::Message& message, bool* message_was_ok) OVERRIDE; - const content::ResourceContext& resource_context() const { - return *resource_context_; + content::ResourceContext* resource_context() const { + return resource_context_; } // Returns the net::URLRequestContext for the given request. @@ -73,7 +73,7 @@ class CONTENT_EXPORT ResourceMessageFilter content::ProcessType process_type_; // Owned by ProfileIOData* which is guaranteed to outlive us. - const content::ResourceContext* const resource_context_; + content::ResourceContext* resource_context_; const scoped_ptr<URLRequestContextSelector> url_request_context_selector_; diff --git a/content/browser/renderer_host/socket_stream_dispatcher_host.cc b/content/browser/renderer_host/socket_stream_dispatcher_host.cc index 25de8ad..f3c981e 100644 --- a/content/browser/renderer_host/socket_stream_dispatcher_host.cc +++ b/content/browser/renderer_host/socket_stream_dispatcher_host.cc @@ -17,7 +17,7 @@ SocketStreamDispatcherHost::SocketStreamDispatcherHost( ResourceMessageFilter::URLRequestContextSelector* selector, - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : url_request_context_selector_(selector), resource_context_(resource_context) { DCHECK(selector); @@ -109,7 +109,7 @@ void SocketStreamDispatcherHost::OnClose(net::SocketStream* socket) { bool SocketStreamDispatcherHost::CanGetCookies(net::SocketStream* socket, const GURL& url) { return content::GetContentClient()->browser()->AllowGetCookie( - url, url, net::CookieList(), *resource_context_, 0, MSG_ROUTING_NONE); + url, url, net::CookieList(), resource_context_, 0, MSG_ROUTING_NONE); } bool SocketStreamDispatcherHost::CanSetCookie(net::SocketStream* request, @@ -117,7 +117,7 @@ bool SocketStreamDispatcherHost::CanSetCookie(net::SocketStream* request, const std::string& cookie_line, net::CookieOptions* options) { return content::GetContentClient()->browser()->AllowSetCookie( - url, url, cookie_line, *resource_context_, 0, MSG_ROUTING_NONE, options); + url, url, cookie_line, resource_context_, 0, MSG_ROUTING_NONE, options); } // Message handlers called by OnMessageReceived. diff --git a/content/browser/renderer_host/socket_stream_dispatcher_host.h b/content/browser/renderer_host/socket_stream_dispatcher_host.h index 475d206..f5d2966 100644 --- a/content/browser/renderer_host/socket_stream_dispatcher_host.h +++ b/content/browser/renderer_host/socket_stream_dispatcher_host.h @@ -28,7 +28,7 @@ class SocketStreamDispatcherHost : public content::BrowserMessageFilter, public: SocketStreamDispatcherHost( ResourceMessageFilter::URLRequestContextSelector* selector, - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); virtual ~SocketStreamDispatcherHost(); // content::BrowserMessageFilter methods. @@ -65,7 +65,7 @@ class SocketStreamDispatcherHost : public content::BrowserMessageFilter, IDMap<SocketStreamHost> hosts_; const scoped_ptr<ResourceMessageFilter::URLRequestContextSelector> url_request_context_selector_; - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; DISALLOW_COPY_AND_ASSIGN(SocketStreamDispatcherHost); }; diff --git a/content/browser/resource_context.cc b/content/browser/resource_context.cc index 9704246..bdeeacec 100644 --- a/content/browser/resource_context.cc +++ b/content/browser/resource_context.cc @@ -11,21 +11,6 @@ namespace content { -ResourceContext::ResourceContext() - : host_resolver_(NULL), - request_context_(NULL), - appcache_service_(NULL), - database_tracker_(NULL), - file_system_context_(NULL), - blob_storage_context_(NULL), - quota_manager_(NULL), - host_zoom_map_(NULL), - media_observer_(NULL), - media_stream_manager_(NULL), - audio_manager_(NULL) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); -} - ResourceContext::~ResourceContext() { if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) { // Band-aid for http://crbug.com/94704 until we change plug-in channel @@ -34,148 +19,4 @@ ResourceContext::~ResourceContext() { } } -void* ResourceContext::GetUserData(const void* key) const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - UserDataMap::const_iterator found = user_data_.find(key); - if (found != user_data_.end()) - return found->second; - return NULL; -} - -void ResourceContext::SetUserData(const void* key, void* data) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - user_data_[key] = data; -} - -net::HostResolver* ResourceContext::host_resolver() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return host_resolver_; -} - -void ResourceContext::set_host_resolver( - net::HostResolver* host_resolver) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - host_resolver_ = host_resolver; -} - -net::URLRequestContext* ResourceContext::request_context() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return request_context_; -} - -void ResourceContext::set_request_context( - net::URLRequestContext* request_context) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - request_context_ = request_context; -} - -ChromeAppCacheService* ResourceContext::appcache_service() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return appcache_service_; -} - -void ResourceContext::set_appcache_service( - ChromeAppCacheService* appcache_service) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - appcache_service_ = appcache_service; -} - -webkit_database::DatabaseTracker* ResourceContext::database_tracker() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return database_tracker_; -} - -void ResourceContext::set_database_tracker( - webkit_database::DatabaseTracker* database_tracker) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - database_tracker_ = database_tracker; -} - -fileapi::FileSystemContext* ResourceContext::file_system_context() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return file_system_context_; -} - -void ResourceContext::set_file_system_context( - fileapi::FileSystemContext* context) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - file_system_context_ = context; -} - -ChromeBlobStorageContext* ResourceContext::blob_storage_context() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return blob_storage_context_; -} - -void ResourceContext::set_blob_storage_context( - ChromeBlobStorageContext* context) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - blob_storage_context_ = context; -} - -quota::QuotaManager* ResourceContext::quota_manager() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return quota_manager_; -} - -void ResourceContext::set_quota_manager( - quota::QuotaManager* quota_manager) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - quota_manager_ = quota_manager; -} - -HostZoomMap* ResourceContext::host_zoom_map() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return host_zoom_map_; -} - -void ResourceContext::set_host_zoom_map(HostZoomMap* host_zoom_map) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - host_zoom_map_ = host_zoom_map; -} - -MediaObserver* ResourceContext::media_observer() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return media_observer_; -} - -void ResourceContext::set_media_observer(MediaObserver* media_observer) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - media_observer_ = media_observer; -} - -media_stream::MediaStreamManager* -ResourceContext::media_stream_manager() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return media_stream_manager_; -} - -void ResourceContext::set_media_stream_manager( - media_stream::MediaStreamManager* media_stream_manager) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - media_stream_manager_ = media_stream_manager; -} - -AudioManager* ResourceContext::audio_manager() const { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - EnsureInitialized(); - return audio_manager_; -} - -void ResourceContext::set_audio_manager(AudioManager* audio_manager) { - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); - audio_manager_ = audio_manager; -} - } // namespace content diff --git a/content/browser/resource_context.h b/content/browser/resource_context.h index 61785fa..3b7cb17 100644 --- a/content/browser/resource_context.h +++ b/content/browser/resource_context.h @@ -39,74 +39,22 @@ class HostZoomMap; // ResourceContext contains the relevant context information required for // resource loading. It lives on the IO thread, although it is constructed on -// the UI thread. ResourceContext doesn't own anything it points to, it just -// holds pointers to relevant objects to resource loading. +// the UI thread. class CONTENT_EXPORT ResourceContext { public: - virtual ~ResourceContext(); - - // The user data allows the clients to associate data with this request. - // Multiple user data values can be stored under different keys. - void* GetUserData(const void* key) const; - void SetUserData(const void* key, void* data); - - net::HostResolver* host_resolver() const; - void set_host_resolver(net::HostResolver* host_resolver); - - net::URLRequestContext* request_context() const; - void set_request_context(net::URLRequestContext* request_context); - - ChromeAppCacheService* appcache_service() const; - void set_appcache_service(ChromeAppCacheService* service); - - webkit_database::DatabaseTracker* database_tracker() const; - void set_database_tracker(webkit_database::DatabaseTracker* tracker); - - fileapi::FileSystemContext* file_system_context() const; - void set_file_system_context(fileapi::FileSystemContext* context); - - ChromeBlobStorageContext* blob_storage_context() const; - void set_blob_storage_context(ChromeBlobStorageContext* context); - - quota::QuotaManager* quota_manager() const; - void set_quota_manager(quota::QuotaManager* quota_manager); - - HostZoomMap* host_zoom_map() const; - void set_host_zoom_map(HostZoomMap* host_zoom_map); - - MediaObserver* media_observer() const; - void set_media_observer(MediaObserver* media_observer); - - media_stream::MediaStreamManager* media_stream_manager() const; - void set_media_stream_manager( - media_stream::MediaStreamManager* media_stream_manager); - - AudioManager* audio_manager() const; - void set_audio_manager(AudioManager* audio_manager); - - protected: - ResourceContext(); - - private: - virtual void EnsureInitialized() const = 0; - - net::HostResolver* host_resolver_; - net::URLRequestContext* request_context_; - ChromeAppCacheService* appcache_service_; - webkit_database::DatabaseTracker* database_tracker_; - fileapi::FileSystemContext* file_system_context_; - ChromeBlobStorageContext* blob_storage_context_; - quota::QuotaManager* quota_manager_; - HostZoomMap* host_zoom_map_; - MediaObserver* media_observer_; - media_stream::MediaStreamManager* media_stream_manager_; - AudioManager* audio_manager_; - - // Externally-defined data accessible by key. - typedef std::map<const void*, void*> UserDataMap; - UserDataMap user_data_; - - DISALLOW_COPY_AND_ASSIGN(ResourceContext); + virtual ~ResourceContext(); + + virtual net::HostResolver* GetHostResolver() = 0; + virtual net::URLRequestContext* GetRequestContext() = 0; + virtual ChromeAppCacheService* GetAppCacheService() = 0; + virtual webkit_database::DatabaseTracker* GetDatabaseTracker() = 0; + virtual fileapi::FileSystemContext* GetFileSystemContext() = 0; + virtual ChromeBlobStorageContext* GetBlobStorageContext() = 0; + virtual quota::QuotaManager* GetQuotaManager() = 0; + virtual HostZoomMap* GetHostZoomMap() = 0; + virtual MediaObserver* GetMediaObserver() = 0; + virtual media_stream::MediaStreamManager* GetMediaStreamManager() = 0; + virtual AudioManager* GetAudioManager() = 0; }; } // namespace content diff --git a/content/browser/speech/speech_input_dispatcher_host.cc b/content/browser/speech/speech_input_dispatcher_host.cc index 8f4632c..e1f51690 100644 --- a/content/browser/speech/speech_input_dispatcher_host.cc +++ b/content/browser/speech/speech_input_dispatcher_host.cc @@ -116,7 +116,7 @@ SpeechInputDispatcherHost::SpeechInputDispatcherHost( int render_process_id, net::URLRequestContextGetter* context_getter, SpeechInputPreferences* speech_input_preferences, - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : render_process_id_(render_process_id), may_have_pending_requests_(false), context_getter_(context_getter), @@ -174,7 +174,7 @@ void SpeechInputDispatcherHost::OnStartRecognition( params.origin_url, context_getter_.get(), speech_input_preferences_.get(), - resource_context_->audio_manager()); + resource_context_->GetAudioManager()); } void SpeechInputDispatcherHost::OnCancelRecognition(int render_view_id, diff --git a/content/browser/speech/speech_input_dispatcher_host.h b/content/browser/speech/speech_input_dispatcher_host.h index a0b7d46..376b91f 100644 --- a/content/browser/speech/speech_input_dispatcher_host.h +++ b/content/browser/speech/speech_input_dispatcher_host.h @@ -31,7 +31,7 @@ class SpeechInputDispatcherHost : public content::BrowserMessageFilter, int render_process_id, net::URLRequestContextGetter* context_getter, SpeechInputPreferences* speech_input_preferences, - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); // SpeechInputManager::Delegate methods. virtual void SetRecognitionResult( @@ -64,7 +64,7 @@ class SpeechInputDispatcherHost : public content::BrowserMessageFilter, scoped_refptr<net::URLRequestContextGetter> context_getter_; scoped_refptr<SpeechInputPreferences> speech_input_preferences_; - const content::ResourceContext* resource_context_; + content::ResourceContext* resource_context_; static SpeechInputManager* manager_; diff --git a/content/browser/speech/speech_input_manager.cc b/content/browser/speech/speech_input_manager.cc index 17d6c7e..86c6a13 100644 --- a/content/browser/speech/speech_input_manager.cc +++ b/content/browser/speech/speech_input_manager.cc @@ -93,7 +93,7 @@ void SpeechInputManager::ShowAudioInputSettings(AudioManager* audio_manager) { // static void SpeechInputManager::ShowAudioInputSettingsFromUI( - const content::ResourceContext* resource_context) { + content::ResourceContext* resource_context) { if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { BrowserThread::PostTask( BrowserThread::IO, FROM_HERE, @@ -101,7 +101,7 @@ void SpeechInputManager::ShowAudioInputSettingsFromUI( base::Unretained(resource_context))); return; } - ShowAudioInputSettings(resource_context->audio_manager()); + ShowAudioInputSettings(resource_context->GetAudioManager()); } void SpeechInputManager::StartRecognition( diff --git a/content/browser/speech/speech_input_manager.h b/content/browser/speech/speech_input_manager.h index d78b0f9..309b9b2 100644 --- a/content/browser/speech/speech_input_manager.h +++ b/content/browser/speech/speech_input_manager.h @@ -57,7 +57,7 @@ class CONTENT_EXPORT SpeechInputManager : public SpeechRecognizerDelegate { // where the caller has a pointer to a resource context, but due to not // running on the IO thread, cannot access its properties. static void ShowAudioInputSettingsFromUI( - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); virtual ~SpeechInputManager(); diff --git a/content/browser/worker_host/worker_message_filter.cc b/content/browser/worker_host/worker_message_filter.cc index f543eaa..acd1364 100644 --- a/content/browser/worker_host/worker_message_filter.cc +++ b/content/browser/worker_host/worker_message_filter.cc @@ -16,7 +16,7 @@ using content::WorkerServiceImpl; WorkerMessageFilter::WorkerMessageFilter( int render_process_id, - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, const NextRoutingIDCallback& callback) : render_process_id_(render_process_id), resource_context_(resource_context), @@ -81,7 +81,7 @@ void WorkerMessageFilter::OnCreateWorker( *route_id = params.route_id != MSG_ROUTING_NONE ? params.route_id : next_routing_id_.Run(); WorkerServiceImpl::GetInstance()->CreateWorker( - params, *route_id, this, *resource_context_); + params, *route_id, this, resource_context_); } void WorkerMessageFilter::OnLookupSharedWorker( diff --git a/content/browser/worker_host/worker_message_filter.h b/content/browser/worker_host/worker_message_filter.h index c2dac0f..34b6264 100644 --- a/content/browser/worker_host/worker_message_filter.h +++ b/content/browser/worker_host/worker_message_filter.h @@ -24,7 +24,7 @@ class WorkerMessageFilter : public content::BrowserMessageFilter { // OnChannelClosing. WorkerMessageFilter( int render_process_id, - const content::ResourceContext* resource_context, + content::ResourceContext* resource_context, const NextRoutingIDCallback& callback); // content::BrowserMessageFilter implementation. @@ -50,7 +50,7 @@ class WorkerMessageFilter : public content::BrowserMessageFilter { void OnCreateMessagePort(int* route_id, int* message_port_id); int render_process_id_; - const content::ResourceContext* const resource_context_; + content::ResourceContext* const resource_context_; // This is guaranteed to be valid until OnChannelClosing is closed, and it's // not used after. diff --git a/content/browser/worker_host/worker_process_host.cc b/content/browser/worker_host/worker_process_host.cc index f84bff0..bbda08f 100644 --- a/content/browser/worker_host/worker_process_host.cc +++ b/content/browser/worker_host/worker_process_host.cc @@ -88,8 +88,7 @@ void WorkerCrashCallback(int render_process_unique_id, int render_view_id) { host->delegate()->WorkerCrashed(); } -WorkerProcessHost::WorkerProcessHost( - const content::ResourceContext* resource_context) +WorkerProcessHost::WorkerProcessHost(content::ResourceContext* resource_context) : resource_context_(resource_context) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); DCHECK(resource_context); @@ -204,7 +203,7 @@ bool WorkerProcessHost::Init(int render_process_id) { // requests them. // This is for the filesystem sandbox. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->file_system_context()-> + process_->GetData().id, resource_context_->GetFileSystemContext()-> sandbox_provider()->new_base_path(), base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_CREATE | @@ -221,7 +220,7 @@ bool WorkerProcessHost::Init(int render_process_id) { // This is so that we can read and move stuff out of the old filesystem // sandbox. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->file_system_context()-> + process_->GetData().id, resource_context_->GetFileSystemContext()-> sandbox_provider()->old_base_path(), base::PLATFORM_FILE_READ | base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_WRITE_ATTRIBUTES | @@ -229,7 +228,7 @@ bool WorkerProcessHost::Init(int render_process_id) { // This is so that we can rename the old sandbox out of the way so that // we know we've taken care of it. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->file_system_context()-> + process_->GetData().id, resource_context_->GetFileSystemContext()-> sandbox_provider()->renamed_old_base_path(), base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE); @@ -241,9 +240,8 @@ bool WorkerProcessHost::Init(int render_process_id) { } void WorkerProcessHost::CreateMessageFilters(int render_process_id) { - DCHECK(resource_context_); net::URLRequestContext* request_context = - resource_context_->request_context(); + resource_context_->GetRequestContext(); ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter( process_->GetData().id, content::PROCESS_TYPE_WORKER, resource_context_, @@ -256,16 +254,16 @@ void WorkerProcessHost::CreateMessageFilters(int render_process_id) { base::Unretained(WorkerServiceImpl::GetInstance()))); process_->GetHost()->AddFilter(worker_message_filter_); process_->GetHost()->AddFilter(new AppCacheDispatcherHost( - resource_context_->appcache_service(), process_->GetData().id)); + resource_context_->GetAppCacheService(), process_->GetData().id)); process_->GetHost()->AddFilter(new FileSystemDispatcherHost( - request_context, resource_context_->file_system_context())); + request_context, resource_context_->GetFileSystemContext())); process_->GetHost()->AddFilter(new FileUtilitiesMessageFilter( process_->GetData().id)); process_->GetHost()->AddFilter(new BlobMessageFilter( - process_->GetData().id, resource_context_->blob_storage_context())); + process_->GetData().id, resource_context_->GetBlobStorageContext())); process_->GetHost()->AddFilter(new MimeRegistryMessageFilter()); process_->GetHost()->AddFilter(new DatabaseMessageFilter( - resource_context_->database_tracker())); + resource_context_->GetDatabaseTracker())); SocketStreamDispatcherHost* socket_stream_dispatcher_host = new SocketStreamDispatcherHost( @@ -376,7 +374,7 @@ void WorkerProcessHost::OnAllowDatabase(int worker_route_id, unsigned long estimated_size, bool* result) { *result = content::GetContentClient()->browser()->AllowWorkerDatabase( - url, name, display_name, estimated_size, *resource_context_, + url, name, display_name, estimated_size, resource_context_, GetRenderViewIDsForWorker(worker_route_id)); } @@ -384,8 +382,7 @@ void WorkerProcessHost::OnAllowFileSystem(int worker_route_id, const GURL& url, bool* result) { *result = content::GetContentClient()->browser()->AllowWorkerFileSystem( - url, *resource_context_, - GetRenderViewIDsForWorker(worker_route_id)); + url, resource_context_, GetRenderViewIDsForWorker(worker_route_id)); } void WorkerProcessHost::RelayMessage( @@ -479,7 +476,7 @@ void WorkerProcessHost::UpdateTitle() { for (Instances::iterator i = instances_.begin(); i != instances_.end(); ++i) { // Allow the embedder first crack at special casing the title. std::string title = content::GetContentClient()->browser()-> - GetWorkerProcessTitle(i->url(), *resource_context_); + GetWorkerProcessTitle(i->url(), resource_context_); if (title.empty()) { title = net::RegistryControlledDomainService::GetDomainAndRegistry( @@ -555,7 +552,7 @@ WorkerProcessHost::WorkerInstance::WorkerInstance( int worker_route_id, int parent_process_id, int64 main_resource_appcache_id, - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : url_(url), closed_(false), name_(name), @@ -571,7 +568,7 @@ WorkerProcessHost::WorkerInstance::WorkerInstance( const GURL& url, bool shared, const string16& name, - const content::ResourceContext* resource_context) + content::ResourceContext* resource_context) : url_(url), closed_(false), name_(name), @@ -594,7 +591,7 @@ WorkerProcessHost::WorkerInstance::~WorkerInstance() { bool WorkerProcessHost::WorkerInstance::Matches( const GURL& match_url, const string16& match_name, - const content::ResourceContext* resource_context) const { + content::ResourceContext* resource_context) const { // Only match open shared workers. if (closed_) return false; diff --git a/content/browser/worker_host/worker_process_host.h b/content/browser/worker_host/worker_process_host.h index 837f714..850b761 100644 --- a/content/browser/worker_host/worker_process_host.h +++ b/content/browser/worker_host/worker_process_host.h @@ -44,12 +44,12 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, int worker_route_id, int parent_process_id, int64 main_resource_appcache_id, - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); // Used for pending instances. Rest of the parameters are ignored. WorkerInstance(const GURL& url, bool shared, const string16& name, - const content::ResourceContext* resource_context); + content::ResourceContext* resource_context); ~WorkerInstance(); // Unique identifier for a worker client. @@ -74,7 +74,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, bool Matches( const GURL& url, const string16& name, - const content::ResourceContext* resource_context) const; + content::ResourceContext* resource_context) const; // Shares the passed instance's WorkerDocumentSet with this instance. This // instance's current WorkerDocumentSet is dereferenced (and freed if this @@ -96,7 +96,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, WorkerDocumentSet* worker_document_set() const { return worker_document_set_; } - const content::ResourceContext* resource_context() const { + content::ResourceContext* resource_context() const { return resource_context_; } @@ -110,10 +110,10 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, int64 main_resource_appcache_id_; FilterList filters_; scoped_refptr<WorkerDocumentSet> worker_document_set_; - const content::ResourceContext* const resource_context_; + content::ResourceContext* const resource_context_; }; - explicit WorkerProcessHost(const content::ResourceContext* resource_context); + explicit WorkerProcessHost(content::ResourceContext* resource_context); virtual ~WorkerProcessHost(); // IPC::Message::Sender implementation: @@ -146,7 +146,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, typedef std::list<WorkerInstance> Instances; const Instances& instances() const { return instances_; } - const content::ResourceContext* resource_context() const { + content::ResourceContext* resource_context() const { return resource_context_; } @@ -191,7 +191,7 @@ class WorkerProcessHost : public content::BrowserChildProcessHostDelegate, Instances instances_; - const content::ResourceContext* const resource_context_; + content::ResourceContext* const resource_context_; // A reference to the filter associated with this worker process. We need to // keep this around since we'll use it when forward messages to the worker diff --git a/content/browser/worker_host/worker_service_impl.cc b/content/browser/worker_host/worker_service_impl.cc index 8190259..9784eb8 100644 --- a/content/browser/worker_host/worker_service_impl.cc +++ b/content/browser/worker_host/worker_service_impl.cc @@ -85,7 +85,7 @@ void WorkerServiceImpl::CreateWorker( const ViewHostMsg_CreateWorker_Params& params, int route_id, WorkerMessageFilter* filter, - const ResourceContext& resource_context) { + ResourceContext* resource_context) { // Generate a unique route id for the browser-worker communication that's // unique among all worker processes. That way when the worker process sends // a wrapped IPC message through us, we know which WorkerProcessHost to give @@ -96,7 +96,7 @@ void WorkerServiceImpl::CreateWorker( next_worker_route_id(), 0, params.script_resource_appcache_id, - &resource_context); + resource_context); instance.AddFilter(filter, route_id); instance.worker_document_set()->Add( filter, params.document_id, filter->render_process_id(), @@ -109,7 +109,7 @@ void WorkerServiceImpl::LookupSharedWorker( const ViewHostMsg_CreateWorker_Params& params, int route_id, WorkerMessageFilter* filter, - const ResourceContext* resource_context, + ResourceContext* resource_context, bool* exists, bool* url_mismatch) { *exists = true; @@ -292,7 +292,7 @@ bool WorkerServiceImpl::CreateWorkerFromInstance( // TODO(michaeln): As written, test can fail per my earlier comment in // this method, but that's a bug. - // DCHECK(worker->request_context() == instance.request_context()); + // DCHECK(worker->request_context() == instance.GetRequestContext()); worker->CreateWorker(instance); FOR_EACH_OBSERVER( @@ -506,7 +506,7 @@ void WorkerServiceImpl::NotifyWorkerDestroyed( WorkerProcessHost::WorkerInstance* WorkerServiceImpl::FindSharedWorkerInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context) { + ResourceContext* resource_context) { for (WorkerProcessHostIterator iter; !iter.Done(); ++iter) { for (WorkerProcessHost::Instances::iterator instance_iter = iter->mutable_instances().begin(); @@ -522,7 +522,7 @@ WorkerProcessHost::WorkerInstance* WorkerServiceImpl::FindSharedWorkerInstance( WorkerProcessHost::WorkerInstance* WorkerServiceImpl::FindPendingInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context) { + ResourceContext* resource_context) { // Walk the pending instances looking for a matching pending worker. for (WorkerProcessHost::Instances::iterator iter = pending_shared_workers_.begin(); @@ -539,7 +539,7 @@ WorkerProcessHost::WorkerInstance* WorkerServiceImpl::FindPendingInstance( void WorkerServiceImpl::RemovePendingInstances( const GURL& url, const string16& name, - const ResourceContext* resource_context) { + ResourceContext* resource_context) { // Walk the pending instances looking for a matching pending worker. for (WorkerProcessHost::Instances::iterator iter = pending_shared_workers_.begin(); @@ -555,7 +555,7 @@ void WorkerServiceImpl::RemovePendingInstances( WorkerProcessHost::WorkerInstance* WorkerServiceImpl::CreatePendingInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context) { + ResourceContext* resource_context) { // Look for an existing pending shared worker. WorkerProcessHost::WorkerInstance* instance = FindPendingInstance(url, name, resource_context); diff --git a/content/browser/worker_host/worker_service_impl.h b/content/browser/worker_host/worker_service_impl.h index 4d18d2c..7c07460 100644 --- a/content/browser/worker_host/worker_service_impl.h +++ b/content/browser/worker_host/worker_service_impl.h @@ -38,11 +38,11 @@ class CONTENT_EXPORT WorkerServiceImpl void CreateWorker(const ViewHostMsg_CreateWorker_Params& params, int route_id, WorkerMessageFilter* filter, - const ResourceContext& resource_context); + ResourceContext* resource_context); void LookupSharedWorker(const ViewHostMsg_CreateWorker_Params& params, int route_id, WorkerMessageFilter* filter, - const ResourceContext* resource_context, + ResourceContext* resource_context, bool* exists, bool* url_error); void CancelCreateDedicatedWorker(int route_id, WorkerMessageFilter* filter); @@ -116,20 +116,20 @@ class CONTENT_EXPORT WorkerServiceImpl WorkerProcessHost::WorkerInstance* CreatePendingInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context); + ResourceContext* resource_context); WorkerProcessHost::WorkerInstance* FindPendingInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context); + ResourceContext* resource_context); void RemovePendingInstances( const GURL& url, const string16& name, - const ResourceContext* resource_context); + ResourceContext* resource_context); WorkerProcessHost::WorkerInstance* FindSharedWorkerInstance( const GURL& url, const string16& name, - const ResourceContext* resource_context); + ResourceContext* resource_context); NotificationRegistrar registrar_; int next_worker_route_id_; |