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), incognito_context_(NULL) {
19 DCHECK(main_context_);
20 DCHECK(!main_context_->IsOffTheRecord());
23 TestExtensionsBrowserClient::~TestExtensionsBrowserClient() {}
25 void TestExtensionsBrowserClient::SetIncognitoContext(BrowserContext* context) {
26 // If a context is provided it must be off-the-record.
27 DCHECK(!context || context->IsOffTheRecord());
28 incognito_context_ = context;
31 bool TestExtensionsBrowserClient::IsShuttingDown() { return false; }
33 bool TestExtensionsBrowserClient::AreExtensionsDisabled(
34 const base::CommandLine& command_line,
35 BrowserContext* context) {
39 bool TestExtensionsBrowserClient::IsValidContext(BrowserContext* context) {
40 return context == main_context_ ||
41 (incognito_context_ && context == incognito_context_);
44 bool TestExtensionsBrowserClient::IsSameContext(BrowserContext* first,
45 BrowserContext* second) {
48 return first == second ||
49 (first == main_context_ && second == incognito_context_) ||
50 (first == incognito_context_ && second == main_context_);
53 bool TestExtensionsBrowserClient::HasOffTheRecordContext(
54 BrowserContext* context) {
55 return context == main_context_ && incognito_context_ != NULL;
58 BrowserContext* TestExtensionsBrowserClient::GetOffTheRecordContext(
59 BrowserContext* context) {
60 if (context == main_context_)
61 return incognito_context_;
65 BrowserContext* TestExtensionsBrowserClient::GetOriginalContext(
66 BrowserContext* context) {
70 bool TestExtensionsBrowserClient::IsGuestSession(
71 BrowserContext* context) const {
75 bool TestExtensionsBrowserClient::IsExtensionIncognitoEnabled(
76 const std::string& extension_id,
77 content::BrowserContext* context) const {
81 bool TestExtensionsBrowserClient::CanExtensionCrossIncognito(
82 const extensions::Extension* extension,
83 content::BrowserContext* context) const {
87 bool TestExtensionsBrowserClient::IsWebViewRequest(
88 net::URLRequest* request) const {
93 TestExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob(
94 net::URLRequest* request,
95 net::NetworkDelegate* network_delegate,
96 const base::FilePath& directory_path,
97 const std::string& content_security_policy,
98 bool send_cors_header) {
102 bool TestExtensionsBrowserClient::AllowCrossRendererResourceLoad(
103 net::URLRequest* request,
105 const Extension* extension,
106 InfoMap* extension_info_map) {
110 PrefService* TestExtensionsBrowserClient::GetPrefServiceForContext(
111 BrowserContext* context) {
115 void TestExtensionsBrowserClient::GetEarlyExtensionPrefsObservers(
116 content::BrowserContext* context,
117 std::vector<ExtensionPrefsObserver*>* observers) const {}
119 bool TestExtensionsBrowserClient::DeferLoadingBackgroundHosts(
120 BrowserContext* context) const {
124 bool TestExtensionsBrowserClient::IsBackgroundPageAllowed(
125 BrowserContext* context) const {
129 scoped_ptr<ExtensionHostDelegate>
130 TestExtensionsBrowserClient::CreateExtensionHostDelegate() {
131 return scoped_ptr<ExtensionHostDelegate>();
134 bool TestExtensionsBrowserClient::DidVersionUpdate(BrowserContext* context) {
138 void TestExtensionsBrowserClient::PermitExternalProtocolHandler() {
141 scoped_ptr<AppSorting> TestExtensionsBrowserClient::CreateAppSorting() {
142 return scoped_ptr<AppSorting>();
145 bool TestExtensionsBrowserClient::IsRunningInForcedAppMode() { return false; }
147 ApiActivityMonitor* TestExtensionsBrowserClient::GetApiActivityMonitor(
148 BrowserContext* context) {
152 ExtensionSystemProvider*
153 TestExtensionsBrowserClient::GetExtensionSystemFactory() {
154 // Tests requiring an extension system should override this function.
159 void TestExtensionsBrowserClient::RegisterExtensionFunctions(
160 ExtensionFunctionRegistry* registry) const {}
162 scoped_ptr<RuntimeAPIDelegate>
163 TestExtensionsBrowserClient::CreateRuntimeAPIDelegate(
164 content::BrowserContext* context) const {
165 return scoped_ptr<RuntimeAPIDelegate>(new TestRuntimeAPIDelegate());
168 ComponentExtensionResourceManager*
169 TestExtensionsBrowserClient::GetComponentExtensionResourceManager() {
173 } // namespace extensions