| 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::NavigationController; |
| 40 using content::WebContents; | 41 using content::WebContents; |
| 41 | 42 |
| 42 const std::string kSubscribePage = "/subscribe.html"; | 43 const std::string kSubscribePage = "/subscribe.html"; |
| 43 const std::string kFeedPage = "files/feeds/feed.html"; | 44 const std::string kFeedPage = "files/feeds/feed.html"; |
| 44 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html"; | 45 const std::string kFeedPageMultiRel = "files/feeds/feed_multi_rel.html"; |
| 45 const std::string kNoFeedPage = "files/feeds/no_feed.html"; | 46 const std::string kNoFeedPage = "files/feeds/no_feed.html"; |
| 46 const std::string kValidFeed0 = "files/feeds/feed_script.xml"; | 47 const std::string kValidFeed0 = "files/feeds/feed_script.xml"; |
| 47 const std::string kValidFeed1 = "files/feeds/feed1.xml"; | 48 const std::string kValidFeed1 = "files/feeds/feed1.xml"; |
| 48 const std::string kValidFeed2 = "files/feeds/feed2.xml"; | 49 const std::string kValidFeed2 = "files/feeds/feed2.xml"; |
| 49 const std::string kValidFeed3 = "files/feeds/feed3.xml"; | 50 const std::string kValidFeed3 = "files/feeds/feed3.xml"; |
| (...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 805 ASSERT_TRUE(extension); | 806 ASSERT_TRUE(extension); |
| 806 EXPECT_EQ(size_before + 1, service->extensions()->size()); | 807 EXPECT_EQ(size_before + 1, service->extensions()->size()); |
| 807 // Now the plugin should be in the cache, but we have to reload the page for | 808 // Now the plugin should be in the cache, but we have to reload the page for |
| 808 // it to work. | 809 // it to work. |
| 809 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 810 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
| 810 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 811 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
| 811 EXPECT_FALSE(result); | 812 EXPECT_FALSE(result); |
| 812 { | 813 { |
| 813 ui_test_utils::WindowedNotificationObserver observer( | 814 ui_test_utils::WindowedNotificationObserver observer( |
| 814 content::NOTIFICATION_LOAD_STOP, | 815 content::NOTIFICATION_LOAD_STOP, |
| 815 content::Source<content::NavigationController>( | 816 content::Source<NavigationController>( |
| 816 &browser()->GetSelectedTabContentsWrapper()->tab_contents()-> | 817 &browser()->GetSelectedTabContentsWrapper()->tab_contents()-> |
| 817 GetController())); | 818 GetController())); |
| 818 browser()->Reload(CURRENT_TAB); | 819 browser()->Reload(CURRENT_TAB); |
| 819 observer.Wait(); | 820 observer.Wait(); |
| 820 } | 821 } |
| 821 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 822 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
| 822 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 823 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
| 823 EXPECT_TRUE(result); | 824 EXPECT_TRUE(result); |
| 824 | 825 |
| 825 EXPECT_EQ(size_before + 1, service->extensions()->size()); | 826 EXPECT_EQ(size_before + 1, service->extensions()->size()); |
| 826 UnloadExtension(extension->id()); | 827 UnloadExtension(extension->id()); |
| 827 EXPECT_EQ(size_before, service->extensions()->size()); | 828 EXPECT_EQ(size_before, service->extensions()->size()); |
| 828 | 829 |
| 829 // Now the plugin should be unloaded, and the page should be broken. | 830 // Now the plugin should be unloaded, and the page should be broken. |
| 830 | 831 |
| 831 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 832 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
| 832 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 833 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
| 833 EXPECT_FALSE(result); | 834 EXPECT_FALSE(result); |
| 834 | 835 |
| 835 // If we reload the extension and page, it should work again. | 836 // If we reload the extension and page, it should work again. |
| 836 | 837 |
| 837 ASSERT_TRUE(LoadExtension(extension_dir)); | 838 ASSERT_TRUE(LoadExtension(extension_dir)); |
| 838 EXPECT_EQ(size_before + 1, service->extensions()->size()); | 839 EXPECT_EQ(size_before + 1, service->extensions()->size()); |
| 839 { | 840 { |
| 840 ui_test_utils::WindowedNotificationObserver observer( | 841 ui_test_utils::WindowedNotificationObserver observer( |
| 841 content::NOTIFICATION_LOAD_STOP, | 842 content::NOTIFICATION_LOAD_STOP, |
| 842 content::Source<content::NavigationController>( | 843 content::Source<NavigationController>( |
| 843 &browser()->GetSelectedTabContentsWrapper()->tab_contents()-> | 844 &browser()->GetSelectedTabContentsWrapper()->tab_contents()-> |
| 844 GetController())); | 845 GetController())); |
| 845 browser()->Reload(CURRENT_TAB); | 846 browser()->Reload(CURRENT_TAB); |
| 846 observer.Wait(); | 847 observer.Wait(); |
| 847 } | 848 } |
| 848 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( | 849 ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
| 849 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); | 850 tab->GetRenderViewHost(), L"", L"testPluginWorks()", &result)); |
| 850 EXPECT_TRUE(result); | 851 EXPECT_TRUE(result); |
| 851 } | 852 } |
| 852 | 853 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 930 | 931 |
| 931 EXPECT_EQ(extension->GetResourceURL("options.html"), | 932 EXPECT_EQ(extension->GetResourceURL("options.html"), |
| 932 tab_strip->GetTabContentsAt(1)->tab_contents()->GetURL()); | 933 tab_strip->GetTabContentsAt(1)->tab_contents()->GetURL()); |
| 933 } | 934 } |
| 934 | 935 |
| 935 //============================================================================== | 936 //============================================================================== |
| 936 // STOP! Please do not add any more random-ass tests here. Create new files for | 937 // STOP! Please do not add any more random-ass tests here. Create new files for |
| 937 // your tests grouped by functionality. Also, you should strongly consider using | 938 // your tests grouped by functionality. Also, you should strongly consider using |
| 938 // ExtensionAPITest if possible. | 939 // ExtensionAPITest if possible. |
| 939 //============================================================================== | 940 //============================================================================== |
| OLD | NEW |