Reland "Non-SFI mode: Switch to newlib. (patchset #4 id:60001 of https://codereview...
[chromium-blink-merge.git] / chrome / test / ppapi / ppapi_browsertest.cc
blob9225f0f214e4696744f917079218e660fd795d45
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 "base/path_service.h"
6 #include "base/test/test_timeouts.h"
7 #include "build/build_config.h"
8 #include "chrome/browser/extensions/extension_browsertest.h"
9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/ui/browser.h"
11 #include "chrome/browser/ui/browser_navigator.h"
12 #include "chrome/browser/ui/extensions/app_launch_params.h"
13 #include "chrome/browser/ui/extensions/application_launch.h"
14 #include "chrome/browser/ui/tabs/tab_strip_model.h"
15 #include "chrome/common/chrome_paths.h"
16 #include "chrome/test/base/ui_test_utils.h"
17 #include "chrome/test/nacl/nacl_browsertest_util.h"
18 #include "chrome/test/ppapi/ppapi_test.h"
19 #include "components/content_settings/core/browser/host_content_settings_map.h"
20 #include "components/nacl/common/nacl_switches.h"
21 #include "content/public/browser/web_contents.h"
22 #include "content/public/common/content_switches.h"
23 #include "content/public/common/url_constants.h"
24 #include "content/public/test/javascript_test_observer.h"
25 #include "content/public/test/test_renderer_host.h"
26 #include "extensions/common/constants.h"
27 #include "extensions/test/extension_test_message_listener.h"
28 #include "ppapi/shared_impl/test_utils.h"
30 using content::RenderViewHost;
32 // This macro finesses macro expansion to do what we want.
33 #define STRIP_PREFIXES(test_name) ppapi::StripTestPrefixes(#test_name)
34 // Turn the given token into a string. This allows us to use precompiler stuff
35 // to turn names into DISABLED_Foo, but still pass a string to RunTest.
36 #define STRINGIFY(test_name) #test_name
37 #define LIST_TEST(test_name) STRINGIFY(test_name) ","
39 // Use these macros to run the tests for a specific interface.
40 // Most interfaces should be tested with both macros.
41 #define TEST_PPAPI_OUT_OF_PROCESS(test_name) \
42 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
43 RunTest(STRIP_PREFIXES(test_name)); \
46 // Similar macros that test over HTTP.
47 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \
48 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
49 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
52 // Similar macros that test with an SSL server.
53 #define TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(test_name) \
54 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
55 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
58 #if defined(DISABLE_NACL)
60 #define TEST_PPAPI_NACL(test_name)
61 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name)
62 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name)
63 #define TEST_PPAPI_NACL_SUBTESTS(test_name, run_statement)
65 #else
67 // NaCl based PPAPI tests
68 #define TEST_PPAPI_NACL(test_name) \
69 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
70 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
71 } \
72 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
73 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
74 } \
75 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
76 MAYBE_PNACL_NONSFI(test_name)) { \
77 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
78 } \
79 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest, \
80 MAYBE_PNACL_TRANSITIONAL_NONSFI(test_name)) { \
81 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
84 // NaCl based PPAPI tests
85 #define TEST_PPAPI_NACL_SUBTESTS(test_name, run_statement) \
86 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
87 run_statement; \
88 } \
89 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
90 run_statement; \
91 } \
92 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
93 MAYBE_PNACL_NONSFI(test_name)) { \
94 run_statement; \
95 } \
96 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest, \
97 MAYBE_PNACL_TRANSITIONAL_NONSFI(test_name)) { \
98 run_statement; \
101 // NaCl based PPAPI tests with disallowed socket API
102 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name) \
103 IN_PROC_BROWSER_TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
104 RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
107 // NaCl based PPAPI tests with SSL server
108 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name) \
109 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
110 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
112 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
113 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
115 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
116 MAYBE_PNACL_NONSFI(test_name)) { \
117 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
119 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest, \
120 MAYBE_PNACL_TRANSITIONAL_NONSFI(test_name)) { \
121 RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
125 #endif // DISABLE_NACL
128 // Interface tests.
131 // Flaky, http://crbug.com/111355
132 TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Broker)
134 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Accept) {
135 // Accepting the infobar should grant permission to access the PPAPI broker.
136 InfoBarObserver observer(this);
137 observer.ExpectInfoBarAndAccept(true);
139 // PPB_Broker_Trusted::IsAllowed should return false before the infobar is
140 // popped and true after the infobar is popped.
141 RunTest("Broker_IsAllowedPermissionDenied");
142 RunTest("Broker_ConnectPermissionGranted");
143 RunTest("Broker_IsAllowedPermissionGranted");
145 // It should also set a content settings exception for the site.
146 GURL url = GetTestFileUrl("Broker_ConnectPermissionGranted");
147 HostContentSettingsMap* content_settings =
148 browser()->profile()->GetHostContentSettingsMap();
149 EXPECT_EQ(CONTENT_SETTING_ALLOW,
150 content_settings->GetContentSetting(
151 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
154 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Deny) {
155 // Canceling the infobar should deny permission to access the PPAPI broker.
156 InfoBarObserver observer(this);
157 observer.ExpectInfoBarAndAccept(false);
159 // PPB_Broker_Trusted::IsAllowed should return false before and after the
160 // infobar is popped.
161 RunTest("Broker_IsAllowedPermissionDenied");
162 RunTest("Broker_ConnectPermissionDenied");
163 RunTest("Broker_IsAllowedPermissionDenied");
165 // It should also set a content settings exception for the site.
166 GURL url = GetTestFileUrl("Broker_ConnectPermissionDenied");
167 HostContentSettingsMap* content_settings =
168 browser()->profile()->GetHostContentSettingsMap();
169 EXPECT_EQ(CONTENT_SETTING_BLOCK,
170 content_settings->GetContentSetting(
171 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
174 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Blocked) {
175 // Block access to the PPAPI broker.
176 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
177 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_BLOCK);
179 // We shouldn't see an infobar.
180 InfoBarObserver observer(this);
182 RunTest("Broker_ConnectPermissionDenied");
183 RunTest("Broker_IsAllowedPermissionDenied");
186 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Allowed) {
187 // Always allow access to the PPAPI broker.
188 browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
189 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_ALLOW);
191 // We shouldn't see an infobar.
192 InfoBarObserver observer(this);
194 RunTest("Broker_ConnectPermissionGranted");
195 RunTest("Broker_IsAllowedPermissionGranted");
198 TEST_PPAPI_NACL(Console)
200 TEST_PPAPI_NACL(Core)
202 // Non-NaCl TraceEvent tests are in content/test/ppapi/ppapi_browsertest.cc.
203 TEST_PPAPI_NACL(TraceEvent)
205 TEST_PPAPI_NACL(InputEvent)
207 // Flaky on Linux and Windows. http://crbug.com/135403
208 #if defined(OS_LINUX) || defined(OS_WIN)
209 #define MAYBE_ImeInputEvent DISABLED_ImeInputEvent
210 #else
211 #define MAYBE_ImeInputEvent ImeInputEvent
212 #endif
214 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_ImeInputEvent)
215 TEST_PPAPI_NACL(MAYBE_ImeInputEvent)
217 // Graphics2D_Dev isn't supported in NaCl, only test the other interfaces
218 // TODO(jhorwich) Enable when Graphics2D_Dev interfaces are proxied in NaCl.
219 TEST_PPAPI_NACL(Graphics2D_InvalidResource)
220 TEST_PPAPI_NACL(Graphics2D_InvalidSize)
221 TEST_PPAPI_NACL(Graphics2D_Humongous)
222 TEST_PPAPI_NACL(Graphics2D_InitToZero)
223 TEST_PPAPI_NACL(Graphics2D_Describe)
224 TEST_PPAPI_NACL(Graphics2D_Paint)
225 TEST_PPAPI_NACL(Graphics2D_Scroll)
226 TEST_PPAPI_NACL(Graphics2D_Replace)
227 TEST_PPAPI_NACL(Graphics2D_Flush)
228 TEST_PPAPI_NACL(Graphics2D_FlushOffscreenUpdate)
229 TEST_PPAPI_NACL(Graphics2D_BindNull)
231 #if defined(OS_WIN)
232 #if defined(USE_AURA)
233 // These tests fail with the test compositor which is what's used by default for
234 // browser tests on Windows Aura. Renable when the software compositor is
235 // available.
236 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
237 #define MAYBE_OUT_Graphics3D DISABLED_Graphics3D
238 #define MAYBE_NACL_Graphics3D DISABLED_Graphics3D
239 #else // defined(USE_AURA)
240 // In-process and NaCl tests are having flaky failures on Win: crbug.com/242252
241 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
242 #define MAYBE_OUT_Graphics3D Graphics3D
243 #define MAYBE_NACL_Graphics3D DISABLED_Graphics3D
244 #endif // defined(USE_AURA)
245 #elif defined(OS_MACOSX)
246 // These tests fail when using the legacy software mode. Reenable when the
247 // software compositor is enabled crbug.com/286038
248 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
249 #define MAYBE_OUT_Graphics3D DISABLED_Graphics3D
250 #define MAYBE_NACL_Graphics3D DISABLED_Graphics3D
251 #else
252 // The tests are failing in-process. crbug.com/280282
253 #define MAYBE_IN_Graphics3D DISABLED_Graphics3D
254 #define MAYBE_OUT_Graphics3D Graphics3D
255 #define MAYBE_NACL_Graphics3D Graphics3D
256 #endif
257 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_OUT_Graphics3D)
258 TEST_PPAPI_NACL(MAYBE_NACL_Graphics3D)
260 TEST_PPAPI_NACL(ImageData)
262 // TCPSocket and TCPSocketPrivate tests.
263 #define RUN_TCPSOCKET_SUBTESTS \
264 RunTestViaHTTP( \
265 LIST_TEST(TCPSocket_Connect) \
266 LIST_TEST(TCPSocket_ReadWrite) \
267 LIST_TEST(TCPSocket_SetOption) \
268 LIST_TEST(TCPSocket_Listen) \
269 LIST_TEST(TCPSocket_Backlog) \
270 LIST_TEST(TCPSocket_Interface_1_0) \
273 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, TCPSocket) {
274 RUN_TCPSOCKET_SUBTESTS;
276 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
277 // Flaky on Mac ASAN: http://crbug.com/437408 and http://crbug.com/457501.
278 #define MAYBE_TCPSocket DISABLED_TCPSocket
279 #else
280 #define MAYBE_TCPSocket TCPSocket
281 #endif
282 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_TCPSocket) {
283 RUN_TCPSOCKET_SUBTESTS;
285 // Flaky on Mac ASAN: http://crbug.com/437408
286 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_TCPSocket) {
287 RUN_TCPSOCKET_SUBTESTS;
289 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
290 MAYBE_PNACL_NONSFI(TCPSocket)) {
291 RUN_TCPSOCKET_SUBTESTS;
293 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
294 MAYBE_PNACL_TRANSITIONAL_NONSFI(TCPSocket)) {
295 RUN_TCPSOCKET_SUBTESTS;
299 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(TCPServerSocketPrivate)
300 TEST_PPAPI_NACL(TCPServerSocketPrivate)
302 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivate)
304 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
305 // Flaky on Mac ASAN: http://crbug.com/437408.
306 #define MAYBE_TCPSocketPrivate DISABLED_TCPSocketPrivate
307 #else
308 #define MAYBE_TCPSocketPrivate TCPSocketPrivate
309 #endif
310 TEST_PPAPI_NACL_WITH_SSL_SERVER(MAYBE_TCPSocketPrivate)
312 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivateTrusted)
314 // UDPSocket tests.
315 // UDPSocket_Broadcast is disabled for OSX because it requires root
316 // permissions on OSX 10.7+.
317 #if defined(OS_MACOSX)
318 #define MAYBE_UDPSocket_Broadcast DISABLED_UDPSocket_Broadcast
319 #else
320 #define MAYBE_UDPSocket_Broadcast UDPSocket_Broadcast
321 #endif
323 #define UDPSOCKET_TEST(_test) \
324 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, _test) { \
325 RunTestViaHTTP(LIST_TEST(_test)); \
327 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, _test) { \
328 RunTestViaHTTP(LIST_TEST(_test)); \
330 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(_test)) { \
331 RunTestViaHTTP(LIST_TEST(_test)); \
333 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, _test) { \
334 RunTestViaHTTP(LIST_TEST(_test)); \
336 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
337 MAYBE_PNACL_NONSFI(_test)) { \
338 RunTestViaHTTP(LIST_TEST(_test)); \
340 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest, \
341 MAYBE_PNACL_TRANSITIONAL_NONSFI(_test)) { \
342 RunTestViaHTTP(LIST_TEST(_test)); \
345 // Instead of one single test for all UDPSocket features (like it is done for
346 // TCPSocket), split them into multiple, making it easier to isolate which tests
347 // are failing.
348 UDPSOCKET_TEST(UDPSocket_ReadWrite)
349 UDPSOCKET_TEST(UDPSocket_SetOption)
350 UDPSOCKET_TEST(UDPSocket_SetOption_1_0)
351 UDPSOCKET_TEST(UDPSocket_SetOption_1_1)
352 UDPSOCKET_TEST(MAYBE_UDPSocket_Broadcast)
353 UDPSOCKET_TEST(UDPSocket_ParallelSend)
354 UDPSOCKET_TEST(UDPSocket_Multicast)
356 // UDPSocketPrivate tests.
357 // UDPSocketPrivate_Broadcast is disabled for OSX because it requires root
358 // permissions on OSX 10.7+.
359 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Connect)
360 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_ConnectFailure)
361 #if !defined(OS_MACOSX)
362 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Broadcast)
363 #endif // !defined(OS_MACOSX)
364 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_SetSocketFeatureErrors)
365 TEST_PPAPI_NACL(UDPSocketPrivate_Connect)
366 TEST_PPAPI_NACL(UDPSocketPrivate_ConnectFailure)
367 #if !defined(OS_MACOSX)
368 TEST_PPAPI_NACL(UDPSocketPrivate_Broadcast)
369 #endif // !defined(OS_MACOSX)
370 TEST_PPAPI_NACL(UDPSocketPrivate_SetSocketFeatureErrors)
372 // Disallowed socket tests.
373 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(HostResolverPrivateDisallowed)
374 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPServerSocketPrivateDisallowed)
375 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPSocketPrivateDisallowed)
376 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(UDPSocketPrivateDisallowed)
378 // HostResolver and HostResolverPrivate tests.
379 #define RUN_HOST_RESOLVER_SUBTESTS \
380 RunTestViaHTTP( \
381 LIST_TEST(HostResolver_Empty) \
382 LIST_TEST(HostResolver_Resolve) \
383 LIST_TEST(HostResolver_ResolveIPv4) \
386 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, HostResolver) {
387 RUN_HOST_RESOLVER_SUBTESTS;
390 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
391 // Flaky on Mac ASAN: http://crbug.com/437408
392 #define MAYBE_HostResolver DISABLED_HostResolver
393 #else
394 #define MAYBE_HostResolver HostResolver
395 #endif
396 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_HostResolver) {
397 RUN_HOST_RESOLVER_SUBTESTS;
399 // Flaky on Mac ASAN: http://crbug.com/437408
400 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_HostResolver) {
401 RUN_HOST_RESOLVER_SUBTESTS;
403 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
404 MAYBE_PNACL_NONSFI(HostResolver)) {
405 RUN_HOST_RESOLVER_SUBTESTS;
407 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
408 MAYBE_PNACL_TRANSITIONAL_NONSFI(HostResolver)) {
409 RUN_HOST_RESOLVER_SUBTESTS;
412 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_Resolve)
413 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_ResolveIPv4)
414 TEST_PPAPI_NACL(HostResolverPrivate_Resolve)
415 TEST_PPAPI_NACL(HostResolverPrivate_ResolveIPv4)
417 // URLLoader tests. These are split into multiple test fixtures because if we
418 // run them all together, they tend to time out.
419 #define RUN_URLLOADER_SUBTESTS_0 \
420 RunTestViaHTTP( \
421 LIST_TEST(URLLoader_BasicGET) \
422 LIST_TEST(URLLoader_BasicPOST) \
423 LIST_TEST(URLLoader_BasicFilePOST) \
424 LIST_TEST(URLLoader_BasicFileRangePOST) \
425 LIST_TEST(URLLoader_CompoundBodyPOST) \
428 #define RUN_URLLOADER_SUBTESTS_1 \
429 RunTestViaHTTP( \
430 LIST_TEST(URLLoader_EmptyDataPOST) \
431 LIST_TEST(URLLoader_BinaryDataPOST) \
432 LIST_TEST(URLLoader_CustomRequestHeader) \
433 LIST_TEST(URLLoader_FailsBogusContentLength) \
434 LIST_TEST(URLLoader_StreamToFile) \
437 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
438 // http://crbug.com/103062
439 #define RUN_URLLOADER_SUBTESTS_2 \
440 RunTestViaHTTP( \
441 LIST_TEST(URLLoader_UntrustedSameOriginRestriction) \
442 LIST_TEST(URLLoader_UntrustedCrossOriginRequest) \
443 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction) \
444 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction) \
447 #define RUN_URLLOADER_NACL_SUBTESTS_2 \
448 RunTestViaHTTP( \
449 LIST_TEST(URLLoader_UntrustedSameOriginRestriction) \
450 LIST_TEST(URLLoader_UntrustedCrossOriginRequest) \
451 LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction) \
452 LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction) \
455 #define RUN_URLLOADER_SUBTESTS_3 \
456 RunTestViaHTTP( \
457 LIST_TEST(URLLoader_UntrustedHttpRequests) \
458 LIST_TEST(URLLoader_FollowURLRedirect) \
459 LIST_TEST(URLLoader_AuditURLRedirect) \
460 LIST_TEST(URLLoader_AbortCalls) \
461 LIST_TEST(URLLoader_UntendedLoad) \
462 LIST_TEST(URLLoader_PrefetchBufferThreshold) \
465 // Note: we do not support Trusted APIs in NaCl, so these will be skipped.
466 // XRequestedWithHeader isn't trusted per-se, but the header isn't provided
467 // for NaCl and thus must be skipped.
468 #define RUN_URLLOADER_TRUSTED_SUBTESTS \
469 RunTestViaHTTP( \
470 LIST_TEST(URLLoader_TrustedSameOriginRestriction) \
471 LIST_TEST(URLLoader_TrustedCrossOriginRequest) \
472 LIST_TEST(URLLoader_TrustedHttpRequests) \
473 LIST_TEST(URLLoader_XRequestedWithHeader) \
476 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader0) {
477 RUN_URLLOADER_SUBTESTS_0;
479 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader1) {
480 RUN_URLLOADER_SUBTESTS_1;
482 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader2) {
483 RUN_URLLOADER_SUBTESTS_2;
485 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader3) {
486 RUN_URLLOADER_SUBTESTS_3;
488 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoaderTrusted) {
489 RUN_URLLOADER_TRUSTED_SUBTESTS;
491 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader0) {
492 RUN_URLLOADER_SUBTESTS_0;
494 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
495 // Flaky on Mac ASAN: http://crbug.com/437411.
496 #define MAYBE_URLLoader1 DISABLED_URLLoader1
497 #else
498 #define MAYBE_URLLoader1 URLLoader1
499 #endif
500 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_URLLoader1) {
501 RUN_URLLOADER_SUBTESTS_1;
503 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
504 // Flaky on Mac ASAN: http://crbug.com/437411.
505 #define MAYBE_URLLoader2 DISABLED_URLLoader2
506 #else
507 #define MAYBE_URLLoader2 URLLoader2
508 #endif
509 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_URLLoader2) {
510 RUN_URLLOADER_SUBTESTS_2;
512 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
513 // Flaky on Mac ASAN: http://crbug.com/437411.
514 #define MAYBE_URLLoader3 DISABLED_URLLoader3
515 #else
516 #define MAYBE_URLLoader3 URLLoader3
517 #endif
518 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_URLLoader3) {
519 RUN_URLLOADER_SUBTESTS_3;
522 // Flaky on 32-bit linux bot; http://crbug.com/308906
523 #if defined(OS_LINUX) && defined(ARCH_CPU_X86)
524 #define MAYBE_URLLoader_BasicFilePOST DISABLED_URLLoader_BasicFilePOST
525 #else
526 #define MAYBE_URLLoader_BasicFilePOST URLLoader_BasicFilePOST
527 #endif
529 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
530 // Flaky on Mac ASAN: http://crbug.com/437411.
531 #define MAYBE_URLLoader0 DISABLED_URLLoader0
532 #else
533 #define MAYBE_URLLoader0 URLLoader0
534 #endif
535 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_URLLoader0) {
536 RUN_URLLOADER_SUBTESTS_0;
538 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader1) {
539 RUN_URLLOADER_SUBTESTS_1;
541 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
542 // Flaky on Mac ASAN: http://crbug.com/437411.
543 #define MAYBE_URLLoader2 DISABLED_URLLoader2
544 #else
545 #define MAYBE_URLLoader2 URLLoader2
546 #endif
547 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_URLLoader2) {
548 RUN_URLLOADER_SUBTESTS_2;
550 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader3) {
551 RUN_URLLOADER_SUBTESTS_3;
553 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
554 MAYBE_PNACL_NONSFI(URLLoader0)) {
555 RUN_URLLOADER_SUBTESTS_0;
557 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
558 MAYBE_PNACL_NONSFI(URLLoader1)) {
559 RUN_URLLOADER_SUBTESTS_1;
561 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
562 MAYBE_PNACL_NONSFI(URLLoader2)) {
563 RUN_URLLOADER_SUBTESTS_2;
565 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
566 MAYBE_PNACL_NONSFI(URLLoader3)) {
567 RUN_URLLOADER_SUBTESTS_3;
569 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
570 MAYBE_PNACL_TRANSITIONAL_NONSFI(URLLoader0)) {
571 RUN_URLLOADER_SUBTESTS_0;
573 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
574 MAYBE_PNACL_TRANSITIONAL_NONSFI(URLLoader1)) {
575 RUN_URLLOADER_SUBTESTS_1;
577 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
578 MAYBE_PNACL_TRANSITIONAL_NONSFI(URLLoader2)) {
579 RUN_URLLOADER_SUBTESTS_2;
581 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
582 MAYBE_PNACL_TRANSITIONAL_NONSFI(URLLoader3)) {
583 RUN_URLLOADER_SUBTESTS_3;
587 // URLRequestInfo tests.
588 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
590 // Timing out on Windows. http://crbug.com/129571
591 #if defined(OS_WIN)
592 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
593 DISABLED_URLRequest_CreateAndIsURLRequestInfo
594 #else
595 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
596 URLRequest_CreateAndIsURLRequestInfo
597 #endif
598 TEST_PPAPI_NACL(MAYBE_URLRequest_CreateAndIsURLRequestInfo)
600 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_SetProperty)
601 TEST_PPAPI_NACL(URLRequest_SetProperty)
602 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
603 TEST_PPAPI_NACL(URLRequest_AppendDataToBody)
604 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(DISABLED_URLRequest_AppendFileToBody)
605 TEST_PPAPI_NACL(DISABLED_URLRequest_AppendFileToBody)
606 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_Stress)
607 TEST_PPAPI_NACL(URLRequest_Stress)
609 TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator)
610 TEST_PPAPI_NACL(PaintAggregator)
612 // TODO(danakj): http://crbug.com/115286
613 TEST_PPAPI_NACL(DISABLED_Scrollbar)
615 TEST_PPAPI_NACL(Var)
617 TEST_PPAPI_NACL(VarResource)
619 // PostMessage tests.
620 #define RUN_POSTMESSAGE_SUBTESTS \
621 RunTestViaHTTP( \
622 LIST_TEST(PostMessage_SendInInit) \
623 LIST_TEST(PostMessage_SendingData) \
624 LIST_TEST(PostMessage_SendingString) \
625 LIST_TEST(PostMessage_SendingArrayBuffer) \
626 LIST_TEST(PostMessage_SendingArray) \
627 LIST_TEST(PostMessage_SendingDictionary) \
628 LIST_TEST(PostMessage_SendingResource) \
629 LIST_TEST(PostMessage_SendingComplexVar) \
630 LIST_TEST(PostMessage_MessageEvent) \
631 LIST_TEST(PostMessage_NoHandler) \
632 LIST_TEST(PostMessage_ExtraParam) \
633 LIST_TEST(PostMessage_NonMainThread) \
636 // Windows defines 'PostMessage', so we have to undef it.
637 #ifdef PostMessage
638 #undef PostMessage
639 #endif
641 #if defined(OS_WIN)
642 // http://crbug.com/95557
643 #define MAYBE_PostMessage DISABLED_PostMessage
644 #else
645 #define MAYBE_PostMessage PostMessage
646 #endif
647 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_PostMessage) {
648 RUN_POSTMESSAGE_SUBTESTS;
651 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
652 // Flaky on Mac ASAN: http://crbug.com/437408
653 // Suffixed by a 2 to avoid macro redefinition with the above.
654 #define MAYBE_PostMessage2 DISABLED_PostMessage
655 #else
656 #define MAYBE_PostMessage2 PostMessage
657 #endif
658 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_PostMessage2) {
659 RUN_POSTMESSAGE_SUBTESTS;
661 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
662 // Flaky on Mac ASAN: http://crbug.com/437408
663 #define MAYBE_PostMessage3 DISABLED_PostMessage
664 #else
665 #define MAYBE_PostMessage3 PostMessage
666 #endif
667 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_PostMessage3) {
668 RUN_POSTMESSAGE_SUBTESTS;
670 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
671 MAYBE_PNACL_NONSFI(PostMessage)) {
672 RUN_POSTMESSAGE_SUBTESTS;
674 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
675 MAYBE_PNACL_TRANSITIONAL_NONSFI(PostMessage)) {
676 RUN_POSTMESSAGE_SUBTESTS;
679 TEST_PPAPI_NACL(Memory)
681 // FileIO tests.
682 #define RUN_FILEIO_SUBTESTS \
683 RunTestViaHTTP( \
684 LIST_TEST(FileIO_Open) \
685 LIST_TEST(FileIO_OpenDirectory) \
686 LIST_TEST(FileIO_AbortCalls) \
687 LIST_TEST(FileIO_ParallelReads) \
688 LIST_TEST(FileIO_ParallelWrites) \
689 LIST_TEST(FileIO_NotAllowMixedReadWrite) \
690 LIST_TEST(FileIO_ReadWriteSetLength) \
691 LIST_TEST(FileIO_ReadToArrayWriteSetLength) \
692 LIST_TEST(FileIO_TouchQuery) \
695 #define RUN_FILEIO_PRIVATE_SUBTESTS \
696 RunTestViaHTTP( \
697 LIST_TEST(FileIO_RequestOSFileHandle) \
698 LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive) \
699 LIST_TEST(FileIO_Mmap) \
702 IN_PROC_BROWSER_TEST_F(PPAPIPrivateTest, FileIO_Private) {
703 RUN_FILEIO_PRIVATE_SUBTESTS;
706 // See: crbug.com/421284
707 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, DISABLED_FileIO) {
708 RUN_FILEIO_SUBTESTS;
710 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPIPrivateTest, FileIO_Private) {
711 RUN_FILEIO_PRIVATE_SUBTESTS;
714 // http://crbug.com/313401
715 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, DISABLED_FileIO) {
716 RUN_FILEIO_SUBTESTS;
718 // http://crbug.com/313401
719 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClNewlibTest,
720 DISABLED_NaCl_Newlib_FileIO_Private) {
721 RUN_FILEIO_PRIVATE_SUBTESTS;
724 // http://crbug.com/313205
725 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, DISABLED_FileIO) {
726 RUN_FILEIO_SUBTESTS;
728 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClPNaClTest,
729 DISABLED_PNaCl_FileIO_Private) {
730 RUN_FILEIO_PRIVATE_SUBTESTS;
733 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, MAYBE_PNACL_NONSFI(FileIO)) {
734 RUN_FILEIO_SUBTESTS;
736 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClPNaClNonSfiTest,
737 MAYBE_PNACL_NONSFI(FILEIO_Private)) {
738 RUN_FILEIO_PRIVATE_SUBTESTS;
741 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
742 MAYBE_PNACL_TRANSITIONAL_NONSFI(FileIO)) {
743 RUN_FILEIO_SUBTESTS;
745 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClPNaClTransitionalNonSfiTest,
746 MAYBE_PNACL_TRANSITIONAL_NONSFI(FILEIO_Private)) {
747 RUN_FILEIO_PRIVATE_SUBTESTS;
750 // FileRef tests.
751 #define RUN_FILEREF_SUBTESTS_1 \
752 RunTestViaHTTP( \
753 LIST_TEST(FileRef_Create) \
754 LIST_TEST(FileRef_GetFileSystemType) \
755 LIST_TEST(FileRef_GetName) \
756 LIST_TEST(FileRef_GetPath) \
757 LIST_TEST(FileRef_GetParent) \
758 LIST_TEST(FileRef_MakeDirectory) \
761 #define RUN_FILEREF_SUBTESTS_2 \
762 RunTestViaHTTP( \
763 LIST_TEST(FileRef_QueryAndTouchFile) \
764 LIST_TEST(FileRef_DeleteFileAndDirectory) \
765 LIST_TEST(FileRef_RenameFileAndDirectory) \
766 LIST_TEST(FileRef_Query) \
767 LIST_TEST(FileRef_FileNameEscaping) \
770 // Note, the FileRef tests are split into two, because all of them together
771 // sometimes take too long on windows: crbug.com/336999
772 // FileRef_ReadDirectoryEntries is flaky, so left out. See crbug.com/241646.
773 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileRef1) {
774 RUN_FILEREF_SUBTESTS_1;
776 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileRef2) {
777 RUN_FILEREF_SUBTESTS_2;
780 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
781 // Flaky on Mac ASAN: http://crbug.com/437411.
782 #define MAYBE_FileRef1 DISABLED_FileRef1
783 #else
784 #define MAYBE_FileRef1 FileRef1
785 #endif
786 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_FileRef1) {
787 RUN_FILEREF_SUBTESTS_1;
789 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, FileRef2) {
790 RUN_FILEREF_SUBTESTS_2;
792 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, FileRef1) {
793 RUN_FILEREF_SUBTESTS_1;
795 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, FileRef2) {
796 RUN_FILEREF_SUBTESTS_2;
798 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
799 MAYBE_PNACL_NONSFI(FileRef1)) {
800 RUN_FILEREF_SUBTESTS_1;
802 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
803 MAYBE_PNACL_NONSFI(FileRef2)) {
804 RUN_FILEREF_SUBTESTS_2;
806 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
807 MAYBE_PNACL_TRANSITIONAL_NONSFI(FileRef1)) {
808 RUN_FILEREF_SUBTESTS_1;
810 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
811 MAYBE_PNACL_TRANSITIONAL_NONSFI(FileRef2)) {
812 RUN_FILEREF_SUBTESTS_2;
815 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem)
817 // PPAPINaClTest.FileSystem times out consistently on Windows and Mac.
818 // http://crbug.com/130372
819 #if defined(OS_MACOSX) || defined(OS_WIN)
820 #define MAYBE_FileSystem DISABLED_FileSystem
821 #else
822 #define MAYBE_FileSystem FileSystem
823 #endif
825 TEST_PPAPI_NACL(MAYBE_FileSystem)
827 #if defined(OS_MACOSX)
828 // http://crbug.com/103912
829 #define MAYBE_Fullscreen DISABLED_Fullscreen
830 #elif defined(OS_LINUX)
831 // http://crbug.com/146008
832 #define MAYBE_Fullscreen DISABLED_Fullscreen
833 #elif defined(OS_WIN)
834 // http://crbug.com/342269
835 #define MAYBE_Fullscreen DISABLED_Fullscreen
836 #else
837 #define MAYBE_Fullscreen Fullscreen
838 #endif
840 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_Fullscreen)
841 TEST_PPAPI_NACL(MAYBE_Fullscreen)
843 TEST_PPAPI_OUT_OF_PROCESS(X509CertificatePrivate)
845 TEST_PPAPI_OUT_OF_PROCESS(UMA)
846 TEST_PPAPI_NACL(UMA)
848 // NetAddress tests.
849 #define RUN_NETADDRESS_SUBTESTS \
850 RunTestViaHTTP( \
851 LIST_TEST(NetAddress_IPv4Address) \
852 LIST_TEST(NetAddress_IPv6Address) \
853 LIST_TEST(NetAddress_DescribeAsString) \
856 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddress) {
857 RUN_NETADDRESS_SUBTESTS;
859 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddress) {
860 RUN_NETADDRESS_SUBTESTS;
862 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddress) {
863 RUN_NETADDRESS_SUBTESTS;
865 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
866 MAYBE_PNACL_NONSFI(NetAddress)) {
867 RUN_NETADDRESS_SUBTESTS;
869 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
870 MAYBE_PNACL_TRANSITIONAL_NONSFI(NetAddress)) {
871 RUN_NETADDRESS_SUBTESTS;
874 // NetAddressPrivate tests.
875 #define RUN_NETADDRESS_PRIVATE_SUBTESTS \
876 RunTestViaHTTP( \
877 LIST_TEST(NetAddressPrivate_AreEqual) \
878 LIST_TEST(NetAddressPrivate_AreHostsEqual) \
879 LIST_TEST(NetAddressPrivate_Describe) \
880 LIST_TEST(NetAddressPrivate_ReplacePort) \
881 LIST_TEST(NetAddressPrivate_GetAnyAddress) \
882 LIST_TEST(NetAddressPrivate_DescribeIPv6) \
883 LIST_TEST(NetAddressPrivate_GetFamily) \
884 LIST_TEST(NetAddressPrivate_GetPort) \
885 LIST_TEST(NetAddressPrivate_GetAddress) \
886 LIST_TEST(NetAddressPrivate_GetScopeID) \
889 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddressPrivate) {
890 RUN_NETADDRESS_PRIVATE_SUBTESTS;
893 #define RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS \
894 RunTestViaHTTP( \
895 LIST_TEST(NetAddressPrivateUntrusted_AreEqual) \
896 LIST_TEST(NetAddressPrivateUntrusted_AreHostsEqual) \
897 LIST_TEST(NetAddressPrivateUntrusted_Describe) \
898 LIST_TEST(NetAddressPrivateUntrusted_ReplacePort) \
899 LIST_TEST(NetAddressPrivateUntrusted_GetAnyAddress) \
900 LIST_TEST(NetAddressPrivateUntrusted_GetFamily) \
901 LIST_TEST(NetAddressPrivateUntrusted_GetPort) \
902 LIST_TEST(NetAddressPrivateUntrusted_GetAddress) \
905 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddressPrivate) {
906 RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
908 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddressPrivate) {
909 RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
911 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
912 MAYBE_PNACL_NONSFI(NetAddressPrivate)) {
913 RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
915 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
916 MAYBE_PNACL_TRANSITIONAL_NONSFI(NetAddressPrivate)) {
917 RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
920 // NetworkMonitor tests.
921 #define RUN_NETWORK_MONITOR_SUBTESTS \
922 RunTestViaHTTP( \
923 LIST_TEST(NetworkMonitor_Basic) \
924 LIST_TEST(NetworkMonitor_2Monitors) \
925 LIST_TEST(NetworkMonitor_DeleteInCallback) \
928 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetworkMonitor) {
929 RUN_NETWORK_MONITOR_SUBTESTS;
931 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetworkMonitor) {
932 RUN_NETWORK_MONITOR_SUBTESTS;
934 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetworkMonitor) {
935 RUN_NETWORK_MONITOR_SUBTESTS;
937 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
938 MAYBE_PNACL_NONSFI(NetworkMonitor)) {
939 RUN_NETWORK_MONITOR_SUBTESTS;
941 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
942 MAYBE_PNACL_TRANSITIONAL_NONSFI(NetworkMonitor)) {
943 RUN_NETWORK_MONITOR_SUBTESTS;
946 // Flash tests.
947 #define RUN_FLASH_SUBTESTS \
948 RunTestViaHTTP( \
949 LIST_TEST(Flash_SetInstanceAlwaysOnTop) \
950 LIST_TEST(Flash_GetCommandLineArgs) \
953 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, Flash) {
954 RUN_FLASH_SUBTESTS;
957 // In-process WebSocket tests. Note, the WebSocket tests are split into two,
958 // because all of them together sometimes take too long on windows:
959 // crbug.com/336999
960 #define RUN_WEBSOCKET_SUBTESTS_1 \
961 RunTestWithWebSocketServer( \
962 LIST_TEST(WebSocket_IsWebSocket) \
963 LIST_TEST(WebSocket_UninitializedPropertiesAccess) \
964 LIST_TEST(WebSocket_InvalidConnect) \
965 LIST_TEST(WebSocket_Protocols) \
966 LIST_TEST(WebSocket_GetURL) \
967 LIST_TEST(WebSocket_ValidConnect) \
968 LIST_TEST(WebSocket_InvalidClose) \
969 LIST_TEST(WebSocket_ValidClose) \
970 LIST_TEST(WebSocket_GetProtocol) \
971 LIST_TEST(WebSocket_TextSendReceive) \
972 LIST_TEST(WebSocket_BinarySendReceive) \
973 LIST_TEST(WebSocket_StressedSendReceive) \
974 LIST_TEST(WebSocket_BufferedAmount) \
977 #define RUN_WEBSOCKET_SUBTESTS_2 \
978 RunTestWithWebSocketServer( \
979 LIST_TEST(WebSocket_AbortCallsWithCallback) \
980 LIST_TEST(WebSocket_AbortSendMessageCall) \
981 LIST_TEST(WebSocket_AbortCloseCall) \
982 LIST_TEST(WebSocket_AbortReceiveMessageCall) \
983 LIST_TEST(WebSocket_ClosedFromServerWhileSending) \
984 LIST_TEST(WebSocket_CcInterfaces) \
985 LIST_TEST(WebSocket_UtilityInvalidConnect) \
986 LIST_TEST(WebSocket_UtilityProtocols) \
987 LIST_TEST(WebSocket_UtilityGetURL) \
988 LIST_TEST(WebSocket_UtilityValidConnect) \
989 LIST_TEST(WebSocket_UtilityInvalidClose) \
990 LIST_TEST(WebSocket_UtilityValidClose) \
991 LIST_TEST(WebSocket_UtilityGetProtocol) \
992 LIST_TEST(WebSocket_UtilityTextSendReceive) \
993 LIST_TEST(WebSocket_UtilityBinarySendReceive) \
994 LIST_TEST(WebSocket_UtilityBufferedAmount) \
997 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, WebSocket1) {
998 RUN_WEBSOCKET_SUBTESTS_1;
1000 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, WebSocket2) {
1001 RUN_WEBSOCKET_SUBTESTS_2;
1003 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, WebSocket1) {
1004 RUN_WEBSOCKET_SUBTESTS_1;
1006 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, WebSocket2) {
1007 RUN_WEBSOCKET_SUBTESTS_2;
1009 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, WebSocket1) {
1010 RUN_WEBSOCKET_SUBTESTS_1;
1012 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, WebSocket2) {
1013 RUN_WEBSOCKET_SUBTESTS_2;
1015 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
1016 MAYBE_PNACL_NONSFI(WebSocket1)) {
1017 RUN_WEBSOCKET_SUBTESTS_1;
1019 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
1020 MAYBE_PNACL_NONSFI(WebSocket2)) {
1021 RUN_WEBSOCKET_SUBTESTS_2;
1023 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1024 MAYBE_PNACL_TRANSITIONAL_NONSFI(WebSocket1)) {
1025 RUN_WEBSOCKET_SUBTESTS_1;
1027 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1028 MAYBE_PNACL_TRANSITIONAL_NONSFI(WebSocket2)) {
1029 RUN_WEBSOCKET_SUBTESTS_2;
1032 // AudioConfig tests
1033 #define RUN_AUDIO_CONFIG_SUBTESTS \
1034 RunTestViaHTTP( \
1035 LIST_TEST(AudioConfig_RecommendSampleRate) \
1036 LIST_TEST(AudioConfig_ValidConfigs) \
1037 LIST_TEST(AudioConfig_InvalidConfigs) \
1040 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, AudioConfig) {
1041 RUN_AUDIO_CONFIG_SUBTESTS;
1043 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, AudioConfig) {
1044 RUN_AUDIO_CONFIG_SUBTESTS;
1046 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(AudioConfig)) {
1047 RUN_AUDIO_CONFIG_SUBTESTS;
1049 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, AudioConfig) {
1050 RUN_AUDIO_CONFIG_SUBTESTS;
1052 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
1053 MAYBE_PNACL_NONSFI(AudioConfig)) {
1054 RUN_AUDIO_CONFIG_SUBTESTS;
1056 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1057 MAYBE_PNACL_TRANSITIONAL_NONSFI(AudioConfig)) {
1058 RUN_AUDIO_CONFIG_SUBTESTS;
1061 // PPB_Audio tests.
1062 #define RUN_AUDIO_SUBTESTS \
1063 RunTestViaHTTP( \
1064 LIST_TEST(Audio_Creation) \
1065 LIST_TEST(Audio_DestroyNoStop) \
1066 LIST_TEST(Audio_Failures) \
1067 LIST_TEST(Audio_AudioCallback1) \
1068 LIST_TEST(Audio_AudioCallback2) \
1069 LIST_TEST(Audio_AudioCallback3) \
1070 LIST_TEST(Audio_AudioCallback4) \
1073 #if defined(OS_LINUX)
1074 // http://crbug.com/396464
1075 #define MAYBE_Audio DISABLED_Audio
1076 #else
1077 #define MAYBE_Audio Audio
1078 #endif
1079 // PPB_Audio is not supported in-process.
1080 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_Audio) {
1081 RUN_AUDIO_SUBTESTS;
1083 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, Audio) {
1084 RUN_AUDIO_SUBTESTS;
1086 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(Audio)) {
1087 RUN_AUDIO_SUBTESTS;
1089 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, Audio) {
1090 RUN_AUDIO_SUBTESTS;
1092 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
1093 MAYBE_PNACL_NONSFI(Audio)) {
1094 RUN_AUDIO_SUBTESTS;
1096 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1097 MAYBE_PNACL_TRANSITIONAL_NONSFI(Audio)) {
1098 RUN_AUDIO_SUBTESTS;
1101 #define RUN_AUDIO_THREAD_CREATOR_SUBTESTS \
1102 RunTestViaHTTP( \
1103 LIST_TEST(Audio_AudioThreadCreatorIsRequired) \
1104 LIST_TEST(Audio_AudioThreadCreatorIsCalled) \
1107 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, AudioThreadCreator) {
1108 RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
1110 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(AudioThreadCreator)) {
1111 RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
1113 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, AudioThreadCreator) {
1114 RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
1116 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
1117 MAYBE_PNACL_NONSFI(AudioThreadCreator)) {
1118 RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
1120 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1121 MAYBE_PNACL_TRANSITIONAL_NONSFI(AudioThreadCreator)) {
1122 RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
1125 TEST_PPAPI_OUT_OF_PROCESS(View_CreatedVisible);
1126 TEST_PPAPI_NACL(View_CreatedVisible);
1127 // This test ensures that plugins created in a background tab have their
1128 // initial visibility set to false. We don't bother testing in-process for this
1129 // custom test since the out of process code also exercises in-process.
1131 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_CreateInvisible) {
1132 // Make a second tab in the foreground.
1133 GURL url = GetTestFileUrl("View_CreatedInvisible");
1134 chrome::NavigateParams params(browser(), url, ui::PAGE_TRANSITION_LINK);
1135 params.disposition = NEW_BACKGROUND_TAB;
1136 ui_test_utils::NavigateToURL(&params);
1139 // This test messes with tab visibility so is custom.
1140 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, DISABLED_View_PageHideShow) {
1141 // The plugin will be loaded in the foreground tab and will send us a message.
1142 PPAPITestMessageHandler handler;
1143 content::JavascriptTestObserver observer(
1144 browser()->tab_strip_model()->GetActiveWebContents(),
1145 &handler);
1147 GURL url = GetTestFileUrl("View_PageHideShow");
1148 ui_test_utils::NavigateToURL(browser(), url);
1150 ASSERT_TRUE(observer.Run()) << handler.error_message();
1151 EXPECT_STREQ("TestPageHideShow:Created", handler.message().c_str());
1152 observer.Reset();
1154 // Make a new tab to cause the original one to hide, this should trigger the
1155 // next phase of the test.
1156 chrome::NavigateParams params(
1157 browser(), GURL(url::kAboutBlankURL), ui::PAGE_TRANSITION_LINK);
1158 params.disposition = NEW_FOREGROUND_TAB;
1159 ui_test_utils::NavigateToURL(&params);
1161 // Wait until the test acks that it got hidden.
1162 ASSERT_TRUE(observer.Run()) << handler.error_message();
1163 EXPECT_STREQ("TestPageHideShow:Hidden", handler.message().c_str());
1164 observer.Reset();
1166 // Switch back to the test tab.
1167 browser()->tab_strip_model()->ActivateTabAt(0, true);
1169 ASSERT_TRUE(observer.Run()) << handler.error_message();
1170 EXPECT_STREQ("PASS", handler.message().c_str());
1173 // Tests that if a plugin accepts touch events, the browser knows to send touch
1174 // events to the renderer.
1175 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, InputEvent_AcceptTouchEvent) {
1176 std::string positive_tests[] = { "InputEvent_AcceptTouchEvent_1",
1177 "InputEvent_AcceptTouchEvent_2",
1178 "InputEvent_AcceptTouchEvent_3",
1179 "InputEvent_AcceptTouchEvent_4"
1182 for (size_t i = 0; i < arraysize(positive_tests); ++i) {
1183 RenderViewHost* host = browser()->tab_strip_model()->
1184 GetActiveWebContents()->GetRenderViewHost();
1185 RunTest(positive_tests[i]);
1186 EXPECT_TRUE(content::RenderViewHostTester::HasTouchEventHandler(host));
1190 // View tests.
1191 #define RUN_VIEW_SUBTESTS \
1192 RunTestViaHTTP( \
1193 LIST_TEST(View_SizeChange) \
1194 LIST_TEST(View_ClipChange) \
1195 LIST_TEST(View_ScrollOffsetChange) \
1198 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View) {
1199 RUN_VIEW_SUBTESTS;
1201 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, View) {
1202 RUN_VIEW_SUBTESTS;
1204 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, View) {
1205 RUN_VIEW_SUBTESTS;
1207 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, MAYBE_PNACL_NONSFI(View)) {
1208 RUN_VIEW_SUBTESTS;
1210 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTransitionalNonSfiTest,
1211 MAYBE_PNACL_TRANSITIONAL_NONSFI(View)) {
1212 RUN_VIEW_SUBTESTS;
1215 // FlashMessageLoop tests.
1216 #define RUN_FLASH_MESSAGE_LOOP_SUBTESTS \
1217 RunTest( \
1218 LIST_TEST(FlashMessageLoop_Basics) \
1219 LIST_TEST(FlashMessageLoop_RunWithoutQuit) \
1222 #if defined(OS_LINUX) // Disabled due to flakiness http://crbug.com/316925
1223 #define MAYBE_FlashMessageLoop DISABLED_FlashMessageLoop
1224 #else
1225 #define MAYBE_FlashMessageLoop FlashMessageLoop
1226 #endif
1227 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_FlashMessageLoop) {
1228 RUN_FLASH_MESSAGE_LOOP_SUBTESTS;
1231 // The compositor test timeouts sometimes, so we have to split it to two
1232 // subtests.
1233 #define RUN_COMPOSITOR_SUBTESTS_0 \
1234 RunTestViaHTTP( \
1235 LIST_TEST(Compositor_BindUnbind) \
1236 LIST_TEST(Compositor_Release) \
1237 LIST_TEST(Compositor_ReleaseUnbound) \
1238 LIST_TEST(Compositor_ReleaseWithoutCommit) \
1239 LIST_TEST(Compositor_ReleaseWithoutCommitUnbound) \
1242 #define RUN_COMPOSITOR_SUBTESTS_1 \
1243 RunTestViaHTTP( \
1244 LIST_TEST(Compositor_CommitTwoTimesWithoutChange) \
1245 LIST_TEST(Compositor_CommitTwoTimesWithoutChangeUnbound) \
1246 LIST_TEST(Compositor_General) \
1247 LIST_TEST(Compositor_GeneralUnbound) \
1250 #if defined(OS_WIN)
1251 // This test fails with the test compositor which is what's used by default for
1252 // browser tests on Windows. Renable when the software compositor is available.
1253 #define MAYBE_Compositor0 DISABLED_Compositor0
1254 #define MAYBE_Compositor1 DISABLED_Compositor1
1255 #elif defined(OS_MACOSX)
1256 // This test fails when using the legacy software mode. Reenable when the
1257 // software compositor is enabled crbug.com/286038
1258 #define MAYBE_Compositor0 DISABLED_Compositor0
1259 #define MAYBE_Compositor1 DISABLED_Compositor1
1260 #else
1261 // flaky on Linux: http://crbug.com/396482
1262 #define MAYBE_Compositor0 DISABLED_Compositor0
1263 #define MAYBE_Compositor1 DISABLED_Compositor1
1264 #endif
1266 TEST_PPAPI_NACL_SUBTESTS(MAYBE_Compositor0, RUN_COMPOSITOR_SUBTESTS_0)
1267 TEST_PPAPI_NACL_SUBTESTS(MAYBE_Compositor1, RUN_COMPOSITOR_SUBTESTS_1)
1269 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
1270 // Flaky on ChromeOS, Linux and Windows (crbug.com/438729)
1271 #define MAYBE_MediaStreamAudioTrack DISABLED_MediaStreamAudioTrack
1272 #else
1273 #define MAYBE_MediaStreamAudioTrack MediaStreamAudioTrack
1274 #endif
1275 TEST_PPAPI_NACL(MAYBE_MediaStreamAudioTrack)
1277 TEST_PPAPI_NACL(MediaStreamVideoTrack)
1279 TEST_PPAPI_NACL(MouseCursor)
1281 // Flaky on Mac ASAN (possiby elsewhere too): http://crbug.com/501207.
1282 #if defined(OS_MACOSX) && defined(ADDRESS_SANITIZER)
1283 #define MAYBE_NetworkProxy DISABLED_NetworkProxy
1284 #else
1285 #define MAYBE_NetworkProxy NetworkProxy
1286 #endif
1287 TEST_PPAPI_NACL(MAYBE_NetworkProxy)
1289 TEST_PPAPI_NACL(TrueTypeFont)
1291 TEST_PPAPI_NACL(VideoDecoder)
1293 TEST_PPAPI_NACL(VideoEncoder)
1295 // VideoDestination doesn't work in content_browsertests.
1296 TEST_PPAPI_OUT_OF_PROCESS(VideoDestination)
1297 TEST_PPAPI_NACL(VideoDestination)
1299 // VideoSource doesn't work in content_browsertests.
1300 TEST_PPAPI_OUT_OF_PROCESS(VideoSource)
1301 TEST_PPAPI_NACL(VideoSource)
1303 // Printing doesn't work in content_browsertests.
1304 TEST_PPAPI_OUT_OF_PROCESS(Printing)
1306 TEST_PPAPI_NACL(MessageHandler)
1308 TEST_PPAPI_NACL(MessageLoop_Basics)
1309 TEST_PPAPI_NACL(MessageLoop_Post)
1311 // Going forward, Flash APIs will only work out-of-process.
1312 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetLocalTimeZoneOffset)
1313 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetProxyForURL)
1314 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetSetting)
1315 TEST_PPAPI_OUT_OF_PROCESS(Flash_SetCrashData)
1316 // http://crbug.com/176822
1317 #if !defined(OS_WIN)
1318 TEST_PPAPI_OUT_OF_PROCESS(FlashClipboard)
1319 #endif
1320 TEST_PPAPI_OUT_OF_PROCESS(FlashFile)
1321 // Mac/Aura reach NOTIMPLEMENTED/time out.
1322 // mac: http://crbug.com/96767
1323 // aura: http://crbug.com/104384
1324 // cros: http://crbug.com/396502
1325 #if defined(OS_MACOSX) || defined(OS_CHROMEOS)
1326 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen
1327 #else
1328 #define MAYBE_FlashFullscreen FlashFullscreen
1329 #endif
1330 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_FlashFullscreen)
1332 TEST_PPAPI_OUT_OF_PROCESS(PDF)
1334 // TODO(dalecurtis): Renable once the platform verification infobar has been
1335 // implemented; see http://crbug.com/270908
1336 // #if defined(OS_CHROMEOS)
1337 // TEST_PPAPI_OUT_OF_PROCESS(PlatformVerificationPrivate)
1338 // #endif
1340 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FlashDRM) {
1341 RunTest(
1342 #if (defined(OS_WIN) && defined(ENABLE_RLZ)) || defined(OS_CHROMEOS)
1343 // Only implemented on Windows and ChromeOS currently.
1344 LIST_TEST(FlashDRM_GetDeviceID)
1345 #endif
1346 LIST_TEST(FlashDRM_GetHmonitor)
1347 LIST_TEST(FlashDRM_GetVoucherFile));
1350 #if defined(OS_CHROMEOS)
1351 TEST_PPAPI_OUT_OF_PROCESS(OutputProtectionPrivate)
1352 #endif
1354 #if !defined(DISABLE_NACL)
1355 class PackagedAppTest : public ExtensionBrowserTest {
1356 public:
1357 explicit PackagedAppTest(const std::string& toolchain)
1358 : toolchain_(toolchain) { }
1360 void LaunchTestingApp(const std::string& extension_dirname) {
1361 base::FilePath data_dir;
1362 ASSERT_TRUE(PathService::Get(chrome::DIR_GEN_TEST_DATA, &data_dir));
1363 base::FilePath app_dir = data_dir.AppendASCII("ppapi")
1364 .AppendASCII("tests")
1365 .AppendASCII("extensions")
1366 .AppendASCII(extension_dirname)
1367 .AppendASCII(toolchain_);
1369 const extensions::Extension* extension = LoadExtension(app_dir);
1370 ASSERT_TRUE(extension);
1372 AppLaunchParams params(browser()->profile(), extension,
1373 extensions::LAUNCH_CONTAINER_NONE, NEW_WINDOW,
1374 extensions::SOURCE_TEST);
1375 params.command_line = *base::CommandLine::ForCurrentProcess();
1376 OpenApplication(params);
1379 void RunTests(const std::string& extension_dirname) {
1380 ExtensionTestMessageListener listener("PASS", true);
1381 LaunchTestingApp(extension_dirname);
1382 EXPECT_TRUE(listener.WaitUntilSatisfied());
1384 protected:
1385 std::string toolchain_;
1388 class NewlibPackagedAppTest : public PackagedAppTest {
1389 public:
1390 NewlibPackagedAppTest() : PackagedAppTest("newlib") { }
1393 class NonSfiPackagedAppTest : public PackagedAppTest {
1394 public:
1395 NonSfiPackagedAppTest() : PackagedAppTest("nonsfi") { }
1397 void SetUpCommandLine(base::CommandLine* command_line) override {
1398 PackagedAppTest::SetUpCommandLine(command_line);
1399 command_line->AppendSwitch(switches::kEnableNaClNonSfiMode);
1403 // TODO(hidehiko): Remove this when clean-up to drop Non-SFI support from
1404 // nacl_helper is done. See NaClBrowserTestPnaclTransitionalNonSfi
1405 // for more details.
1406 class TransitionalNonSfiPackagedAppTest : public NonSfiPackagedAppTest {
1407 public:
1408 void SetUpCommandLine(base::CommandLine* command_line) override {
1409 NonSfiPackagedAppTest::SetUpCommandLine(command_line);
1410 command_line->AppendSwitchASCII(switches::kUseNaClHelperNonSfi,
1411 "false");
1415 // Load a packaged app, and wait for it to successfully post a "hello" message
1416 // back.
1417 IN_PROC_BROWSER_TEST_F(NewlibPackagedAppTest, SuccessfulLoad) {
1418 RunTests("packaged_app");
1421 IN_PROC_BROWSER_TEST_F(NonSfiPackagedAppTest,
1422 MAYBE_PNACL_NONSFI(SuccessfulLoad)) {
1423 RunTests("packaged_app");
1426 IN_PROC_BROWSER_TEST_F(TransitionalNonSfiPackagedAppTest,
1427 MAYBE_PNACL_TRANSITIONAL_NONSFI(SuccessfulLoad)) {
1428 RunTests("packaged_app");
1431 IN_PROC_BROWSER_TEST_F(NewlibPackagedAppTest, SocketPermissions) {
1432 RunTests("socket_permissions");
1435 #endif