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 #ifndef EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_
6 #define EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "extensions/browser/extensions_browser_client.h"
11 namespace extensions
{
13 // A simplified ExtensionsBrowserClient for a single normal browser context and
14 // an optional incognito browser context associated with it. A test that uses
15 // this class should call ExtensionsBrowserClient::Set() with its instance.
16 class TestExtensionsBrowserClient
: public ExtensionsBrowserClient
{
18 // |context| is required and must not be an incognito context.
19 TestExtensionsBrowserClient(content::BrowserContext
* main_context
);
20 virtual ~TestExtensionsBrowserClient();
22 // Associates an incognito context with |main_context_|.
23 void SetIncognitoContext(content::BrowserContext
* incognito_context
);
25 // ExtensionsBrowserClient overrides:
26 virtual bool IsShuttingDown() OVERRIDE
;
27 virtual bool AreExtensionsDisabled(const base::CommandLine
& command_line
,
28 content::BrowserContext
* context
) OVERRIDE
;
29 virtual bool IsValidContext(content::BrowserContext
* context
) OVERRIDE
;
30 virtual bool IsSameContext(content::BrowserContext
* first
,
31 content::BrowserContext
* second
) OVERRIDE
;
32 virtual bool HasOffTheRecordContext(content::BrowserContext
* context
)
34 virtual content::BrowserContext
* GetOffTheRecordContext(
35 content::BrowserContext
* context
) OVERRIDE
;
36 virtual content::BrowserContext
* GetOriginalContext(
37 content::BrowserContext
* context
) OVERRIDE
;
38 virtual bool IsGuestSession(content::BrowserContext
* context
) const OVERRIDE
;
39 virtual bool IsExtensionIncognitoEnabled(
40 const std::string
& extension_id
,
41 content::BrowserContext
* context
) const OVERRIDE
;
42 virtual bool CanExtensionCrossIncognito(
43 const extensions::Extension
* extension
,
44 content::BrowserContext
* context
) const OVERRIDE
;
45 virtual PrefService
* GetPrefServiceForContext(
46 content::BrowserContext
* context
) OVERRIDE
;
47 virtual bool DeferLoadingBackgroundHosts(
48 content::BrowserContext
* context
) const OVERRIDE
;
49 virtual bool IsBackgroundPageAllowed(content::BrowserContext
* context
) const
51 virtual scoped_ptr
<ExtensionHostDelegate
> CreateExtensionHostDelegate()
53 virtual bool DidVersionUpdate(content::BrowserContext
* context
) OVERRIDE
;
54 virtual void PermitExternalProtocolHandler() OVERRIDE
;
55 virtual scoped_ptr
<AppSorting
> CreateAppSorting() OVERRIDE
;
56 virtual bool IsRunningInForcedAppMode() OVERRIDE
;
57 virtual ApiActivityMonitor
* GetApiActivityMonitor(
58 content::BrowserContext
* context
) OVERRIDE
;
59 virtual ExtensionSystemProvider
* GetExtensionSystemFactory() OVERRIDE
;
60 virtual void RegisterExtensionFunctions(
61 ExtensionFunctionRegistry
* registry
) const OVERRIDE
;
64 content::BrowserContext
* main_context_
; // Not owned.
65 content::BrowserContext
* incognito_context_
; // Not owned, defaults to NULL.
67 DISALLOW_COPY_AND_ASSIGN(TestExtensionsBrowserClient
);
70 } // namespace extensions
72 #endif // EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_