1 // Copyright 2014 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.
5 #include "extensions/browser/test_extensions_browser_client.h"
7 #include "content/public/browser/browser_context.h"
8 #include "extensions/browser/app_sorting.h"
9 #include "extensions/browser/extension_host_delegate.h"
10 #include "extensions/browser/test_runtime_api_delegate.h"
12 using content::BrowserContext;
14 namespace extensions {
16 TestExtensionsBrowserClient::TestExtensionsBrowserClient(
17 BrowserContext* main_context)
18 : main_context_(main_context),
19 incognito_context_(NULL),
20 process_manager_delegate_(NULL) {
21 DCHECK(main_context_);
22 DCHECK(!main_context_->IsOffTheRecord());
25 TestExtensionsBrowserClient::~TestExtensionsBrowserClient() {}
27 void TestExtensionsBrowserClient::SetIncognitoContext(BrowserContext* context) {
28 // If a context is provided it must be off-the-record.
29 DCHECK(!context || context->IsOffTheRecord());
30 incognito_context_ = context;
33 bool TestExtensionsBrowserClient::IsShuttingDown() { return false; }
35 bool TestExtensionsBrowserClient::AreExtensionsDisabled(
36 const base::CommandLine& command_line,
37 BrowserContext* context) {
41 bool TestExtensionsBrowserClient::IsValidContext(BrowserContext* context) {
42 return context == main_context_ ||
43 (incognito_context_ && context == incognito_context_);
46 bool TestExtensionsBrowserClient::IsSameContext(BrowserContext* first,
47 BrowserContext* second) {
50 return first == second ||
51 (first == main_context_ && second == incognito_context_) ||
52 (first == incognito_context_ && second == main_context_);
55 bool TestExtensionsBrowserClient::HasOffTheRecordContext(
56 BrowserContext* context) {
57 return context == main_context_ && incognito_context_ != NULL;
60 BrowserContext* TestExtensionsBrowserClient::GetOffTheRecordContext(
61 BrowserContext* context) {
62 if (context == main_context_)
63 return incognito_context_;
67 BrowserContext* TestExtensionsBrowserClient::GetOriginalContext(
68 BrowserContext* context) {
72 bool TestExtensionsBrowserClient::IsGuestSession(
73 BrowserContext* context) const {
77 bool TestExtensionsBrowserClient::IsExtensionIncognitoEnabled(
78 const std::string& extension_id,
79 content::BrowserContext* context) const {
83 bool TestExtensionsBrowserClient::CanExtensionCrossIncognito(
84 const extensions::Extension* extension,
85 content::BrowserContext* context) const {
89 bool TestExtensionsBrowserClient::IsWebViewRequest(
90 net::URLRequest* request) const {
95 TestExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob(
96 net::URLRequest* request,
97 net::NetworkDelegate* network_delegate,
98 const base::FilePath& directory_path,
99 const std::string& content_security_policy,
100 bool send_cors_header) {
104 bool TestExtensionsBrowserClient::AllowCrossRendererResourceLoad(
105 net::URLRequest* request,
107 const Extension* extension,
108 InfoMap* extension_info_map) {
112 PrefService* TestExtensionsBrowserClient::GetPrefServiceForContext(
113 BrowserContext* context) {
117 void TestExtensionsBrowserClient::GetEarlyExtensionPrefsObservers(
118 content::BrowserContext* context,
119 std::vector<ExtensionPrefsObserver*>* observers) const {}
121 ProcessManagerDelegate* TestExtensionsBrowserClient::GetProcessManagerDelegate()
123 return process_manager_delegate_;
126 scoped_ptr<ExtensionHostDelegate>
127 TestExtensionsBrowserClient::CreateExtensionHostDelegate() {
128 return scoped_ptr<ExtensionHostDelegate>();
131 bool TestExtensionsBrowserClient::DidVersionUpdate(BrowserContext* context) {
135 void TestExtensionsBrowserClient::PermitExternalProtocolHandler() {
138 scoped_ptr<AppSorting> TestExtensionsBrowserClient::CreateAppSorting() {
139 return scoped_ptr<AppSorting>();
142 bool TestExtensionsBrowserClient::IsRunningInForcedAppMode() { return false; }
144 ApiActivityMonitor* TestExtensionsBrowserClient::GetApiActivityMonitor(
145 BrowserContext* context) {
149 ExtensionSystemProvider*
150 TestExtensionsBrowserClient::GetExtensionSystemFactory() {
151 DCHECK(extension_system_factory_);
152 return extension_system_factory_;
155 void TestExtensionsBrowserClient::RegisterExtensionFunctions(
156 ExtensionFunctionRegistry* registry) const {}
158 scoped_ptr<RuntimeAPIDelegate>
159 TestExtensionsBrowserClient::CreateRuntimeAPIDelegate(
160 content::BrowserContext* context) const {
161 return scoped_ptr<RuntimeAPIDelegate>(new TestRuntimeAPIDelegate());
164 ComponentExtensionResourceManager*
165 TestExtensionsBrowserClient::GetComponentExtensionResourceManager() {
169 net::NetLog* TestExtensionsBrowserClient::GetNetLog() {
173 } // namespace extensions