Index: chrome/browser/extensions/menu_manager_unittest.cc |
diff --git a/chrome/browser/extensions/menu_manager_unittest.cc b/chrome/browser/extensions/menu_manager_unittest.cc |
index 02748867fab16e96efabe0f1ea7de8724054f70f..2cc739f9b8cec8b4510d705b44f433ece17cfcf4 100644 |
--- a/chrome/browser/extensions/menu_manager_unittest.cc |
+++ b/chrome/browser/extensions/menu_manager_unittest.cc |
@@ -62,7 +62,8 @@ class MenuManagerTest : public testing::Test { |
MenuItem* CreateTestItem(Extension* extension, bool incognito = false) { |
MenuItem::Type type = MenuItem::NORMAL; |
MenuItem::ContextList contexts(MenuItem::ALL); |
- MenuItem::Id id(incognito, extension->id()); |
+ const MenuItem::ExtensionKey key(extension->id()); |
+ MenuItem::Id id(incognito, key); |
id.uid = next_id_++; |
return new MenuItem(id, "test", false, true, type, contexts); |
} |
@@ -72,7 +73,8 @@ class MenuManagerTest : public testing::Test { |
const std::string& string_id) { |
MenuItem::Type type = MenuItem::NORMAL; |
MenuItem::ContextList contexts(MenuItem::ALL); |
- MenuItem::Id id(false, extension->id()); |
+ const MenuItem::ExtensionKey key(extension->id()); |
+ MenuItem::Id id(false, key); |
id.string_uid = string_id; |
return new MenuItem(id, "test", false, true, type, contexts); |
} |
@@ -109,7 +111,7 @@ TEST_F(MenuManagerTest, AddGetRemoveItems) { |
ASSERT_TRUE(item1 != NULL); |
ASSERT_TRUE(manager_.AddContextItem(extension, item1)); |
ASSERT_EQ(item1, manager_.GetItemById(item1->id())); |
- const MenuItem::List* items = manager_.MenuItems(item1->extension_id()); |
+ const MenuItem::List* items = manager_.MenuItems(item1->id().extension_key); |
ASSERT_EQ(1u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
@@ -117,7 +119,7 @@ TEST_F(MenuManagerTest, AddGetRemoveItems) { |
MenuItem* item2 = CreateTestItemWithID(extension, "id2"); |
ASSERT_TRUE(manager_.AddContextItem(extension, item2)); |
ASSERT_EQ(item2, manager_.GetItemById(item2->id())); |
- items = manager_.MenuItems(item2->extension_id()); |
+ items = manager_.MenuItems(item2->id().extension_key); |
ASSERT_EQ(2u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
ASSERT_EQ(item2, items->at(1)); |
@@ -125,16 +127,17 @@ TEST_F(MenuManagerTest, AddGetRemoveItems) { |
// Try adding item 3, then removing it. |
MenuItem* item3 = CreateTestItem(extension); |
MenuItem::Id id3 = item3->id(); |
- std::string extension_id = item3->extension_id(); |
+ const MenuItem::ExtensionKey extension_key3(item3->id().extension_key); |
ASSERT_TRUE(manager_.AddContextItem(extension, item3)); |
ASSERT_EQ(item3, manager_.GetItemById(id3)); |
- ASSERT_EQ(3u, manager_.MenuItems(extension_id)->size()); |
+ ASSERT_EQ(3u, manager_.MenuItems(extension_key3)->size()); |
ASSERT_TRUE(manager_.RemoveContextMenuItem(id3)); |
ASSERT_EQ(NULL, manager_.GetItemById(id3)); |
- ASSERT_EQ(2u, manager_.MenuItems(extension_id)->size()); |
+ ASSERT_EQ(2u, manager_.MenuItems(extension_key3)->size()); |
// Make sure removing a non-existent item returns false. |
- MenuItem::Id id(false, extension->id()); |
+ const MenuItem::ExtensionKey key(extension->id()); |
+ MenuItem::Id id(false, key); |
id.uid = id3.uid + 50; |
ASSERT_FALSE(manager_.RemoveContextMenuItem(id)); |
@@ -181,8 +184,8 @@ TEST_F(MenuManagerTest, ChildFunctions) { |
ASSERT_EQ(0, item1->child_count()); |
ASSERT_EQ(item2_child, manager_.GetItemById(id2_child)); |
- ASSERT_EQ(1u, manager_.MenuItems(item1->extension_id())->size()); |
- ASSERT_EQ(item1, manager_.MenuItems(item1->extension_id())->at(0)); |
+ ASSERT_EQ(1u, manager_.MenuItems(item1->id().extension_key)->size()); |
+ ASSERT_EQ(item1, manager_.MenuItems(item1->id().extension_key)->at(0)); |
// Add item2_grandchild as a child of item2_child, then remove it. |
MenuItem::Id id2_grandchild = item2_grandchild->id(); |
@@ -193,13 +196,13 @@ TEST_F(MenuManagerTest, ChildFunctions) { |
// We should only get 1 thing back when asking for item2's extension id, since |
// it has a child item. |
- ASSERT_EQ(1u, manager_.MenuItems(item2->extension_id())->size()); |
- ASSERT_EQ(item2, manager_.MenuItems(item2->extension_id())->at(0)); |
+ ASSERT_EQ(1u, manager_.MenuItems(item2->id().extension_key)->size()); |
+ ASSERT_EQ(item2, manager_.MenuItems(item2->id().extension_key)->at(0)); |
// Remove child2_item. |
ASSERT_TRUE(manager_.RemoveContextMenuItem(id2_child)); |
- ASSERT_EQ(1u, manager_.MenuItems(item2->extension_id())->size()); |
- ASSERT_EQ(item2, manager_.MenuItems(item2->extension_id())->at(0)); |
+ ASSERT_EQ(1u, manager_.MenuItems(item2->id().extension_key)->size()); |
+ ASSERT_EQ(item2, manager_.MenuItems(item2->id().extension_key)->at(0)); |
ASSERT_EQ(0, item2->child_count()); |
} |
@@ -284,6 +287,7 @@ TEST_F(MenuManagerTest, DeleteParent) { |
MenuItem::Id item4_id = item4->id(); |
MenuItem::Id item5_id = item5->id(); |
MenuItem::Id item6_id = item6->id(); |
+ const MenuItem::ExtensionKey key(extension->id()); |
// Add the items in the hierarchy |
// item1 -> item2 -> item3 -> item4 -> item5 -> item6. |
@@ -299,7 +303,7 @@ TEST_F(MenuManagerTest, DeleteParent) { |
ASSERT_EQ(item4, manager_.GetItemById(item4_id)); |
ASSERT_EQ(item5, manager_.GetItemById(item5_id)); |
ASSERT_EQ(item6, manager_.GetItemById(item6_id)); |
- ASSERT_EQ(1u, manager_.MenuItems(extension->id())->size()); |
+ ASSERT_EQ(1u, manager_.MenuItems(key)->size()); |
ASSERT_EQ(6u, manager_.items_by_id_.size()); |
// Remove item6 (a leaf node). |
@@ -310,7 +314,7 @@ TEST_F(MenuManagerTest, DeleteParent) { |
ASSERT_EQ(item4, manager_.GetItemById(item4_id)); |
ASSERT_EQ(item5, manager_.GetItemById(item5_id)); |
ASSERT_EQ(NULL, manager_.GetItemById(item6_id)); |
- ASSERT_EQ(1u, manager_.MenuItems(extension->id())->size()); |
+ ASSERT_EQ(1u, manager_.MenuItems(key)->size()); |
ASSERT_EQ(5u, manager_.items_by_id_.size()); |
// Remove item4 and make sure item5 is gone as well. |
@@ -320,12 +324,12 @@ TEST_F(MenuManagerTest, DeleteParent) { |
ASSERT_EQ(item3, manager_.GetItemById(item3_id)); |
ASSERT_EQ(NULL, manager_.GetItemById(item4_id)); |
ASSERT_EQ(NULL, manager_.GetItemById(item5_id)); |
- ASSERT_EQ(1u, manager_.MenuItems(extension->id())->size()); |
+ ASSERT_EQ(1u, manager_.MenuItems(key)->size()); |
ASSERT_EQ(3u, manager_.items_by_id_.size()); |
// Now remove item1 and make sure item2 and item3 are gone as well. |
ASSERT_TRUE(manager_.RemoveContextMenuItem(item1_id)); |
- ASSERT_EQ(NULL, manager_.MenuItems(extension->id())); |
+ ASSERT_EQ(NULL, manager_.MenuItems(key)); |
ASSERT_EQ(0u, manager_.items_by_id_.size()); |
ASSERT_EQ(NULL, manager_.GetItemById(item1_id)); |
ASSERT_EQ(NULL, manager_.GetItemById(item2_id)); |
@@ -343,7 +347,7 @@ TEST_F(MenuManagerTest, ChangeParent) { |
ASSERT_TRUE(manager_.AddContextItem(extension1, item1)); |
ASSERT_TRUE(manager_.AddContextItem(extension1, item2)); |
- const MenuItem::List* items = manager_.MenuItems(item1->extension_id()); |
+ const MenuItem::List* items = manager_.MenuItems(item1->id().extension_key); |
ASSERT_EQ(2u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
ASSERT_EQ(item2, items->at(1)); |
@@ -370,7 +374,7 @@ TEST_F(MenuManagerTest, ChangeParent) { |
// Since item2 was a top-level item but is no longer, we should only have 1 |
// top-level item. |
- items = manager_.MenuItems(item1->extension_id()); |
+ items = manager_.MenuItems(item1->id().extension_key); |
ASSERT_EQ(1u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
@@ -386,13 +390,13 @@ TEST_F(MenuManagerTest, ChangeParent) { |
ASSERT_EQ(2, item1->child_count()); |
ASSERT_EQ(item2, item1->children()[0]); |
ASSERT_EQ(item3, item1->children()[1]); |
- items = manager_.MenuItems(item1->extension_id()); |
+ items = manager_.MenuItems(item1->id().extension_key); |
ASSERT_EQ(1u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
// Move item2 to be a top-level item. |
ASSERT_TRUE(manager_.ChangeParent(item2->id(), NULL)); |
- items = manager_.MenuItems(item1->extension_id()); |
+ items = manager_.MenuItems(item1->id().extension_key); |
ASSERT_EQ(2u, items->size()); |
ASSERT_EQ(item1, items->at(0)); |
ASSERT_EQ(item2, items->at(1)); |
@@ -425,7 +429,8 @@ TEST_F(MenuManagerTest, ExtensionUnloadRemovesMenuItems) { |
MenuItem::Id id1 = item1->id(); |
ASSERT_EQ(extension1->id(), item1->extension_id()); |
ASSERT_TRUE(manager_.AddContextItem(extension1, item1)); |
- ASSERT_EQ(1u, manager_.MenuItems(extension1->id())->size()); |
+ ASSERT_EQ( |
+ 1u, manager_.MenuItems(MenuItem::ExtensionKey(extension1->id()))->size()); |
// Create a menu item with a different extension id and add it to the manager. |
Extension* extension2 = AddExtension("2222"); |
@@ -441,8 +446,9 @@ TEST_F(MenuManagerTest, ExtensionUnloadRemovesMenuItems) { |
content::Source<Profile>(&profile_), |
content::Details<UnloadedExtensionInfo>( |
&details)); |
- ASSERT_EQ(NULL, manager_.MenuItems(extension1->id())); |
- ASSERT_EQ(1u, manager_.MenuItems(extension2->id())->size()); |
+ ASSERT_EQ(NULL, manager_.MenuItems(MenuItem::ExtensionKey(extension1->id()))); |
+ ASSERT_EQ( |
+ 1u, manager_.MenuItems(MenuItem::ExtensionKey(extension2->id()))->size()); |
ASSERT_TRUE(manager_.GetItemById(id1) == NULL); |
ASSERT_TRUE(manager_.GetItemById(item2->id()) != NULL); |
} |
@@ -500,7 +506,7 @@ BrowserContextKeyedService* BuildMockExtensionSystem( |
// Tests the RemoveAll functionality. |
TEST_F(MenuManagerTest, RemoveAll) { |
// Try removing all items for an extension id that doesn't have any items. |
- manager_.RemoveAllContextItems("CCCC"); |
+ manager_.RemoveAllContextItems(MenuItem::ExtensionKey("CCCC")); |
// Add 2 top-level and one child item for extension 1. |
Extension* extension1 = AddExtension("1111"); |
@@ -516,17 +522,19 @@ TEST_F(MenuManagerTest, RemoveAll) { |
MenuItem* item4 = CreateTestItem(extension2); |
ASSERT_TRUE(manager_.AddContextItem(extension2, item4)); |
- EXPECT_EQ(2u, manager_.MenuItems(extension1->id())->size()); |
- EXPECT_EQ(1u, manager_.MenuItems(extension2->id())->size()); |
+ const MenuItem::ExtensionKey key1(extension1->id()); |
+ const MenuItem::ExtensionKey key2(extension2->id()); |
+ EXPECT_EQ(2u, manager_.MenuItems(key1)->size()); |
+ EXPECT_EQ(1u, manager_.MenuItems(key2)->size()); |
// Remove extension2's item. |
- manager_.RemoveAllContextItems(extension2->id()); |
- EXPECT_EQ(2u, manager_.MenuItems(extension1->id())->size()); |
- EXPECT_EQ(NULL, manager_.MenuItems(extension2->id())); |
+ manager_.RemoveAllContextItems(key2); |
+ EXPECT_EQ(2u, manager_.MenuItems(key1)->size()); |
+ EXPECT_EQ(NULL, manager_.MenuItems(key2)); |
// Remove extension1's items. |
- manager_.RemoveAllContextItems(extension1->id()); |
- EXPECT_EQ(NULL, manager_.MenuItems(extension1->id())); |
+ manager_.RemoveAllContextItems(key1); |
+ EXPECT_EQ(NULL, manager_.MenuItems(key1)); |
} |
// Tests that removing all items one-by-one doesn't leave an entry around. |
@@ -748,13 +756,15 @@ TEST_F(MenuManagerTest, RemoveAllIncognito) { |
MenuItem* item7 = CreateTestItem(extension2); |
ASSERT_TRUE(manager_.AddContextItem(extension2, item7)); |
- EXPECT_EQ(4u, manager_.MenuItems(extension1->id())->size()); |
- EXPECT_EQ(1u, manager_.MenuItems(extension2->id())->size()); |
+ const MenuItem::ExtensionKey key1(extension1->id()); |
+ const MenuItem::ExtensionKey key2(extension2->id()); |
+ EXPECT_EQ(4u, manager_.MenuItems(key1)->size()); |
+ EXPECT_EQ(1u, manager_.MenuItems(key2)->size()); |
// Remove all context menu items with incognito true. |
manager_.RemoveAllIncognitoContextItems(); |
- EXPECT_EQ(2u, manager_.MenuItems(extension1->id())->size()); |
- EXPECT_EQ(1u, manager_.MenuItems(extension2->id())->size()); |
+ EXPECT_EQ(2u, manager_.MenuItems(key1)->size()); |
+ EXPECT_EQ(1u, manager_.MenuItems(key2)->size()); |
} |
} // namespace extensions |