1 // Copyright (c) 2012 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_API_DECLARATIVE_TEST_RULES_REGISTRY_H__ 6 #define EXTENSIONS_BROWSER_API_DECLARATIVE_TEST_RULES_REGISTRY_H__ 7 8 #include "extensions/browser/api/declarative/rules_registry.h" 9 10 namespace extensions { 11 12 // This is a trivial test RulesRegistry that can only store and retrieve rules. 13 class TestRulesRegistry : public RulesRegistry { 14 public: 15 TestRulesRegistry(content::BrowserThread::ID owner_thread, 16 const std::string& event_name, 17 const WebViewKey& webview_key); 18 TestRulesRegistry( 19 content::BrowserContext* browser_context, 20 const std::string& event_name, 21 content::BrowserThread::ID owner_thread, 22 RulesCacheDelegate* cache_delegate, 23 const WebViewKey& webview_key); 24 25 // RulesRegistry implementation: 26 virtual std::string AddRulesImpl( 27 const std::string& extension_id, 28 const std::vector<linked_ptr<RulesRegistry::Rule> >& rules) OVERRIDE; 29 virtual std::string RemoveRulesImpl( 30 const std::string& extension_id, 31 const std::vector<std::string>& rule_identifiers) OVERRIDE; 32 virtual std::string RemoveAllRulesImpl( 33 const std::string& extension_id) OVERRIDE; 34 35 // Sets the result message that will be returned by the next call of 36 // AddRulesImpl, RemoveRulesImpl and RemoveAllRulesImpl. 37 void SetResult(const std::string& result); 38 39 protected: 40 virtual ~TestRulesRegistry(); 41 42 private: 43 // The string that gets returned by the implementation functions of 44 // RulesRegistry. Defaults to "". 45 std::string result_; 46 47 DISALLOW_COPY_AND_ASSIGN(TestRulesRegistry); 48 }; 49 50 } // namespace extensions 51 52 #endif // EXTENSIONS_BROWSER_API_DECLARATIVE_TEST_RULES_REGISTRY_H__ 53