Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / extensions / browser / test_extensions_browser_client.h
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.
4
5 #ifndef EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_
6 #define EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_
7
8 #include "base/compiler_specific.h"
9 #include "extensions/browser/extensions_browser_client.h"
10
11 namespace extensions {
12
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 {
17  public:
18   // |context| is required and must not be an incognito context.
19   TestExtensionsBrowserClient(content::BrowserContext* main_context);
20   virtual ~TestExtensionsBrowserClient();
21
22   // Associates an incognito context with |main_context_|.
23   void SetIncognitoContext(content::BrowserContext* incognito_context);
24
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)
33       OVERRIDE;
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 bool IsWebViewRequest(net::URLRequest* request) const OVERRIDE;
46   virtual net::URLRequestJob* MaybeCreateResourceBundleRequestJob(
47       net::URLRequest* request,
48       net::NetworkDelegate* network_delegate,
49       const base::FilePath& directory_path,
50       const std::string& content_security_policy,
51       bool send_cors_header) OVERRIDE;
52   virtual bool AllowCrossRendererResourceLoad(net::URLRequest* request,
53                                               bool is_incognito,
54                                               const Extension* extension,
55                                               InfoMap* extension_info_map)
56       OVERRIDE;
57   virtual PrefService* GetPrefServiceForContext(
58       content::BrowserContext* context) OVERRIDE;
59   virtual void GetEarlyExtensionPrefsObservers(
60       content::BrowserContext* context,
61       std::vector<ExtensionPrefsObserver*>* observers) const OVERRIDE;
62   virtual bool DeferLoadingBackgroundHosts(
63       content::BrowserContext* context) const OVERRIDE;
64   virtual bool IsBackgroundPageAllowed(content::BrowserContext* context) const
65       OVERRIDE;
66   virtual scoped_ptr<ExtensionHostDelegate> CreateExtensionHostDelegate()
67       OVERRIDE;
68   virtual bool DidVersionUpdate(content::BrowserContext* context) OVERRIDE;
69   virtual scoped_ptr<AppSorting> CreateAppSorting() OVERRIDE;
70   virtual bool IsRunningInForcedAppMode() OVERRIDE;
71   virtual ApiActivityMonitor* GetApiActivityMonitor(
72       content::BrowserContext* context) OVERRIDE;
73   virtual ExtensionSystemProvider* GetExtensionSystemFactory() OVERRIDE;
74   virtual void RegisterExtensionFunctions(
75       ExtensionFunctionRegistry* registry) const OVERRIDE;
76   virtual scoped_ptr<RuntimeAPIDelegate> CreateRuntimeAPIDelegate(
77       content::BrowserContext* context) const OVERRIDE;
78
79  private:
80   content::BrowserContext* main_context_;       // Not owned.
81   content::BrowserContext* incognito_context_;  // Not owned, defaults to NULL.
82
83   DISALLOW_COPY_AND_ASSIGN(TestExtensionsBrowserClient);
84 };
85
86 }  // namespace extensions
87
88 #endif  // EXTENSIONS_BROWSER_TEST_EXTENSIONS_BROWSER_CLIENT_H_