Chromium Code Reviews| Index: content/public/test/test_browser_context.cc |
| =================================================================== |
| --- content/public/test/test_browser_context.cc (revision 156155) |
| +++ content/public/test/test_browser_context.cc (working copy) |
| @@ -7,9 +7,63 @@ |
| #include "base/file_path.h" |
| #include "content/public/test/mock_resource_context.h" |
| #include "net/url_request/url_request_context.h" |
| +#include "net/url_request/url_request_context_getter.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| #include "webkit/quota/special_storage_policy.h" |
| +namespace { |
| + |
| +// A silly class to satisfy net::URLRequestsContextGetter requirement |
| +// for a task runner. Threading requirements don't matter for this |
| +// test scafolding. |
| +class AnyThreadNonTaskRunner : public base::SingleThreadTaskRunner { |
| + public: |
| + virtual bool RunsTasksOnCurrentThread() const OVERRIDE { |
| + return true; |
| + } |
| + |
| + virtual bool PostDelayedTask(const tracked_objects::Location& from_here, |
| + const base::Closure& task, |
| + base::TimeDelta delay) OVERRIDE { |
| + NOTREACHED(); |
| + return false; |
| + } |
| + |
| + virtual bool PostNonNestableDelayedTask( |
| + const tracked_objects::Location& from_here, |
| + const base::Closure& task, |
| + base::TimeDelta delay) OVERRIDE { |
| + NOTREACHED(); |
| + return false; |
| + } |
|
awong
2012/09/15 00:33:29
IIRC, this needs a private destructor or clang wil
michaeln
2012/09/15 01:50:56
Done.
|
| +}; |
| + |
| +class TestContextURLRequestContextGetter : public net::URLRequestContextGetter { |
| + public: |
| + TestContextURLRequestContextGetter(net::URLRequestContext* context) |
| + : context_(context), |
| + any_thread_non_task_runner_(new AnyThreadNonTaskRunner) { |
| + } |
| + |
| + virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE { |
| + return context_; |
| + } |
| + |
| + virtual scoped_refptr<base::SingleThreadTaskRunner> |
| + GetNetworkTaskRunner() const OVERRIDE { |
| + return any_thread_non_task_runner_; |
| + } |
| + |
| + protected: |
| + virtual ~TestContextURLRequestContextGetter() {} |
| + |
| + private: |
| + net::URLRequestContext* context_; |
| + scoped_refptr<base::SingleThreadTaskRunner> any_thread_non_task_runner_; |
| +}; |
| + |
| +} |
| + |
| namespace content { |
| TestBrowserContext::TestBrowserContext() { |
| @@ -41,7 +95,8 @@ |
| } |
| net::URLRequestContextGetter* TestBrowserContext::GetRequestContext() { |
| - return NULL; |
| + return new TestContextURLRequestContextGetter( |
| + GetResourceContext()->GetRequestContext()); |
| } |
| net::URLRequestContextGetter* |
| @@ -49,6 +104,13 @@ |
| return NULL; |
| } |
| + |
| +net::URLRequestContextGetter* |
| +TestBrowserContext::GetRequestContextForStoragePartition( |
| + const std::string& partition_id) { |
| + return NULL; |
| +} |
| + |
| net::URLRequestContextGetter* TestBrowserContext::GetMediaRequestContext() { |
| return NULL; |
| } |