// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CONTENT_BROWSER_MOCK_RESOURCE_CONTEXT_H_ #define CONTENT_BROWSER_MOCK_RESOURCE_CONTEXT_H_ #include "base/compiler_specific.h" #include "base/memory/ref_counted.h" #include "base/memory/scoped_ptr.h" #include "content/public/browser/resource_context.h" #include "net/url_request/url_request_context.h" namespace base { template <typename T> struct DefaultLazyInstanceTraits; } // namespace base namespace content { class MockResourceContext : public ResourceContext { public: // Note that this is a shared instance between all tests. Make no assumptions // regarding its members. Or you can construct a local version below. static MockResourceContext* GetInstance(); MockResourceContext(); explicit MockResourceContext(net::URLRequestContext* context); virtual ~MockResourceContext(); 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; virtual WebKitContext* GetWebKitContext() 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 #endif // CONTENT_BROWSER_MOCK_RESOURCE_CONTEXT_H_