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