OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/file_util.h" | 5 #include "base/file_util.h" |
6 #include "base/memory/ref_counted.h" | 6 #include "base/memory/ref_counted.h" |
7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
8 #include "chrome/browser/extensions/autoupdate_interceptor.h" | 8 #include "chrome/browser/extensions/autoupdate_interceptor.h" |
9 #include "chrome/browser/extensions/extension_apitest.h" | 9 #include "chrome/browser/extensions/extension_apitest.h" |
10 #include "chrome/browser/extensions/extension_browsertest.h" | 10 #include "chrome/browser/extensions/extension_browsertest.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 #include "content/public/browser/navigation_entry.h" | 30 #include "content/public/browser/navigation_entry.h" |
31 #include "content/public/browser/notification_service.h" | 31 #include "content/public/browser/notification_service.h" |
32 #include "net/base/net_util.h" | 32 #include "net/base/net_util.h" |
33 #include "net/test/test_server.h" | 33 #include "net/test/test_server.h" |
34 #include "webkit/glue/webpreferences.h" | 34 #include "webkit/glue/webpreferences.h" |
35 | 35 |
36 #if defined(TOOLKIT_VIEWS) | 36 #if defined(TOOLKIT_VIEWS) |
37 #include "chrome/browser/ui/views/frame/browser_view.h" | 37 #include "chrome/browser/ui/views/frame/browser_view.h" |
38 #endif | 38 #endif |
39 | 39 |
| 40 using content::WebContents; |
| 41 |
40 const std::string kSubscribePage = "/subscribe.html"; | 42 const std::string kSubscribePage = "/subscribe.html"; |
41 const std::string kFeedPage = "files/feeds/feed.html"; | 43 const std::string kFeedPage = "files/feeds/feed.html"; |
42 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html"; | 44 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html"; |
43 const std::string kNoFeedPage = "files/feeds/no_feed.html"; | 45 const std::string kNoFeedPage = "files/feeds/no_feed.html"; |
44 const std::string kValidFeed0 = "files/feeds/feed_script.xml"; | 46 const std::string kValidFeed0 = "files/feeds/feed_script.xml"; |
45 const std::string kValidFeed1 = "files/feeds/feed1.xml"; | 47 const std::string kValidFeed1 = "files/feeds/feed1.xml"; |
46 const std::string kValidFeed2 = "files/feeds/feed2.xml"; | 48 const std::string kValidFeed2 = "files/feeds/feed2.xml"; |
47 const std::string kValidFeed3 = "files/feeds/feed3.xml"; | 49 const std::string kValidFeed3 = "files/feeds/feed3.xml"; |
48 const std::string kValidFeed4 = "files/feeds/feed4.xml"; | 50 const std::string kValidFeed4 = "files/feeds/feed4.xml"; |
49 const std::string kValidFeed5 = "files/feeds/feed5.xml"; | 51 const std::string kValidFeed5 = "files/feeds/feed5.xml"; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") | 91 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") |
90 .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj") | 92 .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj") |
91 .AppendASCII("1.0.0.0"))); | 93 .AppendASCII("1.0.0.0"))); |
92 | 94 |
93 ui_test_utils::NavigateToURL( | 95 ui_test_utils::NavigateToURL( |
94 browser(), | 96 browser(), |
95 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html")); | 97 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html")); |
96 | 98 |
97 bool result = false; | 99 bool result = false; |
98 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 100 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
99 browser()->GetSelectedTabContents()->GetRenderViewHost(), L"", | 101 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", |
100 L"testTabsAPI()", &result)); | 102 L"testTabsAPI()", &result)); |
101 EXPECT_TRUE(result); | 103 EXPECT_TRUE(result); |
102 | 104 |
103 // There was a bug where we would crash if we navigated to a page in the same | 105 // There was a bug where we would crash if we navigated to a page in the same |
104 // extension because no new render view was getting created, so we would not | 106 // extension because no new render view was getting created, so we would not |
105 // do some setup. | 107 // do some setup. |
106 ui_test_utils::NavigateToURL( | 108 ui_test_utils::NavigateToURL( |
107 browser(), | 109 browser(), |
108 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html")); | 110 GURL("chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/page.html")); |
109 result = false; | 111 result = false; |
110 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 112 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
111 browser()->GetSelectedTabContents()->GetRenderViewHost(), L"", | 113 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", |
112 L"testTabsAPI()", &result)); | 114 L"testTabsAPI()", &result)); |
113 EXPECT_TRUE(result); | 115 EXPECT_TRUE(result); |
114 } | 116 } |
115 | 117 |
116 // Tests that GPU-related WebKit preferences are set for extension background | 118 // Tests that GPU-related WebKit preferences are set for extension background |
117 // pages. See http://crbug.com/64512. | 119 // pages. See http://crbug.com/64512. |
118 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WebKitPrefsBackgroundPage) { | 120 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WebKitPrefsBackgroundPage) { |
119 ASSERT_TRUE(LoadExtension( | 121 ASSERT_TRUE(LoadExtension( |
120 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") | 122 test_data_dir_.AppendASCII("good").AppendASCII("Extensions") |
121 .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj") | 123 .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj") |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
292 .AppendASCII("title_localized")); | 294 .AppendASCII("title_localized")); |
293 const Extension* extension = LoadExtension(extension_path); | 295 const Extension* extension = LoadExtension(extension_path); |
294 ASSERT_TRUE(extension); | 296 ASSERT_TRUE(extension); |
295 | 297 |
296 ASSERT_EQ(size_before + 1, service->extensions()->size()); | 298 ASSERT_EQ(size_before + 1, service->extensions()->size()); |
297 | 299 |
298 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n browser action").c_str(), | 300 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n browser action").c_str(), |
299 extension->description().c_str()); | 301 extension->description().c_str()); |
300 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), | 302 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), |
301 extension->name().c_str()); | 303 extension->name().c_str()); |
302 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents()); | 304 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedWebContents()); |
303 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), | 305 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), |
304 extension->browser_action()->GetTitle(tab_id).c_str()); | 306 extension->browser_action()->GetTitle(tab_id).c_str()); |
305 } | 307 } |
306 | 308 |
307 // Tests that tooltips of a page action icon can be specified using UTF8. | 309 // Tests that tooltips of a page action icon can be specified using UTF8. |
308 // See http://crbug.com/25349. | 310 // See http://crbug.com/25349. |
309 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, TitleLocalizationPageAction) { | 311 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, TitleLocalizationPageAction) { |
310 ASSERT_TRUE(test_server()->Start()); | 312 ASSERT_TRUE(test_server()->Start()); |
311 | 313 |
312 ExtensionService* service = browser()->profile()->GetExtensionService(); | 314 ExtensionService* service = browser()->profile()->GetExtensionService(); |
313 const size_t size_before = service->extensions()->size(); | 315 const size_t size_before = service->extensions()->size(); |
314 | 316 |
315 FilePath extension_path(test_data_dir_.AppendASCII("browsertest") | 317 FilePath extension_path(test_data_dir_.AppendASCII("browsertest") |
316 .AppendASCII("title_localized_pa")); | 318 .AppendASCII("title_localized_pa")); |
317 const Extension* extension = LoadExtension(extension_path); | 319 const Extension* extension = LoadExtension(extension_path); |
318 ASSERT_TRUE(extension); | 320 ASSERT_TRUE(extension); |
319 | 321 |
320 // Any navigation prompts the location bar to load the page action. | 322 // Any navigation prompts the location bar to load the page action. |
321 GURL url = test_server()->GetURL(kLocalization); | 323 GURL url = test_server()->GetURL(kLocalization); |
322 ui_test_utils::NavigateToURL(browser(), url); | 324 ui_test_utils::NavigateToURL(browser(), url); |
323 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); | 325 ASSERT_TRUE(WaitForPageActionVisibilityChangeTo(1)); |
324 | 326 |
325 ASSERT_EQ(size_before + 1, service->extensions()->size()); | 327 ASSERT_EQ(size_before + 1, service->extensions()->size()); |
326 | 328 |
327 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n page action").c_str(), | 329 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur: l10n page action").c_str(), |
328 extension->description().c_str()); | 330 extension->description().c_str()); |
329 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), | 331 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur is my name").c_str(), |
330 extension->name().c_str()); | 332 extension->name().c_str()); |
331 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedTabContents()); | 333 int tab_id = ExtensionTabUtil::GetTabId(browser()->GetSelectedWebContents()); |
332 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), | 334 EXPECT_STREQ(WideToUTF8(L"Hreggvi\u00F0ur").c_str(), |
333 extension->page_action()->GetTitle(tab_id).c_str()); | 335 extension->page_action()->GetTitle(tab_id).c_str()); |
334 } | 336 } |
335 | 337 |
336 GURL GetFeedUrl(net::TestServer* server, const std::string& feed_page, | 338 GURL GetFeedUrl(net::TestServer* server, const std::string& feed_page, |
337 bool direct_url, std::string extension_id) { | 339 bool direct_url, std::string extension_id) { |
338 GURL feed_url = server->GetURL(feed_page); | 340 GURL feed_url = server->GetURL(feed_page); |
339 if (direct_url) { | 341 if (direct_url) { |
340 // We navigate directly to the subscribe page for feeds where the feed | 342 // We navigate directly to the subscribe page for feeds where the feed |
341 // sniffing won't work, in other words, as is the case for malformed feeds. | 343 // sniffing won't work, in other words, as is the case for malformed feeds. |
(...skipping 26 matching lines...) Expand all Loading... |
368 L" document.getElementById('desc_0').textContent : " | 370 L" document.getElementById('desc_0').textContent : " |
369 L" \"element 'desc_0' not found\"" | 371 L" \"element 'desc_0' not found\"" |
370 L");"; | 372 L");"; |
371 static const wchar_t* jscript_error = | 373 static const wchar_t* jscript_error = |
372 L"window.domAutomationController.send(" | 374 L"window.domAutomationController.send(" |
373 L" document.getElementById('error') ? " | 375 L" document.getElementById('error') ? " |
374 L" document.getElementById('error').textContent : " | 376 L" document.getElementById('error').textContent : " |
375 L" \"No error\"" | 377 L" \"No error\"" |
376 L");"; | 378 L");"; |
377 | 379 |
378 bool ValidatePageElement(TabContents* tab, | 380 bool ValidatePageElement(WebContents* tab, |
379 const std::wstring& frame, | 381 const std::wstring& frame, |
380 const std::wstring& javascript, | 382 const std::wstring& javascript, |
381 const std::string& expected_value) { | 383 const std::string& expected_value) { |
382 std::string returned_value; | 384 std::string returned_value; |
383 std::string error; | 385 std::string error; |
384 | 386 |
385 if (!ui_test_utils::ExecuteJavaScriptAndExtractString( | 387 if (!ui_test_utils::ExecuteJavaScriptAndExtractString( |
386 tab->GetRenderViewHost(), | 388 tab->GetRenderViewHost(), |
387 frame, | 389 frame, |
388 javascript, &returned_value)) | 390 javascript, &returned_value)) |
(...skipping 17 matching lines...) Expand all Loading... |
406 const std::string& expected_item_desc, | 408 const std::string& expected_item_desc, |
407 const std::string& expected_error) { | 409 const std::string& expected_error) { |
408 if (sniff_xml_type) { | 410 if (sniff_xml_type) { |
409 // TODO(finnur): Implement this is a non-flaky way. | 411 // TODO(finnur): Implement this is a non-flaky way. |
410 } | 412 } |
411 | 413 |
412 // Navigate to the subscribe page directly. | 414 // Navigate to the subscribe page directly. |
413 ui_test_utils::NavigateToURL(browser, | 415 ui_test_utils::NavigateToURL(browser, |
414 GetFeedUrl(server, url, true, extension_id)); | 416 GetFeedUrl(server, url, true, extension_id)); |
415 | 417 |
416 TabContents* tab = browser->GetSelectedTabContents(); | 418 WebContents* tab = browser->GetSelectedWebContents(); |
417 ASSERT_TRUE(ValidatePageElement(tab, | 419 ASSERT_TRUE(ValidatePageElement(tab, |
418 L"", | 420 L"", |
419 jscript_feed_title, | 421 jscript_feed_title, |
420 expected_feed_title)); | 422 expected_feed_title)); |
421 ASSERT_TRUE(ValidatePageElement(tab, | 423 ASSERT_TRUE(ValidatePageElement(tab, |
422 L"//html/body/div/iframe[1]", | 424 L"//html/body/div/iframe[1]", |
423 jscript_anchor, | 425 jscript_anchor, |
424 expected_item_title)); | 426 expected_item_title)); |
425 ASSERT_TRUE(ValidatePageElement(tab, | 427 ASSERT_TRUE(ValidatePageElement(tab, |
426 L"//html/body/div/iframe[1]", | 428 L"//html/body/div/iframe[1]", |
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
678 | 680 |
679 bool result = false; | 681 bool result = false; |
680 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 682 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
681 host->render_view_host(), L"", L"testLastError()", &result)); | 683 host->render_view_host(), L"", L"testLastError()", &result)); |
682 EXPECT_TRUE(result); | 684 EXPECT_TRUE(result); |
683 } | 685 } |
684 | 686 |
685 // Helper function for common code shared by the 3 WindowOpen tests below. | 687 // Helper function for common code shared by the 3 WindowOpen tests below. |
686 static void WindowOpenHelper(Browser* browser, const GURL& start_url, | 688 static void WindowOpenHelper(Browser* browser, const GURL& start_url, |
687 const std::string& newtab_url, | 689 const std::string& newtab_url, |
688 TabContents** newtab_result) { | 690 WebContents** newtab_result) { |
689 ui_test_utils::NavigateToURL(browser, start_url); | 691 ui_test_utils::NavigateToURL(browser, start_url); |
690 | 692 |
691 ui_test_utils::WindowedNotificationObserver observer( | 693 ui_test_utils::WindowedNotificationObserver observer( |
692 content::NOTIFICATION_LOAD_STOP, | 694 content::NOTIFICATION_LOAD_STOP, |
693 content::NotificationService::AllSources()); | 695 content::NotificationService::AllSources()); |
694 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( | 696 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( |
695 browser->GetSelectedTabContents()->GetRenderViewHost(), L"", | 697 browser->GetSelectedWebContents()->GetRenderViewHost(), L"", |
696 L"window.open('" + UTF8ToWide(newtab_url) + L"');")); | 698 L"window.open('" + UTF8ToWide(newtab_url) + L"');")); |
697 | 699 |
698 // Now the active tab in last active window should be the new tab. | 700 // Now the active tab in last active window should be the new tab. |
699 Browser* last_active_browser = BrowserList::GetLastActive(); | 701 Browser* last_active_browser = BrowserList::GetLastActive(); |
700 EXPECT_TRUE(last_active_browser); | 702 EXPECT_TRUE(last_active_browser); |
701 TabContents* newtab = last_active_browser->GetSelectedTabContents(); | 703 WebContents* newtab = last_active_browser->GetSelectedWebContents(); |
702 EXPECT_TRUE(newtab); | 704 EXPECT_TRUE(newtab); |
703 GURL expected_url = start_url.Resolve(newtab_url); | 705 GURL expected_url = start_url.Resolve(newtab_url); |
704 observer.Wait(); | 706 observer.Wait(); |
705 EXPECT_EQ(expected_url, | 707 EXPECT_EQ(expected_url, |
706 newtab->GetController().GetLastCommittedEntry()->GetURL()); | 708 newtab->GetController().GetLastCommittedEntry()->GetURL()); |
707 if (newtab_result) | 709 if (newtab_result) |
708 *newtab_result = newtab; | 710 *newtab_result = newtab; |
709 } | 711 } |
710 | 712 |
711 // Tests that an extension page can call window.open to an extension URL and | 713 // Tests that an extension page can call window.open to an extension URL and |
712 // the new window has extension privileges. | 714 // the new window has extension privileges. |
713 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenExtension) { | 715 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenExtension) { |
714 ASSERT_TRUE(LoadExtension( | 716 ASSERT_TRUE(LoadExtension( |
715 test_data_dir_.AppendASCII("uitest").AppendASCII("window_open"))); | 717 test_data_dir_.AppendASCII("uitest").AppendASCII("window_open"))); |
716 | 718 |
717 TabContents* newtab; | 719 WebContents* newtab; |
718 ASSERT_NO_FATAL_FAILURE(WindowOpenHelper( | 720 ASSERT_NO_FATAL_FAILURE(WindowOpenHelper( |
719 browser(), | 721 browser(), |
720 GURL(std::string("chrome-extension://") + last_loaded_extension_id_ + | 722 GURL(std::string("chrome-extension://") + last_loaded_extension_id_ + |
721 "/test.html"), | 723 "/test.html"), |
722 "newtab.html", &newtab)); | 724 "newtab.html", &newtab)); |
723 | 725 |
724 bool result = false; | 726 bool result = false; |
725 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 727 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
726 newtab->GetRenderViewHost(), L"", L"testExtensionApi()", &result)); | 728 newtab->GetRenderViewHost(), L"", L"testExtensionApi()", &result)); |
727 EXPECT_TRUE(result); | 729 EXPECT_TRUE(result); |
(...skipping 15 matching lines...) Expand all Loading... |
743 } | 745 } |
744 | 746 |
745 // Tests that calling window.open from the newtab page to an extension URL | 747 // Tests that calling window.open from the newtab page to an extension URL |
746 // gives the new window extension privileges - even though the opening page | 748 // gives the new window extension privileges - even though the opening page |
747 // does not have extension privileges, we break the script connection, so | 749 // does not have extension privileges, we break the script connection, so |
748 // there is no privilege leak. | 750 // there is no privilege leak. |
749 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenNoPrivileges) { | 751 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, WindowOpenNoPrivileges) { |
750 ASSERT_TRUE(LoadExtension( | 752 ASSERT_TRUE(LoadExtension( |
751 test_data_dir_.AppendASCII("uitest").AppendASCII("window_open"))); | 753 test_data_dir_.AppendASCII("uitest").AppendASCII("window_open"))); |
752 | 754 |
753 TabContents* newtab; | 755 WebContents* newtab; |
754 ASSERT_NO_FATAL_FAILURE(WindowOpenHelper( | 756 ASSERT_NO_FATAL_FAILURE(WindowOpenHelper( |
755 browser(), | 757 browser(), |
756 GURL("about:blank"), | 758 GURL("about:blank"), |
757 std::string("chrome-extension://") + last_loaded_extension_id_ + | 759 std::string("chrome-extension://") + last_loaded_extension_id_ + |
758 "/newtab.html", | 760 "/newtab.html", |
759 &newtab)); | 761 &newtab)); |
760 | 762 |
761 // Extension API should succeed. | 763 // Extension API should succeed. |
762 bool result = false; | 764 bool result = false; |
763 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 765 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
(...skipping 17 matching lines...) Expand all Loading... |
781 #endif | 783 #endif |
782 | 784 |
783 // Tests that a renderer's plugin list is properly updated when we load and | 785 // Tests that a renderer's plugin list is properly updated when we load and |
784 // unload an extension that contains a plugin. | 786 // unload an extension that contains a plugin. |
785 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginLoadUnload) { | 787 IN_PROC_BROWSER_TEST_F(ExtensionBrowserTest, MAYBE_PluginLoadUnload) { |
786 FilePath extension_dir = | 788 FilePath extension_dir = |
787 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins"); | 789 test_data_dir_.AppendASCII("uitest").AppendASCII("plugins"); |
788 | 790 |
789 ui_test_utils::NavigateToURL(browser(), | 791 ui_test_utils::NavigateToURL(browser(), |
790 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); | 792 net::FilePathToFileURL(extension_dir.AppendASCII("test.html"))); |
791 TabContents* tab = browser()->GetSelectedTabContents(); | 793 WebContents* tab = browser()->GetSelectedWebContents(); |
792 | 794 |
793 // With no extensions, the plugin should not be loaded. | 795 // With no extensions, the plugin should not be loaded. |
794 bool result = false; | 796 bool result = false; |
795 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 797 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
796 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 798 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
797 EXPECT_FALSE(result); | 799 EXPECT_FALSE(result); |
798 | 800 |
799 ExtensionService* service = browser()->profile()->GetExtensionService(); | 801 ExtensionService* service = browser()->profile()->GetExtensionService(); |
800 service->set_show_extensions_prompts(false); | 802 service->set_show_extensions_prompts(false); |
801 const size_t size_before = service->extensions()->size(); | 803 const size_t size_before = service->extensions()->size(); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
864 ExtensionService* service = browser()->profile()->GetExtensionService(); | 866 ExtensionService* service = browser()->profile()->GetExtensionService(); |
865 service->set_show_extensions_prompts(false); | 867 service->set_show_extensions_prompts(false); |
866 const size_t size_before = service->extensions()->size(); | 868 const size_t size_before = service->extensions()->size(); |
867 const Extension* extension = LoadExtension(extension_dir); | 869 const Extension* extension = LoadExtension(extension_dir); |
868 ASSERT_TRUE(extension); | 870 ASSERT_TRUE(extension); |
869 EXPECT_EQ(size_before + 1, service->extensions()->size()); | 871 EXPECT_EQ(size_before + 1, service->extensions()->size()); |
870 | 872 |
871 // Load the test page through the extension URL, and the plugin should work. | 873 // Load the test page through the extension URL, and the plugin should work. |
872 ui_test_utils::NavigateToURL(browser(), | 874 ui_test_utils::NavigateToURL(browser(), |
873 extension->GetResourceURL("test.html")); | 875 extension->GetResourceURL("test.html")); |
874 TabContents* tab = browser()->GetSelectedTabContents(); | 876 WebContents* tab = browser()->GetSelectedWebContents(); |
875 bool result = false; | 877 bool result = false; |
876 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 878 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
877 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 879 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
878 // We don't allow extension plugins to run on ChromeOS. | 880 // We don't allow extension plugins to run on ChromeOS. |
879 #if defined(OS_CHROMEOS) | 881 #if defined(OS_CHROMEOS) |
880 EXPECT_FALSE(result); | 882 EXPECT_FALSE(result); |
881 #else | 883 #else |
882 EXPECT_TRUE(result); | 884 EXPECT_TRUE(result); |
883 #endif | 885 #endif |
884 | 886 |
(...skipping 25 matching lines...) Expand all Loading... |
910 ASSERT_TRUE(extension); | 912 ASSERT_TRUE(extension); |
911 ExtensionService* service = browser()->profile()->GetExtensionService(); | 913 ExtensionService* service = browser()->profile()->GetExtensionService(); |
912 ASSERT_EQ(1u, service->extensions()->size()); | 914 ASSERT_EQ(1u, service->extensions()->size()); |
913 | 915 |
914 // Go to the Extension Settings page and click the Options button. | 916 // Go to the Extension Settings page and click the Options button. |
915 ui_test_utils::NavigateToURL( | 917 ui_test_utils::NavigateToURL( |
916 browser(), GURL(std::string(chrome::kChromeUISettingsURL) + | 918 browser(), GURL(std::string(chrome::kChromeUISettingsURL) + |
917 chrome::kExtensionsSubPage)); | 919 chrome::kExtensionsSubPage)); |
918 TabStripModel* tab_strip = browser()->tabstrip_model(); | 920 TabStripModel* tab_strip = browser()->tabstrip_model(); |
919 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( | 921 ASSERT_TRUE(ui_test_utils::ExecuteJavaScript( |
920 browser()->GetSelectedTabContents()->GetRenderViewHost(), L"", | 922 browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", |
921 jscript_click_option_button)); | 923 jscript_click_option_button)); |
922 | 924 |
923 // If the options page hasn't already come up, wait for it. | 925 // If the options page hasn't already come up, wait for it. |
924 if (tab_strip->count() == 1) { | 926 if (tab_strip->count() == 1) { |
925 ui_test_utils::WaitForNewTab(browser()); | 927 ui_test_utils::WaitForNewTab(browser()); |
926 } | 928 } |
927 ASSERT_EQ(2, tab_strip->count()); | 929 ASSERT_EQ(2, tab_strip->count()); |
928 | 930 |
929 EXPECT_EQ(extension->GetResourceURL("options.html"), | 931 EXPECT_EQ(extension->GetResourceURL("options.html"), |
930 tab_strip->GetTabContentsAt(1)->tab_contents()->GetURL()); | 932 tab_strip->GetTabContentsAt(1)->tab_contents()->GetURL()); |
931 } | 933 } |
932 | 934 |
933 //============================================================================== | 935 //============================================================================== |
934 // STOP! Please do not add any more random-ass tests here. Create new files for | 936 // STOP! Please do not add any more random-ass tests here. Create new files for |
935 // your tests grouped by functionality. Also, you should strongly consider using | 937 // your tests grouped by functionality. Also, you should strongly consider using |
936 // ExtensionAPITest if possible. | 938 // ExtensionAPITest if possible. |
937 //============================================================================== | 939 //============================================================================== |
OLD | NEW |