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.
5 #ifndef EXTENSIONS_BROWSER_API_DECLARATIVE_TEST_RULES_REGISTRY_H__
6 #define EXTENSIONS_BROWSER_API_DECLARATIVE_TEST_RULES_REGISTRY_H__
8 #include "extensions/browser/api/declarative/rules_registry.h"
10 namespace extensions {
12 // This is a trivial test RulesRegistry that can only store and retrieve rules.
13 class TestRulesRegistry : public RulesRegistry {
15 TestRulesRegistry(content::BrowserThread::ID owner_thread,
16 const std::string& event_name,
17 const WebViewKey& webview_key);
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);
25 // RulesRegistry implementation:
26 std::string AddRulesImpl(
27 const std::string& extension_id,
28 const std::vector<linked_ptr<RulesRegistry::Rule>>& rules) override;
29 std::string RemoveRulesImpl(
30 const std::string& extension_id,
31 const std::vector<std::string>& rule_identifiers) override;
32 std::string RemoveAllRulesImpl(const std::string& extension_id) override;
34 // Sets the result message that will be returned by the next call of
35 // AddRulesImpl, RemoveRulesImpl and RemoveAllRulesImpl.
36 void SetResult(const std::string& result);
39 ~TestRulesRegistry() override;
42 // The string that gets returned by the implementation functions of
43 // RulesRegistry. Defaults to "".
46 DISALLOW_COPY_AND_ASSIGN(TestRulesRegistry);
49 } // namespace extensions
51 #endif // EXTENSIONS_BROWSER_API_DECLARATIVE_TEST_RULES_REGISTRY_H__