Index: chrome/browser/background/background_application_list_model_unittest.cc |
diff --git a/chrome/browser/background/background_application_list_model_unittest.cc b/chrome/browser/background/background_application_list_model_unittest.cc |
index cac265f836ad7f9f3f6a0a550adfb3ce8fd301c3..b4bc0ccbade4a645c25875e21b41872d99da0df7 100644 |
--- a/chrome/browser/background/background_application_list_model_unittest.cc |
+++ b/chrome/browser/background/background_application_list_model_unittest.cc |
@@ -69,15 +69,11 @@ enum PushMessagingOption { |
}; |
// Returns a barebones test Extension object with the specified |name|. The |
-// returned extension will include background permission iff |
-// |background_permission| is true and pushMessaging permission if requested |
-// by |push_messaging| value. Also the extension may have a specific id set |
-// to test the case when it has a pushMessaging permission but is not |
-// considered a background app based on a whitelist. |
-static scoped_refptr<Extension> CreateExtensionBase( |
+// returned extension will include background permission if |
+// |background_permission| is true. |
+static scoped_refptr<Extension> CreateExtension( |
const std::string& name, |
- bool background_permission, |
- PushMessagingOption push_messaging) { |
+ bool background_permission) { |
base::DictionaryValue manifest; |
manifest.SetString(extensions::manifest_keys::kVersion, "1.0.0.0"); |
manifest.SetString(extensions::manifest_keys::kName, name); |
@@ -86,33 +82,16 @@ static scoped_refptr<Extension> CreateExtensionBase( |
if (background_permission) { |
permissions->Append(new base::StringValue("background")); |
} |
- if (push_messaging == PUSH_MESSAGING_PERMISSION || |
- push_messaging == PUSH_MESSAGING_BUT_NOT_BACKGROUND) { |
- permissions->Append(new base::StringValue("pushMessaging")); |
- } |
std::string error; |
scoped_refptr<Extension> extension; |
- // There is a whitelist for extensions that have pushMessaging permission but |
- // are not considered a background app. Create a test extension with a known |
- // test id if needed. |
- if (push_messaging == PUSH_MESSAGING_BUT_NOT_BACKGROUND) { |
- extension = Extension::Create( |
- bogus_file_pathname(name), |
- extensions::Manifest::INVALID_LOCATION, |
- manifest, |
- Extension::NO_FLAGS, |
- "aaaabbbbccccddddeeeeffffgggghhhh", |
- &error); |
- } else { |
- extension = Extension::Create( |
- bogus_file_pathname(name), |
- extensions::Manifest::INVALID_LOCATION, |
- manifest, |
- Extension::NO_FLAGS, |
- &error); |
- } |
+ extension = Extension::Create( |
+ bogus_file_pathname(name), |
+ extensions::Manifest::INVALID_LOCATION, |
+ manifest, |
+ Extension::NO_FLAGS, |
+ &error); |
// Cannot ASSERT_* here because that attempts an illegitimate return. |
// Cannot EXPECT_NE here because that assumes non-pointers unlike EXPECT_EQ |
@@ -120,11 +99,6 @@ static scoped_refptr<Extension> CreateExtensionBase( |
return extension; |
} |
-static scoped_refptr<Extension> CreateExtension(const std::string& name, |
- bool background_permission) { |
- return CreateExtensionBase(name, background_permission, NO_PUSH_MESSAGING); |
-} |
- |
namespace { |
std::string GenerateUniqueExtensionName() { |
static int uniqueness = 0; |
@@ -254,84 +228,6 @@ TEST_F(BackgroundApplicationListModelTest, MAYBE_ExplicitTest) { |
ASSERT_EQ(0U, model->size()); |
} |
-// Verifies that pushMessaging also triggers background detection, except |
-// when extension is in a whitelist. |
-TEST_F(BackgroundApplicationListModelTest, PushMessagingTest) { |
- InitializeAndLoadEmptyExtensionService(); |
- ASSERT_TRUE(service()->is_ready()); |
- ASSERT_TRUE(registry()->enabled_extensions().is_empty()); |
- scoped_ptr<BackgroundApplicationListModel> model( |
- new BackgroundApplicationListModel(profile_.get())); |
- ASSERT_EQ(0U, model->size()); |
- |
- scoped_refptr<Extension> ext1 = CreateExtension("alpha", false); |
- scoped_refptr<Extension> ext2 = |
- CreateExtensionBase("charlie", false, PUSH_MESSAGING_BUT_NOT_BACKGROUND); |
- scoped_refptr<Extension> bgapp1 = |
- CreateExtensionBase("bravo", false, PUSH_MESSAGING_PERMISSION); |
- scoped_refptr<Extension> bgapp2 = |
- CreateExtensionBase("delta", true, PUSH_MESSAGING_PERMISSION); |
- scoped_refptr<Extension> bgapp3 = |
- CreateExtensionBase("echo", true, PUSH_MESSAGING_BUT_NOT_BACKGROUND); |
- ASSERT_EQ(0U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(0U, model->size()); |
- |
- // Add alternating Extensions and Background Apps |
- ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
- service()->AddExtension(ext1.get()); |
- ASSERT_EQ(1U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(0U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
- service()->AddExtension(bgapp1.get()); |
- ASSERT_EQ(2U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
- ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
- service()->AddExtension(ext2.get()); |
- ASSERT_EQ(3U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
- service()->AddExtension(bgapp2.get()); |
- ASSERT_EQ(4U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(2U, model->size()); |
- // Need to remove ext2 because it uses same id as bgapp3. |
- ASSERT_FALSE(IsBackgroundApp(*ext2.get())); |
- service()->UninstallExtension(ext2->id(), |
- extensions::UNINSTALL_REASON_FOR_TESTING, |
- base::Bind(&base::DoNothing), NULL); |
- ASSERT_EQ(3U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(2U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
- service()->AddExtension(bgapp3.get()); |
- ASSERT_EQ(4U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(3U, model->size()); |
- |
- // Remove in FIFO order. |
- ASSERT_FALSE(IsBackgroundApp(*ext1.get())); |
- service()->UninstallExtension(ext1->id(), |
- extensions::UNINSTALL_REASON_FOR_TESTING, |
- base::Bind(&base::DoNothing), NULL); |
- ASSERT_EQ(3U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(3U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp1.get())); |
- service()->UninstallExtension(bgapp1->id(), |
- extensions::UNINSTALL_REASON_FOR_TESTING, |
- base::Bind(&base::DoNothing), NULL); |
- ASSERT_EQ(2U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(2U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp2.get())); |
- service()->UninstallExtension(bgapp2->id(), |
- extensions::UNINSTALL_REASON_FOR_TESTING, |
- base::Bind(&base::DoNothing), NULL); |
- ASSERT_EQ(1U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
- ASSERT_TRUE(IsBackgroundApp(*bgapp3.get())); |
- service()->UninstallExtension(bgapp3->id(), |
- extensions::UNINSTALL_REASON_FOR_TESTING, |
- base::Bind(&base::DoNothing), NULL); |
- ASSERT_EQ(0U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(0U, model->size()); |
-} |
- |
// Verifies that an ephemeral app cannot trigger background mode. |
TEST_F(BackgroundApplicationListModelTest, EphemeralAppTest) { |
InitializeAndLoadEmptyExtensionService(); |
@@ -341,36 +237,21 @@ TEST_F(BackgroundApplicationListModelTest, EphemeralAppTest) { |
new BackgroundApplicationListModel(profile_.get())); |
ASSERT_EQ(0U, model->size()); |
- scoped_refptr<Extension> installed = |
- CreateExtensionBase("installed", false, PUSH_MESSAGING_PERMISSION); |
- scoped_refptr<Extension> ephemeral = |
- CreateExtensionBase("ephemeral", false, PUSH_MESSAGING_PERMISSION); |
scoped_refptr<Extension> background = CreateExtension("background", true); |
- // Installed app with push messaging permissions can trigger background mode. |
- ASSERT_TRUE(IsBackgroundApp(*installed.get())); |
- service()->AddExtension(installed.get()); |
- ASSERT_EQ(1U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
- // An ephemeral app with push messaging permissions should not trigger |
- // background mode. |
- AddEphemeralApp(ephemeral.get(), service()); |
- ASSERT_FALSE(IsBackgroundApp(*ephemeral.get())); |
- ASSERT_EQ(2U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
// An ephemeral app with the background permission should not trigger |
// background mode. |
AddEphemeralApp(background.get(), service()); |
ASSERT_FALSE(IsBackgroundApp(*background.get())); |
- ASSERT_EQ(3U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(1U, model->size()); |
+ ASSERT_EQ(1U, registry()->enabled_extensions().size()); |
+ ASSERT_EQ(0U, model->size()); |
// If the ephemeral app becomes promoted to an installed app, it can now |
// trigger background mode. |
- service()->PromoteEphemeralApp(ephemeral.get(), false /*from sync*/); |
- ASSERT_TRUE(IsBackgroundApp(*ephemeral.get())); |
- ASSERT_EQ(3U, registry()->enabled_extensions().size()); |
- ASSERT_EQ(2U, model->size()); |
+ service()->PromoteEphemeralApp(background.get(), false /*from sync*/); |
+ ASSERT_TRUE(IsBackgroundApp(*background.get())); |
+ ASSERT_EQ(1U, registry()->enabled_extensions().size()); |
+ ASSERT_EQ(1U, model->size()); |
} |
// With minimal test logic, verifies behavior with dynamic permissions. |