| Index: chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc
|
| diff --git a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc
|
| index 4c6c04ce7b7e6c28bcd1dc0cbd611324d5cb0a4c..0b3e23239dee902071eed1db57f95421e207c05f 100644
|
| --- a/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc
|
| +++ b/chrome/browser/extensions/api/declarative_content/chrome_content_rules_registry_unittest.cc
|
| @@ -7,7 +7,6 @@
|
| #include <string>
|
|
|
| #include "base/test/values_test_util.h"
|
| -#include "chrome/browser/extensions/extension_tab_util.h"
|
| #include "chrome/browser/extensions/test_extension_environment.h"
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "content/public/browser/navigation_details.h"
|
| @@ -18,42 +17,24 @@
|
|
|
| namespace extensions {
|
|
|
| -using base::test::ParseJson;
|
| -using testing::HasSubstr;
|
| -using content::WebContents;
|
| -
|
| -// Must be outside the anonymous namespace to be a friend of
|
| -// ContentRulesRegistry.
|
| -class DeclarativeChromeContentRulesRegistryTest : public testing::Test {
|
| - protected:
|
| - using RulesMap =
|
| - std::map<content::WebContents*, std::set<const ContentRule*>>;
|
| - static const RulesMap& active_rules(
|
| - const ChromeContentRulesRegistry& registry) {
|
| - return registry.active_rules_;
|
| - }
|
| -};
|
| -
|
| -namespace {
|
| -
|
| -TEST_F(DeclarativeChromeContentRulesRegistryTest, ActiveRulesDoesntGrow) {
|
| +TEST(DeclarativeChromeContentRulesRegistryTest, ActiveRulesDoesntGrow) {
|
| TestExtensionEnvironment env;
|
|
|
| scoped_refptr<ChromeContentRulesRegistry> registry(
|
| new ChromeContentRulesRegistry(env.profile(), NULL));
|
|
|
| - EXPECT_EQ(0u, active_rules(*registry.get()).size());
|
| + EXPECT_EQ(0u, registry->GetActiveRulesCountForTesting());
|
|
|
| - content::LoadCommittedDetails load_details;
|
| - content::FrameNavigateParams navigate_params;
|
| - scoped_ptr<WebContents> tab = env.MakeTab();
|
| - registry->DidNavigateMainFrame(tab.get(), load_details, navigate_params);
|
| - EXPECT_EQ(0u, active_rules(*registry.get()).size());
|
| + scoped_ptr<content::WebContents> tab = env.MakeTab();
|
| + registry->MonitorWebContentsForRuleEvaluation(tab.get());
|
| + registry->DidNavigateMainFrame(tab.get(), content::LoadCommittedDetails(),
|
| + content::FrameNavigateParams());
|
| + EXPECT_EQ(0u, registry->GetActiveRulesCountForTesting());
|
|
|
| // Add a rule.
|
| linked_ptr<RulesRegistry::Rule> rule(new RulesRegistry::Rule);
|
| RulesRegistry::Rule::Populate(
|
| - *ParseJson(
|
| + *base::test::ParseJson(
|
| "{\n"
|
| " \"id\": \"rule1\",\n"
|
| " \"priority\": 100,\n"
|
| @@ -70,30 +51,32 @@ TEST_F(DeclarativeChromeContentRulesRegistryTest, ActiveRulesDoesntGrow) {
|
| std::vector<linked_ptr<RulesRegistry::Rule> > rules;
|
| rules.push_back(rule);
|
|
|
| - const Extension* extension = env.MakeExtension(*ParseJson(
|
| + const Extension* extension = env.MakeExtension(*base::test::ParseJson(
|
| "{\"page_action\": {}}"));
|
| registry->AddRulesImpl(extension->id(), rules);
|
|
|
| - registry->DidNavigateMainFrame(tab.get(), load_details, navigate_params);
|
| - EXPECT_EQ(0u, active_rules(*registry.get()).size());
|
| + registry->DidNavigateMainFrame(tab.get(), content::LoadCommittedDetails(),
|
| + content::FrameNavigateParams());
|
| + EXPECT_EQ(0u, registry->GetActiveRulesCountForTesting());
|
|
|
| std::vector<std::string> css_selectors;
|
| css_selectors.push_back("input");
|
| - registry->Apply(tab.get(), css_selectors);
|
| - EXPECT_EQ(1u, active_rules(*registry.get()).size());
|
| + registry->UpdateMatchingCssSelectorsForTesting(tab.get(), css_selectors);
|
| + EXPECT_EQ(1u, registry->GetActiveRulesCountForTesting());
|
|
|
| // Closing the tab should erase its entry from active_rules_.
|
| tab.reset();
|
| - EXPECT_EQ(0u, active_rules(*registry.get()).size());
|
| + EXPECT_EQ(0u, registry->GetActiveRulesCountForTesting());
|
|
|
| tab = env.MakeTab();
|
| - registry->Apply(tab.get(), css_selectors);
|
| - EXPECT_EQ(1u, active_rules(*registry.get()).size());
|
| + registry->MonitorWebContentsForRuleEvaluation(tab.get());
|
| + registry->UpdateMatchingCssSelectorsForTesting(tab.get(), css_selectors);
|
| + EXPECT_EQ(1u, registry->GetActiveRulesCountForTesting());
|
| // Navigating the tab should erase its entry from active_rules_ if
|
| // it no longer matches.
|
| - registry->DidNavigateMainFrame(tab.get(), load_details, navigate_params);
|
| - EXPECT_EQ(0u, active_rules(*registry.get()).size());
|
| + registry->DidNavigateMainFrame(tab.get(), content::LoadCommittedDetails(),
|
| + content::FrameNavigateParams());
|
| + EXPECT_EQ(0u, registry->GetActiveRulesCountForTesting());
|
| }
|
|
|
| -} // namespace
|
| } // namespace extensions
|
|
|