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 { |
awong
2012/09/14 19:59:34
nit: indentation.
michaeln
2012/09/15 00:30:43
Done.
|
+ 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; |
+ } |
+}; |
+ |
+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; |
} |