Home | History | Annotate | Download | only in declarative
      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