1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/test/ppapi/ppapi_test.h"
7 #include "base/test/test_timeouts.h"
8 #include "build/build_config.h"
9 #include "chrome/browser/content_settings/host_content_settings_map.h"
10 #include "chrome/browser/profiles/profile.h"
11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/browser_navigator.h"
13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
14 #include "chrome/test/base/javascript_test_observer.h"
15 #include "chrome/test/base/ui_test_utils.h"
16 #include "content/public/browser/web_contents.h"
17 #include "content/public/common/url_constants.h"
18 #include "content/public/test/test_renderer_host.h"
20 using content::RenderViewHost;
22 // This macro finesses macro expansion to do what we want.
23 #define STRIP_PREFIXES(test_name) StripPrefixes(#test_name)
24 // Turn the given token into a string. This allows us to use precompiler stuff
25 // to turn names into DISABLED_Foo, but still pass a string to RunTest.
26 #define STRINGIFY(test_name) #test_name
27 #define LIST_TEST(test_name) STRINGIFY(test_name) ","
29 // Use these macros to run the tests for a specific interface.
30 // Most interfaces should be tested with both macros.
31 #define TEST_PPAPI_IN_PROCESS(test_name) \
32 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
33 RunTest(STRIP_PREFIXES(test_name)); \
35 #define TEST_PPAPI_OUT_OF_PROCESS(test_name) \
36 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
37 RunTest(STRIP_PREFIXES(test_name)); \
40 // Similar macros that test over HTTP.
41 #define TEST_PPAPI_IN_PROCESS_VIA_HTTP(test_name) \
42 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
43 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
45 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \
46 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
47 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
50 // Similar macros that test with an SSL server.
51 #define TEST_PPAPI_IN_PROCESS_WITH_SSL_SERVER(test_name) \
52 IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
53 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
55 #define TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(test_name) \
56 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
57 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
60 #if defined(DISABLE_NACL)
61 #define TEST_PPAPI_NACL(test_name)
62 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name)
63 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name)
65 #elif defined(ARCH_CPU_ARM_FAMILY)
66 // NaCl glibc tests are not included in ARM as there is no glibc support
68 #define TEST_PPAPI_NACL(test_name) \
69 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
70 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
72 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
73 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
76 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name) \
77 IN_PROC_BROWSER_TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
78 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
81 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name) \
82 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
83 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
85 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
86 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
91 // NaCl based PPAPI tests
92 #define TEST_PPAPI_NACL(test_name) \
93 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
94 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
96 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, test_name) { \
97 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
99 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
100 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
103 // NaCl based PPAPI tests with disallowed socket API
104 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name) \
105 IN_PROC_BROWSER_TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
106 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
109 // NaCl based PPAPI tests with SSL server
110 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name) \
111 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
112 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
114 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, test_name) { \
115 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
117 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
118 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
124 // NaCl glibc tests are not included in ARM as there is no glibc support
126 #if defined(ARCH_CPU_ARM_FAMILY)
127 #define MAYBE_GLIBC(test_name) DISABLED_##test_name
129 #define MAYBE_GLIBC(test_name) test_name
137 TEST_PPAPI_IN_PROCESS(Broker)
138 // Flaky, http://crbug.com/111355
139 TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Broker)
141 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Accept) {
142 // Accepting the infobar should grant permission to access the PPAPI broker.
143 InfoBarObserver observer;
144 observer.ExpectInfoBarAndAccept(true);
146 // PPB_Broker_Trusted::IsAllowed should return false before the infobar is
147 // popped and true after the infobar is popped.
148 RunTest("Broker_IsAllowedPermissionDenied");
149 RunTest("Broker_ConnectPermissionGranted");
150 RunTest("Broker_IsAllowedPermissionGranted");
152 // It should also set a content settings exception for the site.
153 GURL url = GetTestFileUrl("Broker_ConnectPermissionGranted");
154 HostContentSettingsMap* content_settings =
155 browser()->profile()->GetHostContentSettingsMap();
156 EXPECT_EQ(CONTENT_SETTING_ALLOW,
157 content_settings->GetContentSetting(
158 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
161 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Deny) {
162 // Canceling the infobar should deny permission to access the PPAPI broker.
163 InfoBarObserver observer;
164 observer.ExpectInfoBarAndAccept(false);
166 // PPB_Broker_Trusted::IsAllowed should return false before and after the
167 // infobar is popped.
168 RunTest("Broker_IsAllowedPermissionDenied");
169 RunTest("Broker_ConnectPermissionDenied");
170 RunTest("Broker_IsAllowedPermissionDenied");
172 // It should also set a content settings exception for the site.
173 GURL url = GetTestFileUrl("Broker_ConnectPermissionDenied");
174 HostContentSettingsMap* content_settings =
175 browser()->profile()->GetHostContentSettingsMap();
176 EXPECT_EQ(CONTENT_SETTING_BLOCK,
177 content_settings->GetContentSetting(
178 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
181 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Blocked) {
182 // Block access to the PPAPI broker.
183 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
184 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_BLOCK);
186 // We shouldn't see an infobar.
187 InfoBarObserver observer;
189 RunTest("Broker_ConnectPermissionDenied");
190 RunTest("Broker_IsAllowedPermissionDenied");
193 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Allowed) {
194 // Always allow access to the PPAPI broker.
195 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
196 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_ALLOW);
198 // We shouldn't see an infobar.
199 InfoBarObserver observer;
201 RunTest("Broker_ConnectPermissionGranted");
202 RunTest("Broker_IsAllowedPermissionGranted");
205 TEST_PPAPI_IN_PROCESS(Console)
206 TEST_PPAPI_OUT_OF_PROCESS(Console)
207 TEST_PPAPI_NACL(Console)
209 TEST_PPAPI_IN_PROCESS(Core)
210 TEST_PPAPI_OUT_OF_PROCESS(Core)
211 TEST_PPAPI_NACL(Core)
213 TEST_PPAPI_IN_PROCESS(TraceEvent)
214 TEST_PPAPI_OUT_OF_PROCESS(TraceEvent)
215 TEST_PPAPI_NACL(TraceEvent)
217 TEST_PPAPI_IN_PROCESS(InputEvent)
218 TEST_PPAPI_OUT_OF_PROCESS(InputEvent)
219 TEST_PPAPI_NACL(InputEvent)
221 // Flaky on Linux and Windows. http://crbug.com/135403
222 #if defined(OS_LINUX) || defined(OS_WIN)
223 #define MAYBE_ImeInputEvent DISABLED_ImeInputEvent
225 #define MAYBE_ImeInputEvent ImeInputEvent
228 TEST_PPAPI_IN_PROCESS(MAYBE_ImeInputEvent)
229 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_ImeInputEvent)
230 TEST_PPAPI_NACL(MAYBE_ImeInputEvent)
232 // "Instance" tests are really InstancePrivate tests. InstancePrivate is not
233 // supported in NaCl, so these tests are only run trusted.
234 // Also note that these tests are run separately on purpose (versus collapsed
235 // in to one IN_PROC_BROWSER_TEST_F macro), because some of them have leaks
236 // on purpose that will look like failures to tests that are run later.
237 TEST_PPAPI_IN_PROCESS(Instance_ExecuteScript);
238 TEST_PPAPI_OUT_OF_PROCESS(Instance_ExecuteScript)
240 // We run and reload the RecursiveObjects test to ensure that the InstanceObject
241 // (and others) are properly cleaned up after the first run.
242 IN_PROC_BROWSER_TEST_F(PPAPITest, Instance_RecursiveObjects) {
243 RunTestAndReload("Instance_RecursiveObjects");
245 // TODO(dmichael): Make it work out-of-process (or at least see whether we
247 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest,
248 DISABLED_Instance_RecursiveObjects) {
249 RunTestAndReload("Instance_RecursiveObjects");
251 TEST_PPAPI_IN_PROCESS(Instance_LeakedObjectDestructors);
252 TEST_PPAPI_OUT_OF_PROCESS(Instance_LeakedObjectDestructors);
254 IN_PROC_BROWSER_TEST_F(PPAPITest,
255 Instance_ExecuteScriptAtInstanceShutdown) {
256 // In other tests, we use one call to RunTest so that the tests can all run
257 // in one plugin instance. This saves time on loading the plugin (especially
258 // for NaCl). Here, we actually want to destroy the Instance, to test whether
259 // the destructor can run ExecuteScript successfully. That's why we have two
260 // separate calls to RunTest; the second one forces a navigation which
261 // destroys the instance from the prior RunTest.
262 // See test_instance_deprecated.cc for more information.
263 RunTest("Instance_SetupExecuteScriptAtInstanceShutdown");
264 RunTest("Instance_ExecuteScriptAtInstanceShutdown");
266 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest,
267 Instance_ExecuteScriptAtInstanceShutdown) {
268 // (See the comment for the in-process version of this test above)
269 RunTest("Instance_SetupExecuteScriptAtInstanceShutdown");
270 RunTest("Instance_ExecuteScriptAtInstanceShutdown");
273 TEST_PPAPI_IN_PROCESS(Graphics2D)
274 TEST_PPAPI_OUT_OF_PROCESS(Graphics2D)
275 // Graphics2D_Dev isn't supported in NaCl, only test the other interfaces
276 // TODO(jhorwich) Enable when Graphics2D_Dev interfaces are proxied in NaCl.
277 TEST_PPAPI_NACL(Graphics2D_InvalidResource)
278 TEST_PPAPI_NACL(Graphics2D_InvalidSize)
279 TEST_PPAPI_NACL(Graphics2D_Humongous)
280 TEST_PPAPI_NACL(Graphics2D_InitToZero)
281 TEST_PPAPI_NACL(Graphics2D_Describe)
282 TEST_PPAPI_NACL(Graphics2D_Paint)
283 TEST_PPAPI_NACL(Graphics2D_Scroll)
284 TEST_PPAPI_NACL(Graphics2D_Replace)
285 TEST_PPAPI_NACL(Graphics2D_Flush)
286 TEST_PPAPI_NACL(Graphics2D_FlushOffscreenUpdate)
287 TEST_PPAPI_NACL(Graphics2D_BindNull)
290 #if defined(USE_AURA)
291 // These tests fail with the test compositor which is what's used by default for
292 // browser tests on Windows Aura. Renable when the software compositor is
294 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
295 #define MAYBE_OUT_Graphics3D DISABLED_Graphics3D
296 #define MAYBE_NACL_Graphics3D DISABLED_Graphics3D
297 #else // defined(USE_AURA)
298 // In-process and NaCl tests are having flaky failures on Win: crbug.com/242252
299 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
300 #define MAYBE_OUT_Graphics3D Graphics3D
301 #define MAYBE_NACL_Graphics3D DISABLED_Graphics3D
302 #endif // defined(USE_AURA)
304 // The tests are failing in-process. crbug.com/280282
305 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
306 #define MAYBE_OUT_Graphics3D Graphics3D
307 #define MAYBE_NACL_Graphics3D Graphics3D
309 TEST_PPAPI_IN_PROCESS(MAYBE_IN_Graphics3D)
310 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_OUT_Graphics3D)
311 TEST_PPAPI_NACL(MAYBE_NACL_Graphics3D)
313 TEST_PPAPI_IN_PROCESS(ImageData)
314 TEST_PPAPI_OUT_OF_PROCESS(ImageData)
315 TEST_PPAPI_NACL(ImageData)
317 TEST_PPAPI_IN_PROCESS(BrowserFont)
320 #define MAYBE_OUT_BrowserFont DISABLED_BrowserFont
322 #define MAYBE_OUT_BrowserFont BrowserFont
324 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_OUT_BrowserFont)
326 TEST_PPAPI_IN_PROCESS(Buffer)
327 TEST_PPAPI_OUT_OF_PROCESS(Buffer)
330 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, TCPSocket) {
332 LIST_TEST(TCPSocket_Connect)
333 LIST_TEST(TCPSocket_ReadWrite)
334 LIST_TEST(TCPSocket_SetOption)
335 LIST_TEST(TCPSocket_Listen)
336 LIST_TEST(TCPSocket_Backlog)
337 LIST_TEST(TCPSocket_Interface_1_0)
340 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, TCPSocket) {
342 LIST_TEST(TCPSocket_Connect)
343 LIST_TEST(TCPSocket_ReadWrite)
344 LIST_TEST(TCPSocket_SetOption)
345 LIST_TEST(TCPSocket_Listen)
346 LIST_TEST(TCPSocket_Backlog)
347 LIST_TEST(TCPSocket_Interface_1_0)
350 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(TCPSocket)) {
352 LIST_TEST(TCPSocket_Connect)
353 LIST_TEST(TCPSocket_ReadWrite)
354 LIST_TEST(TCPSocket_SetOption)
355 LIST_TEST(TCPSocket_Listen)
356 LIST_TEST(TCPSocket_Backlog)
357 LIST_TEST(TCPSocket_Interface_1_0)
360 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, TCPSocket) {
362 LIST_TEST(TCPSocket_Connect)
363 LIST_TEST(TCPSocket_ReadWrite)
364 LIST_TEST(TCPSocket_SetOption)
365 LIST_TEST(TCPSocket_Listen)
366 LIST_TEST(TCPSocket_Backlog)
367 LIST_TEST(TCPSocket_Interface_1_0)
371 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivate)
372 TEST_PPAPI_NACL_WITH_SSL_SERVER(TCPSocketPrivate)
374 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivateTrusted)
377 // UDPSocket_Broadcast is disabled for OSX because it requires root permissions
379 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, UDPSocket) {
381 LIST_TEST(UDPSocket_ReadWrite)
382 LIST_TEST(UDPSocket_SetOption)
383 #if !defined(OS_MACOSX)
384 LIST_TEST(UDPSocket_Broadcast)
388 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, UDPSocket) {
390 LIST_TEST(UDPSocket_ReadWrite)
391 LIST_TEST(UDPSocket_SetOption)
392 #if !defined(OS_MACOSX)
393 LIST_TEST(UDPSocket_Broadcast)
397 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(UDPSocket)) {
399 LIST_TEST(UDPSocket_ReadWrite)
400 LIST_TEST(UDPSocket_SetOption)
401 #if !defined(OS_MACOSX)
402 LIST_TEST(UDPSocket_Broadcast)
406 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, UDPSocket) {
408 LIST_TEST(UDPSocket_ReadWrite)
409 LIST_TEST(UDPSocket_SetOption)
410 #if !defined(OS_MACOSX)
411 LIST_TEST(UDPSocket_Broadcast)
416 // UDPSocketPrivate tests.
417 // UDPSocketPrivate_Broadcast is disabled for OSX because it requires
418 // root permissions on OSX 10.7+.
419 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Connect)
420 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_ConnectFailure)
421 #if !defined(OS_MACOSX)
422 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Broadcast)
423 #endif // !defined(OS_MACOSX)
424 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_SetSocketFeatureErrors)
425 TEST_PPAPI_NACL(UDPSocketPrivate_Connect)
426 TEST_PPAPI_NACL(UDPSocketPrivate_ConnectFailure)
427 #if !defined(OS_MACOSX)
428 TEST_PPAPI_NACL(UDPSocketPrivate_Broadcast)
429 #endif // !defined(OS_MACOSX)
430 TEST_PPAPI_NACL(UDPSocketPrivate_SetSocketFeatureErrors)
432 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(HostResolverPrivateDisallowed)
433 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPServerSocketPrivateDisallowed)
434 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPSocketPrivateDisallowed)
435 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(UDPSocketPrivateDisallowed)
437 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(TCPServerSocketPrivate)
438 TEST_PPAPI_NACL(TCPServerSocketPrivate)
440 // HostResolver tests.
441 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, HostResolver) {
443 LIST_TEST(HostResolver_Empty)
444 LIST_TEST(HostResolver_Resolve)
445 LIST_TEST(HostResolver_ResolveIPv4)
448 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, HostResolver) {
450 LIST_TEST(HostResolver_Empty)
451 LIST_TEST(HostResolver_Resolve)
452 LIST_TEST(HostResolver_ResolveIPv4)
455 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(HostResolver)) {
457 LIST_TEST(HostResolver_Empty)
458 LIST_TEST(HostResolver_Resolve)
459 LIST_TEST(HostResolver_ResolveIPv4)
462 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, HostResolver) {
464 LIST_TEST(HostResolver_Empty)
465 LIST_TEST(HostResolver_Resolve)
466 LIST_TEST(HostResolver_ResolveIPv4)
470 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_Resolve)
471 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_ResolveIPv4)
472 TEST_PPAPI_NACL(HostResolverPrivate_Resolve)
473 TEST_PPAPI_NACL(HostResolverPrivate_ResolveIPv4)
476 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoader) {
478 LIST_TEST(URLLoader_BasicGET)
479 LIST_TEST(URLLoader_BasicPOST)
480 LIST_TEST(URLLoader_BasicFilePOST)
481 LIST_TEST(URLLoader_BasicFileRangePOST)
482 LIST_TEST(URLLoader_CompoundBodyPOST)
483 LIST_TEST(URLLoader_EmptyDataPOST)
484 LIST_TEST(URLLoader_BinaryDataPOST)
485 LIST_TEST(URLLoader_CustomRequestHeader)
486 LIST_TEST(URLLoader_FailsBogusContentLength)
487 LIST_TEST(URLLoader_StreamToFile)
488 LIST_TEST(URLLoader_UntrustedSameOriginRestriction)
489 LIST_TEST(URLLoader_TrustedSameOriginRestriction)
490 LIST_TEST(URLLoader_UntrustedCrossOriginRequest)
491 LIST_TEST(URLLoader_TrustedCrossOriginRequest)
492 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction)
493 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
494 // http://crbug.com/103062
495 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction)
496 LIST_TEST(URLLoader_UntrustedHttpRequests)
497 LIST_TEST(URLLoader_TrustedHttpRequests)
498 LIST_TEST(URLLoader_FollowURLRedirect)
499 LIST_TEST(URLLoader_AuditURLRedirect)
500 LIST_TEST(URLLoader_AbortCalls)
501 LIST_TEST(URLLoader_UntendedLoad)
502 LIST_TEST(URLLoader_PrefetchBufferThreshold)
505 // Timing out on Windows dbg. http://crbug.com/95005
506 #if defined(OS_WIN) && !defined(NDEBUG)
507 #define MAYBE_URLLoader DISABLED_URLLoader
509 #define MAYBE_URLLoader URLLoader
511 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_URLLoader) {
513 LIST_TEST(URLLoader_BasicGET)
514 LIST_TEST(URLLoader_BasicPOST)
515 LIST_TEST(URLLoader_BasicFilePOST)
516 LIST_TEST(URLLoader_BasicFileRangePOST)
517 LIST_TEST(URLLoader_CompoundBodyPOST)
518 LIST_TEST(URLLoader_EmptyDataPOST)
519 LIST_TEST(URLLoader_BinaryDataPOST)
520 LIST_TEST(URLLoader_CustomRequestHeader)
521 LIST_TEST(URLLoader_FailsBogusContentLength)
522 LIST_TEST(URLLoader_StreamToFile)
523 LIST_TEST(URLLoader_UntrustedSameOriginRestriction)
524 LIST_TEST(URLLoader_TrustedSameOriginRestriction)
525 LIST_TEST(URLLoader_UntrustedCrossOriginRequest)
526 LIST_TEST(URLLoader_TrustedCrossOriginRequest)
527 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction)
528 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
529 // http://crbug.com/103062
530 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction)
531 LIST_TEST(URLLoader_UntrustedHttpRequests)
532 LIST_TEST(URLLoader_TrustedHttpRequests)
533 LIST_TEST(URLLoader_FollowURLRedirect)
534 LIST_TEST(URLLoader_AuditURLRedirect)
535 LIST_TEST(URLLoader_AbortCalls)
536 LIST_TEST(URLLoader_UntendedLoad)
537 LIST_TEST(URLLoader_PrefetchBufferThreshold)
540 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader) {
542 LIST_TEST(URLLoader_BasicGET)
543 LIST_TEST(URLLoader_BasicPOST)
544 LIST_TEST(URLLoader_BasicFilePOST)
545 LIST_TEST(URLLoader_BasicFileRangePOST)
546 LIST_TEST(URLLoader_CompoundBodyPOST)
547 LIST_TEST(URLLoader_EmptyDataPOST)
548 LIST_TEST(URLLoader_BinaryDataPOST)
549 LIST_TEST(URLLoader_CustomRequestHeader)
550 LIST_TEST(URLLoader_FailsBogusContentLength)
551 LIST_TEST(URLLoader_StreamToFile)
552 LIST_TEST(URLLoader_UntrustedSameOriginRestriction)
553 // We don't support Trusted APIs in NaCl.
554 LIST_TEST(DISABLED_URLLoader_TrustedSameOriginRestriction)
555 LIST_TEST(URLLoader_UntrustedCrossOriginRequest)
556 LIST_TEST(DISABLED_URLLoader_TrustedCrossOriginRequest)
557 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction)
558 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
559 // http://crbug.com/103062
560 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction)
561 LIST_TEST(URLLoader_UntrustedHttpRequests)
562 LIST_TEST(DISABLED_URLLoader_TrustedHttpRequests)
563 LIST_TEST(URLLoader_FollowURLRedirect)
564 LIST_TEST(URLLoader_AuditURLRedirect)
565 LIST_TEST(URLLoader_AbortCalls)
566 LIST_TEST(URLLoader_UntendedLoad)
567 LIST_TEST(URLLoader_PrefetchBufferThreshold)
570 // Flaky on 32-bit linux bot; http://crbug.com/308906
571 #if defined(OS_LINUX) && defined(ARCH_CPU_X86)
572 #define MAYBE_NaCl_Glibc_URLLoader DISABLED_URLLoader
574 #define MAYBE_NaCl_Glibc_URLLoader URLLoader
576 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_NaCl_Glibc_URLLoader) {
578 LIST_TEST(URLLoader_BasicGET)
579 LIST_TEST(URLLoader_BasicPOST)
580 LIST_TEST(URLLoader_BasicFilePOST)
581 LIST_TEST(URLLoader_BasicFileRangePOST)
582 LIST_TEST(URLLoader_CompoundBodyPOST)
583 LIST_TEST(URLLoader_EmptyDataPOST)
584 LIST_TEST(URLLoader_BinaryDataPOST)
585 LIST_TEST(URLLoader_CustomRequestHeader)
586 LIST_TEST(URLLoader_FailsBogusContentLength)
587 LIST_TEST(URLLoader_StreamToFile)
588 LIST_TEST(URLLoader_UntrustedSameOriginRestriction)
589 // We don't support Trusted APIs in NaCl.
590 LIST_TEST(DISABLED_URLLoader_TrustedSameOriginRestriction)
591 LIST_TEST(URLLoader_UntrustedCrossOriginRequest)
592 LIST_TEST(DISABLED_URLLoader_TrustedCrossOriginRequest)
593 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction)
594 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
595 // http://crbug.com/103062
596 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction)
597 LIST_TEST(URLLoader_UntrustedHttpRequests)
598 LIST_TEST(DISABLED_URLLoader_TrustedHttpRequests)
599 LIST_TEST(URLLoader_FollowURLRedirect)
600 LIST_TEST(URLLoader_AuditURLRedirect)
601 LIST_TEST(URLLoader_AbortCalls)
602 LIST_TEST(URLLoader_UntendedLoad)
603 LIST_TEST(URLLoader_PrefetchBufferThreshold)
606 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader) {
608 LIST_TEST(URLLoader_BasicGET)
609 LIST_TEST(URLLoader_BasicPOST)
610 LIST_TEST(URLLoader_BasicFilePOST)
611 LIST_TEST(URLLoader_BasicFileRangePOST)
612 LIST_TEST(URLLoader_CompoundBodyPOST)
613 LIST_TEST(URLLoader_EmptyDataPOST)
614 LIST_TEST(URLLoader_BinaryDataPOST)
615 LIST_TEST(URLLoader_CustomRequestHeader)
616 LIST_TEST(URLLoader_FailsBogusContentLength)
617 LIST_TEST(URLLoader_StreamToFile)
618 LIST_TEST(URLLoader_UntrustedSameOriginRestriction)
619 // We don't support Trusted APIs in NaCl.
620 LIST_TEST(DISABLED_URLLoader_TrustedSameOriginRestriction)
621 LIST_TEST(URLLoader_UntrustedCrossOriginRequest)
622 LIST_TEST(DISABLED_URLLoader_TrustedCrossOriginRequest)
623 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction)
624 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
625 // http://crbug.com/103062
626 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction)
627 LIST_TEST(URLLoader_UntrustedHttpRequests)
628 LIST_TEST(DISABLED_URLLoader_TrustedHttpRequests)
629 LIST_TEST(URLLoader_FollowURLRedirect)
630 LIST_TEST(URLLoader_AuditURLRedirect)
631 LIST_TEST(URLLoader_AbortCalls)
632 LIST_TEST(URLLoader_UntendedLoad)
633 LIST_TEST(URLLoader_PrefetchBufferThreshold)
637 // URLRequestInfo tests.
638 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
639 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
641 // Timing out on Windows. http://crbug.com/129571
643 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
644 DISABLED_URLRequest_CreateAndIsURLRequestInfo
646 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
647 URLRequest_CreateAndIsURLRequestInfo
649 TEST_PPAPI_NACL(MAYBE_URLRequest_CreateAndIsURLRequestInfo)
651 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_SetProperty)
652 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_SetProperty)
653 // http://crbug.com/167150
654 TEST_PPAPI_NACL(DISABLED_URLRequest_SetProperty)
655 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
656 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
657 TEST_PPAPI_NACL(URLRequest_AppendDataToBody)
658 TEST_PPAPI_IN_PROCESS_VIA_HTTP(DISABLED_URLRequest_AppendFileToBody)
659 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(DISABLED_URLRequest_AppendFileToBody)
660 TEST_PPAPI_NACL(DISABLED_URLRequest_AppendFileToBody)
661 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_Stress)
662 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_Stress)
663 TEST_PPAPI_NACL(URLRequest_Stress)
665 TEST_PPAPI_IN_PROCESS(PaintAggregator)
666 TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator)
667 TEST_PPAPI_NACL(PaintAggregator)
669 // TODO(danakj): http://crbug.com/115286
670 TEST_PPAPI_IN_PROCESS(DISABLED_Scrollbar)
671 // http://crbug.com/89961
672 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, DISABLED_Scrollbar) {
673 RunTest("Scrollbar");
675 // TODO(danakj): http://crbug.com/115286
676 TEST_PPAPI_NACL(DISABLED_Scrollbar)
678 TEST_PPAPI_IN_PROCESS(URLUtil)
679 TEST_PPAPI_OUT_OF_PROCESS(URLUtil)
681 TEST_PPAPI_IN_PROCESS(CharSet)
682 TEST_PPAPI_OUT_OF_PROCESS(CharSet)
684 TEST_PPAPI_IN_PROCESS(Crypto)
685 TEST_PPAPI_OUT_OF_PROCESS(Crypto)
687 TEST_PPAPI_IN_PROCESS(Var)
688 TEST_PPAPI_OUT_OF_PROCESS(Var)
691 TEST_PPAPI_IN_PROCESS(VarResource)
692 TEST_PPAPI_OUT_OF_PROCESS(VarResource)
693 TEST_PPAPI_NACL(VarResource)
695 // Flaky on mac, http://crbug.com/121107
696 #if defined(OS_MACOSX)
697 #define MAYBE_VarDeprecated DISABLED_VarDeprecated
699 #define MAYBE_VarDeprecated VarDeprecated
702 TEST_PPAPI_IN_PROCESS(VarDeprecated)
703 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_VarDeprecated)
705 // Windows defines 'PostMessage', so we have to undef it.
709 // PostMessage tests.
710 IN_PROC_BROWSER_TEST_F(PPAPITest, PostMessage) {
712 LIST_TEST(PostMessage_SendInInit)
713 LIST_TEST(PostMessage_SendingData)
714 LIST_TEST(PostMessage_SendingArrayBuffer)
715 LIST_TEST(DISABLED_PostMessage_SendingArray)
716 LIST_TEST(DISABLED_PostMessage_SendingDictionary)
717 LIST_TEST(DISABLED_PostMessage_SendingResource)
718 LIST_TEST(DISABLED_PostMessage_SendingComplexVar)
719 LIST_TEST(PostMessage_MessageEvent)
720 LIST_TEST(PostMessage_NoHandler)
721 LIST_TEST(PostMessage_ExtraParam)
725 // Flaky: crbug.com/269530
727 #define MAYBE_PostMessage DISABLED_PostMessage
729 #define MAYBE_PostMessage PostMessage
731 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_PostMessage) {
733 LIST_TEST(PostMessage_SendInInit)
734 LIST_TEST(PostMessage_SendingData)
735 LIST_TEST(PostMessage_SendingArrayBuffer)
736 LIST_TEST(PostMessage_SendingArray)
737 LIST_TEST(PostMessage_SendingDictionary)
738 LIST_TEST(PostMessage_SendingResource)
739 LIST_TEST(PostMessage_SendingComplexVar)
740 LIST_TEST(PostMessage_MessageEvent)
741 LIST_TEST(PostMessage_NoHandler)
742 LIST_TEST(PostMessage_ExtraParam)
743 LIST_TEST(PostMessage_NonMainThread)
746 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, PostMessage) {
748 LIST_TEST(PostMessage_SendInInit)
749 LIST_TEST(PostMessage_SendingData)
750 LIST_TEST(PostMessage_SendingArrayBuffer)
751 LIST_TEST(PostMessage_SendingArray)
752 LIST_TEST(PostMessage_SendingDictionary)
753 LIST_TEST(PostMessage_SendingResource)
754 LIST_TEST(PostMessage_SendingComplexVar)
755 LIST_TEST(PostMessage_MessageEvent)
756 LIST_TEST(PostMessage_NoHandler)
757 LIST_TEST(PostMessage_ExtraParam)
758 LIST_TEST(PostMessage_NonMainThread)
761 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(PostMessage)) {
763 LIST_TEST(PostMessage_SendInInit)
764 LIST_TEST(PostMessage_SendingData)
765 LIST_TEST(PostMessage_SendingArrayBuffer)
766 LIST_TEST(PostMessage_SendingArray)
767 LIST_TEST(PostMessage_SendingDictionary)
768 LIST_TEST(PostMessage_SendingResource)
769 LIST_TEST(PostMessage_SendingComplexVar)
770 LIST_TEST(PostMessage_MessageEvent)
771 LIST_TEST(PostMessage_NoHandler)
772 LIST_TEST(PostMessage_ExtraParam)
773 LIST_TEST(PostMessage_NonMainThread)
776 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, PostMessage) {
778 LIST_TEST(PostMessage_SendInInit)
779 LIST_TEST(PostMessage_SendingData)
780 LIST_TEST(PostMessage_SendingArrayBuffer)
781 LIST_TEST(PostMessage_SendingArray)
782 LIST_TEST(PostMessage_SendingDictionary)
783 LIST_TEST(PostMessage_SendingResource)
784 LIST_TEST(PostMessage_SendingComplexVar)
785 LIST_TEST(PostMessage_MessageEvent)
786 LIST_TEST(PostMessage_NoHandler)
787 LIST_TEST(PostMessage_ExtraParam)
788 LIST_TEST(PostMessage_NonMainThread)
792 TEST_PPAPI_IN_PROCESS(Memory)
793 TEST_PPAPI_OUT_OF_PROCESS(Memory)
794 TEST_PPAPI_NACL(Memory)
796 TEST_PPAPI_IN_PROCESS(VideoDecoder)
797 TEST_PPAPI_OUT_OF_PROCESS(VideoDecoder)
800 IN_PROC_BROWSER_TEST_F(PPAPITest, FileIO) {
802 LIST_TEST(FileIO_Open)
803 LIST_TEST(FileIO_OpenDirectory)
804 LIST_TEST(FileIO_AbortCalls)
805 LIST_TEST(FileIO_ParallelReads)
806 LIST_TEST(FileIO_ParallelWrites)
807 LIST_TEST(FileIO_NotAllowMixedReadWrite)
808 LIST_TEST(FileIO_ReadWriteSetLength)
809 LIST_TEST(FileIO_ReadToArrayWriteSetLength)
810 LIST_TEST(FileIO_TouchQuery)
811 LIST_TEST(FileIO_RequestOSFileHandle)
812 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive)
813 LIST_TEST(FileIO_Mmap)
816 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileIO) {
818 LIST_TEST(FileIO_Open)
819 LIST_TEST(FileIO_AbortCalls)
820 LIST_TEST(FileIO_ParallelReads)
821 LIST_TEST(FileIO_ParallelWrites)
822 LIST_TEST(FileIO_NotAllowMixedReadWrite)
823 LIST_TEST(FileIO_ReadWriteSetLength)
824 LIST_TEST(FileIO_ReadToArrayWriteSetLength)
825 LIST_TEST(FileIO_TouchQuery)
826 LIST_TEST(FileIO_RequestOSFileHandle)
827 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive)
828 LIST_TEST(FileIO_Mmap)
831 // Flaky on XP; times out, http://crbug.com/313401
833 #define MAYBE_FileIO DISABLED_FileIO
835 #define MAYBE_FileIO FileIO
837 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_FileIO) {
839 LIST_TEST(FileIO_Open)
840 LIST_TEST(FileIO_AbortCalls)
841 LIST_TEST(FileIO_ParallelReads)
842 LIST_TEST(FileIO_ParallelWrites)
843 LIST_TEST(FileIO_NotAllowMixedReadWrite)
844 LIST_TEST(FileIO_ReadWriteSetLength)
845 LIST_TEST(FileIO_ReadToArrayWriteSetLength)
846 LIST_TEST(FileIO_TouchQuery)
847 LIST_TEST(FileIO_RequestOSFileHandle)
848 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive)
849 LIST_TEST(FileIO_Mmap)
852 // Flaky on 32-bit linux bot; http://crbug.com/308905
853 #if defined(OS_LINUX) && defined(ARCH_CPU_X86)
854 #define MAYBE_NaCl_Glibc_FileIO DISABLED_FileIO
856 #define MAYBE_NaCl_Glibc_FileIO FileIO
858 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_NaCl_Glibc_FileIO) {
860 LIST_TEST(FileIO_Open)
861 LIST_TEST(FileIO_AbortCalls)
862 LIST_TEST(FileIO_ParallelReads)
863 LIST_TEST(FileIO_ParallelWrites)
864 LIST_TEST(FileIO_NotAllowMixedReadWrite)
865 LIST_TEST(FileIO_ReadWriteSetLength)
866 LIST_TEST(FileIO_ReadToArrayWriteSetLength)
867 LIST_TEST(FileIO_TouchQuery)
868 LIST_TEST(FileIO_RequestOSFileHandle)
869 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive)
870 LIST_TEST(FileIO_Mmap)
873 // Flaky on XP; times out, http://crbug.com/313205
875 #define MAYBE_PNaCl_FileIO DISABLED_FileIO
877 #define MAYBE_PNaCl_FileIO FileIO
879 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_PNaCl_FileIO) {
881 LIST_TEST(FileIO_Open)
882 LIST_TEST(FileIO_AbortCalls)
883 LIST_TEST(FileIO_ParallelReads)
884 LIST_TEST(FileIO_ParallelWrites)
885 LIST_TEST(FileIO_NotAllowMixedReadWrite)
886 LIST_TEST(FileIO_ReadWriteSetLength)
887 LIST_TEST(FileIO_ReadToArrayWriteSetLength)
888 LIST_TEST(FileIO_TouchQuery)
889 LIST_TEST(FileIO_RequestOSFileHandle)
890 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive)
891 LIST_TEST(FileIO_Mmap)
895 IN_PROC_BROWSER_TEST_F(PPAPITest, FileRef) {
897 LIST_TEST(FileRef_Create)
898 LIST_TEST(FileRef_GetFileSystemType)
899 LIST_TEST(FileRef_GetName)
900 LIST_TEST(FileRef_GetPath)
901 LIST_TEST(FileRef_GetParent)
902 LIST_TEST(FileRef_MakeDirectory)
903 LIST_TEST(FileRef_QueryAndTouchFile)
904 LIST_TEST(FileRef_DeleteFileAndDirectory)
905 LIST_TEST(FileRef_RenameFileAndDirectory)
906 LIST_TEST(FileRef_Query)
907 LIST_TEST(FileRef_FileNameEscaping)
908 LIST_TEST(FileRef_ReadDirectoryEntries)
911 // OutOfProcessPPAPITest.FileRef times out fairly often.
912 // http://crbug.com/241646
913 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileRef) {
915 LIST_TEST(FileRef_Create)
916 LIST_TEST(FileRef_GetFileSystemType)
917 LIST_TEST(FileRef_GetName)
918 LIST_TEST(FileRef_GetPath)
919 LIST_TEST(FileRef_GetParent)
920 LIST_TEST(FileRef_MakeDirectory)
921 LIST_TEST(FileRef_QueryAndTouchFile)
922 LIST_TEST(FileRef_DeleteFileAndDirectory)
923 LIST_TEST(FileRef_RenameFileAndDirectory)
924 LIST_TEST(FileRef_Query)
925 LIST_TEST(FileRef_FileNameEscaping)
926 LIST_TEST(DISABLED_FileRef_ReadDirectoryEntries)
929 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, FileRef) {
931 LIST_TEST(FileRef_Create)
932 LIST_TEST(FileRef_GetFileSystemType)
933 LIST_TEST(FileRef_GetName)
934 LIST_TEST(FileRef_GetPath)
935 LIST_TEST(FileRef_GetParent)
936 LIST_TEST(FileRef_MakeDirectory)
937 LIST_TEST(FileRef_QueryAndTouchFile)
938 LIST_TEST(FileRef_DeleteFileAndDirectory)
939 LIST_TEST(FileRef_RenameFileAndDirectory)
940 LIST_TEST(FileRef_Query)
941 LIST_TEST(FileRef_FileNameEscaping)
942 LIST_TEST(DISABLED_FileRef_ReadDirectoryEntries)
945 // Flaky on 32-bit linux bot; http://crbug.com/308908
946 #if defined(OS_LINUX) && defined(ARCH_CPU_X86)
947 #define MAYBE_NaCl_Glibc_FileRef DISABLED_FileRef
949 #define MAYBE_NaCl_Glibc_FileRef FileRef
951 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_NaCl_Glibc_FileRef) {
953 LIST_TEST(FileRef_Create)
954 LIST_TEST(FileRef_GetFileSystemType)
955 LIST_TEST(FileRef_GetName)
956 LIST_TEST(FileRef_GetPath)
957 LIST_TEST(FileRef_GetParent)
958 LIST_TEST(FileRef_MakeDirectory)
959 LIST_TEST(FileRef_QueryAndTouchFile)
960 LIST_TEST(FileRef_DeleteFileAndDirectory)
961 LIST_TEST(FileRef_RenameFileAndDirectory)
962 LIST_TEST(FileRef_Query)
963 LIST_TEST(FileRef_FileNameEscaping)
964 LIST_TEST(DISABLED_FileRef_ReadDirectoryEntries)
967 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, FileRef) {
969 LIST_TEST(FileRef_Create)
970 LIST_TEST(FileRef_GetFileSystemType)
971 LIST_TEST(FileRef_GetName)
972 LIST_TEST(FileRef_GetPath)
973 LIST_TEST(FileRef_GetParent)
974 LIST_TEST(FileRef_MakeDirectory)
975 LIST_TEST(FileRef_QueryAndTouchFile)
976 LIST_TEST(FileRef_DeleteFileAndDirectory)
977 LIST_TEST(FileRef_RenameFileAndDirectory)
978 LIST_TEST(FileRef_Query)
979 LIST_TEST(FileRef_FileNameEscaping)
980 LIST_TEST(DISABLED_FileRef_ReadDirectoryEntries)
984 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileSystem)
985 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem)
987 // PPAPINaClTest.FileSystem times out consistently on Windows and Mac.
988 // http://crbug.com/130372
989 #if defined(OS_MACOSX) || defined(OS_WIN)
990 #define MAYBE_FileSystem DISABLED_FileSystem
992 #define MAYBE_FileSystem FileSystem
995 TEST_PPAPI_NACL(MAYBE_FileSystem)
997 #if defined(OS_MACOSX)
998 // http://crbug.com/103912
999 #define MAYBE_Fullscreen DISABLED_Fullscreen
1000 #elif defined(OS_LINUX)
1001 // http://crbug.com/146008
1002 #define MAYBE_Fullscreen DISABLED_Fullscreen
1004 #define MAYBE_Fullscreen Fullscreen
1007 TEST_PPAPI_IN_PROCESS_VIA_HTTP(MAYBE_Fullscreen)
1008 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_Fullscreen)
1009 TEST_PPAPI_NACL(MAYBE_Fullscreen)
1011 TEST_PPAPI_OUT_OF_PROCESS(X509CertificatePrivate)
1013 // There is no proxy. This is used for PDF metrics reporting, and PDF only
1014 // runs in process, so there's currently no need for a proxy.
1015 TEST_PPAPI_IN_PROCESS(UMA)
1018 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddress) {
1020 LIST_TEST(NetAddress_IPv4Address)
1021 LIST_TEST(NetAddress_IPv6Address)
1022 LIST_TEST(NetAddress_DescribeAsString)
1025 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddress) {
1027 LIST_TEST(NetAddress_IPv4Address)
1028 LIST_TEST(NetAddress_IPv6Address)
1029 LIST_TEST(NetAddress_DescribeAsString)
1032 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetAddress)) {
1034 LIST_TEST(NetAddress_IPv4Address)
1035 LIST_TEST(NetAddress_IPv6Address)
1036 LIST_TEST(NetAddress_DescribeAsString)
1039 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddress) {
1041 LIST_TEST(NetAddress_IPv4Address)
1042 LIST_TEST(NetAddress_IPv6Address)
1043 LIST_TEST(NetAddress_DescribeAsString)
1047 IN_PROC_BROWSER_TEST_F(PPAPITest, NetAddressPrivate) {
1049 LIST_TEST(NetAddressPrivate_AreEqual)
1050 LIST_TEST(NetAddressPrivate_AreHostsEqual)
1051 LIST_TEST(NetAddressPrivate_Describe)
1052 LIST_TEST(NetAddressPrivate_ReplacePort)
1053 LIST_TEST(NetAddressPrivate_GetAnyAddress)
1054 LIST_TEST(NetAddressPrivate_DescribeIPv6)
1055 LIST_TEST(NetAddressPrivate_GetFamily)
1056 LIST_TEST(NetAddressPrivate_GetPort)
1057 LIST_TEST(NetAddressPrivate_GetAddress)
1058 LIST_TEST(NetAddressPrivate_GetScopeID)
1061 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddressPrivate) {
1063 LIST_TEST(NetAddressPrivate_AreEqual)
1064 LIST_TEST(NetAddressPrivate_AreHostsEqual)
1065 LIST_TEST(NetAddressPrivate_Describe)
1066 LIST_TEST(NetAddressPrivate_ReplacePort)
1067 LIST_TEST(NetAddressPrivate_GetAnyAddress)
1068 LIST_TEST(NetAddressPrivate_DescribeIPv6)
1069 LIST_TEST(NetAddressPrivate_GetFamily)
1070 LIST_TEST(NetAddressPrivate_GetPort)
1071 LIST_TEST(NetAddressPrivate_GetAddress)
1072 LIST_TEST(NetAddressPrivate_GetScopeID)
1075 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddressPrivate) {
1077 LIST_TEST(NetAddressPrivateUntrusted_AreEqual)
1078 LIST_TEST(NetAddressPrivateUntrusted_AreHostsEqual)
1079 LIST_TEST(NetAddressPrivateUntrusted_Describe)
1080 LIST_TEST(NetAddressPrivateUntrusted_ReplacePort)
1081 LIST_TEST(NetAddressPrivateUntrusted_GetAnyAddress)
1082 LIST_TEST(NetAddressPrivateUntrusted_GetFamily)
1083 LIST_TEST(NetAddressPrivateUntrusted_GetPort)
1084 LIST_TEST(NetAddressPrivateUntrusted_GetAddress)
1087 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetAddressPrivate)) {
1089 LIST_TEST(NetAddressPrivateUntrusted_AreEqual)
1090 LIST_TEST(NetAddressPrivateUntrusted_AreHostsEqual)
1091 LIST_TEST(NetAddressPrivateUntrusted_Describe)
1092 LIST_TEST(NetAddressPrivateUntrusted_ReplacePort)
1093 LIST_TEST(NetAddressPrivateUntrusted_GetAnyAddress)
1094 LIST_TEST(NetAddressPrivateUntrusted_GetFamily)
1095 LIST_TEST(NetAddressPrivateUntrusted_GetPort)
1096 LIST_TEST(NetAddressPrivateUntrusted_GetAddress)
1099 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddressPrivate) {
1101 LIST_TEST(NetAddressPrivateUntrusted_AreEqual)
1102 LIST_TEST(NetAddressPrivateUntrusted_AreHostsEqual)
1103 LIST_TEST(NetAddressPrivateUntrusted_Describe)
1104 LIST_TEST(NetAddressPrivateUntrusted_ReplacePort)
1105 LIST_TEST(NetAddressPrivateUntrusted_GetAnyAddress)
1106 LIST_TEST(NetAddressPrivateUntrusted_GetFamily)
1107 LIST_TEST(NetAddressPrivateUntrusted_GetPort)
1108 LIST_TEST(NetAddressPrivateUntrusted_GetAddress)
1112 // NetworkMonitor tests.
1113 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetworkMonitor) {
1115 LIST_TEST(NetworkMonitor_Basic)
1116 LIST_TEST(NetworkMonitor_2Monitors)
1117 LIST_TEST(NetworkMonitor_DeleteInCallback)
1120 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetworkMonitor) {
1122 LIST_TEST(NetworkMonitor_Basic)
1123 LIST_TEST(NetworkMonitor_2Monitors)
1124 LIST_TEST(NetworkMonitor_DeleteInCallback)
1127 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetworkMonitor)) {
1129 LIST_TEST(NetworkMonitor_Basic)
1130 LIST_TEST(NetworkMonitor_2Monitors)
1131 LIST_TEST(NetworkMonitor_DeleteInCallback)
1134 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetworkMonitor) {
1136 LIST_TEST(NetworkMonitor_Basic)
1137 LIST_TEST(NetworkMonitor_2Monitors)
1138 LIST_TEST(NetworkMonitor_DeleteInCallback)
1143 IN_PROC_BROWSER_TEST_F(PPAPITest, Flash) {
1145 LIST_TEST(Flash_SetInstanceAlwaysOnTop)
1146 LIST_TEST(Flash_GetCommandLineArgs)
1149 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, Flash) {
1151 LIST_TEST(Flash_SetInstanceAlwaysOnTop)
1152 LIST_TEST(Flash_GetCommandLineArgs)
1156 // In-process WebSocket tests
1157 IN_PROC_BROWSER_TEST_F(PPAPITest, WebSocket) {
1158 RunTestWithWebSocketServer(
1159 LIST_TEST(WebSocket_IsWebSocket)
1160 LIST_TEST(WebSocket_UninitializedPropertiesAccess)
1161 LIST_TEST(WebSocket_InvalidConnect)
1162 LIST_TEST(WebSocket_Protocols)
1163 LIST_TEST(WebSocket_GetURL)
1164 LIST_TEST(WebSocket_ValidConnect)
1165 LIST_TEST(WebSocket_InvalidClose)
1166 LIST_TEST(WebSocket_ValidClose)
1167 LIST_TEST(WebSocket_GetProtocol)
1168 LIST_TEST(WebSocket_TextSendReceive)
1169 LIST_TEST(WebSocket_BinarySendReceive)
1170 LIST_TEST(WebSocket_StressedSendReceive)
1171 LIST_TEST(WebSocket_BufferedAmount)
1172 LIST_TEST(WebSocket_AbortCallsWithCallback)
1173 LIST_TEST(WebSocket_AbortSendMessageCall)
1174 LIST_TEST(WebSocket_AbortCloseCall)
1175 LIST_TEST(WebSocket_AbortReceiveMessageCall)
1176 LIST_TEST(WebSocket_CcInterfaces)
1177 LIST_TEST(WebSocket_UtilityInvalidConnect)
1178 LIST_TEST(WebSocket_UtilityProtocols)
1179 LIST_TEST(WebSocket_UtilityGetURL)
1180 LIST_TEST(WebSocket_UtilityValidConnect)
1181 LIST_TEST(WebSocket_UtilityInvalidClose)
1182 LIST_TEST(WebSocket_UtilityValidClose)
1183 LIST_TEST(WebSocket_UtilityGetProtocol)
1184 LIST_TEST(WebSocket_UtilityTextSendReceive)
1185 LIST_TEST(WebSocket_UtilityBinarySendReceive)
1186 LIST_TEST(WebSocket_UtilityBufferedAmount));
1189 // Out-of-process WebSocket tests
1190 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, WebSocket) {
1191 RunTestWithWebSocketServer(
1192 LIST_TEST(WebSocket_IsWebSocket)
1193 LIST_TEST(WebSocket_UninitializedPropertiesAccess)
1194 LIST_TEST(WebSocket_InvalidConnect)
1195 LIST_TEST(WebSocket_Protocols)
1196 LIST_TEST(WebSocket_GetURL)
1197 LIST_TEST(WebSocket_ValidConnect)
1198 LIST_TEST(WebSocket_InvalidClose)
1199 LIST_TEST(WebSocket_ValidClose)
1200 LIST_TEST(WebSocket_GetProtocol)
1201 LIST_TEST(WebSocket_TextSendReceive)
1202 LIST_TEST(WebSocket_BinarySendReceive)
1203 LIST_TEST(WebSocket_StressedSendReceive)
1204 LIST_TEST(WebSocket_BufferedAmount)
1205 LIST_TEST(WebSocket_AbortCallsWithCallback)
1206 LIST_TEST(WebSocket_AbortSendMessageCall)
1207 LIST_TEST(WebSocket_AbortCloseCall)
1208 LIST_TEST(WebSocket_AbortReceiveMessageCall)
1209 LIST_TEST(WebSocket_CcInterfaces)
1210 LIST_TEST(WebSocket_UtilityInvalidConnect)
1211 LIST_TEST(WebSocket_UtilityProtocols)
1212 LIST_TEST(WebSocket_UtilityGetURL)
1213 LIST_TEST(WebSocket_UtilityValidConnect)
1214 LIST_TEST(WebSocket_UtilityInvalidClose)
1215 LIST_TEST(WebSocket_UtilityValidClose)
1216 LIST_TEST(WebSocket_UtilityGetProtocol)
1217 LIST_TEST(WebSocket_UtilityTextSendReceive)
1218 LIST_TEST(WebSocket_UtilityBinarySendReceive)
1219 LIST_TEST(WebSocket_UtilityBufferedAmount));
1222 // NaClNewlib WebSocket tests
1223 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, WebSocket) {
1224 RunTestWithWebSocketServer(
1225 LIST_TEST(WebSocket_IsWebSocket)
1226 LIST_TEST(WebSocket_UninitializedPropertiesAccess)
1227 LIST_TEST(WebSocket_InvalidConnect)
1228 LIST_TEST(WebSocket_Protocols)
1229 LIST_TEST(WebSocket_GetURL)
1230 LIST_TEST(WebSocket_ValidConnect)
1231 LIST_TEST(WebSocket_InvalidClose)
1232 LIST_TEST(WebSocket_ValidClose)
1233 LIST_TEST(WebSocket_GetProtocol)
1234 LIST_TEST(WebSocket_TextSendReceive)
1235 LIST_TEST(WebSocket_BinarySendReceive)
1236 LIST_TEST(WebSocket_StressedSendReceive)
1237 LIST_TEST(WebSocket_BufferedAmount)
1238 LIST_TEST(WebSocket_AbortCallsWithCallback)
1239 LIST_TEST(WebSocket_AbortSendMessageCall)
1240 LIST_TEST(WebSocket_AbortCloseCall)
1241 LIST_TEST(WebSocket_AbortReceiveMessageCall)
1242 LIST_TEST(WebSocket_CcInterfaces)
1243 LIST_TEST(WebSocket_UtilityInvalidConnect)
1244 LIST_TEST(WebSocket_UtilityProtocols)
1245 LIST_TEST(WebSocket_UtilityGetURL)
1246 LIST_TEST(WebSocket_UtilityValidConnect)
1247 LIST_TEST(WebSocket_UtilityInvalidClose)
1248 LIST_TEST(WebSocket_UtilityValidClose)
1249 LIST_TEST(WebSocket_UtilityGetProtocol)
1250 LIST_TEST(WebSocket_UtilityTextSendReceive)
1251 LIST_TEST(WebSocket_UtilityBinarySendReceive)
1252 LIST_TEST(WebSocket_UtilityBufferedAmount));
1255 // NaClGLibc WebSocket tests
1256 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(WebSocket)) {
1257 RunTestWithWebSocketServer(
1258 LIST_TEST(WebSocket_IsWebSocket)
1259 LIST_TEST(WebSocket_UninitializedPropertiesAccess)
1260 LIST_TEST(WebSocket_InvalidConnect)
1261 LIST_TEST(WebSocket_Protocols)
1262 LIST_TEST(WebSocket_GetURL)
1263 LIST_TEST(WebSocket_ValidConnect)
1264 LIST_TEST(WebSocket_InvalidClose)
1265 LIST_TEST(WebSocket_ValidClose)
1266 LIST_TEST(WebSocket_GetProtocol)
1267 LIST_TEST(WebSocket_TextSendReceive)
1268 LIST_TEST(WebSocket_BinarySendReceive)
1269 LIST_TEST(WebSocket_StressedSendReceive)
1270 LIST_TEST(WebSocket_BufferedAmount)
1271 LIST_TEST(WebSocket_AbortCallsWithCallback)
1272 LIST_TEST(WebSocket_AbortSendMessageCall)
1273 LIST_TEST(WebSocket_AbortCloseCall)
1274 LIST_TEST(WebSocket_AbortReceiveMessageCall)
1275 LIST_TEST(WebSocket_CcInterfaces)
1276 LIST_TEST(WebSocket_UtilityInvalidConnect)
1277 LIST_TEST(WebSocket_UtilityProtocols)
1278 LIST_TEST(WebSocket_UtilityGetURL)
1279 LIST_TEST(WebSocket_UtilityValidConnect)
1280 LIST_TEST(WebSocket_UtilityInvalidClose)
1281 LIST_TEST(WebSocket_UtilityValidClose)
1282 LIST_TEST(WebSocket_UtilityGetProtocol)
1283 LIST_TEST(WebSocket_UtilityTextSendReceive)
1284 LIST_TEST(WebSocket_UtilityBinarySendReceive)
1285 LIST_TEST(WebSocket_UtilityBufferedAmount));
1288 // PNaCl WebSocket tests
1289 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, WebSocket) {
1290 RunTestWithWebSocketServer(
1291 LIST_TEST(WebSocket_IsWebSocket)
1292 LIST_TEST(WebSocket_UninitializedPropertiesAccess)
1293 LIST_TEST(WebSocket_InvalidConnect)
1294 LIST_TEST(WebSocket_Protocols)
1295 LIST_TEST(WebSocket_GetURL)
1296 LIST_TEST(WebSocket_ValidConnect)
1297 LIST_TEST(WebSocket_InvalidClose)
1298 LIST_TEST(WebSocket_ValidClose)
1299 LIST_TEST(WebSocket_GetProtocol)
1300 LIST_TEST(WebSocket_TextSendReceive)
1301 LIST_TEST(WebSocket_BinarySendReceive)
1302 LIST_TEST(WebSocket_StressedSendReceive)
1303 LIST_TEST(WebSocket_BufferedAmount)
1304 LIST_TEST(WebSocket_AbortCallsWithCallback)
1305 LIST_TEST(WebSocket_AbortSendMessageCall)
1306 LIST_TEST(WebSocket_AbortCloseCall)
1307 LIST_TEST(WebSocket_AbortReceiveMessageCall)
1308 LIST_TEST(WebSocket_CcInterfaces)
1309 LIST_TEST(WebSocket_UtilityInvalidConnect)
1310 LIST_TEST(WebSocket_UtilityProtocols)
1311 LIST_TEST(WebSocket_UtilityGetURL)
1312 LIST_TEST(WebSocket_UtilityValidConnect)
1313 LIST_TEST(WebSocket_UtilityInvalidClose)
1314 LIST_TEST(WebSocket_UtilityValidClose)
1315 LIST_TEST(WebSocket_UtilityGetProtocol)
1316 LIST_TEST(WebSocket_UtilityTextSendReceive)
1317 LIST_TEST(WebSocket_UtilityBinarySendReceive)
1318 LIST_TEST(WebSocket_UtilityBufferedAmount));
1322 // In-process AudioConfig tests
1323 IN_PROC_BROWSER_TEST_F(PPAPITest, AudioConfig) {
1325 LIST_TEST(AudioConfig_RecommendSampleRate)
1326 LIST_TEST(AudioConfig_ValidConfigs)
1327 LIST_TEST(AudioConfig_InvalidConfigs));
1330 // Out-of-process AudioConfig tests
1331 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, AudioConfig) {
1333 LIST_TEST(AudioConfig_RecommendSampleRate)
1334 LIST_TEST(AudioConfig_ValidConfigs)
1335 LIST_TEST(AudioConfig_InvalidConfigs));
1338 // NaClNewlib AudioConfig tests
1339 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, AudioConfig) {
1341 LIST_TEST(AudioConfig_RecommendSampleRate)
1342 LIST_TEST(AudioConfig_ValidConfigs)
1343 LIST_TEST(AudioConfig_InvalidConfigs));
1346 // NaClGLibc AudioConfig tests
1347 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(AudioConfig)) {
1349 LIST_TEST(AudioConfig_RecommendSampleRate)
1350 LIST_TEST(AudioConfig_ValidConfigs)
1351 LIST_TEST(AudioConfig_InvalidConfigs));
1354 // PNaCl AudioConfig tests
1355 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, AudioConfig) {
1357 LIST_TEST(AudioConfig_RecommendSampleRate)
1358 LIST_TEST(AudioConfig_ValidConfigs)
1359 LIST_TEST(AudioConfig_InvalidConfigs));
1362 // Flaky on ChromeOS dbg, http://crbug.com/277564.
1363 #if defined(OS_CHROMEOS) && !defined(NDEBUG)
1364 #define MAYBE_Audio DISABLED_Audio
1366 #define MAYBE_Audio Audio
1368 IN_PROC_BROWSER_TEST_F(PPAPITest, MAYBE_Audio) {
1369 RunTest(LIST_TEST(Audio_Creation)
1370 LIST_TEST(Audio_DestroyNoStop)
1371 LIST_TEST(Audio_Failures)
1372 LIST_TEST(Audio_AudioCallback1)
1373 LIST_TEST(Audio_AudioCallback2)
1374 LIST_TEST(Audio_AudioCallback3)
1375 LIST_TEST(Audio_AudioCallback4));
1377 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, Audio) {
1378 RunTest(LIST_TEST(Audio_Creation)
1379 LIST_TEST(Audio_DestroyNoStop)
1380 LIST_TEST(Audio_Failures)
1381 LIST_TEST(Audio_AudioCallback1)
1382 LIST_TEST(Audio_AudioCallback2)
1383 LIST_TEST(Audio_AudioCallback3)
1384 LIST_TEST(Audio_AudioCallback4));
1386 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, Audio) {
1387 RunTestViaHTTP(LIST_TEST(Audio_Creation)
1388 LIST_TEST(Audio_DestroyNoStop)
1389 LIST_TEST(Audio_Failures)
1390 LIST_TEST(Audio_AudioCallback1)
1391 LIST_TEST(Audio_AudioCallback2)
1392 LIST_TEST(Audio_AudioCallback3)
1393 LIST_TEST(Audio_AudioCallback4));
1395 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(Audio)) {
1396 RunTestViaHTTP(LIST_TEST(Audio_Creation)
1397 LIST_TEST(Audio_DestroyNoStop)
1398 LIST_TEST(Audio_Failures)
1399 LIST_TEST(Audio_AudioCallback1)
1400 LIST_TEST(Audio_AudioCallback2)
1401 LIST_TEST(Audio_AudioCallback3)
1402 LIST_TEST(Audio_AudioCallback4));
1404 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, Audio) {
1405 RunTestViaHTTP(LIST_TEST(Audio_Creation)
1406 LIST_TEST(Audio_DestroyNoStop)
1407 LIST_TEST(Audio_Failures)
1408 LIST_TEST(Audio_AudioCallback1)
1409 LIST_TEST(Audio_AudioCallback2)
1410 LIST_TEST(Audio_AudioCallback3)
1411 LIST_TEST(Audio_AudioCallback4));
1414 TEST_PPAPI_IN_PROCESS(View_CreatedVisible);
1415 TEST_PPAPI_OUT_OF_PROCESS(View_CreatedVisible);
1416 TEST_PPAPI_NACL(View_CreatedVisible);
1417 // This test ensures that plugins created in a background tab have their
1418 // initial visibility set to false. We don't bother testing in-process for this
1419 // custom test since the out of process code also exercises in-process.
1421 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_CreateInvisible) {
1422 // Make a second tab in the foreground.
1423 GURL url = GetTestFileUrl("View_CreatedInvisible");
1424 chrome::NavigateParams params(browser(), url, content::PAGE_TRANSITION_LINK);
1425 params.disposition = NEW_BACKGROUND_TAB;
1426 ui_test_utils::NavigateToURL(¶ms);
1429 // This test messes with tab visibility so is custom.
1430 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_PageHideShow) {
1431 // The plugin will be loaded in the foreground tab and will send us a message.
1432 PPAPITestMessageHandler handler;
1433 JavascriptTestObserver observer(
1434 browser()->tab_strip_model()->GetActiveWebContents()->GetRenderViewHost(),
1437 GURL url = GetTestFileUrl("View_PageHideShow");
1438 ui_test_utils::NavigateToURL(browser(), url);
1440 ASSERT_TRUE(observer.Run()) << handler.error_message();
1441 EXPECT_STREQ("TestPageHideShow:Created", handler.message().c_str());
1444 // Make a new tab to cause the original one to hide, this should trigger the
1445 // next phase of the test.
1446 chrome::NavigateParams params(browser(), GURL(content::kAboutBlankURL),
1447 content::PAGE_TRANSITION_LINK);
1448 params.disposition = NEW_FOREGROUND_TAB;
1449 ui_test_utils::NavigateToURL(¶ms);
1451 // Wait until the test acks that it got hidden.
1452 ASSERT_TRUE(observer.Run()) << handler.error_message();
1453 EXPECT_STREQ("TestPageHideShow:Hidden", handler.message().c_str());
1456 // Switch back to the test tab.
1457 browser()->tab_strip_model()->ActivateTabAt(0, true);
1459 ASSERT_TRUE(observer.Run()) << handler.error_message();
1460 EXPECT_STREQ("PASS", handler.message().c_str());
1463 // Tests that if a plugin accepts touch events, the browser knows to send touch
1464 // events to the renderer.
1465 IN_PROC_BROWSER_TEST_F(PPAPITest, InputEvent_AcceptTouchEvent) {
1466 std::string positive_tests[] = { "InputEvent_AcceptTouchEvent_1",
1467 "InputEvent_AcceptTouchEvent_2",
1468 "InputEvent_AcceptTouchEvent_3",
1469 "InputEvent_AcceptTouchEvent_4"
1472 for (size_t i = 0; i < arraysize(positive_tests); ++i) {
1473 RenderViewHost* host = browser()->tab_strip_model()->
1474 GetActiveWebContents()->GetRenderViewHost();
1475 RunTest(positive_tests[i]);
1476 EXPECT_TRUE(content::RenderViewHostTester::HasTouchEventHandler(host));
1480 IN_PROC_BROWSER_TEST_F(PPAPITest, View) {
1481 RunTest(LIST_TEST(View_SizeChange)
1482 LIST_TEST(View_ClipChange));
1484 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View) {
1485 RunTest(LIST_TEST(View_SizeChange)
1486 LIST_TEST(View_ClipChange));
1488 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, View) {
1489 RunTestViaHTTP(LIST_TEST(View_SizeChange)
1490 LIST_TEST(View_ClipChange));
1492 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(View)) {
1493 RunTestViaHTTP(LIST_TEST(View_SizeChange)
1494 LIST_TEST(View_ClipChange));
1496 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, View) {
1497 RunTestViaHTTP(LIST_TEST(View_SizeChange)
1498 LIST_TEST(View_ClipChange));
1501 IN_PROC_BROWSER_TEST_F(PPAPITest, ResourceArray) {
1502 RunTest(LIST_TEST(ResourceArray_Basics)
1503 LIST_TEST(ResourceArray_OutOfRangeAccess)
1504 LIST_TEST(ResourceArray_EmptyArray)
1505 LIST_TEST(ResourceArray_InvalidElement));
1507 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, ResourceArray) {
1508 RunTest(LIST_TEST(ResourceArray_Basics)
1509 LIST_TEST(ResourceArray_OutOfRangeAccess)
1510 LIST_TEST(ResourceArray_EmptyArray)
1511 LIST_TEST(ResourceArray_InvalidElement));
1514 IN_PROC_BROWSER_TEST_F(PPAPITest, FlashMessageLoop) {
1515 RunTest(LIST_TEST(FlashMessageLoop_Basics)
1516 LIST_TEST(FlashMessageLoop_RunWithoutQuit));
1518 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FlashMessageLoop) {
1519 RunTest(LIST_TEST(FlashMessageLoop_Basics)
1520 LIST_TEST(FlashMessageLoop_RunWithoutQuit));
1523 TEST_PPAPI_IN_PROCESS(MouseCursor)
1524 TEST_PPAPI_OUT_OF_PROCESS(MouseCursor)
1525 TEST_PPAPI_NACL(MouseCursor)
1527 // PPB_NetworkProxy is not supported in-process.
1528 TEST_PPAPI_OUT_OF_PROCESS(NetworkProxy)
1529 TEST_PPAPI_NACL(NetworkProxy)
1531 TEST_PPAPI_OUT_OF_PROCESS(TrueTypeFont)
1532 TEST_PPAPI_NACL(TrueTypeFont)
1534 TEST_PPAPI_OUT_OF_PROCESS(VideoDestination)
1535 TEST_PPAPI_NACL(VideoDestination)
1537 TEST_PPAPI_OUT_OF_PROCESS(VideoSource)
1538 TEST_PPAPI_NACL(VideoSource)
1540 // PPB_Printing only implemented for out of process.
1541 TEST_PPAPI_OUT_OF_PROCESS(Printing)
1543 // PPB_MessageLoop is only supported out-of-process.
1544 // TODO(dmichael): Enable for NaCl with the IPC proxy. crbug.com/116317
1545 TEST_PPAPI_OUT_OF_PROCESS(MessageLoop_Basics)
1546 // MessageLoop_Post starts a thread so only run it if pepper threads are
1548 #ifdef ENABLE_PEPPER_THREADING
1549 TEST_PPAPI_OUT_OF_PROCESS(MessageLoop_Post)
1552 // Going forward, Flash APIs will only work out-of-process.
1553 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetLocalTimeZoneOffset)
1554 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetProxyForURL)
1555 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetSetting)
1556 TEST_PPAPI_OUT_OF_PROCESS(Flash_SetCrashData)
1557 // http://crbug.com/176822
1558 #if !defined(OS_WIN)
1559 TEST_PPAPI_OUT_OF_PROCESS(FlashClipboard)
1561 TEST_PPAPI_OUT_OF_PROCESS(FlashFile)
1562 // Mac/Aura reach NOTIMPLEMENTED/time out.
1563 // mac: http://crbug.com/96767
1564 // aura: http://crbug.com/104384
1565 #if defined(OS_MACOSX)
1566 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen
1568 #define MAYBE_FlashFullscreen FlashFullscreen
1570 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_FlashFullscreen)
1572 TEST_PPAPI_OUT_OF_PROCESS(PDF)
1574 // TODO(dalecurtis): Renable once the platform verification infobar has been
1575 // implemented; see http://crbug.com/270908
1576 // #if defined(OS_CHROMEOS)
1577 // TEST_PPAPI_OUT_OF_PROCESS(PlatformVerificationPrivate)
1580 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FlashDRM) {
1582 #if (defined(OS_WIN) && defined(ENABLE_RLZ)) || defined(OS_CHROMEOS)
1583 // Only implemented on Windows and ChromeOS currently.
1584 LIST_TEST(FlashDRM_GetDeviceID)
1586 LIST_TEST(FlashDRM_GetHmonitor)
1587 LIST_TEST(FlashDRM_GetVoucherFile));
1590 TEST_PPAPI_IN_PROCESS(TalkPrivate)
1591 TEST_PPAPI_OUT_OF_PROCESS(TalkPrivate)
1593 #if defined(OS_CHROMEOS)
1594 TEST_PPAPI_OUT_OF_PROCESS(OutputProtectionPrivate)