Home | History | Annotate | Download | only in ppapi
      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.
      4 
      5 #include "chrome/test/ppapi/ppapi_test.h"
      6 
      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/ui_test_utils.h"
     15 #include "chrome/test/nacl/nacl_browsertest_util.h"
     16 #include "content/public/browser/web_contents.h"
     17 #include "content/public/common/url_constants.h"
     18 #include "content/public/test/javascript_test_observer.h"
     19 #include "content/public/test/test_renderer_host.h"
     20 #include "ppapi/shared_impl/test_harness_utils.h"
     21 
     22 using content::RenderViewHost;
     23 
     24 // This macro finesses macro expansion to do what we want.
     25 #define STRIP_PREFIXES(test_name) ppapi::StripTestPrefixes(#test_name)
     26 // Turn the given token into a string. This allows us to use precompiler stuff
     27 // to turn names into DISABLED_Foo, but still pass a string to RunTest.
     28 #define STRINGIFY(test_name) #test_name
     29 #define LIST_TEST(test_name) STRINGIFY(test_name) ","
     30 
     31 // Use these macros to run the tests for a specific interface.
     32 // Most interfaces should be tested with both macros.
     33 #define TEST_PPAPI_IN_PROCESS(test_name) \
     34     IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
     35       RunTest(STRIP_PREFIXES(test_name)); \
     36     }
     37 #define TEST_PPAPI_OUT_OF_PROCESS(test_name) \
     38     IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
     39       RunTest(STRIP_PREFIXES(test_name)); \
     40     }
     41 
     42 // Similar macros that test over HTTP.
     43 #define TEST_PPAPI_IN_PROCESS_VIA_HTTP(test_name) \
     44     IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
     45       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     46     }
     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)); \
     50     }
     51 
     52 // Similar macros that test with an SSL server.
     53 #define TEST_PPAPI_IN_PROCESS_WITH_SSL_SERVER(test_name) \
     54     IN_PROC_BROWSER_TEST_F(PPAPITest, test_name) { \
     55       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
     56     }
     57 #define TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(test_name) \
     58     IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, test_name) { \
     59       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
     60     }
     61 
     62 #if defined(DISABLE_NACL)
     63 
     64 #define TEST_PPAPI_NACL(test_name)
     65 #define TEST_PPAPI_NACL_NO_PNACL(test_name)
     66 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name)
     67 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name)
     68 
     69 #else
     70 
     71 // TODO(dmichael): Remove this macro, crbug.com/384539
     72 #define TEST_PPAPI_NACL_NO_PNACL(test_name) \
     73     IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
     74       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     75     } \
     76     IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(test_name)) { \
     77       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     78     } \
     79 
     80 // NaCl based PPAPI tests
     81 #define TEST_PPAPI_NACL(test_name) \
     82     IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
     83       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     84     } \
     85     IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(test_name)) { \
     86       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     87     } \
     88     IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
     89       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     90     } \
     91     IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
     92                            MAYBE_PNACL_NONSFI(test_name)) { \
     93       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
     94     }
     95 
     96 // NaCl based PPAPI tests with disallowed socket API
     97 #define TEST_PPAPI_NACL_DISALLOWED_SOCKETS(test_name) \
     98     IN_PROC_BROWSER_TEST_F(PPAPINaClTestDisallowedSockets, test_name) { \
     99       RunTestViaHTTP(STRIP_PREFIXES(test_name)); \
    100     }
    101 
    102 // NaCl based PPAPI tests with SSL server
    103 #define TEST_PPAPI_NACL_WITH_SSL_SERVER(test_name) \
    104     IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, test_name) { \
    105       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
    106     } \
    107     IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(test_name)) { \
    108       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
    109     } \
    110     IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, test_name) { \
    111       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
    112     } \
    113     IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, \
    114                            MAYBE_PNACL_NONSFI(test_name)) { \
    115       RunTestWithSSLServer(STRIP_PREFIXES(test_name)); \
    116     }
    117 
    118 #endif  // DISABLE_NACL
    119 
    120 //
    121 // Interface tests.
    122 //
    123 
    124 TEST_PPAPI_IN_PROCESS(Broker)
    125 // Flaky, http://crbug.com/111355
    126 TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Broker)
    127 
    128 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Accept) {
    129   // Accepting the infobar should grant permission to access the PPAPI broker.
    130   InfoBarObserver observer(this);
    131   observer.ExpectInfoBarAndAccept(true);
    132 
    133   // PPB_Broker_Trusted::IsAllowed should return false before the infobar is
    134   // popped and true after the infobar is popped.
    135   RunTest("Broker_IsAllowedPermissionDenied");
    136   RunTest("Broker_ConnectPermissionGranted");
    137   RunTest("Broker_IsAllowedPermissionGranted");
    138 
    139   // It should also set a content settings exception for the site.
    140   GURL url = GetTestFileUrl("Broker_ConnectPermissionGranted");
    141   HostContentSettingsMap* content_settings =
    142       browser()->profile()->GetHostContentSettingsMap();
    143   EXPECT_EQ(CONTENT_SETTING_ALLOW,
    144             content_settings->GetContentSetting(
    145                 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
    146 }
    147 
    148 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Deny) {
    149   // Canceling the infobar should deny permission to access the PPAPI broker.
    150   InfoBarObserver observer(this);
    151   observer.ExpectInfoBarAndAccept(false);
    152 
    153   // PPB_Broker_Trusted::IsAllowed should return false before and after the
    154   // infobar is popped.
    155   RunTest("Broker_IsAllowedPermissionDenied");
    156   RunTest("Broker_ConnectPermissionDenied");
    157   RunTest("Broker_IsAllowedPermissionDenied");
    158 
    159   // It should also set a content settings exception for the site.
    160   GURL url = GetTestFileUrl("Broker_ConnectPermissionDenied");
    161   HostContentSettingsMap* content_settings =
    162       browser()->profile()->GetHostContentSettingsMap();
    163   EXPECT_EQ(CONTENT_SETTING_BLOCK,
    164             content_settings->GetContentSetting(
    165                 url, url, CONTENT_SETTINGS_TYPE_PPAPI_BROKER, std::string()));
    166 }
    167 
    168 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Blocked) {
    169   // Block access to the PPAPI broker.
    170   browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
    171       CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_BLOCK);
    172 
    173   // We shouldn't see an infobar.
    174   InfoBarObserver observer(this);
    175 
    176   RunTest("Broker_ConnectPermissionDenied");
    177   RunTest("Broker_IsAllowedPermissionDenied");
    178 }
    179 
    180 IN_PROC_BROWSER_TEST_F(PPAPIBrokerInfoBarTest, Allowed) {
    181   // Always allow access to the PPAPI broker.
    182   browser()->profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
    183       CONTENT_SETTINGS_TYPE_PPAPI_BROKER, CONTENT_SETTING_ALLOW);
    184 
    185   // We shouldn't see an infobar.
    186   InfoBarObserver observer(this);
    187 
    188   RunTest("Broker_ConnectPermissionGranted");
    189   RunTest("Broker_IsAllowedPermissionGranted");
    190 }
    191 
    192 TEST_PPAPI_NACL(Console)
    193 
    194 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
    195 // TODO(erg): linux_aura bringup: http://crbug.com/318961
    196 #define MAYBE_Core DISABLED_Core
    197 #else
    198 #define MAYBE_Core Core
    199 #endif
    200 TEST_PPAPI_NACL(MAYBE_Core)
    201 
    202 // Non-NaCl TraceEvent tests are in content/test/ppapi/ppapi_browsertest.cc.
    203 TEST_PPAPI_NACL(TraceEvent)
    204 
    205 TEST_PPAPI_NACL(InputEvent)
    206 
    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
    213 
    214 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_ImeInputEvent)
    215 TEST_PPAPI_NACL(MAYBE_ImeInputEvent)
    216 
    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)
    230 
    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_IN_PROCESS(MAYBE_IN_Graphics3D)
    258 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_OUT_Graphics3D)
    259 TEST_PPAPI_NACL(MAYBE_NACL_Graphics3D)
    260 
    261 TEST_PPAPI_NACL(ImageData)
    262 
    263 // TCPSocket and TCPSocketPrivate tests.
    264 #define RUN_TCPSOCKET_SUBTESTS \
    265   RunTestViaHTTP( \
    266       LIST_TEST(TCPSocket_Connect) \
    267       LIST_TEST(TCPSocket_ReadWrite) \
    268       LIST_TEST(TCPSocket_SetOption) \
    269       LIST_TEST(TCPSocket_Listen) \
    270       LIST_TEST(TCPSocket_Backlog) \
    271       LIST_TEST(TCPSocket_Interface_1_0) \
    272   )
    273 
    274 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, TCPSocket) {
    275   RUN_TCPSOCKET_SUBTESTS;
    276 }
    277 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, TCPSocket) {
    278   RUN_TCPSOCKET_SUBTESTS;
    279 }
    280 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(TCPSocket)) {
    281   RUN_TCPSOCKET_SUBTESTS;
    282 }
    283 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, TCPSocket) {
    284   RUN_TCPSOCKET_SUBTESTS;
    285 }
    286 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    287                        MAYBE_PNACL_NONSFI(TCPSocket)) {
    288   RUN_TCPSOCKET_SUBTESTS;
    289 }
    290 
    291 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(TCPServerSocketPrivate)
    292 TEST_PPAPI_NACL(TCPServerSocketPrivate)
    293 
    294 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivate)
    295 TEST_PPAPI_NACL_WITH_SSL_SERVER(TCPSocketPrivate)
    296 
    297 TEST_PPAPI_OUT_OF_PROCESS_WITH_SSL_SERVER(TCPSocketPrivateTrusted)
    298 
    299 // UDPSocket tests.
    300 // UDPSocket_Broadcast is disabled for OSX because it requires root
    301 // permissions on OSX 10.7+.
    302 #if defined(OS_MACOSX)
    303 #define MAYBE_UDPSocket_Broadcast DISABLED_UDPSocket_Broadcast
    304 #else
    305 #define MAYBE_UDPSocket_Broadcast UDPSocket_Broadcast
    306 #endif
    307 
    308 #define RUN_UDPSOCKET_SUBTESTS \
    309   RunTestViaHTTP( \
    310       LIST_TEST(UDPSocket_ReadWrite) \
    311       LIST_TEST(UDPSocket_SetOption) \
    312       LIST_TEST(MAYBE_UDPSocket_Broadcast) \
    313   )
    314 
    315 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, UDPSocket) {
    316   RUN_UDPSOCKET_SUBTESTS;
    317 }
    318 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, UDPSocket) {
    319   RUN_UDPSOCKET_SUBTESTS;
    320 }
    321 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(UDPSocket)) {
    322   RUN_UDPSOCKET_SUBTESTS;
    323 }
    324 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, UDPSocket) {
    325   RUN_UDPSOCKET_SUBTESTS;
    326 }
    327 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    328                        MAYBE_PNACL_NONSFI(UDPSocket)) {
    329   RUN_UDPSOCKET_SUBTESTS;
    330 }
    331 
    332 
    333 // UDPSocketPrivate tests.
    334 // UDPSocketPrivate_Broadcast is disabled for OSX because it requires root
    335 // permissions on OSX 10.7+.
    336 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Connect)
    337 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_ConnectFailure)
    338 #if !defined(OS_MACOSX)
    339 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_Broadcast)
    340 #endif  // !defined(OS_MACOSX)
    341 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(UDPSocketPrivate_SetSocketFeatureErrors)
    342 TEST_PPAPI_NACL(UDPSocketPrivate_Connect)
    343 TEST_PPAPI_NACL(UDPSocketPrivate_ConnectFailure)
    344 #if !defined(OS_MACOSX)
    345 TEST_PPAPI_NACL(UDPSocketPrivate_Broadcast)
    346 #endif  // !defined(OS_MACOSX)
    347 TEST_PPAPI_NACL(UDPSocketPrivate_SetSocketFeatureErrors)
    348 
    349 // Disallowed socket tests.
    350 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(HostResolverPrivateDisallowed)
    351 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPServerSocketPrivateDisallowed)
    352 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(TCPSocketPrivateDisallowed)
    353 TEST_PPAPI_NACL_DISALLOWED_SOCKETS(UDPSocketPrivateDisallowed)
    354 
    355 // HostResolver and HostResolverPrivate tests.
    356 #define RUN_HOST_RESOLVER_SUBTESTS \
    357   RunTestViaHTTP( \
    358       LIST_TEST(HostResolver_Empty) \
    359       LIST_TEST(HostResolver_Resolve) \
    360       LIST_TEST(HostResolver_ResolveIPv4) \
    361   )
    362 
    363 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, HostResolver) {
    364   RUN_HOST_RESOLVER_SUBTESTS;
    365 }
    366 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, HostResolver) {
    367   RUN_HOST_RESOLVER_SUBTESTS;
    368 }
    369 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(HostResolver)) {
    370   RUN_HOST_RESOLVER_SUBTESTS;
    371 }
    372 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, HostResolver) {
    373   RUN_HOST_RESOLVER_SUBTESTS;
    374 }
    375 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    376                        MAYBE_PNACL_NONSFI(HostResolver)) {
    377   RUN_HOST_RESOLVER_SUBTESTS;
    378 }
    379 
    380 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_Resolve)
    381 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(HostResolverPrivate_ResolveIPv4)
    382 TEST_PPAPI_NACL(HostResolverPrivate_Resolve)
    383 TEST_PPAPI_NACL(HostResolverPrivate_ResolveIPv4)
    384 
    385 // URLLoader tests. These are split into multiple test fixtures because if we
    386 // run them all together, they tend to time out.
    387 #define RUN_URLLOADER_SUBTESTS_0 \
    388   RunTestViaHTTP( \
    389       LIST_TEST(URLLoader_BasicGET) \
    390       LIST_TEST(URLLoader_BasicPOST) \
    391       LIST_TEST(URLLoader_BasicFilePOST) \
    392       LIST_TEST(URLLoader_BasicFileRangePOST) \
    393       LIST_TEST(URLLoader_CompoundBodyPOST) \
    394   )
    395 
    396 #define RUN_URLLOADER_SUBTESTS_1 \
    397   RunTestViaHTTP( \
    398       LIST_TEST(URLLoader_EmptyDataPOST) \
    399       LIST_TEST(URLLoader_BinaryDataPOST) \
    400       LIST_TEST(URLLoader_CustomRequestHeader) \
    401       LIST_TEST(URLLoader_FailsBogusContentLength) \
    402       LIST_TEST(URLLoader_StreamToFile) \
    403   )
    404 
    405 // TODO(bbudge) Fix Javascript URLs for trusted loaders.
    406 // http://crbug.com/103062
    407 #define RUN_URLLOADER_SUBTESTS_2 \
    408   RunTestViaHTTP( \
    409       LIST_TEST(URLLoader_UntrustedSameOriginRestriction) \
    410       LIST_TEST(URLLoader_UntrustedCrossOriginRequest) \
    411       LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction) \
    412       LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction) \
    413   )
    414 
    415 #define RUN_URLLOADER_NACL_SUBTESTS_2 \
    416   RunTestViaHTTP( \
    417       LIST_TEST(URLLoader_UntrustedSameOriginRestriction) \
    418       LIST_TEST(URLLoader_UntrustedCrossOriginRequest) \
    419       LIST_TEST(URLLoader_UntrustedJavascriptURLRestriction) \
    420       LIST_TEST(DISABLED_URLLoader_TrustedJavascriptURLRestriction) \
    421   )
    422 
    423 #define RUN_URLLOADER_SUBTESTS_3 \
    424   RunTestViaHTTP( \
    425       LIST_TEST(URLLoader_UntrustedHttpRequests) \
    426       LIST_TEST(URLLoader_FollowURLRedirect) \
    427       LIST_TEST(URLLoader_AuditURLRedirect) \
    428       LIST_TEST(URLLoader_AbortCalls) \
    429       LIST_TEST(URLLoader_UntendedLoad) \
    430       LIST_TEST(URLLoader_PrefetchBufferThreshold) \
    431   )
    432 
    433 // Note: we do not support Trusted APIs in NaCl, so these will be skipped.
    434 #define RUN_URLLOADER_TRUSTED_SUBTESTS \
    435   RunTestViaHTTP( \
    436       LIST_TEST(URLLoader_TrustedSameOriginRestriction) \
    437       LIST_TEST(URLLoader_TrustedCrossOriginRequest) \
    438       LIST_TEST(URLLoader_TrustedHttpRequests) \
    439   )
    440 
    441 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoader0) {
    442   RUN_URLLOADER_SUBTESTS_0;
    443 }
    444 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoader1) {
    445   RUN_URLLOADER_SUBTESTS_1;
    446 }
    447 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoader2) {
    448   RUN_URLLOADER_SUBTESTS_2;
    449 }
    450 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoader3) {
    451   RUN_URLLOADER_SUBTESTS_3;
    452 }
    453 IN_PROC_BROWSER_TEST_F(PPAPITest, URLLoaderTrusted) {
    454   RUN_URLLOADER_TRUSTED_SUBTESTS;
    455 }
    456 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader0) {
    457   RUN_URLLOADER_SUBTESTS_0;
    458 }
    459 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader1) {
    460   RUN_URLLOADER_SUBTESTS_1;
    461 }
    462 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader2) {
    463   RUN_URLLOADER_SUBTESTS_2;
    464 }
    465 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoader3) {
    466   RUN_URLLOADER_SUBTESTS_3;
    467 }
    468 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, URLLoaderTrusted) {
    469   RUN_URLLOADER_TRUSTED_SUBTESTS;
    470 }
    471 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader0) {
    472   RUN_URLLOADER_SUBTESTS_0;
    473 }
    474 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader1) {
    475   RUN_URLLOADER_SUBTESTS_1;
    476 }
    477 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader2) {
    478   RUN_URLLOADER_SUBTESTS_2;
    479 }
    480 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, URLLoader3) {
    481   RUN_URLLOADER_SUBTESTS_3;
    482 }
    483 
    484 // Flaky on 32-bit linux bot; http://crbug.com/308906
    485 #if defined(OS_LINUX) && defined(ARCH_CPU_X86)
    486 #define MAYBE_URLLoader_BasicFilePOST DISABLED_URLLoader_BasicFilePOST
    487 #else
    488 #define MAYBE_URLLoader_BasicFilePOST URLLoader_BasicFilePOST
    489 #endif
    490 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(URLLoader0)) {
    491   RunTestViaHTTP(
    492       LIST_TEST(URLLoader_BasicGET)
    493       LIST_TEST(URLLoader_BasicPOST)
    494       LIST_TEST(MAYBE_URLLoader_BasicFilePOST)
    495       LIST_TEST(URLLoader_BasicFileRangePOST)
    496       LIST_TEST(URLLoader_CompoundBodyPOST)
    497   );
    498 }
    499 
    500 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(URLLoader1)) {
    501   RUN_URLLOADER_SUBTESTS_1;
    502 }
    503 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(URLLoader2)) {
    504   RUN_URLLOADER_SUBTESTS_2;
    505 }
    506 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(URLLoader3)) {
    507   RUN_URLLOADER_SUBTESTS_3;
    508 }
    509 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader0) {
    510   RUN_URLLOADER_SUBTESTS_0;
    511 }
    512 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader1) {
    513   RUN_URLLOADER_SUBTESTS_1;
    514 }
    515 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader2) {
    516   RUN_URLLOADER_SUBTESTS_2;
    517 }
    518 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, URLLoader3) {
    519   RUN_URLLOADER_SUBTESTS_3;
    520 }
    521 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    522                        MAYBE_PNACL_NONSFI(URLLoader0)) {
    523   RUN_URLLOADER_SUBTESTS_0;
    524 }
    525 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    526                        MAYBE_PNACL_NONSFI(URLLoader1)) {
    527   RUN_URLLOADER_SUBTESTS_1;
    528 }
    529 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    530                        MAYBE_PNACL_NONSFI(URLLoader2)) {
    531   RUN_URLLOADER_SUBTESTS_2;
    532 }
    533 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    534                        MAYBE_PNACL_NONSFI(URLLoader3)) {
    535   RUN_URLLOADER_SUBTESTS_3;
    536 }
    537 
    538 // URLRequestInfo tests.
    539 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
    540 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_CreateAndIsURLRequestInfo)
    541 
    542 // Timing out on Windows. http://crbug.com/129571
    543 #if defined(OS_WIN)
    544 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
    545   DISABLED_URLRequest_CreateAndIsURLRequestInfo
    546 #else
    547 #define MAYBE_URLRequest_CreateAndIsURLRequestInfo \
    548     URLRequest_CreateAndIsURLRequestInfo
    549 #endif
    550 TEST_PPAPI_NACL(MAYBE_URLRequest_CreateAndIsURLRequestInfo)
    551 
    552 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_SetProperty)
    553 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_SetProperty)
    554 TEST_PPAPI_NACL(URLRequest_SetProperty)
    555 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
    556 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_AppendDataToBody)
    557 TEST_PPAPI_NACL(URLRequest_AppendDataToBody)
    558 TEST_PPAPI_IN_PROCESS_VIA_HTTP(DISABLED_URLRequest_AppendFileToBody)
    559 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(DISABLED_URLRequest_AppendFileToBody)
    560 TEST_PPAPI_NACL(DISABLED_URLRequest_AppendFileToBody)
    561 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLRequest_Stress)
    562 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(URLRequest_Stress)
    563 TEST_PPAPI_NACL(URLRequest_Stress)
    564 
    565 TEST_PPAPI_IN_PROCESS(PaintAggregator)
    566 TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator)
    567 TEST_PPAPI_NACL(PaintAggregator)
    568 
    569 // TODO(danakj): http://crbug.com/115286
    570 TEST_PPAPI_NACL(DISABLED_Scrollbar)
    571 
    572 TEST_PPAPI_NACL(Var)
    573 
    574 TEST_PPAPI_NACL(VarResource)
    575 
    576 // PostMessage tests.
    577 #define RUN_POSTMESSAGE_SUBTESTS \
    578   RunTestViaHTTP( \
    579       LIST_TEST(PostMessage_SendInInit) \
    580       LIST_TEST(PostMessage_SendingData) \
    581       LIST_TEST(PostMessage_SendingString) \
    582       LIST_TEST(PostMessage_SendingArrayBuffer) \
    583       LIST_TEST(PostMessage_SendingArray) \
    584       LIST_TEST(PostMessage_SendingDictionary) \
    585       LIST_TEST(PostMessage_SendingResource) \
    586       LIST_TEST(PostMessage_SendingComplexVar) \
    587       LIST_TEST(PostMessage_MessageEvent) \
    588       LIST_TEST(PostMessage_NoHandler) \
    589       LIST_TEST(PostMessage_ExtraParam) \
    590       LIST_TEST(PostMessage_NonMainThread) \
    591   )
    592 
    593 // Windows defines 'PostMessage', so we have to undef it.
    594 #ifdef PostMessage
    595 #undef PostMessage
    596 #endif
    597 
    598 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, PostMessage) {
    599   RUN_POSTMESSAGE_SUBTESTS;
    600 }
    601 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, PostMessage) {
    602   RUN_POSTMESSAGE_SUBTESTS;
    603 }
    604 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(PostMessage)) {
    605   RUN_POSTMESSAGE_SUBTESTS;
    606 }
    607 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, PostMessage) {
    608   RUN_POSTMESSAGE_SUBTESTS;
    609 }
    610 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    611                        MAYBE_PNACL_NONSFI(PostMessage)) {
    612   RUN_POSTMESSAGE_SUBTESTS;
    613 }
    614 
    615 TEST_PPAPI_NACL(Memory)
    616 
    617 // FileIO tests.
    618 #define RUN_FILEIO_SUBTESTS \
    619   RunTestViaHTTP( \
    620       LIST_TEST(FileIO_Open) \
    621       LIST_TEST(FileIO_OpenDirectory) \
    622       LIST_TEST(FileIO_AbortCalls) \
    623       LIST_TEST(FileIO_ParallelReads) \
    624       LIST_TEST(FileIO_ParallelWrites) \
    625       LIST_TEST(FileIO_NotAllowMixedReadWrite) \
    626       LIST_TEST(FileIO_ReadWriteSetLength) \
    627       LIST_TEST(FileIO_ReadToArrayWriteSetLength) \
    628       LIST_TEST(FileIO_TouchQuery) \
    629   )
    630 
    631 #define RUN_FILEIO_PRIVATE_SUBTESTS \
    632   RunTestViaHTTP( \
    633       LIST_TEST(FileIO_RequestOSFileHandle) \
    634       LIST_TEST(FileIO_RequestOSFileHandleWithOpenExclusive) \
    635       LIST_TEST(FileIO_Mmap) \
    636   )
    637 
    638 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) && defined(USE_AURA)
    639 // TODO(erg): linux_aura bringup: http://crbug.com/318961
    640 #define MAYBE_FileIO DISABLED_FileIO
    641 #define MAYBE_FileIO_Private DISABLED_FileIO_Private
    642 #else
    643 #define MAYBE_FileIO FileIO
    644 #define MAYBE_FileIO_Private FileIO_Private
    645 #endif
    646 
    647 IN_PROC_BROWSER_TEST_F(PPAPITest, MAYBE_FileIO) {
    648   RUN_FILEIO_SUBTESTS;
    649 }
    650 IN_PROC_BROWSER_TEST_F(PPAPIPrivateTest, MAYBE_FileIO_Private) {
    651   RUN_FILEIO_PRIVATE_SUBTESTS;
    652 }
    653 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_FileIO) {
    654   RUN_FILEIO_SUBTESTS;
    655 }
    656 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPIPrivateTest, MAYBE_FileIO_Private) {
    657   RUN_FILEIO_PRIVATE_SUBTESTS;
    658 }
    659 
    660 // Flaky on XP; times out, http://crbug.com/313401
    661 #if defined(OS_WIN)
    662 #define MAYBE_NaCl_Newlib_FileIO DISABLED_FileIO
    663 #define MAYBE_NaCl_Newlib_FileIO_Private DISABLED_FileIO_Private
    664 #else
    665 #define MAYBE_NaCl_Newlib_FileIO FileIO
    666 #define MAYBE_NaCl_Newlib_FileIO_Private FileIO_Private
    667 #endif
    668 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, MAYBE_NaCl_Newlib_FileIO) {
    669   RUN_FILEIO_SUBTESTS;
    670 }
    671 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClNewlibTest,
    672                        MAYBE_NaCl_Newlib_FileIO_Private) {
    673   RUN_FILEIO_PRIVATE_SUBTESTS;
    674 }
    675 
    676 // Flaky on 32-bit linux bot; http://crbug.com/308905
    677 // Flaky on Windows too; http://crbug.com/321300
    678 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, DISABLED_FileIO) {
    679   RUN_FILEIO_SUBTESTS;
    680 }
    681 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClGLibcTest, DISABLED_FileIO_Private) {
    682   RUN_FILEIO_PRIVATE_SUBTESTS;
    683 }
    684 
    685 // Flaky on XP; times out, http://crbug.com/313205
    686 #if defined(OS_WIN)
    687 #define MAYBE_PNaCl_FileIO DISABLED_FileIO
    688 #define MAYBE_PNaCl_FileIO_Private DISABLED_FileIO_Private
    689 #else
    690 #define MAYBE_PNaCl_FileIO FileIO
    691 #define MAYBE_PNaCl_FileIO_Private FileIO_Private
    692 #endif
    693 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, MAYBE_PNaCl_FileIO) {
    694   RUN_FILEIO_SUBTESTS;
    695 }
    696 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClPNaClTest, MAYBE_PNaCl_FileIO_Private) {
    697   RUN_FILEIO_PRIVATE_SUBTESTS;
    698 }
    699 
    700 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, MAYBE_PNACL_NONSFI(FileIO)) {
    701   RUN_FILEIO_SUBTESTS;
    702 }
    703 IN_PROC_BROWSER_TEST_F(PPAPIPrivateNaClPNaClTest,
    704                        MAYBE_PNACL_NONSFI(FILEIO_Private)) {
    705   RUN_FILEIO_PRIVATE_SUBTESTS;
    706 }
    707 
    708 // PPB_FileMapping is only implemented on POSIX currently.
    709 // http://crbug.com/83774
    710 #if defined(OS_WIN)
    711 #define MAYBE_FileMapping DISABLED_FileMapping
    712 #else
    713 #define MAYBE_FileMapping FileMapping
    714 #endif
    715 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_FileMapping)
    716 TEST_PPAPI_NACL(MAYBE_FileMapping)
    717 
    718 // FileRef tests.
    719 #define RUN_FILEREF_SUBTESTS_1 \
    720   RunTestViaHTTP( \
    721       LIST_TEST(FileRef_Create) \
    722       LIST_TEST(FileRef_GetFileSystemType) \
    723       LIST_TEST(FileRef_GetName) \
    724       LIST_TEST(FileRef_GetPath) \
    725       LIST_TEST(FileRef_GetParent) \
    726       LIST_TEST(FileRef_MakeDirectory) \
    727   )
    728 
    729 #define RUN_FILEREF_SUBTESTS_2 \
    730   RunTestViaHTTP( \
    731       LIST_TEST(FileRef_QueryAndTouchFile) \
    732       LIST_TEST(FileRef_DeleteFileAndDirectory) \
    733       LIST_TEST(FileRef_RenameFileAndDirectory) \
    734       LIST_TEST(FileRef_Query) \
    735       LIST_TEST(FileRef_FileNameEscaping) \
    736   )
    737 
    738 // Note, the FileRef tests are split into two, because all of them together
    739 // sometimes take too long on windows: crbug.com/336999
    740 IN_PROC_BROWSER_TEST_F(PPAPITest, FileRef1) {
    741   RUN_FILEREF_SUBTESTS_1;
    742 }
    743 IN_PROC_BROWSER_TEST_F(PPAPITest, FileRef2) {
    744   RUN_FILEREF_SUBTESTS_2;
    745 }
    746 // This test only works as an in-process test. See crbug.com/241646.
    747 IN_PROC_BROWSER_TEST_F(PPAPITest, FileRef_ReadDirectoryEntries) {
    748   RunTestViaHTTP(LIST_TEST(FileRef_ReadDirectoryEntries));
    749 }
    750 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileRef1) {
    751   RUN_FILEREF_SUBTESTS_1;
    752 }
    753 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FileRef2) {
    754   RUN_FILEREF_SUBTESTS_2;
    755 }
    756 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, FileRef1) {
    757   RUN_FILEREF_SUBTESTS_1;
    758 }
    759 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, FileRef2) {
    760   RUN_FILEREF_SUBTESTS_2;
    761 }
    762 // Flaky on 32-bit linux bot; http://crbug.com/308908
    763 // Glibc not available on ARM
    764 #if (defined(OS_LINUX) && defined(ARCH_CPU_X86)) \
    765     || defined(ARCH_CPU_ARM_FAMILY)
    766 #define MAYBE_NaCl_Glibc_FileRef1 DISABLED_FileRef1
    767 #define MAYBE_NaCl_Glibc_FileRef2 DISABLED_FileRef2
    768 #else
    769 #define MAYBE_NaCl_Glibc_FileRef1 FileRef1
    770 #define MAYBE_NaCl_Glibc_FileRef2 FileRef2
    771 #endif
    772 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_NaCl_Glibc_FileRef1) {
    773   RUN_FILEREF_SUBTESTS_1;
    774 }
    775 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_NaCl_Glibc_FileRef2) {
    776   RUN_FILEREF_SUBTESTS_2;
    777 }
    778 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, FileRef1) {
    779   RUN_FILEREF_SUBTESTS_1;
    780 }
    781 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, FileRef2) {
    782   RUN_FILEREF_SUBTESTS_2;
    783 }
    784 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    785                        MAYBE_PNACL_NONSFI(FileRef1)) {
    786   RUN_FILEREF_SUBTESTS_1;
    787 }
    788 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    789                        MAYBE_PNACL_NONSFI(FileRef2)) {
    790   RUN_FILEREF_SUBTESTS_2;
    791 }
    792 
    793 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileSystem)
    794 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem)
    795 
    796 // PPAPINaClTest.FileSystem times out consistently on Windows and Mac.
    797 // http://crbug.com/130372
    798 #if defined(OS_MACOSX) || defined(OS_WIN)
    799 #define MAYBE_FileSystem DISABLED_FileSystem
    800 #else
    801 #define MAYBE_FileSystem FileSystem
    802 #endif
    803 
    804 TEST_PPAPI_NACL(MAYBE_FileSystem)
    805 
    806 #if defined(OS_MACOSX)
    807 // http://crbug.com/103912
    808 #define MAYBE_Fullscreen DISABLED_Fullscreen
    809 #elif defined(OS_LINUX)
    810 // http://crbug.com/146008
    811 #define MAYBE_Fullscreen DISABLED_Fullscreen
    812 #elif defined(OS_WIN)
    813 // http://crbug.com/342269
    814 #define MAYBE_Fullscreen DISABLED_Fullscreen
    815 #else
    816 #define MAYBE_Fullscreen Fullscreen
    817 #endif
    818 
    819 TEST_PPAPI_IN_PROCESS_VIA_HTTP(MAYBE_Fullscreen)
    820 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(MAYBE_Fullscreen)
    821 TEST_PPAPI_NACL(MAYBE_Fullscreen)
    822 
    823 TEST_PPAPI_OUT_OF_PROCESS(X509CertificatePrivate)
    824 
    825 TEST_PPAPI_IN_PROCESS(UMA)
    826 TEST_PPAPI_OUT_OF_PROCESS(UMA)
    827 TEST_PPAPI_NACL(UMA)
    828 
    829 // NetAddress tests.
    830 #define RUN_NETADDRESS_SUBTESTS \
    831   RunTestViaHTTP( \
    832       LIST_TEST(NetAddress_IPv4Address) \
    833       LIST_TEST(NetAddress_IPv6Address) \
    834       LIST_TEST(NetAddress_DescribeAsString) \
    835   )
    836 
    837 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddress) {
    838   RUN_NETADDRESS_SUBTESTS;
    839 }
    840 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddress) {
    841   RUN_NETADDRESS_SUBTESTS;
    842 }
    843 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetAddress)) {
    844   RUN_NETADDRESS_SUBTESTS;
    845 }
    846 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddress) {
    847   RUN_NETADDRESS_SUBTESTS;
    848 }
    849 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    850                        MAYBE_PNACL_NONSFI(NetAddress)) {
    851   RUN_NETADDRESS_SUBTESTS;
    852 }
    853 
    854 // NetAddressPrivate tests.
    855 #define RUN_NETADDRESS_PRIVATE_SUBTESTS \
    856   RunTestViaHTTP( \
    857       LIST_TEST(NetAddressPrivate_AreEqual) \
    858       LIST_TEST(NetAddressPrivate_AreHostsEqual) \
    859       LIST_TEST(NetAddressPrivate_Describe) \
    860       LIST_TEST(NetAddressPrivate_ReplacePort) \
    861       LIST_TEST(NetAddressPrivate_GetAnyAddress) \
    862       LIST_TEST(NetAddressPrivate_DescribeIPv6) \
    863       LIST_TEST(NetAddressPrivate_GetFamily) \
    864       LIST_TEST(NetAddressPrivate_GetPort) \
    865       LIST_TEST(NetAddressPrivate_GetAddress) \
    866       LIST_TEST(NetAddressPrivate_GetScopeID) \
    867   )
    868 
    869 IN_PROC_BROWSER_TEST_F(PPAPITest, NetAddressPrivate) {
    870   RUN_NETADDRESS_PRIVATE_SUBTESTS;
    871 }
    872 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetAddressPrivate) {
    873   RUN_NETADDRESS_PRIVATE_SUBTESTS;
    874 }
    875 
    876 #define RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS \
    877   RunTestViaHTTP( \
    878       LIST_TEST(NetAddressPrivateUntrusted_AreEqual) \
    879       LIST_TEST(NetAddressPrivateUntrusted_AreHostsEqual) \
    880       LIST_TEST(NetAddressPrivateUntrusted_Describe) \
    881       LIST_TEST(NetAddressPrivateUntrusted_ReplacePort) \
    882       LIST_TEST(NetAddressPrivateUntrusted_GetAnyAddress) \
    883       LIST_TEST(NetAddressPrivateUntrusted_GetFamily) \
    884       LIST_TEST(NetAddressPrivateUntrusted_GetPort) \
    885       LIST_TEST(NetAddressPrivateUntrusted_GetAddress) \
    886   )
    887 
    888 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetAddressPrivate) {
    889   RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
    890 }
    891 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetAddressPrivate)) {
    892   RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
    893 }
    894 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetAddressPrivate) {
    895   RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
    896 }
    897 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    898                        MAYBE_PNACL_NONSFI(NetAddressPrivate)) {
    899   RUN_NETADDRESS_PRIVATE_UNTRUSTED_SUBTESTS;
    900 }
    901 
    902 // NetworkMonitor tests.
    903 #define RUN_NETWORK_MONITOR_SUBTESTS \
    904   RunTestViaHTTP( \
    905       LIST_TEST(NetworkMonitor_Basic) \
    906       LIST_TEST(NetworkMonitor_2Monitors) \
    907       LIST_TEST(NetworkMonitor_DeleteInCallback) \
    908   )
    909 
    910 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, NetworkMonitor) {
    911   RUN_NETWORK_MONITOR_SUBTESTS;
    912 }
    913 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, NetworkMonitor) {
    914   RUN_NETWORK_MONITOR_SUBTESTS;
    915 }
    916 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(NetworkMonitor)) {
    917   RUN_NETWORK_MONITOR_SUBTESTS;
    918 }
    919 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, NetworkMonitor) {
    920   RUN_NETWORK_MONITOR_SUBTESTS;
    921 }
    922 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
    923                        MAYBE_PNACL_NONSFI(NetworkMonitor)) {
    924   RUN_NETWORK_MONITOR_SUBTESTS;
    925 }
    926 
    927 // Flash tests.
    928 #define RUN_FLASH_SUBTESTS \
    929   RunTestViaHTTP( \
    930       LIST_TEST(Flash_SetInstanceAlwaysOnTop) \
    931       LIST_TEST(Flash_GetCommandLineArgs) \
    932   )
    933 
    934 IN_PROC_BROWSER_TEST_F(PPAPITest, Flash) {
    935   RUN_FLASH_SUBTESTS;
    936 }
    937 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, Flash) {
    938   RUN_FLASH_SUBTESTS;
    939 }
    940 
    941 // In-process WebSocket tests. Note, the WebSocket tests are split into two,
    942 // because all of them together sometimes take too long on windows:
    943 // crbug.com/336999
    944 #define RUN_WEBSOCKET_SUBTESTS_1 \
    945   RunTestWithWebSocketServer( \
    946       LIST_TEST(WebSocket_IsWebSocket) \
    947       LIST_TEST(WebSocket_UninitializedPropertiesAccess) \
    948       LIST_TEST(WebSocket_InvalidConnect) \
    949       LIST_TEST(WebSocket_Protocols) \
    950       LIST_TEST(WebSocket_GetURL) \
    951       LIST_TEST(WebSocket_ValidConnect) \
    952       LIST_TEST(WebSocket_InvalidClose) \
    953       LIST_TEST(WebSocket_ValidClose) \
    954       LIST_TEST(WebSocket_GetProtocol) \
    955       LIST_TEST(WebSocket_TextSendReceive) \
    956       LIST_TEST(WebSocket_BinarySendReceive) \
    957       LIST_TEST(WebSocket_StressedSendReceive) \
    958       LIST_TEST(WebSocket_BufferedAmount) \
    959   )
    960 
    961 #define RUN_WEBSOCKET_SUBTESTS_2 \
    962   RunTestWithWebSocketServer( \
    963       LIST_TEST(WebSocket_AbortCallsWithCallback) \
    964       LIST_TEST(WebSocket_AbortSendMessageCall) \
    965       LIST_TEST(WebSocket_AbortCloseCall) \
    966       LIST_TEST(WebSocket_AbortReceiveMessageCall) \
    967       LIST_TEST(WebSocket_CcInterfaces) \
    968       LIST_TEST(WebSocket_UtilityInvalidConnect) \
    969       LIST_TEST(WebSocket_UtilityProtocols) \
    970       LIST_TEST(WebSocket_UtilityGetURL) \
    971       LIST_TEST(WebSocket_UtilityValidConnect) \
    972       LIST_TEST(WebSocket_UtilityInvalidClose) \
    973       LIST_TEST(WebSocket_UtilityValidClose) \
    974       LIST_TEST(WebSocket_UtilityGetProtocol) \
    975       LIST_TEST(WebSocket_UtilityTextSendReceive) \
    976       LIST_TEST(WebSocket_UtilityBinarySendReceive) \
    977   )
    978 // TODO(yhirano): List this test in SUBTESTS_2 once the close ordering
    979 // is implemented correctly.
    980 //    LIST_TEST(WebSocket_UtilityBufferedAmount)
    981 
    982 IN_PROC_BROWSER_TEST_F(PPAPITest, WebSocket1) {
    983   RUN_WEBSOCKET_SUBTESTS_1;
    984 }
    985 IN_PROC_BROWSER_TEST_F(PPAPITest, WebSocket2) {
    986   RUN_WEBSOCKET_SUBTESTS_2;
    987 }
    988 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, WebSocket1) {
    989   RUN_WEBSOCKET_SUBTESTS_1;
    990 }
    991 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, WebSocket2) {
    992   RUN_WEBSOCKET_SUBTESTS_2;
    993 }
    994 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, WebSocket1) {
    995   RUN_WEBSOCKET_SUBTESTS_1;
    996 }
    997 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, WebSocket2) {
    998   RUN_WEBSOCKET_SUBTESTS_2;
    999 }
   1000 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(WebSocket1)) {
   1001   RUN_WEBSOCKET_SUBTESTS_1;
   1002 }
   1003 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(WebSocket2)) {
   1004   RUN_WEBSOCKET_SUBTESTS_2;
   1005 }
   1006 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, WebSocket1) {
   1007   RUN_WEBSOCKET_SUBTESTS_1;
   1008 }
   1009 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, WebSocket2) {
   1010   RUN_WEBSOCKET_SUBTESTS_2;
   1011 }
   1012 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
   1013                        MAYBE_PNACL_NONSFI(WebSocket1)) {
   1014   RUN_WEBSOCKET_SUBTESTS_1;
   1015 }
   1016 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
   1017                        MAYBE_PNACL_NONSFI(WebSocket2)) {
   1018   RUN_WEBSOCKET_SUBTESTS_2;
   1019 }
   1020 
   1021 // AudioConfig tests
   1022 #define RUN_AUDIO_CONFIG_SUBTESTS \
   1023   RunTestViaHTTP( \
   1024       LIST_TEST(AudioConfig_RecommendSampleRate) \
   1025       LIST_TEST(AudioConfig_ValidConfigs) \
   1026       LIST_TEST(AudioConfig_InvalidConfigs) \
   1027   )
   1028 
   1029 IN_PROC_BROWSER_TEST_F(PPAPITest, AudioConfig) {
   1030   RUN_AUDIO_CONFIG_SUBTESTS;
   1031 }
   1032 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, AudioConfig) {
   1033   RUN_AUDIO_CONFIG_SUBTESTS;
   1034 }
   1035 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, AudioConfig) {
   1036   RUN_AUDIO_CONFIG_SUBTESTS;
   1037 }
   1038 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(AudioConfig)) {
   1039   RUN_AUDIO_CONFIG_SUBTESTS;
   1040 }
   1041 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, AudioConfig) {
   1042   RUN_AUDIO_CONFIG_SUBTESTS;
   1043 }
   1044 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
   1045                        MAYBE_PNACL_NONSFI(AudioConfig)) {
   1046   RUN_AUDIO_CONFIG_SUBTESTS;
   1047 }
   1048 
   1049 // PPB_Audio tests.
   1050 #define RUN_AUDIO_SUBTESTS \
   1051   RunTestViaHTTP( \
   1052       LIST_TEST(Audio_Creation) \
   1053       LIST_TEST(Audio_DestroyNoStop) \
   1054       LIST_TEST(Audio_Failures) \
   1055       LIST_TEST(Audio_AudioCallback1) \
   1056       LIST_TEST(Audio_AudioCallback2) \
   1057       LIST_TEST(Audio_AudioCallback3) \
   1058       LIST_TEST(Audio_AudioCallback4) \
   1059   )
   1060 
   1061 // PPB_Audio is not supported in-process.
   1062 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, Audio) {
   1063   RUN_AUDIO_SUBTESTS;
   1064 }
   1065 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, Audio) {
   1066   RUN_AUDIO_SUBTESTS;
   1067 }
   1068 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(Audio)) {
   1069   RUN_AUDIO_SUBTESTS;
   1070 }
   1071 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, Audio) {
   1072   RUN_AUDIO_SUBTESTS;
   1073 }
   1074 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
   1075                        MAYBE_PNACL_NONSFI(Audio)) {
   1076   RUN_AUDIO_SUBTESTS;
   1077 }
   1078 
   1079 #define RUN_AUDIO_THREAD_CREATOR_SUBTESTS \
   1080   RunTestViaHTTP( \
   1081       LIST_TEST(Audio_AudioThreadCreatorIsRequired) \
   1082       LIST_TEST(Audio_AudioThreadCreatorIsCalled) \
   1083   )
   1084 
   1085 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, AudioThreadCreator) {
   1086   RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
   1087 }
   1088 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(AudioThreadCreator)) {
   1089   RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
   1090 }
   1091 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, AudioThreadCreator) {
   1092   RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
   1093 }
   1094 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest,
   1095                        MAYBE_PNACL_NONSFI(AudioThreadCreator)) {
   1096   RUN_AUDIO_THREAD_CREATOR_SUBTESTS;
   1097 }
   1098 
   1099 TEST_PPAPI_IN_PROCESS(View_CreatedVisible);
   1100 TEST_PPAPI_OUT_OF_PROCESS(View_CreatedVisible);
   1101 TEST_PPAPI_NACL(View_CreatedVisible);
   1102 // This test ensures that plugins created in a background tab have their
   1103 // initial visibility set to false. We don't bother testing in-process for this
   1104 // custom test since the out of process code also exercises in-process.
   1105 
   1106 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_CreateInvisible) {
   1107   // Make a second tab in the foreground.
   1108   GURL url = GetTestFileUrl("View_CreatedInvisible");
   1109   chrome::NavigateParams params(browser(), url, content::PAGE_TRANSITION_LINK);
   1110   params.disposition = NEW_BACKGROUND_TAB;
   1111   ui_test_utils::NavigateToURL(&params);
   1112 }
   1113 
   1114 // This test messes with tab visibility so is custom.
   1115 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View_PageHideShow) {
   1116   // The plugin will be loaded in the foreground tab and will send us a message.
   1117   PPAPITestMessageHandler handler;
   1118   content::JavascriptTestObserver observer(
   1119       browser()->tab_strip_model()->GetActiveWebContents(),
   1120       &handler);
   1121 
   1122   GURL url = GetTestFileUrl("View_PageHideShow");
   1123   ui_test_utils::NavigateToURL(browser(), url);
   1124 
   1125   ASSERT_TRUE(observer.Run()) << handler.error_message();
   1126   EXPECT_STREQ("TestPageHideShow:Created", handler.message().c_str());
   1127   observer.Reset();
   1128 
   1129   // Make a new tab to cause the original one to hide, this should trigger the
   1130   // next phase of the test.
   1131   chrome::NavigateParams params(
   1132       browser(), GURL(url::kAboutBlankURL), content::PAGE_TRANSITION_LINK);
   1133   params.disposition = NEW_FOREGROUND_TAB;
   1134   ui_test_utils::NavigateToURL(&params);
   1135 
   1136   // Wait until the test acks that it got hidden.
   1137   ASSERT_TRUE(observer.Run()) << handler.error_message();
   1138   EXPECT_STREQ("TestPageHideShow:Hidden", handler.message().c_str());
   1139   observer.Reset();
   1140 
   1141   // Switch back to the test tab.
   1142   browser()->tab_strip_model()->ActivateTabAt(0, true);
   1143 
   1144   ASSERT_TRUE(observer.Run()) << handler.error_message();
   1145   EXPECT_STREQ("PASS", handler.message().c_str());
   1146 }
   1147 
   1148 // Tests that if a plugin accepts touch events, the browser knows to send touch
   1149 // events to the renderer.
   1150 IN_PROC_BROWSER_TEST_F(PPAPITest, InputEvent_AcceptTouchEvent) {
   1151   std::string positive_tests[] = { "InputEvent_AcceptTouchEvent_1",
   1152                                    "InputEvent_AcceptTouchEvent_2",
   1153                                    "InputEvent_AcceptTouchEvent_3",
   1154                                    "InputEvent_AcceptTouchEvent_4"
   1155                                  };
   1156 
   1157   for (size_t i = 0; i < arraysize(positive_tests); ++i) {
   1158     RenderViewHost* host = browser()->tab_strip_model()->
   1159         GetActiveWebContents()->GetRenderViewHost();
   1160     RunTest(positive_tests[i]);
   1161     EXPECT_TRUE(content::RenderViewHostTester::HasTouchEventHandler(host));
   1162   }
   1163 }
   1164 
   1165 // View tests.
   1166 #define RUN_VIEW_SUBTESTS \
   1167   RunTestViaHTTP( \
   1168       LIST_TEST(View_SizeChange) \
   1169       LIST_TEST(View_ClipChange) \
   1170       LIST_TEST(View_ScrollOffsetChange) \
   1171   )
   1172 
   1173 IN_PROC_BROWSER_TEST_F(PPAPITest, View) {
   1174   RUN_VIEW_SUBTESTS;
   1175 }
   1176 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, View) {
   1177   RUN_VIEW_SUBTESTS;
   1178 }
   1179 IN_PROC_BROWSER_TEST_F(PPAPINaClNewlibTest, View) {
   1180   RUN_VIEW_SUBTESTS;
   1181 }
   1182 IN_PROC_BROWSER_TEST_F(PPAPINaClGLibcTest, MAYBE_GLIBC(View)) {
   1183   RUN_VIEW_SUBTESTS;
   1184 }
   1185 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClTest, View) {
   1186   RUN_VIEW_SUBTESTS;
   1187 }
   1188 IN_PROC_BROWSER_TEST_F(PPAPINaClPNaClNonSfiTest, MAYBE_PNACL_NONSFI(View)) {
   1189   RUN_VIEW_SUBTESTS;
   1190 }
   1191 
   1192 // FlashMessageLoop tests.
   1193 #define RUN_FLASH_MESSAGE_LOOP_SUBTESTS \
   1194   RunTest( \
   1195       LIST_TEST(FlashMessageLoop_Basics) \
   1196       LIST_TEST(FlashMessageLoop_RunWithoutQuit) \
   1197   )
   1198 
   1199 IN_PROC_BROWSER_TEST_F(PPAPITest, FlashMessageLoop) {
   1200   RUN_FLASH_MESSAGE_LOOP_SUBTESTS;
   1201 }
   1202 #if defined(OS_LINUX)  // Disabled due to flakiness http://crbug.com/316925
   1203 #define MAYBE_FlashMessageLoop DISABLED_FlashMessageLoop
   1204 #else
   1205 #define MAYBE_FlashMessageLoop FlashMessageLoop
   1206 #endif
   1207 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, MAYBE_FlashMessageLoop) {
   1208   RUN_FLASH_MESSAGE_LOOP_SUBTESTS;
   1209 }
   1210 
   1211 #if defined(OS_WIN)
   1212 // This test fails with the test compositor which is what's used by default for
   1213 // browser tests on Windows. Renable when the software compositor is available.
   1214 #define MAYBE_Compositor DISABLED_Compositor
   1215 #elif defined(OS_MACOSX)
   1216 // This test fails when using the legacy software mode. Reenable when the
   1217 // software compositor is enabled crbug.com/286038
   1218 #define MAYBE_Compositor DISABLED_Compositor
   1219 #else
   1220 #define MAYBE_Compositor Compositor
   1221 #endif
   1222 TEST_PPAPI_NACL(MAYBE_Compositor)
   1223 
   1224 TEST_PPAPI_NACL(MediaStreamAudioTrack)
   1225 
   1226 TEST_PPAPI_NACL(MediaStreamVideoTrack)
   1227 
   1228 TEST_PPAPI_NACL(MouseCursor)
   1229 
   1230 TEST_PPAPI_NACL(NetworkProxy)
   1231 
   1232 TEST_PPAPI_NACL(TrueTypeFont)
   1233 
   1234 TEST_PPAPI_NACL(VideoDecoder)
   1235 
   1236 // VideoDestination doesn't work in content_browsertests.
   1237 TEST_PPAPI_OUT_OF_PROCESS(VideoDestination)
   1238 TEST_PPAPI_NACL(VideoDestination)
   1239 
   1240 // VideoSource doesn't work in content_browsertests.
   1241 TEST_PPAPI_OUT_OF_PROCESS(VideoSource)
   1242 TEST_PPAPI_NACL(VideoSource)
   1243 
   1244 // Printing doesn't work in content_browsertests.
   1245 TEST_PPAPI_OUT_OF_PROCESS(Printing)
   1246 
   1247 // TODO(dmichael): Make this work on PNaCl and remove the macro.
   1248 //                 crbug.com/384539
   1249 TEST_PPAPI_NACL_NO_PNACL(MessageHandler)
   1250 
   1251 TEST_PPAPI_NACL(MessageLoop_Basics)
   1252 TEST_PPAPI_NACL(MessageLoop_Post)
   1253 
   1254 // Going forward, Flash APIs will only work out-of-process.
   1255 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetLocalTimeZoneOffset)
   1256 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetProxyForURL)
   1257 TEST_PPAPI_OUT_OF_PROCESS(Flash_GetSetting)
   1258 TEST_PPAPI_OUT_OF_PROCESS(Flash_SetCrashData)
   1259 // http://crbug.com/176822
   1260 #if !defined(OS_WIN)
   1261 TEST_PPAPI_OUT_OF_PROCESS(FlashClipboard)
   1262 #endif
   1263 TEST_PPAPI_OUT_OF_PROCESS(FlashFile)
   1264 // Mac/Aura reach NOTIMPLEMENTED/time out.
   1265 // mac: http://crbug.com/96767
   1266 // aura: http://crbug.com/104384
   1267 #if defined(OS_MACOSX)
   1268 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen
   1269 #else
   1270 #define MAYBE_FlashFullscreen FlashFullscreen
   1271 #endif
   1272 TEST_PPAPI_OUT_OF_PROCESS(MAYBE_FlashFullscreen)
   1273 
   1274 TEST_PPAPI_OUT_OF_PROCESS(PDF)
   1275 
   1276 // TODO(dalecurtis): Renable once the platform verification infobar has been
   1277 // implemented; see http://crbug.com/270908
   1278 // #if defined(OS_CHROMEOS)
   1279 // TEST_PPAPI_OUT_OF_PROCESS(PlatformVerificationPrivate)
   1280 // #endif
   1281 
   1282 IN_PROC_BROWSER_TEST_F(OutOfProcessPPAPITest, FlashDRM) {
   1283   RunTest(
   1284 #if (defined(OS_WIN) && defined(ENABLE_RLZ)) || defined(OS_CHROMEOS)
   1285           // Only implemented on Windows and ChromeOS currently.
   1286           LIST_TEST(FlashDRM_GetDeviceID)
   1287 #endif
   1288           LIST_TEST(FlashDRM_GetHmonitor)
   1289           LIST_TEST(FlashDRM_GetVoucherFile));
   1290 }
   1291 
   1292 TEST_PPAPI_IN_PROCESS(TalkPrivate)
   1293 TEST_PPAPI_OUT_OF_PROCESS(TalkPrivate)
   1294 
   1295 #if defined(OS_CHROMEOS)
   1296 TEST_PPAPI_OUT_OF_PROCESS(OutputProtectionPrivate)
   1297 #endif
   1298