Chromium Code Reviews| 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 // Tests for the top plugins to catch regressions in our plugin host code, as | 5 // Tests for the top plugins to catch regressions in our plugin host code, as |
| 6 // well as in the out of process code. Currently this tests: | 6 // well as in the out of process code. Currently this tests: |
| 7 // Flash | 7 // Flash |
| 8 // Real | 8 // Real |
| 9 // QuickTime | 9 // QuickTime |
| 10 // Windows Media Player | 10 // Windows Media Player |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 68 return URLRequestMockHTTPJob::GetMockUrl(plugin_path); | 68 return URLRequestMockHTTPJob::GetMockUrl(plugin_path); |
| 69 } | 69 } |
| 70 | 70 |
| 71 FilePath path; | 71 FilePath path; |
| 72 PathService::Get(chrome::DIR_TEST_DATA, &path); | 72 PathService::Get(chrome::DIR_TEST_DATA, &path); |
| 73 path = path.Append(kPluginPath).AppendASCII(test_case); | 73 path = path.Append(kPluginPath).AppendASCII(test_case); |
| 74 return net::FilePathToFileURL(path); | 74 return net::FilePathToFileURL(path); |
| 75 } | 75 } |
| 76 | 76 |
| 77 protected: | 77 protected: |
| 78 virtual void SetUp() { | |
| 78 #if defined(OS_WIN) | 79 #if defined(OS_WIN) |
| 79 virtual void SetUp() { | |
| 80 const testing::TestInfo* const test_info = | 80 const testing::TestInfo* const test_info = |
| 81 testing::UnitTest::GetInstance()->current_test_info(); | 81 testing::UnitTest::GetInstance()->current_test_info(); |
| 82 if (strcmp(test_info->name(), "MediaPlayerNew") == 0) { | 82 if (strcmp(test_info->name(), "MediaPlayerNew") == 0) { |
| 83 // The installer adds our process names to the registry key below. Since | 83 // The installer adds our process names to the registry key below. Since |
| 84 // the installer might not have run on this machine, add it manually. | 84 // the installer might not have run on this machine, add it manually. |
| 85 base::win::RegKey regkey; | 85 base::win::RegKey regkey; |
| 86 if (regkey.Open(HKEY_LOCAL_MACHINE, | 86 if (regkey.Open(HKEY_LOCAL_MACHINE, |
| 87 L"Software\\Microsoft\\MediaPlayer\\ShimInclusionList", | 87 L"Software\\Microsoft\\MediaPlayer\\ShimInclusionList", |
| 88 KEY_WRITE)) { | 88 KEY_WRITE)) { |
| 89 regkey.CreateKey(L"CHROME.EXE", KEY_READ); | 89 regkey.CreateKey(L"CHROME.EXE", KEY_READ); |
| 90 } | 90 } |
| 91 } else if (strcmp(test_info->name(), "MediaPlayerOld") == 0) { | 91 } else if (strcmp(test_info->name(), "MediaPlayerOld") == 0) { |
| 92 // When testing the old WMP plugin, we need to force Chrome to not load | 92 // When testing the old WMP plugin, we need to force Chrome to not load |
| 93 // the new plugin. | 93 // the new plugin. |
| 94 launch_arguments_.AppendSwitch(switches::kUseOldWMPPlugin); | 94 launch_arguments_.AppendSwitch(switches::kUseOldWMPPlugin); |
| 95 } else if (strcmp(test_info->name(), "FlashSecurity") == 0) { | 95 } else if (strcmp(test_info->name(), "FlashSecurity") == 0) { |
| 96 launch_arguments_.AppendSwitchASCII(switches::kTestSandbox, | 96 launch_arguments_.AppendSwitchASCII(switches::kTestSandbox, |
| 97 "security_tests.dll"); | 97 "security_tests.dll"); |
| 98 } | 98 } |
| 99 #endif // defined(OS_WIN) | |
| 100 | |
| 101 launch_arguments_.AppendSwitch(switches::kAllowOutdatedPlugins); | |
| 99 | 102 |
| 100 UITest::SetUp(); | 103 UITest::SetUp(); |
| 101 } | 104 } |
| 102 #endif // defined(OS_WIN) | |
| 103 | 105 |
| 104 void TestPlugin(const std::string& test_case, | 106 void TestPlugin(const std::string& test_case, |
| 105 int timeout, | 107 int timeout, |
| 106 bool mock_http) { | 108 bool mock_http) { |
| 107 GURL url = GetTestUrl(test_case, mock_http); | 109 GURL url = GetTestUrl(test_case, mock_http); |
| 108 NavigateToURL(url); | 110 NavigateToURL(url); |
| 109 WaitForFinish(timeout, mock_http); | 111 WaitForFinish(timeout, mock_http); |
| 110 } | 112 } |
| 111 | 113 |
| 112 // Waits for the test case to finish. | 114 // Waits for the test case to finish. |
| 113 void WaitForFinish(const int wait_time, bool mock_http) { | 115 void WaitForFinish(const int wait_time, bool mock_http) { |
| 114 static const char kTestCompleteCookie[] = "status"; | 116 static const char kTestCompleteCookie[] = "status"; |
| 115 static const char kTestCompleteSuccess[] = "OK"; | 117 static const char kTestCompleteSuccess[] = "OK"; |
| 116 | 118 |
| 117 GURL url = GetTestUrl("done", mock_http); | 119 GURL url = GetTestUrl("done", mock_http); |
| 118 scoped_refptr<TabProxy> tab(GetActiveTab()); | 120 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 119 | 121 |
| 120 const std::string result = | 122 const std::string result = |
| 121 WaitUntilCookieNonEmpty(tab, url, kTestCompleteCookie, wait_time); | 123 WaitUntilCookieNonEmpty(tab, url, kTestCompleteCookie, wait_time); |
| 122 ASSERT_EQ(kTestCompleteSuccess, result); | 124 ASSERT_EQ(kTestCompleteSuccess, result); |
| 123 } | 125 } |
| 124 }; | 126 }; |
| 125 | 127 |
| 126 // http://crbug.com/68303 | 128 // http://crbug.com/68751 |
| 127 #if defined(OS_MACOSX) || defined(OS_LINUX) | 129 #if defined(OS_MACOSX) |
| 128 TEST_F(PluginTest, DISABLED_Flash) { | 130 TEST_F(PluginTest, DISABLED_Flash) { |
| 129 #else | 131 #else |
| 130 TEST_F(PluginTest, Flash) { | 132 TEST_F(PluginTest, Flash) { |
| 131 #endif | 133 #endif |
| 132 // Note: This does not work with the npwrapper on 64-bit Linux. Install the | 134 // Note: This does not work with the npwrapper on 64-bit Linux. Install the |
| 133 // native 64-bit Flash to run the test. | 135 // native 64-bit Flash to run the test. |
| 134 // TODO(thestig) Update this list if we decide to only test against internal | 136 // TODO(thestig) Update this list if we decide to only test against internal |
| 135 // Flash plugin in the future? | 137 // Flash plugin in the future? |
| 136 std::string kFlashQuery = | 138 std::string kFlashQuery = |
| 137 #if defined(OS_WIN) | 139 #if defined(OS_WIN) |
| 138 "npswf32.dll" | 140 "npswf32.dll" |
| 139 #elif defined(OS_MACOSX) | 141 #elif defined(OS_MACOSX) |
| 140 "Flash Player.plugin" | 142 "Flash Player.plugin" |
| 141 #elif defined(OS_POSIX) | 143 #elif defined(OS_POSIX) |
| 142 "libflashplayer.so" | 144 "libflashplayer.so" |
| 143 #endif | 145 #endif |
| 144 ; | 146 ; |
| 145 TestPlugin("flash.html?" + kFlashQuery, action_max_timeout_ms(), false); | 147 TestPlugin("flash.html?" + kFlashQuery, action_max_timeout_ms(), false); |
| 146 } | 148 } |
| 147 | 149 |
| 148 class ClickToPlayPluginTest : public PluginTest { | 150 class ClickToPlayPluginTest : public PluginTest { |
| 149 public: | 151 public: |
| 150 ClickToPlayPluginTest() { | 152 ClickToPlayPluginTest() { |
| 151 dom_automation_enabled_ = true; | 153 dom_automation_enabled_ = true; |
| 152 } | 154 } |
| 153 }; | 155 }; |
| 154 | 156 |
| 155 // http://crbug.com/68303 | 157 // http://crbug.com/68751 |
| 156 #if defined(OS_MACOSX) | 158 #if defined(OS_MACOSX) |
| 157 TEST_F(ClickToPlayPluginTest, DISABLED_Flash) { | 159 TEST_F(ClickToPlayPluginTest, DISABLED_Flash) { |
| 158 #else | 160 #else |
| 159 TEST_F(ClickToPlayPluginTest, Flash) { | 161 TEST_F(ClickToPlayPluginTest, Flash) { |
| 160 #endif | 162 #endif |
| 161 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 163 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 162 ASSERT_TRUE(browser.get()); | 164 ASSERT_TRUE(browser.get()); |
| 163 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, | 165 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, |
| 164 CONTENT_SETTING_BLOCK)); | 166 CONTENT_SETTING_BLOCK)); |
| 165 | 167 |
| 166 GURL url = GetTestUrl("flash-clicktoplay.html", true); | 168 GURL url = GetTestUrl("flash-clicktoplay.html", true); |
| 167 NavigateToURL(url); | 169 NavigateToURL(url); |
| 168 | 170 |
| 169 scoped_refptr<TabProxy> tab(browser->GetTab(0)); | 171 scoped_refptr<TabProxy> tab(browser->GetTab(0)); |
| 170 ASSERT_TRUE(tab.get()); | 172 ASSERT_TRUE(tab.get()); |
| 171 | 173 |
| 172 ASSERT_TRUE(tab->LoadBlockedPlugins()); | 174 ASSERT_TRUE(tab->LoadBlockedPlugins()); |
| 173 | 175 |
| 174 WaitForFinish(action_max_timeout_ms(), true); | 176 WaitForFinish(action_max_timeout_ms(), true); |
| 175 } | 177 } |
| 176 | 178 |
| 177 // http://crbug.com/68303 | 179 // http://crbug.com/68751 |
|
Bernhard Bauer
2011/01/19 07:57:38
Drive-by: http://crbug.com/68751 is marked as fixe
| |
| 178 #if defined(OS_MACOSX) | 180 #if defined(OS_MACOSX) |
| 179 TEST_F(ClickToPlayPluginTest, DISABLED_FlashDocument) { | 181 TEST_F(ClickToPlayPluginTest, DISABLED_FlashDocument) { |
| 180 #else | 182 #else |
| 181 TEST_F(ClickToPlayPluginTest, FlashDocument) { | 183 TEST_F(ClickToPlayPluginTest, FlashDocument) { |
| 182 #endif | 184 #endif |
| 183 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 185 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 184 ASSERT_TRUE(browser.get()); | 186 ASSERT_TRUE(browser.get()); |
| 185 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, | 187 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, |
| 186 CONTENT_SETTING_BLOCK)); | 188 CONTENT_SETTING_BLOCK)); |
| 187 | 189 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 361 TEST_F(PluginInstallerDownloadTest, PluginInstallerDownloadPathTest) { | 363 TEST_F(PluginInstallerDownloadTest, PluginInstallerDownloadPathTest) { |
| 362 MessageLoop loop(MessageLoop::TYPE_IO); | 364 MessageLoop loop(MessageLoop::TYPE_IO); |
| 363 Start(); | 365 Start(); |
| 364 loop.Run(); | 366 loop.Run(); |
| 365 | 367 |
| 366 EXPECT_TRUE(success()); | 368 EXPECT_TRUE(success()); |
| 367 EXPECT_TRUE(initial_download_path().BaseName().value() == | 369 EXPECT_TRUE(initial_download_path().BaseName().value() == |
| 368 final_download_path().BaseName().value()); | 370 final_download_path().BaseName().value()); |
| 369 } | 371 } |
| 370 #endif // defined(OS_WIN) | 372 #endif // defined(OS_WIN) |
| OLD | NEW |