1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/public/test/test_browser_context.h" 6 7 #include "base/files/file_path.h" 8 #include "base/test/null_task_runner.h" 9 #include "content/public/test/mock_resource_context.h" 10 #include "net/url_request/url_request_context.h" 11 #include "net/url_request/url_request_context_getter.h" 12 #include "net/url_request/url_request_test_util.h" 13 #include "storage/browser/quota/special_storage_policy.h" 14 #include "testing/gtest/include/gtest/gtest.h" 15 16 namespace { 17 18 class TestContextURLRequestContextGetter : public net::URLRequestContextGetter { 19 public: TestContextURLRequestContextGetter()20 TestContextURLRequestContextGetter() 21 : null_task_runner_(new base::NullTaskRunner) { 22 } 23 GetURLRequestContext()24 virtual net::URLRequestContext* GetURLRequestContext() OVERRIDE { 25 return &context_; 26 } 27 28 virtual scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner() const29 GetNetworkTaskRunner() const OVERRIDE { 30 return null_task_runner_; 31 } 32 33 private: ~TestContextURLRequestContextGetter()34 virtual ~TestContextURLRequestContextGetter() {} 35 36 net::TestURLRequestContext context_; 37 scoped_refptr<base::SingleThreadTaskRunner> null_task_runner_; 38 }; 39 40 } // namespace 41 42 namespace content { 43 TestBrowserContext()44TestBrowserContext::TestBrowserContext() { 45 EXPECT_TRUE(browser_context_dir_.CreateUniqueTempDir()); 46 } 47 ~TestBrowserContext()48TestBrowserContext::~TestBrowserContext() { 49 } 50 TakePath()51base::FilePath TestBrowserContext::TakePath() { 52 return browser_context_dir_.Take(); 53 } 54 SetSpecialStoragePolicy(storage::SpecialStoragePolicy * policy)55void TestBrowserContext::SetSpecialStoragePolicy( 56 storage::SpecialStoragePolicy* policy) { 57 special_storage_policy_ = policy; 58 } 59 GetPath() const60base::FilePath TestBrowserContext::GetPath() const { 61 return browser_context_dir_.path(); 62 } 63 IsOffTheRecord() const64bool TestBrowserContext::IsOffTheRecord() const { 65 return false; 66 } 67 GetDownloadManagerDelegate()68DownloadManagerDelegate* TestBrowserContext::GetDownloadManagerDelegate() { 69 return NULL; 70 } 71 GetRequestContext()72net::URLRequestContextGetter* TestBrowserContext::GetRequestContext() { 73 if (!request_context_.get()) { 74 request_context_ = new TestContextURLRequestContextGetter(); 75 } 76 return request_context_.get(); 77 } 78 79 net::URLRequestContextGetter* GetRequestContextForRenderProcess(int renderer_child_id)80TestBrowserContext::GetRequestContextForRenderProcess(int renderer_child_id) { 81 return NULL; 82 } 83 GetMediaRequestContext()84net::URLRequestContextGetter* TestBrowserContext::GetMediaRequestContext() { 85 return NULL; 86 } 87 88 net::URLRequestContextGetter* GetMediaRequestContextForRenderProcess(int renderer_child_id)89TestBrowserContext::GetMediaRequestContextForRenderProcess( 90 int renderer_child_id) { 91 return NULL; 92 } 93 94 net::URLRequestContextGetter* GetMediaRequestContextForStoragePartition(const base::FilePath & partition_path,bool in_memory)95TestBrowserContext::GetMediaRequestContextForStoragePartition( 96 const base::FilePath& partition_path, 97 bool in_memory) { 98 return NULL; 99 } 100 GetResourceContext()101ResourceContext* TestBrowserContext::GetResourceContext() { 102 if (!resource_context_) 103 resource_context_.reset(new MockResourceContext( 104 GetRequestContext()->GetURLRequestContext())); 105 return resource_context_.get(); 106 } 107 GetGuestManager()108BrowserPluginGuestManager* TestBrowserContext::GetGuestManager() { 109 return NULL; 110 } 111 GetSpecialStoragePolicy()112storage::SpecialStoragePolicy* TestBrowserContext::GetSpecialStoragePolicy() { 113 return special_storage_policy_.get(); 114 } 115 GetPushMessagingService()116PushMessagingService* TestBrowserContext::GetPushMessagingService() { 117 return NULL; 118 } 119 GetSSLHostStateDelegate()120SSLHostStateDelegate* TestBrowserContext::GetSSLHostStateDelegate() { 121 return NULL; 122 } 123 124 } // namespace content 125