Index: chrome/browser/extensions/extension_browsertests_misc.cc |
=================================================================== |
--- chrome/browser/extensions/extension_browsertests_misc.cc (revision 113069) |
+++ chrome/browser/extensions/extension_browsertests_misc.cc (working copy) |
@@ -212,30 +212,29 @@ |
FilePath base_path = test_data_dir_.AppendASCII("browsertest") |
.AppendASCII("crash_44415"); |
// Load extension A. |
- const Extension* extensionA = LoadExtension(base_path.AppendASCII("ExtA")); |
- ASSERT_TRUE(extensionA); |
+ ASSERT_TRUE(LoadExtension(base_path.AppendASCII("ExtA"))); |
ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); |
ASSERT_EQ(size_before + 1, service->extensions()->size()); |
+ const Extension* extensionA = service->extensions()->at(size_before); |
LOG(INFO) << "Load extension A done : " |
<< (base::TimeTicks::Now() - start_time).InMilliseconds() |
<< " ms" << std::flush; |
// Load extension B. |
- const Extension* extensionB = LoadExtension(base_path.AppendASCII("ExtB")); |
- ASSERT_TRUE(extensionB); |
+ ASSERT_TRUE(LoadExtension(base_path.AppendASCII("ExtB"))); |
ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(2)); |
ASSERT_EQ(size_before + 2, service->extensions()->size()); |
+ const Extension* extensionB = service->extensions()->at(size_before + 1); |
LOG(INFO) << "Load extension B done : " |
<< (base::TimeTicks::Now() - start_time).InMilliseconds() |
<< " ms" << std::flush; |
- std::string idA = extensionA->id(); |
ReloadExtension(extensionA->id()); |
// ExtensionA has changed, so refetch it. |
ASSERT_EQ(size_before + 2, service->extensions()->size()); |
- extensionA = service->extensions()->GetByID(idA); |
+ extensionA = service->extensions()->at(size_before + 1); |
LOG(INFO) << "Reload extension A done: " |
<< (base::TimeTicks::Now() - start_time).InMilliseconds() |
@@ -279,10 +278,10 @@ |
const size_t size_before = service->extensions()->size(); |
FilePath extension_path(test_data_dir_.AppendASCII("browsertest") |
.AppendASCII("title_localized")); |
- const Extension* extension = LoadExtension(extension_path); |
- ASSERT_TRUE(extension); |
+ ASSERT_TRUE(LoadExtension(extension_path)); |
ASSERT_EQ(size_before + 1, service->extensions()->size()); |
+ const Extension* extension = service->extensions()->at(size_before); |
EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n browser action").c_str(), |
extension->description().c_str()); |
@@ -303,8 +302,7 @@ |
FilePath extension_path(test_data_dir_.AppendASCII("browsertest") |
.AppendASCII("title_localized_pa")); |
- const Extension* extension = LoadExtension(extension_path); |
- ASSERT_TRUE(extension); |
+ ASSERT_TRUE(LoadExtension(extension_path)); |
// Any navigation prompts the location bar to load the page action. |
GURL url = test_server()->GetURL(kLocalization); |
@@ -312,6 +310,7 @@ |
ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); |
ASSERT_EQ(size_before + 1, service->extensions()->size()); |
+ const Extension* extension = service->extensions()->at(size_before); |
EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n page action").c_str(), |
extension->description().c_str()); |
@@ -388,7 +387,6 @@ |
void NavigateToFeedAndValidate(net::TestServer* server, |
const std::string& url, |
Browser* browser, |
- std::string extension_id, |
bool sniff_xml_type, |
const std::string& expected_feed_title, |
const std::string& expected_item_title, |
@@ -398,9 +396,12 @@ |
// TODO(finnur): Implement this is a non-flaky way. |
} |
+ ExtensionService* service = browser->profile()->GetExtensionService(); |
+ const Extension* extension = service->extensions()->back(); |
+ std::string id = extension->id(); |
+ |
// Navigate to the subscribe page directly. |
- ui_test_utils::NavigateToURL(browser, |
- GetFeedUrl(server, url, true, extension_id)); |
+ ui_test_utils::NavigateToURL(browser, GetFeedUrl(server, url, true, id)); |
TabContents* tab = browser->GetSelectedTabContents(); |
ASSERT_TRUE(ValidatePageElement(tab, |
@@ -424,12 +425,10 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed1) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
- NavigateToFeedAndValidate(test_server(), kValidFeed1, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed1, browser(), true, |
"Feed for MyFeedTitle", |
"Title 1", |
"Desc", |
@@ -439,12 +438,10 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed2) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
- NavigateToFeedAndValidate(test_server(), kValidFeed2, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed2, browser(), true, |
"Feed for MyFeed2", |
"My item title1", |
"This is a summary.", |
@@ -454,12 +451,10 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed3) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
- NavigateToFeedAndValidate(test_server(), kValidFeed3, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed3, browser(), true, |
"Feed for Google Code buglist rss feed", |
"My dear title", |
"My dear content", |
@@ -469,12 +464,10 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed4) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
- NavigateToFeedAndValidate(test_server(), kValidFeed4, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed4, browser(), true, |
"Feed for Title chars <script> %23 stop", |
"Title chars %23 stop", |
"My dear content %23 stop", |
@@ -484,14 +477,12 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed0) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Try a feed with a link with an onclick handler (before r27440 this would |
// trigger a NOTREACHED). |
- NavigateToFeedAndValidate(test_server(), kValidFeed0, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed0, browser(), true, |
"Feed for MyFeedTitle", |
"Title 1", |
"Desc VIDEO", |
@@ -501,13 +492,11 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed5) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Feed with valid but mostly empty xml. |
- NavigateToFeedAndValidate(test_server(), kValidFeed5, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed5, browser(), true, |
"Feed for Unknown feed name", |
"element 'anchor_0' not found", |
"element 'desc_0' not found", |
@@ -517,13 +506,11 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeed6) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Feed that is technically invalid but still parseable. |
- NavigateToFeedAndValidate(test_server(), kValidFeed6, browser(), id, true, |
+ NavigateToFeedAndValidate(test_server(), kValidFeed6, browser(), true, |
"Feed for MyFeedTitle", |
"Title 1", |
"Desc", |
@@ -533,13 +520,11 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed1) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Try an empty feed. |
- NavigateToFeedAndValidate(test_server(), kInvalidFeed1, browser(), id, false, |
+ NavigateToFeedAndValidate(test_server(), kInvalidFeed1, browser(), false, |
"Feed for Unknown feed name", |
"element 'anchor_0' not found", |
"element 'desc_0' not found", |
@@ -549,13 +534,11 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed2) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Try a garbage feed. |
- NavigateToFeedAndValidate(test_server(), kInvalidFeed2, browser(), id, false, |
+ NavigateToFeedAndValidate(test_server(), kInvalidFeed2, browser(), false, |
"Feed for Unknown feed name", |
"element 'anchor_0' not found", |
"element 'desc_0' not found", |
@@ -565,13 +548,11 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed3) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Try a feed that doesn't exist. |
- NavigateToFeedAndValidate(test_server(), "foo.xml", browser(), id, false, |
+ NavigateToFeedAndValidate(test_server(), "foo.xml", browser(), false, |
"Feed for Unknown feed name", |
"element 'anchor_0' not found", |
"element 'desc_0' not found", |
@@ -581,10 +562,8 @@ |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedInvalidFeed4) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// subscribe.js shouldn't double-decode the URL passed in. Otherwise feed |
// links such as http://search.twitter.com/search.atom?lang=en&q=%23chrome |
@@ -593,29 +572,25 @@ |
// uses an underscore instead of a hash, but the principle is the same. If |
// we start erroneously double decoding again, the path (and the feed) will |
// become valid resulting in a failure for this test. |
- NavigateToFeedAndValidate( |
- test_server(), kFeedTripleEncoded, browser(), id, true, |
- "Feed for Unknown feed name", |
- "element 'anchor_0' not found", |
- "element 'desc_0' not found", |
- "This feed contains no entries."); |
+ NavigateToFeedAndValidate(test_server(), kFeedTripleEncoded, browser(), true, |
+ "Feed for Unknown feed name", |
+ "element 'anchor_0' not found", |
+ "element 'desc_0' not found", |
+ "This feed contains no entries."); |
} |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, ParseFeedValidFeedNoLinks) { |
ASSERT_TRUE(test_server()->Start()); |
- const Extension* extension = LoadExtension( |
- test_data_dir_.AppendASCII("subscribe_page_action")); |
- ASSERT_TRUE(extension); |
- std::string id = extension->id(); |
+ ASSERT_TRUE(LoadExtension( |
+ test_data_dir_.AppendASCII("subscribe_page_action"))); |
// Valid feed but containing no links. |
- NavigateToFeedAndValidate( |
- test_server(), kValidFeedNoLinks, browser(), id, true, |
- "Feed for MyFeedTitle", |
- "Title with no link", |
- "Desc", |
- "No error"); |
+ NavigateToFeedAndValidate(test_server(), kValidFeedNoLinks, browser(), true, |
+ "Feed for MyFeedTitle", |
+ "Title with no link", |
+ "Desc", |
+ "No error"); |
} |
// Tests that an error raised during an async function still fires |
@@ -747,8 +722,7 @@ |
ExtensionService* service = browser()->profile()->GetExtensionService(); |
service->set_show_extensions_prompts(false); |
const size_t size_before = service->extensions()->size(); |
- const Extension* extension = LoadExtension(extension_dir); |
- ASSERT_TRUE(extension); |
+ ASSERT_TRUE(LoadExtension(extension_dir)); |
EXPECT_EQ(size_before + 1, service->extensions()->size()); |
// Now the plugin should be in the cache, but we have to reload the page for |
// it to work. |
@@ -768,7 +742,7 @@ |
EXPECT_TRUE(result); |
EXPECT_EQ(size_before + 1, service->extensions()->size()); |
- UnloadExtension(extension->id()); |
+ UnloadExtension(service->extensions()->at(size_before)->id()); |
EXPECT_EQ(size_before, service->extensions()->size()); |
// Now the plugin should be unloaded, and the page should be broken. |
@@ -810,11 +784,11 @@ |
ExtensionService* service = browser()->profile()->GetExtensionService(); |
service->set_show_extensions_prompts(false); |
const size_t size_before = service->extensions()->size(); |
- const Extension* extension = LoadExtension(extension_dir); |
- ASSERT_TRUE(extension); |
+ ASSERT_TRUE(LoadExtension(extension_dir)); |
EXPECT_EQ(size_before + 1, service->extensions()->size()); |
// Load the test page through the extension URL, and the plugin should work. |
+ const Extension* extension = service->extensions()->back(); |
ui_test_utils::NavigateToURL(browser(), |
extension->GetResourceURL("test.html")); |
TabContents* tab = browser()->GetSelectedTabContents(); |
@@ -851,11 +825,11 @@ |
// Disabled. See http://crbug.com/26948 for details. |
IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, DISABLED_OptionsPage) { |
// Install an extension with an options page. |
- const Extension* extension = |
- InstallExtension(test_data_dir_.AppendASCII("options.crx"), 1); |
- ASSERT_TRUE(extension); |
+ ASSERT_TRUE(InstallExtension(test_data_dir_.AppendASCII("options.crx"), 1)); |
ExtensionService* service = browser()->profile()->GetExtensionService(); |
- ASSERT_EQ(1u, service->extensions()->size()); |
+ const ExtensionList* extensions = service->extensions(); |
+ ASSERT_EQ(1u, extensions->size()); |
+ const Extension* extension = extensions->at(0); |
// Go to the Extension Settings page and click the Options button. |
ui_test_utils::NavigateToURL( |