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"
11 using content::BrowserContext
;
13 namespace extensions
{
15 TestExtensionsBrowserClient::TestExtensionsBrowserClient(
16 BrowserContext
* main_context
)
17 : main_context_(main_context
), incognito_context_(NULL
) {
18 DCHECK(main_context_
);
19 DCHECK(!main_context_
->IsOffTheRecord());
22 TestExtensionsBrowserClient::~TestExtensionsBrowserClient() {}
24 void TestExtensionsBrowserClient::SetIncognitoContext(BrowserContext
* context
) {
25 // If a context is provided it must be off-the-record.
26 DCHECK(!context
|| context
->IsOffTheRecord());
27 incognito_context_
= context
;
30 bool TestExtensionsBrowserClient::IsShuttingDown() { return false; }
32 bool TestExtensionsBrowserClient::AreExtensionsDisabled(
33 const base::CommandLine
& command_line
,
34 BrowserContext
* context
) {
38 bool TestExtensionsBrowserClient::IsValidContext(BrowserContext
* context
) {
39 return context
== main_context_
||
40 (incognito_context_
&& context
== incognito_context_
);
43 bool TestExtensionsBrowserClient::IsSameContext(BrowserContext
* first
,
44 BrowserContext
* second
) {
47 return first
== second
||
48 (first
== main_context_
&& second
== incognito_context_
) ||
49 (first
== incognito_context_
&& second
== main_context_
);
52 bool TestExtensionsBrowserClient::HasOffTheRecordContext(
53 BrowserContext
* context
) {
54 return context
== main_context_
&& incognito_context_
!= NULL
;
57 BrowserContext
* TestExtensionsBrowserClient::GetOffTheRecordContext(
58 BrowserContext
* context
) {
59 if (context
== main_context_
)
60 return incognito_context_
;
64 BrowserContext
* TestExtensionsBrowserClient::GetOriginalContext(
65 BrowserContext
* context
) {
69 bool TestExtensionsBrowserClient::IsGuestSession(
70 BrowserContext
* context
) const {
74 bool TestExtensionsBrowserClient::IsExtensionIncognitoEnabled(
75 const std::string
& extension_id
,
76 content::BrowserContext
* context
) const {
80 bool TestExtensionsBrowserClient::CanExtensionCrossIncognito(
81 const extensions::Extension
* extension
,
82 content::BrowserContext
* context
) const {
87 TestExtensionsBrowserClient::MaybeCreateResourceBundleRequestJob(
88 net::URLRequest
* request
,
89 net::NetworkDelegate
* network_delegate
,
90 const base::FilePath
& directory_path
,
91 const std::string
& content_security_policy
,
92 bool send_cors_header
) {
96 bool TestExtensionsBrowserClient::AllowCrossRendererResourceLoad(
97 net::URLRequest
* request
,
99 const Extension
* extension
,
100 InfoMap
* extension_info_map
) {
104 PrefService
* TestExtensionsBrowserClient::GetPrefServiceForContext(
105 BrowserContext
* context
) {
109 void TestExtensionsBrowserClient::GetEarlyExtensionPrefsObservers(
110 content::BrowserContext
* context
,
111 std::vector
<ExtensionPrefsObserver
*>* observers
) const {}
113 bool TestExtensionsBrowserClient::DeferLoadingBackgroundHosts(
114 BrowserContext
* context
) const {
118 bool TestExtensionsBrowserClient::IsBackgroundPageAllowed(
119 BrowserContext
* context
) const {
123 scoped_ptr
<ExtensionHostDelegate
>
124 TestExtensionsBrowserClient::CreateExtensionHostDelegate() {
125 return scoped_ptr
<ExtensionHostDelegate
>();
128 bool TestExtensionsBrowserClient::DidVersionUpdate(BrowserContext
* context
) {
132 scoped_ptr
<AppSorting
> TestExtensionsBrowserClient::CreateAppSorting() {
133 return scoped_ptr
<AppSorting
>();
136 bool TestExtensionsBrowserClient::IsRunningInForcedAppMode() { return false; }
138 ApiActivityMonitor
* TestExtensionsBrowserClient::GetApiActivityMonitor(
139 BrowserContext
* context
) {
143 ExtensionSystemProvider
*
144 TestExtensionsBrowserClient::GetExtensionSystemFactory() {
145 // Tests requiring an extension system should override this function.
150 void TestExtensionsBrowserClient::RegisterExtensionFunctions(
151 ExtensionFunctionRegistry
* registry
) const {}
153 } // namespace extensions