| 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 "build/build_config.h" | 5 #include "build/build_config.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 // windows headers | 8 // windows headers |
| 9 #include <comutil.h> | 9 #include <comutil.h> |
| 10 #include <shellapi.h> | 10 #include <shellapi.h> |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 using npapi_test::kTestCompleteSuccess; | 35 using npapi_test::kTestCompleteSuccess; |
| 36 | 36 |
| 37 static const FilePath::CharType* kTestDir = FILE_PATH_LITERAL("npapi"); | 37 static const FilePath::CharType* kTestDir = FILE_PATH_LITERAL("npapi"); |
| 38 | 38 |
| 39 // Test passing arguments to a plugin. | 39 // Test passing arguments to a plugin. |
| 40 TEST_F(NPAPITesterBase, Arguments) { | 40 TEST_F(NPAPITesterBase, Arguments) { |
| 41 const FilePath test_case(FILE_PATH_LITERAL("arguments.html")); | 41 const FilePath test_case(FILE_PATH_LITERAL("arguments.html")); |
| 42 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 42 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 43 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 43 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 44 WaitForFinish("arguments", "1", url, kTestCompleteCookie, | 44 WaitForFinish("arguments", "1", url, kTestCompleteCookie, |
| 45 kTestCompleteSuccess, action_max_timeout_ms()); | 45 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 46 } | 46 } |
| 47 | 47 |
| 48 // Test invoking many plugins within a single page. | 48 // Test invoking many plugins within a single page. |
| 49 TEST_F(NPAPITesterBase, ManyPlugins) { | 49 TEST_F(NPAPITesterBase, ManyPlugins) { |
| 50 const FilePath test_case(FILE_PATH_LITERAL("many_plugins.html")); | 50 const FilePath test_case(FILE_PATH_LITERAL("many_plugins.html")); |
| 51 GURL url(ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case)); | 51 GURL url(ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case)); |
| 52 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 52 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 53 | 53 |
| 54 for (int i = 1; i <= 15; i++) { | 54 for (int i = 1; i <= 15; i++) { |
| 55 SCOPED_TRACE(StringPrintf("Waiting for plugin #%d", i)); | 55 SCOPED_TRACE(StringPrintf("Waiting for plugin #%d", i)); |
| 56 ASSERT_NO_FATAL_FAILURE(WaitForFinish("arguments", base::IntToString(i), | 56 ASSERT_NO_FATAL_FAILURE(WaitForFinish( |
| 57 url, kTestCompleteCookie, | 57 "arguments", |
| 58 kTestCompleteSuccess, | 58 base::IntToString(i), |
| 59 action_max_timeout_ms())); | 59 url, |
| 60 kTestCompleteCookie, |
| 61 kTestCompleteSuccess, |
| 62 TestTimeouts::action_max_timeout_ms())); |
| 60 } | 63 } |
| 61 } | 64 } |
| 62 | 65 |
| 63 // Test various calls to GetURL from a plugin. | 66 // Test various calls to GetURL from a plugin. |
| 64 TEST_F(NPAPITesterBase, GetURL) { | 67 TEST_F(NPAPITesterBase, GetURL) { |
| 65 const FilePath test_case(FILE_PATH_LITERAL("geturl.html")); | 68 const FilePath test_case(FILE_PATH_LITERAL("geturl.html")); |
| 66 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 69 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 67 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 70 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 68 WaitForFinish("geturl", "1", url, kTestCompleteCookie, | 71 WaitForFinish("geturl", "1", url, kTestCompleteCookie, |
| 69 kTestCompleteSuccess, action_max_timeout_ms()); | 72 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 70 } | 73 } |
| 71 | 74 |
| 72 // Test various calls to GetURL for javascript URLs with | 75 // Test various calls to GetURL for javascript URLs with |
| 73 // non NULL targets from a plugin. | 76 // non NULL targets from a plugin. |
| 74 TEST_F(NPAPITesterBase, GetJavaScriptURL) { | 77 TEST_F(NPAPITesterBase, GetJavaScriptURL) { |
| 75 const FilePath test_case(FILE_PATH_LITERAL("get_javascript_url.html")); | 78 const FilePath test_case(FILE_PATH_LITERAL("get_javascript_url.html")); |
| 76 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 79 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 77 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 80 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 78 WaitForFinish("getjavascripturl", "1", url, kTestCompleteCookie, | 81 WaitForFinish("getjavascripturl", "1", url, kTestCompleteCookie, |
| 79 kTestCompleteSuccess, action_max_timeout_ms()); | 82 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 80 } | 83 } |
| 81 | 84 |
| 82 // Test that calling GetURL with a javascript URL and target=_self | 85 // Test that calling GetURL with a javascript URL and target=_self |
| 83 // works properly when the plugin is embedded in a subframe. | 86 // works properly when the plugin is embedded in a subframe. |
| 84 TEST_F(NPAPITesterBase, GetJavaScriptURL2) { | 87 TEST_F(NPAPITesterBase, GetJavaScriptURL2) { |
| 85 const FilePath test_case(FILE_PATH_LITERAL("get_javascript_url2.html")); | 88 const FilePath test_case(FILE_PATH_LITERAL("get_javascript_url2.html")); |
| 86 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 89 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 87 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 90 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 88 WaitForFinish("getjavascripturl2", "1", url, kTestCompleteCookie, | 91 WaitForFinish("getjavascripturl2", "1", url, kTestCompleteCookie, |
| 89 kTestCompleteSuccess, action_max_timeout_ms()); | 92 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 90 } | 93 } |
| 91 | 94 |
| 92 TEST_F(NPAPITesterBase, GetURLRedirectNotification) { | 95 TEST_F(NPAPITesterBase, GetURLRedirectNotification) { |
| 93 const FilePath test_case(FILE_PATH_LITERAL("geturl_redirect_notify.html")); | 96 const FilePath test_case(FILE_PATH_LITERAL("geturl_redirect_notify.html")); |
| 94 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 97 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 95 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 98 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 96 WaitForFinish("geturlredirectnotify", "1", url, kTestCompleteCookie, | 99 WaitForFinish("geturlredirectnotify", "1", url, kTestCompleteCookie, |
| 97 kTestCompleteSuccess, action_max_timeout_ms()); | 100 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 98 } | 101 } |
| 99 | 102 |
| 100 // Tests that if an NPObject is proxies back to its original process, the | 103 // Tests that if an NPObject is proxies back to its original process, the |
| 101 // original pointer is returned and not a proxy. If this fails the plugin | 104 // original pointer is returned and not a proxy. If this fails the plugin |
| 102 // will crash. | 105 // will crash. |
| 103 TEST_F(NPAPITesterBase, NPObjectProxy) { | 106 TEST_F(NPAPITesterBase, NPObjectProxy) { |
| 104 const FilePath test_case(FILE_PATH_LITERAL("npobject_proxy.html")); | 107 const FilePath test_case(FILE_PATH_LITERAL("npobject_proxy.html")); |
| 105 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 108 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 106 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 109 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 107 WaitForFinish("npobject_proxy", "1", url, kTestCompleteCookie, | 110 WaitForFinish("npobject_proxy", "1", url, kTestCompleteCookie, |
| 108 kTestCompleteSuccess, action_max_timeout_ms()); | 111 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 109 } | 112 } |
| 110 | 113 |
| 111 #if defined(OS_WIN) || defined(OS_MACOSX) | 114 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 112 // Tests if a plugin executing a self deleting script in the context of | 115 // Tests if a plugin executing a self deleting script in the context of |
| 113 // a synchronous paint event works correctly | 116 // a synchronous paint event works correctly |
| 114 // http://crbug.com/44960 | 117 // http://crbug.com/44960 |
| 115 TEST_F(NPAPIVisiblePluginTester, | 118 TEST_F(NPAPIVisiblePluginTester, |
| 116 FLAKY_SelfDeletePluginInvokeInSynchronousPaint) { | 119 FLAKY_SelfDeletePluginInvokeInSynchronousPaint) { |
| 117 if (ProxyLauncher::in_process_renderer()) | 120 if (ProxyLauncher::in_process_renderer()) |
| 118 return; | 121 return; |
| 119 | 122 |
| 120 show_window_ = true; | 123 show_window_ = true; |
| 121 const FilePath test_case( | 124 const FilePath test_case( |
| 122 FILE_PATH_LITERAL("execute_script_delete_in_paint.html")); | 125 FILE_PATH_LITERAL("execute_script_delete_in_paint.html")); |
| 123 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 126 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 124 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 127 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 125 WaitForFinish("execute_script_delete_in_paint", "1", url, | 128 WaitForFinish("execute_script_delete_in_paint", "1", url, |
| 126 kTestCompleteCookie, kTestCompleteSuccess, | 129 kTestCompleteCookie, kTestCompleteSuccess, |
| 127 action_max_timeout_ms()); | 130 TestTimeouts::action_max_timeout_ms()); |
| 128 } | 131 } |
| 129 #endif | 132 #endif |
| 130 | 133 |
| 131 TEST_F(NPAPIVisiblePluginTester, SelfDeletePluginInNewStream) { | 134 TEST_F(NPAPIVisiblePluginTester, SelfDeletePluginInNewStream) { |
| 132 if (ProxyLauncher::in_process_renderer()) | 135 if (ProxyLauncher::in_process_renderer()) |
| 133 return; | 136 return; |
| 134 | 137 |
| 135 show_window_ = true; | 138 show_window_ = true; |
| 136 const FilePath test_case(FILE_PATH_LITERAL("self_delete_plugin_stream.html")); | 139 const FilePath test_case(FILE_PATH_LITERAL("self_delete_plugin_stream.html")); |
| 137 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 140 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 138 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 141 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 139 WaitForFinish("self_delete_plugin_stream", "1", url, | 142 WaitForFinish("self_delete_plugin_stream", "1", url, |
| 140 kTestCompleteCookie, kTestCompleteSuccess, | 143 kTestCompleteCookie, kTestCompleteSuccess, |
| 141 action_max_timeout_ms()); | 144 TestTimeouts::action_max_timeout_ms()); |
| 142 } | 145 } |
| 143 | 146 |
| 144 #if defined(OS_WIN) | 147 #if defined(OS_WIN) |
| 145 // Tests if a plugin has a non zero window rect. | 148 // Tests if a plugin has a non zero window rect. |
| 146 TEST_F(NPAPIVisiblePluginTester, VerifyPluginWindowRect) { | 149 TEST_F(NPAPIVisiblePluginTester, VerifyPluginWindowRect) { |
| 147 show_window_ = true; | 150 show_window_ = true; |
| 148 const FilePath test_case(FILE_PATH_LITERAL("verify_plugin_window_rect.html")); | 151 const FilePath test_case(FILE_PATH_LITERAL("verify_plugin_window_rect.html")); |
| 149 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 152 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 150 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 153 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 151 WaitForFinish("checkwindowrect", "1", url, kTestCompleteCookie, | 154 WaitForFinish("checkwindowrect", "1", url, kTestCompleteCookie, |
| 152 kTestCompleteSuccess, action_max_timeout_ms()); | 155 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 153 } | 156 } |
| 154 | 157 |
| 155 // Tests that creating a new instance of a plugin while another one is handling | 158 // Tests that creating a new instance of a plugin while another one is handling |
| 156 // a paint message doesn't cause deadlock. | 159 // a paint message doesn't cause deadlock. |
| 157 TEST_F(NPAPIVisiblePluginTester, CreateInstanceInPaint) { | 160 TEST_F(NPAPIVisiblePluginTester, CreateInstanceInPaint) { |
| 158 show_window_ = true; | 161 show_window_ = true; |
| 159 const FilePath test_case(FILE_PATH_LITERAL("create_instance_in_paint.html")); | 162 const FilePath test_case(FILE_PATH_LITERAL("create_instance_in_paint.html")); |
| 160 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 163 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 161 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 164 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 162 WaitForFinish("create_instance_in_paint", "2", url, kTestCompleteCookie, | 165 WaitForFinish("create_instance_in_paint", "2", url, kTestCompleteCookie, |
| 163 kTestCompleteSuccess, action_max_timeout_ms()); | 166 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 164 } | 167 } |
| 165 | 168 |
| 166 // Tests that putting up an alert in response to a paint doesn't deadlock. | 169 // Tests that putting up an alert in response to a paint doesn't deadlock. |
| 167 TEST_F(NPAPIVisiblePluginTester, AlertInWindowMessage) { | 170 TEST_F(NPAPIVisiblePluginTester, AlertInWindowMessage) { |
| 168 show_window_ = true; | 171 show_window_ = true; |
| 169 const FilePath test_case(FILE_PATH_LITERAL("alert_in_window_message.html")); | 172 const FilePath test_case(FILE_PATH_LITERAL("alert_in_window_message.html")); |
| 170 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 173 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 171 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 174 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 172 | 175 |
| 173 bool modal_dialog_showing = false; | 176 bool modal_dialog_showing = false; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 193 TEST_F(NPAPIVisiblePluginTester, VerifyNPObjectLifetimeTest) { | 196 TEST_F(NPAPIVisiblePluginTester, VerifyNPObjectLifetimeTest) { |
| 194 if (ProxyLauncher::in_process_renderer()) | 197 if (ProxyLauncher::in_process_renderer()) |
| 195 return; | 198 return; |
| 196 | 199 |
| 197 show_window_ = true; | 200 show_window_ = true; |
| 198 const FilePath test_case(FILE_PATH_LITERAL("npobject_lifetime_test.html")); | 201 const FilePath test_case(FILE_PATH_LITERAL("npobject_lifetime_test.html")); |
| 199 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 202 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 200 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 203 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 201 WaitForFinish("npobject_lifetime_test", "1", url, | 204 WaitForFinish("npobject_lifetime_test", "1", url, |
| 202 kTestCompleteCookie, kTestCompleteSuccess, | 205 kTestCompleteCookie, kTestCompleteSuccess, |
| 203 action_max_timeout_ms()); | 206 TestTimeouts::action_max_timeout_ms()); |
| 204 } | 207 } |
| 205 | 208 |
| 206 // Tests that we don't crash or assert if NPP_New fails | 209 // Tests that we don't crash or assert if NPP_New fails |
| 207 TEST_F(NPAPIVisiblePluginTester, NewFails) { | 210 TEST_F(NPAPIVisiblePluginTester, NewFails) { |
| 208 const FilePath test_case(FILE_PATH_LITERAL("new_fails.html")); | 211 const FilePath test_case(FILE_PATH_LITERAL("new_fails.html")); |
| 209 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 212 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 210 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 213 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 211 WaitForFinish("new_fails", "1", url, kTestCompleteCookie, | 214 WaitForFinish("new_fails", "1", url, kTestCompleteCookie, |
| 212 kTestCompleteSuccess, action_max_timeout_ms()); | 215 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 213 } | 216 } |
| 214 | 217 |
| 215 TEST_F(NPAPIVisiblePluginTester, SelfDeletePluginInNPNEvaluate) { | 218 TEST_F(NPAPIVisiblePluginTester, SelfDeletePluginInNPNEvaluate) { |
| 216 if (ProxyLauncher::in_process_renderer()) | 219 if (ProxyLauncher::in_process_renderer()) |
| 217 return; | 220 return; |
| 218 | 221 |
| 219 const FilePath test_case( | 222 const FilePath test_case( |
| 220 FILE_PATH_LITERAL("execute_script_delete_in_npn_evaluate.html")); | 223 FILE_PATH_LITERAL("execute_script_delete_in_npn_evaluate.html")); |
| 221 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 224 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 222 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 225 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 223 WaitForFinish("npobject_delete_plugin_in_evaluate", "1", url, | 226 WaitForFinish("npobject_delete_plugin_in_evaluate", "1", url, |
| 224 kTestCompleteCookie, kTestCompleteSuccess, | 227 kTestCompleteCookie, kTestCompleteSuccess, |
| 225 action_max_timeout_ms()); | 228 TestTimeouts::action_max_timeout_ms()); |
| 226 } | 229 } |
| 227 | 230 |
| 228 TEST_F(NPAPIVisiblePluginTester, SelfDeleteCreatePluginInNPNEvaluate) { | 231 TEST_F(NPAPIVisiblePluginTester, SelfDeleteCreatePluginInNPNEvaluate) { |
| 229 if (ProxyLauncher::in_process_renderer()) | 232 if (ProxyLauncher::in_process_renderer()) |
| 230 return; | 233 return; |
| 231 | 234 |
| 232 const FilePath test_case( | 235 const FilePath test_case( |
| 233 FILE_PATH_LITERAL("npn_plugin_delete_create_in_evaluate.html")); | 236 FILE_PATH_LITERAL("npn_plugin_delete_create_in_evaluate.html")); |
| 234 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 237 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 235 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 238 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 236 WaitForFinish("npobject_delete_create_plugin_in_evaluate", "1", url, | 239 WaitForFinish("npobject_delete_create_plugin_in_evaluate", "1", url, |
| 237 kTestCompleteCookie, kTestCompleteSuccess, | 240 kTestCompleteCookie, kTestCompleteSuccess, |
| 238 action_max_timeout_ms()); | 241 TestTimeouts::action_max_timeout_ms()); |
| 239 } | 242 } |
| 240 | 243 |
| 241 #endif | 244 #endif |
| 242 | 245 |
| 243 // FLAKY. See bug http://crbug.com/17645. This bug report indicates that this | 246 // FLAKY. See bug http://crbug.com/17645. This bug report indicates that this |
| 244 // test is crashy. I could not repro the crash on my local setup. Leaving this | 247 // test is crashy. I could not repro the crash on my local setup. Leaving this |
| 245 // marked as FLAKY for now while we watch this on the builders. | 248 // marked as FLAKY for now while we watch this on the builders. |
| 246 TEST_F(NPAPIVisiblePluginTester, FLAKY_OpenPopupWindowWithPlugin) { | 249 TEST_F(NPAPIVisiblePluginTester, FLAKY_OpenPopupWindowWithPlugin) { |
| 247 if (ProxyLauncher::in_process_renderer()) | 250 if (ProxyLauncher::in_process_renderer()) |
| 248 return; | 251 return; |
| 249 | 252 |
| 250 const FilePath test_case( | 253 const FilePath test_case( |
| 251 FILE_PATH_LITERAL("get_javascript_open_popup_with_plugin.html")); | 254 FILE_PATH_LITERAL("get_javascript_open_popup_with_plugin.html")); |
| 252 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 255 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 253 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 256 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 254 WaitForFinish("plugin_popup_with_plugin_target", "1", url, | 257 WaitForFinish("plugin_popup_with_plugin_target", "1", url, |
| 255 kTestCompleteCookie, kTestCompleteSuccess, | 258 kTestCompleteCookie, kTestCompleteSuccess, |
| 256 TestTimeouts::action_timeout_ms()); | 259 TestTimeouts::action_timeout_ms()); |
| 257 } | 260 } |
| 258 | 261 |
| 259 // Test checking the privacy mode is off. | 262 // Test checking the privacy mode is off. |
| 260 TEST_F(NPAPITesterBase, PrivateDisabled) { | 263 TEST_F(NPAPITesterBase, PrivateDisabled) { |
| 261 if (ProxyLauncher::in_process_renderer()) | 264 if (ProxyLauncher::in_process_renderer()) |
| 262 return; | 265 return; |
| 263 | 266 |
| 264 const FilePath test_case(FILE_PATH_LITERAL("private.html")); | 267 const FilePath test_case(FILE_PATH_LITERAL("private.html")); |
| 265 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 268 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 266 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 269 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 267 WaitForFinish("private", "1", url, kTestCompleteCookie, | 270 WaitForFinish("private", "1", url, kTestCompleteCookie, |
| 268 kTestCompleteSuccess, action_max_timeout_ms()); | 271 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 269 } | 272 } |
| 270 | 273 |
| 271 TEST_F(NPAPITesterBase, ScheduleTimer) { | 274 TEST_F(NPAPITesterBase, ScheduleTimer) { |
| 272 const FilePath test_case(FILE_PATH_LITERAL("schedule_timer.html")); | 275 const FilePath test_case(FILE_PATH_LITERAL("schedule_timer.html")); |
| 273 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 276 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 274 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 277 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 275 WaitForFinish("schedule_timer", "1", url, kTestCompleteCookie, | 278 WaitForFinish("schedule_timer", "1", url, kTestCompleteCookie, |
| 276 kTestCompleteSuccess, action_max_timeout_ms()); | 279 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 277 } | 280 } |
| 278 | 281 |
| 279 TEST_F(NPAPITesterBase, PluginThreadAsyncCall) { | 282 TEST_F(NPAPITesterBase, PluginThreadAsyncCall) { |
| 280 const FilePath test_case(FILE_PATH_LITERAL("plugin_thread_async_call.html")); | 283 const FilePath test_case(FILE_PATH_LITERAL("plugin_thread_async_call.html")); |
| 281 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 284 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 282 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 285 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 283 WaitForFinish("plugin_thread_async_call", "1", url, kTestCompleteCookie, | 286 WaitForFinish("plugin_thread_async_call", "1", url, kTestCompleteCookie, |
| 284 kTestCompleteSuccess, action_max_timeout_ms()); | 287 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 285 } | 288 } |
| 286 | 289 |
| 287 // Test checking the privacy mode is on. | 290 // Test checking the privacy mode is on. |
| 288 TEST_F(NPAPIIncognitoTester, PrivateEnabled) { | 291 TEST_F(NPAPIIncognitoTester, PrivateEnabled) { |
| 289 if (ProxyLauncher::in_process_renderer()) | 292 if (ProxyLauncher::in_process_renderer()) |
| 290 return; | 293 return; |
| 291 | 294 |
| 292 const FilePath test_case(FILE_PATH_LITERAL("private.html?private")); | 295 const FilePath test_case(FILE_PATH_LITERAL("private.html?private")); |
| 293 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 296 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 294 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 297 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 295 WaitForFinish("private", "1", url, kTestCompleteCookie, | 298 WaitForFinish("private", "1", url, kTestCompleteCookie, |
| 296 kTestCompleteSuccess, action_max_timeout_ms()); | 299 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 297 } | 300 } |
| 298 | 301 |
| 299 #if defined(OS_WIN) || defined(OS_MACOSX) | 302 #if defined(OS_WIN) || defined(OS_MACOSX) |
| 300 // Test a browser hang due to special case of multiple | 303 // Test a browser hang due to special case of multiple |
| 301 // plugin instances indulged in sync calls across renderer. | 304 // plugin instances indulged in sync calls across renderer. |
| 302 TEST_F(NPAPIVisiblePluginTester, MultipleInstancesSyncCalls) { | 305 TEST_F(NPAPIVisiblePluginTester, MultipleInstancesSyncCalls) { |
| 303 if (ProxyLauncher::in_process_renderer()) | 306 if (ProxyLauncher::in_process_renderer()) |
| 304 return; | 307 return; |
| 305 | 308 |
| 306 const FilePath test_case( | 309 const FilePath test_case( |
| 307 FILE_PATH_LITERAL("multiple_instances_sync_calls.html")); | 310 FILE_PATH_LITERAL("multiple_instances_sync_calls.html")); |
| 308 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 311 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 309 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 312 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 310 WaitForFinish("multiple_instances_sync_calls", "1", url, kTestCompleteCookie, | 313 WaitForFinish("multiple_instances_sync_calls", "1", url, kTestCompleteCookie, |
| 311 kTestCompleteSuccess, action_max_timeout_ms()); | 314 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 312 } | 315 } |
| 313 #endif | 316 #endif |
| 314 | 317 |
| 315 TEST_F(NPAPIVisiblePluginTester, GetURLRequestFailWrite) { | 318 TEST_F(NPAPIVisiblePluginTester, GetURLRequestFailWrite) { |
| 316 if (ProxyLauncher::in_process_renderer()) | 319 if (ProxyLauncher::in_process_renderer()) |
| 317 return; | 320 return; |
| 318 | 321 |
| 319 GURL url(URLRequestMockHTTPJob::GetMockUrl( | 322 GURL url(URLRequestMockHTTPJob::GetMockUrl( |
| 320 FilePath(FILE_PATH_LITERAL( | 323 FilePath(FILE_PATH_LITERAL( |
| 321 "npapi/plugin_url_request_fail_write.html")))); | 324 "npapi/plugin_url_request_fail_write.html")))); |
| 322 | 325 |
| 323 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 326 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 324 | 327 |
| 325 WaitForFinish("geturl_fail_write", "1", url, kTestCompleteCookie, | 328 WaitForFinish("geturl_fail_write", "1", url, kTestCompleteCookie, |
| 326 kTestCompleteSuccess, action_max_timeout_ms()); | 329 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 327 } | 330 } |
| 328 | 331 |
| 329 #if defined(OS_WIN) | 332 #if defined(OS_WIN) |
| 330 TEST_F(NPAPITesterBase, EnsureScriptingWorksInDestroy) { | 333 TEST_F(NPAPITesterBase, EnsureScriptingWorksInDestroy) { |
| 331 if (ProxyLauncher::in_process_renderer()) | 334 if (ProxyLauncher::in_process_renderer()) |
| 332 return; | 335 return; |
| 333 | 336 |
| 334 const FilePath test_case( | 337 const FilePath test_case( |
| 335 FILE_PATH_LITERAL("ensure_scripting_works_in_destroy.html")); | 338 FILE_PATH_LITERAL("ensure_scripting_works_in_destroy.html")); |
| 336 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 339 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 337 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 340 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 338 WaitForFinish("ensure_scripting_works_in_destroy", "1", url, | 341 WaitForFinish("ensure_scripting_works_in_destroy", "1", url, |
| 339 kTestCompleteCookie, kTestCompleteSuccess, | 342 kTestCompleteCookie, kTestCompleteSuccess, |
| 340 action_max_timeout_ms()); | 343 TestTimeouts::action_max_timeout_ms()); |
| 341 } | 344 } |
| 342 | 345 |
| 343 // This test uses a Windows Event to signal to the plugin that it should crash | 346 // This test uses a Windows Event to signal to the plugin that it should crash |
| 344 // on NP_Initialize. | 347 // on NP_Initialize. |
| 345 TEST_F(NPAPITesterBase, NoHangIfInitCrashes) { | 348 TEST_F(NPAPITesterBase, NoHangIfInitCrashes) { |
| 346 if (ProxyLauncher::in_process_renderer()) | 349 if (ProxyLauncher::in_process_renderer()) |
| 347 return; | 350 return; |
| 348 | 351 |
| 349 // Only Windows implements the crash service for now. | 352 // Only Windows implements the crash service for now. |
| 350 #if defined(OS_WIN) | 353 #if defined(OS_WIN) |
| 351 expected_crashes_ = 1; | 354 expected_crashes_ = 1; |
| 352 #endif | 355 #endif |
| 353 | 356 |
| 354 HANDLE crash_event = CreateEvent(NULL, TRUE, FALSE, L"TestPluginCrashOnInit"); | 357 HANDLE crash_event = CreateEvent(NULL, TRUE, FALSE, L"TestPluginCrashOnInit"); |
| 355 SetEvent(crash_event); | 358 SetEvent(crash_event); |
| 356 const FilePath test_case(FILE_PATH_LITERAL("no_hang_if_init_crashes.html")); | 359 const FilePath test_case(FILE_PATH_LITERAL("no_hang_if_init_crashes.html")); |
| 357 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); | 360 GURL url = ui_test_utils::GetTestUrl(FilePath(kTestDir), test_case); |
| 358 NavigateToURL(url); | 361 NavigateToURL(url); |
| 359 WaitForFinish("no_hang_if_init_crashes", "1", url, | 362 WaitForFinish("no_hang_if_init_crashes", "1", url, |
| 360 kTestCompleteCookie, kTestCompleteSuccess, | 363 kTestCompleteCookie, kTestCompleteSuccess, |
| 361 action_max_timeout_ms()); | 364 TestTimeouts::action_max_timeout_ms()); |
| 362 CloseHandle(crash_event); | 365 CloseHandle(crash_event); |
| 363 } | 366 } |
| 364 | 367 |
| 365 #endif | 368 #endif |
| 366 | 369 |
| 367 TEST_F(NPAPIVisiblePluginTester, PluginReferrerTest) { | 370 TEST_F(NPAPIVisiblePluginTester, PluginReferrerTest) { |
| 368 if (ProxyLauncher::in_process_renderer()) | 371 if (ProxyLauncher::in_process_renderer()) |
| 369 return; | 372 return; |
| 370 | 373 |
| 371 GURL url(URLRequestMockHTTPJob::GetMockUrl( | 374 GURL url(URLRequestMockHTTPJob::GetMockUrl( |
| 372 FilePath(FILE_PATH_LITERAL( | 375 FilePath(FILE_PATH_LITERAL( |
| 373 "npapi/plugin_url_request_referrer_test.html")))); | 376 "npapi/plugin_url_request_referrer_test.html")))); |
| 374 | 377 |
| 375 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 378 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 376 | 379 |
| 377 WaitForFinish("plugin_referrer_test", "1", url, kTestCompleteCookie, | 380 WaitForFinish("plugin_referrer_test", "1", url, kTestCompleteCookie, |
| 378 kTestCompleteSuccess, action_max_timeout_ms()); | 381 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 379 } | 382 } |
| 380 | 383 |
| 381 #if defined(OS_MACOSX) | 384 #if defined(OS_MACOSX) |
| 382 TEST_F(NPAPIVisiblePluginTester, PluginConvertPointTest) { | 385 TEST_F(NPAPIVisiblePluginTester, PluginConvertPointTest) { |
| 383 if (ProxyLauncher::in_process_renderer()) | 386 if (ProxyLauncher::in_process_renderer()) |
| 384 return; | 387 return; |
| 385 | 388 |
| 386 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 389 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 387 ASSERT_TRUE(browser.get()); | 390 ASSERT_TRUE(browser.get()); |
| 388 scoped_refptr<WindowProxy> window(browser->GetWindow()); | 391 scoped_refptr<WindowProxy> window(browser->GetWindow()); |
| 389 ASSERT_TRUE(window.get()); | 392 ASSERT_TRUE(window.get()); |
| 390 window->SetBounds(gfx::Rect(50, 50, 400, 400)); | 393 window->SetBounds(gfx::Rect(50, 50, 400, 400)); |
| 391 | 394 |
| 392 GURL url(URLRequestMockHTTPJob::GetMockUrl( | 395 GURL url(URLRequestMockHTTPJob::GetMockUrl( |
| 393 FilePath(FILE_PATH_LITERAL("npapi/convert_point.html")))); | 396 FilePath(FILE_PATH_LITERAL("npapi/convert_point.html")))); |
| 394 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 397 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 395 | 398 |
| 396 // TODO(stuartmorgan): When the automation system supports sending clicks, | 399 // TODO(stuartmorgan): When the automation system supports sending clicks, |
| 397 // change the test to trigger on mouse-down rather than window focus. | 400 // change the test to trigger on mouse-down rather than window focus. |
| 398 ASSERT_TRUE(browser->BringToFront()); | 401 ASSERT_TRUE(browser->BringToFront()); |
| 399 WaitForFinish("convert_point", "1", url, kTestCompleteCookie, | 402 WaitForFinish("convert_point", "1", url, kTestCompleteCookie, |
| 400 kTestCompleteSuccess, action_max_timeout_ms()); | 403 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 401 } | 404 } |
| 402 #endif | 405 #endif |
| 403 | 406 |
| 404 TEST_F(NPAPIVisiblePluginTester, ClickToPlay) { | 407 TEST_F(NPAPIVisiblePluginTester, ClickToPlay) { |
| 405 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); | 408 scoped_refptr<BrowserProxy> browser(automation()->GetBrowserWindow(0)); |
| 406 ASSERT_TRUE(browser.get()); | 409 ASSERT_TRUE(browser.get()); |
| 407 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, | 410 ASSERT_TRUE(browser->SetDefaultContentSetting(CONTENT_SETTINGS_TYPE_PLUGINS, |
| 408 CONTENT_SETTING_BLOCK)); | 411 CONTENT_SETTING_BLOCK)); |
| 409 | 412 |
| 410 GURL url(URLRequestMockHTTPJob::GetMockUrl( | 413 GURL url(URLRequestMockHTTPJob::GetMockUrl( |
| 411 FilePath(FILE_PATH_LITERAL("npapi/click_to_play.html")))); | 414 FilePath(FILE_PATH_LITERAL("npapi/click_to_play.html")))); |
| 412 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); | 415 ASSERT_NO_FATAL_FAILURE(NavigateToURL(url)); |
| 413 | 416 |
| 414 scoped_refptr<TabProxy> tab(browser->GetTab(0)); | 417 scoped_refptr<TabProxy> tab(browser->GetTab(0)); |
| 415 ASSERT_TRUE(tab.get()); | 418 ASSERT_TRUE(tab.get()); |
| 416 | 419 |
| 417 ASSERT_TRUE(tab->LoadBlockedPlugins()); | 420 ASSERT_TRUE(tab->LoadBlockedPlugins()); |
| 418 | 421 |
| 419 WaitForFinish("setup", "1", url, kTestCompleteCookie, | 422 WaitForFinish("setup", "1", url, kTestCompleteCookie, |
| 420 kTestCompleteSuccess, action_max_timeout_ms()); | 423 kTestCompleteSuccess, TestTimeouts::action_max_timeout_ms()); |
| 421 } | 424 } |
| OLD | NEW |