• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_TEST_TEST_EXTENSIONS_CLIENT_H_
6 #define EXTENSIONS_TEST_TEST_EXTENSIONS_CLIENT_H_
7 
8 #include "base/macros.h"
9 #include "extensions/common/extensions_client.h"
10 
11 namespace extensions {
12 
13 class TestExtensionsClient : public ExtensionsClient {
14  public:
15   TestExtensionsClient();
16   virtual ~TestExtensionsClient();
17 
18  private:
19   virtual void Initialize() OVERRIDE;
20   virtual const PermissionMessageProvider& GetPermissionMessageProvider() const
21       OVERRIDE;
22   virtual scoped_ptr<FeatureProvider> CreateFeatureProvider(
23       const std::string& name) const OVERRIDE;
24   virtual scoped_ptr<JSONFeatureProviderSource> CreateFeatureProviderSource(
25       const std::string& name) const OVERRIDE;
26   virtual void FilterHostPermissions(
27       const URLPatternSet& hosts,
28       URLPatternSet* new_hosts,
29       std::set<PermissionMessage>* messages) const OVERRIDE;
30   virtual void SetScriptingWhitelist(
31       const ScriptingWhitelist& whitelist) OVERRIDE;
32   virtual const ScriptingWhitelist& GetScriptingWhitelist() const OVERRIDE;
33   virtual URLPatternSet GetPermittedChromeSchemeHosts(
34       const Extension* extension,
35       const APIPermissionSet& api_permissions) const OVERRIDE;
36   virtual bool IsScriptableURL(const GURL& url,
37                                std::string* error) const OVERRIDE;
38   virtual bool IsAPISchemaGenerated(const std::string& name) const OVERRIDE;
39   virtual base::StringPiece GetAPISchema(
40       const std::string& name) const OVERRIDE;
41   virtual void RegisterAPISchemaResources(ExtensionAPI* api) const OVERRIDE;
42   virtual bool ShouldSuppressFatalErrors() const OVERRIDE;
43 
44   // A whitelist of extensions that can script anywhere. Do not add to this
45   // list (except in tests) without consulting the Extensions team first.
46   // Note: Component extensions have this right implicitly and do not need to be
47   // added to this list.
48   ScriptingWhitelist scripting_whitelist_;
49 
50   DISALLOW_COPY_AND_ASSIGN(TestExtensionsClient);
51 };
52 
53 }  // namespace extensions
54 
55 #endif  // EXTENSIONS_TEST_TEST_EXTENSIONS_CLIENT_H_
56