| 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(
|
|
|