| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/file_util.h" | 5 #include "base/file_util.h" |
| 6 #include "base/path_service.h" | 6 #include "base/path_service.h" |
| 7 #include "base/test/test_timeouts.h" | 7 #include "base/test/test_timeouts.h" |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #include "content/browser/plugin_service.h" |
| 9 #include "content/public/common/content_switches.h" | 10 #include "content/public/common/content_switches.h" |
| 11 #include "content/common/pepper_plugin_registry.h" |
| 12 #include "chrome/common/chrome_paths.h" |
| 10 #include "chrome/common/chrome_switches.h" | 13 #include "chrome/common/chrome_switches.h" |
| 11 #include "chrome/test/automation/tab_proxy.h" | 14 #include "chrome/test/automation/tab_proxy.h" |
| 12 #include "chrome/test/ui/ui_test.h" | 15 #include "chrome/test/ui/ui_test.h" |
| 13 #include "net/base/net_util.h" | 16 #include "net/base/net_util.h" |
| 14 #include "net/test/test_server.h" | 17 #include "net/test/test_server.h" |
| 15 #include "webkit/plugins/plugin_switches.h" | 18 #include "webkit/plugins/plugin_switches.h" |
| 16 | 19 |
| 20 |
| 17 namespace { | 21 namespace { |
| 18 | 22 |
| 19 // Platform-specific filename relative to the chrome executable. | 23 // Platform-specific filename relative to the chrome executable. |
| 20 #if defined(OS_WIN) | 24 #if defined(OS_WIN) |
| 21 const wchar_t library_name[] = L"ppapi_tests.dll"; | 25 const wchar_t library_name[] = L"ppapi_tests.dll"; |
| 22 #elif defined(OS_MACOSX) | 26 #elif defined(OS_MACOSX) |
| 23 const char library_name[] = "ppapi_tests.plugin"; | 27 const char library_name[] = "ppapi_tests.plugin"; |
| 24 #elif defined(OS_POSIX) | 28 #elif defined(OS_POSIX) |
| 25 const char library_name[] = "libppapi_tests.so"; | 29 const char library_name[] = "libppapi_tests.so"; |
| 26 #endif | 30 #endif |
| 27 | 31 |
| 28 } // namespace | 32 } // namespace |
| 29 | 33 |
| 30 // In-process plugin test runner. See OutOfProcessPPAPITest below for the | 34 class PPAPITestBase : public UITest { |
| 31 // out-of-process version. | |
| 32 class PPAPITest : public UITest { | |
| 33 public: | 35 public: |
| 34 PPAPITest() { | 36 PPAPITestBase() { |
| 35 // Append the switch to register the pepper plugin. | |
| 36 // library name = <out dir>/<test_name>.<library_extension> | |
| 37 // MIME type = application/x-ppapi-<test_name> | |
| 38 FilePath plugin_dir; | |
| 39 PathService::Get(base::DIR_EXE, &plugin_dir); | |
| 40 | |
| 41 FilePath plugin_lib = plugin_dir.Append(library_name); | |
| 42 EXPECT_TRUE(file_util::PathExists(plugin_lib)); | |
| 43 FilePath::StringType pepper_plugin = plugin_lib.value(); | |
| 44 pepper_plugin.append(FILE_PATH_LITERAL(";application/x-ppapi-tests")); | |
| 45 launch_arguments_.AppendSwitchNative(switches::kRegisterPepperPlugins, | |
| 46 pepper_plugin); | |
| 47 | |
| 48 // The test sends us the result via a cookie. | 37 // The test sends us the result via a cookie. |
| 49 launch_arguments_.AppendSwitch(switches::kEnableFileCookies); | 38 launch_arguments_.AppendSwitch(switches::kEnableFileCookies); |
| 50 | 39 |
| 51 // Some stuff is hung off of the testing interface which is not enabled | 40 // Some stuff is hung off of the testing interface which is not enabled |
| 52 // by default. | 41 // by default. |
| 53 launch_arguments_.AppendSwitch(switches::kEnablePepperTesting); | 42 launch_arguments_.AppendSwitch(switches::kEnablePepperTesting); |
| 54 | 43 |
| 55 // Smooth scrolling confuses the scrollbar test. | 44 // Smooth scrolling confuses the scrollbar test. |
| 56 launch_arguments_.AppendSwitch(switches::kDisableSmoothScrolling); | 45 launch_arguments_.AppendSwitch(switches::kDisableSmoothScrolling); |
| 57 } | 46 } |
| 58 | 47 |
| 48 virtual std::string BuildQuery(const std::string& base, |
| 49 const std::string& test_case)=0; |
| 50 |
| 59 void RunTest(const std::string& test_case) { | 51 void RunTest(const std::string& test_case) { |
| 60 FilePath test_path; | 52 FilePath test_path; |
| 61 PathService::Get(base::DIR_SOURCE_ROOT, &test_path); | 53 EXPECT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &test_path)); |
| 62 test_path = test_path.Append(FILE_PATH_LITERAL("ppapi")); | 54 test_path = test_path.Append(FILE_PATH_LITERAL("ppapi")); |
| 63 test_path = test_path.Append(FILE_PATH_LITERAL("tests")); | 55 test_path = test_path.Append(FILE_PATH_LITERAL("tests")); |
| 64 test_path = test_path.Append(FILE_PATH_LITERAL("test_case.html")); | 56 test_path = test_path.Append(FILE_PATH_LITERAL("test_case.html")); |
| 65 | 57 |
| 66 // Sanity check the file name. | 58 // Sanity check the file name. |
| 67 EXPECT_TRUE(file_util::PathExists(test_path)); | 59 EXPECT_TRUE(file_util::PathExists(test_path)); |
| 68 | 60 |
| 69 GURL::Replacements replacements; | 61 GURL::Replacements replacements; |
| 70 std::string query("testcase="); | 62 std::string query = BuildQuery("", test_case); |
| 71 query += test_case; | |
| 72 replacements.SetQuery(query.c_str(), url_parse::Component(0, query.size())); | 63 replacements.SetQuery(query.c_str(), url_parse::Component(0, query.size())); |
| 73 GURL test_url = net::FilePathToFileURL(test_path); | 64 GURL test_url = net::FilePathToFileURL(test_path); |
| 74 RunTestURL(test_url.ReplaceComponents(replacements)); | 65 RunTestURL(test_url.ReplaceComponents(replacements)); |
| 75 } | 66 } |
| 76 | 67 |
| 77 void RunTestViaHTTP(const std::string& test_case) { | 68 void RunTestViaHTTP(const std::string& test_case) { |
| 78 net::TestServer test_server( | 69 // For HTTP tests, we use the output DIR to grab the generated files such |
| 79 net::TestServer::TYPE_HTTP, | 70 // as the NEXEs. |
| 80 FilePath(FILE_PATH_LITERAL("ppapi/tests"))); | 71 FilePath exe_dir = CommandLine::ForCurrentProcess()->GetProgram().DirName(); |
| 72 FilePath src_dir; |
| 73 ASSERT_TRUE(PathService::Get(base::DIR_SOURCE_ROOT, &src_dir)); |
| 74 |
| 75 // TestServer expects a path relative to source. So we must first |
| 76 // generate absolute paths to SRC and EXE and from there generate |
| 77 // a relative path. |
| 78 if (!exe_dir.IsAbsolute()) file_util::AbsolutePath(&exe_dir); |
| 79 if (!src_dir.IsAbsolute()) file_util::AbsolutePath(&src_dir); |
| 80 ASSERT_TRUE(exe_dir.IsAbsolute()); |
| 81 ASSERT_TRUE(src_dir.IsAbsolute()); |
| 82 |
| 83 size_t match, exe_size, src_size; |
| 84 std::vector<FilePath::StringType> src_parts, exe_parts; |
| 85 |
| 86 // Determine point at which src and exe diverge, and create a relative path. |
| 87 exe_dir.GetComponents(&exe_parts); |
| 88 src_dir.GetComponents(&src_parts); |
| 89 exe_size = exe_parts.size(); |
| 90 src_size = src_parts.size(); |
| 91 for (match = 0; match < exe_size && match < src_size; ++match) { |
| 92 if (exe_parts[match] != src_parts[match]) |
| 93 break; |
| 94 } |
| 95 FilePath web_dir; |
| 96 for (size_t tmp_itr = match; tmp_itr < src_size; ++tmp_itr) { |
| 97 web_dir = web_dir.Append(FILE_PATH_LITERAL("..")); |
| 98 } |
| 99 for (; match < exe_size; ++match) { |
| 100 web_dir = web_dir.Append(exe_parts[match]); |
| 101 } |
| 102 |
| 103 net::TestServer test_server(net::TestServer::TYPE_HTTP, web_dir); |
| 81 ASSERT_TRUE(test_server.Start()); | 104 ASSERT_TRUE(test_server.Start()); |
| 82 RunTestURL( | 105 std::string query = BuildQuery("files/test_case.html?", test_case); |
| 83 test_server.GetURL("files/test_case.html?testcase=" + test_case)); | 106 RunTestURL(test_server.GetURL(query)); |
| 84 } | 107 } |
| 85 | 108 |
| 86 private: | 109 private: |
| 87 void RunTestURL(const GURL& test_url) { | 110 void RunTestURL(const GURL& test_url) { |
| 88 scoped_refptr<TabProxy> tab(GetActiveTab()); | 111 scoped_refptr<TabProxy> tab(GetActiveTab()); |
| 89 ASSERT_TRUE(tab.get()); | 112 ASSERT_TRUE(tab.get()); |
| 90 ASSERT_TRUE(tab->NavigateToURL(test_url)); | 113 ASSERT_TRUE(tab->NavigateToURL(test_url)); |
| 91 | 114 |
| 92 // See comment above TestingInstance in ppapi/test/testing_instance.h. | 115 // See comment above TestingInstance in ppapi/test/testing_instance.h. |
| 93 // Basically it sets a series of numbered cookies. The value of "..." means | 116 // Basically it sets a series of numbered cookies. The value of "..." means |
| (...skipping 18 matching lines...) Expand all Loading... |
| 112 << "Plugin couldn't be loaded. Make sure the PPAPI test plugin is " | 135 << "Plugin couldn't be loaded. Make sure the PPAPI test plugin is " |
| 113 << "built, in the right place, and doesn't have any missing symbols."; | 136 << "built, in the right place, and doesn't have any missing symbols."; |
| 114 } else { | 137 } else { |
| 115 ASSERT_FALSE(progress.empty()) << "Test timed out."; | 138 ASSERT_FALSE(progress.empty()) << "Test timed out."; |
| 116 } | 139 } |
| 117 | 140 |
| 118 EXPECT_STREQ("PASS", progress.c_str()); | 141 EXPECT_STREQ("PASS", progress.c_str()); |
| 119 } | 142 } |
| 120 }; | 143 }; |
| 121 | 144 |
| 145 // In-process plugin test runner. See OutOfProcessPPAPITest below for the |
| 146 // out-of-process version. |
| 147 class PPAPITest : public PPAPITestBase { |
| 148 public: |
| 149 PPAPITest() { |
| 150 // Append the switch to register the pepper plugin. |
| 151 // library name = <out dir>/<test_name>.<library_extension> |
| 152 // MIME type = application/x-ppapi-<test_name> |
| 153 FilePath plugin_dir; |
| 154 EXPECT_TRUE(PathService::Get(base::DIR_EXE, &plugin_dir)); |
| 155 |
| 156 FilePath plugin_lib = plugin_dir.Append(library_name); |
| 157 EXPECT_TRUE(file_util::PathExists(plugin_lib)); |
| 158 FilePath::StringType pepper_plugin = plugin_lib.value(); |
| 159 pepper_plugin.append(FILE_PATH_LITERAL(";application/x-ppapi-tests")); |
| 160 launch_arguments_.AppendSwitchNative(switches::kRegisterPepperPlugins, |
| 161 pepper_plugin); |
| 162 } |
| 163 |
| 164 std::string BuildQuery(const std::string& base, |
| 165 const std::string& test_case){ |
| 166 return StringPrintf("%stestcase=%s", base.c_str(), test_case.c_str()); |
| 167 } |
| 168 |
| 169 }; |
| 170 |
| 122 // Variant of PPAPITest that runs plugins out-of-process to test proxy | 171 // Variant of PPAPITest that runs plugins out-of-process to test proxy |
| 123 // codepaths. | 172 // codepaths. |
| 124 class OutOfProcessPPAPITest : public PPAPITest { | 173 class OutOfProcessPPAPITest : public PPAPITest { |
| 125 public: | 174 public: |
| 126 OutOfProcessPPAPITest() { | 175 OutOfProcessPPAPITest() { |
| 127 // Run PPAPI out-of-process to exercise proxy implementations. | 176 // Run PPAPI out-of-process to exercise proxy implementations. |
| 128 launch_arguments_.AppendSwitch(switches::kPpapiOutOfProcess); | 177 launch_arguments_.AppendSwitch(switches::kPpapiOutOfProcess); |
| 129 } | 178 } |
| 130 }; | 179 }; |
| 131 | 180 |
| 181 // NaCl plugin test runner. |
| 182 class PPAPINaClTest : public PPAPITestBase { |
| 183 public: |
| 184 PPAPINaClTest() { |
| 185 FilePath plugin_lib; |
| 186 EXPECT_TRUE(PathService::Get(chrome::FILE_NACL_PLUGIN, &plugin_lib)); |
| 187 EXPECT_TRUE(file_util::PathExists(plugin_lib)); |
| 188 |
| 189 // Enable running NaCl outside of the store. |
| 190 launch_arguments_.AppendSwitch(switches::kEnableNaCl); |
| 191 } |
| 192 |
| 193 // Append the correct mode and testcase string |
| 194 std::string BuildQuery(const std::string& base, |
| 195 const std::string& test_case) { |
| 196 return StringPrintf("%smode=nacl&testcase=%s", base.c_str(), |
| 197 test_case.c_str()); |
| 198 } |
| 199 }; |
| 200 |
| 201 |
| 132 // Use these macros to run the tests for a specific interface. | 202 // Use these macros to run the tests for a specific interface. |
| 133 // Most interfaces should be tested with both macros. | 203 // Most interfaces should be tested with both macros. |
| 134 #define TEST_PPAPI_IN_PROCESS(test_name) \ | 204 #define TEST_PPAPI_IN_PROCESS(test_name) \ |
| 135 TEST_F(PPAPITest, test_name) { \ | 205 TEST_F(PPAPITest, test_name) { \ |
| 136 RunTest(#test_name); \ | 206 RunTest(#test_name); \ |
| 137 } | 207 } |
| 138 #define TEST_PPAPI_OUT_OF_PROCESS(test_name) \ | 208 #define TEST_PPAPI_OUT_OF_PROCESS(test_name) \ |
| 139 TEST_F(OutOfProcessPPAPITest, test_name) { \ | 209 TEST_F(OutOfProcessPPAPITest, test_name) { \ |
| 140 RunTest(#test_name); \ | 210 RunTest(#test_name); \ |
| 141 } | 211 } |
| 142 | 212 |
| 143 // Similar macros that test over HTTP. | 213 // Similar macros that test over HTTP. |
| 144 #define TEST_PPAPI_IN_PROCESS_VIA_HTTP(test_name) \ | 214 #define TEST_PPAPI_IN_PROCESS_VIA_HTTP(test_name) \ |
| 145 TEST_F(PPAPITest, test_name) { \ | 215 TEST_F(PPAPITest, test_name) { \ |
| 146 RunTestViaHTTP(#test_name); \ | 216 RunTestViaHTTP(#test_name); \ |
| 147 } | 217 } |
| 148 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \ | 218 #define TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(test_name) \ |
| 149 TEST_F(OutOfProcessPPAPITest, test_name) { \ | 219 TEST_F(OutOfProcessPPAPITest, test_name) { \ |
| 150 RunTestViaHTTP(#test_name); \ | 220 RunTestViaHTTP(#test_name); \ |
| 151 } | 221 } |
| 152 | 222 |
| 153 | 223 |
| 224 // NaCl based PPAPI tests |
| 225 #define TEST_PPAPI_NACL_VIA_HTTP(test_name) \ |
| 226 TEST_F(PPAPINaClTest, test_name) { \ |
| 227 RunTestViaHTTP(#test_name); \ |
| 228 } |
| 229 |
| 154 // | 230 // |
| 155 // Interface tests. | 231 // Interface tests. |
| 156 // | 232 // |
| 157 | 233 |
| 158 TEST_PPAPI_IN_PROCESS(Broker) | 234 TEST_PPAPI_IN_PROCESS(Broker) |
| 159 TEST_PPAPI_OUT_OF_PROCESS(Broker) | 235 TEST_PPAPI_OUT_OF_PROCESS(Broker) |
| 160 | 236 |
| 161 TEST_PPAPI_IN_PROCESS(Core) | 237 TEST_PPAPI_IN_PROCESS(Core) |
| 162 TEST_PPAPI_OUT_OF_PROCESS(Core) | 238 TEST_PPAPI_OUT_OF_PROCESS(Core) |
| 163 | 239 |
| 164 TEST_PPAPI_IN_PROCESS(CursorControl) | 240 TEST_PPAPI_IN_PROCESS(CursorControl) |
| 165 TEST_PPAPI_OUT_OF_PROCESS(CursorControl) | 241 TEST_PPAPI_OUT_OF_PROCESS(CursorControl) |
| 242 TEST_PPAPI_NACL_VIA_HTTP(CursorControl) |
| 166 | 243 |
| 167 TEST_PPAPI_IN_PROCESS(Instance) | 244 TEST_PPAPI_IN_PROCESS(Instance) |
| 168 // http://crbug.com/91729 | 245 // http://crbug.com/91729 |
| 169 TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Instance) | 246 TEST_PPAPI_OUT_OF_PROCESS(DISABLED_Instance) |
| 170 | 247 |
| 171 TEST_PPAPI_IN_PROCESS(Graphics2D) | 248 TEST_PPAPI_IN_PROCESS(Graphics2D) |
| 172 TEST_PPAPI_OUT_OF_PROCESS(Graphics2D) | 249 TEST_PPAPI_OUT_OF_PROCESS(Graphics2D) |
| 250 TEST_PPAPI_NACL_VIA_HTTP(Graphics2D) |
| 173 | 251 |
| 174 TEST_PPAPI_IN_PROCESS(ImageData) | 252 TEST_PPAPI_IN_PROCESS(ImageData) |
| 175 TEST_PPAPI_OUT_OF_PROCESS(ImageData) | 253 TEST_PPAPI_OUT_OF_PROCESS(ImageData) |
| 254 TEST_PPAPI_NACL_VIA_HTTP(ImageData) |
| 176 | 255 |
| 177 TEST_PPAPI_IN_PROCESS(Buffer) | 256 TEST_PPAPI_IN_PROCESS(Buffer) |
| 178 TEST_PPAPI_OUT_OF_PROCESS(Buffer) | 257 TEST_PPAPI_OUT_OF_PROCESS(Buffer) |
| 179 | 258 |
| 180 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader) | 259 TEST_PPAPI_IN_PROCESS_VIA_HTTP(URLLoader) |
| 181 | |
| 182 // http://crbug.com/89961 | 260 // http://crbug.com/89961 |
| 183 #if defined(OS_WIN) | 261 #if defined(OS_WIN) |
| 184 // It often takes too long time (and fails otherwise) on Windows. | 262 // It often takes too long time (and fails otherwise) on Windows. |
| 185 #define MAYBE_URLLoader DISABLED_URLLoader | 263 #define MAYBE_URLLoader DISABLED_URLLoader |
| 186 #else | 264 #else |
| 187 #define MAYBE_URLLoader FAILS_URLLoader | 265 #define MAYBE_URLLoader FAILS_URLLoader |
| 188 #endif | 266 #endif |
| 189 | |
| 190 TEST_F(OutOfProcessPPAPITest, MAYBE_URLLoader) { | 267 TEST_F(OutOfProcessPPAPITest, MAYBE_URLLoader) { |
| 191 RunTestViaHTTP("URLLoader"); | 268 RunTestViaHTTP("URLLoader"); |
| 192 } | 269 } |
| 193 | 270 |
| 271 |
| 272 |
| 194 TEST_PPAPI_IN_PROCESS(PaintAggregator) | 273 TEST_PPAPI_IN_PROCESS(PaintAggregator) |
| 195 TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator) | 274 TEST_PPAPI_OUT_OF_PROCESS(PaintAggregator) |
| 275 TEST_PPAPI_NACL_VIA_HTTP(PaintAggregator) |
| 196 | 276 |
| 197 TEST_PPAPI_IN_PROCESS(Scrollbar) | 277 TEST_PPAPI_IN_PROCESS(Scrollbar) |
| 198 // http://crbug.com/89961 | 278 // http://crbug.com/89961 |
| 199 TEST_F(OutOfProcessPPAPITest, FAILS_Scrollbar) { | 279 TEST_F(OutOfProcessPPAPITest, FAILS_Scrollbar) { |
| 200 RunTest("Scrollbar"); | 280 RunTest("Scrollbar"); |
| 201 } | 281 } |
| 282 TEST_PPAPI_NACL_VIA_HTTP(Scrollbar) |
| 202 | 283 |
| 203 TEST_PPAPI_IN_PROCESS(URLUtil) | 284 TEST_PPAPI_IN_PROCESS(URLUtil) |
| 204 TEST_PPAPI_OUT_OF_PROCESS(URLUtil) | 285 TEST_PPAPI_OUT_OF_PROCESS(URLUtil) |
| 205 | 286 |
| 206 TEST_PPAPI_IN_PROCESS(CharSet) | 287 TEST_PPAPI_IN_PROCESS(CharSet) |
| 207 TEST_PPAPI_OUT_OF_PROCESS(CharSet) | 288 TEST_PPAPI_OUT_OF_PROCESS(CharSet) |
| 208 | 289 |
| 209 TEST_PPAPI_IN_PROCESS(Crypto) | 290 TEST_PPAPI_IN_PROCESS(Crypto) |
| 210 TEST_PPAPI_OUT_OF_PROCESS(Crypto) | 291 TEST_PPAPI_OUT_OF_PROCESS(Crypto) |
| 211 | 292 |
| 212 TEST_PPAPI_IN_PROCESS(Var) | 293 TEST_PPAPI_IN_PROCESS(Var) |
| 213 // http://crbug.com/89961 | 294 // http://crbug.com/89961 |
| 214 TEST_F(OutOfProcessPPAPITest, FAILS_Var) { | 295 TEST_F(OutOfProcessPPAPITest, FAILS_Var) { |
| 215 RunTest("Var"); | 296 RunTest("Var"); |
| 216 } | 297 } |
| 298 TEST_PPAPI_NACL_VIA_HTTP(Var) |
| 217 | 299 |
| 218 TEST_PPAPI_IN_PROCESS(VarDeprecated) | 300 TEST_PPAPI_IN_PROCESS(VarDeprecated) |
| 219 // Disabled because it times out: http://crbug.com/89961 | 301 // Disabled because it times out: http://crbug.com/89961 |
| 220 //TEST_PPAPI_OUT_OF_PROCESS(VarDeprecated) | 302 //TEST_PPAPI_OUT_OF_PROCESS(VarDeprecated) |
| 221 | 303 |
| 222 // Windows defines 'PostMessage', so we have to undef it. | 304 // Windows defines 'PostMessage', so we have to undef it. |
| 223 #ifdef PostMessage | 305 #ifdef PostMessage |
| 224 #undef PostMessage | 306 #undef PostMessage |
| 225 #endif | 307 #endif |
| 226 TEST_PPAPI_IN_PROCESS(PostMessage_SendInInit) | 308 TEST_PPAPI_IN_PROCESS(PostMessage_SendInInit) |
| 227 TEST_PPAPI_IN_PROCESS(PostMessage_SendingData) | 309 TEST_PPAPI_IN_PROCESS(PostMessage_SendingData) |
| 228 TEST_PPAPI_IN_PROCESS(PostMessage_MessageEvent) | 310 TEST_PPAPI_IN_PROCESS(PostMessage_MessageEvent) |
| 229 TEST_PPAPI_IN_PROCESS(PostMessage_NoHandler) | 311 TEST_PPAPI_IN_PROCESS(PostMessage_NoHandler) |
| 230 TEST_PPAPI_IN_PROCESS(PostMessage_ExtraParam) | 312 TEST_PPAPI_IN_PROCESS(PostMessage_ExtraParam) |
| 231 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendInInit) | 313 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendInInit) |
| 232 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendingData) | 314 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_SendingData) |
| 233 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_MessageEvent) | 315 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_MessageEvent) |
| 234 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NoHandler) | 316 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NoHandler) |
| 235 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_ExtraParam) | 317 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_ExtraParam) |
| 236 #if !defined(OS_WIN) | 318 #if !defined(OS_WIN) |
| 237 // Times out on Windows XP: http://crbug.com/95557 | 319 // Times out on Windows XP: http://crbug.com/95557 |
| 238 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NonMainThread) | 320 TEST_PPAPI_OUT_OF_PROCESS(PostMessage_NonMainThread) |
| 239 #endif | 321 #endif |
| 240 | 322 |
| 241 TEST_PPAPI_IN_PROCESS(Memory) | 323 TEST_PPAPI_IN_PROCESS(Memory) |
| 242 TEST_PPAPI_OUT_OF_PROCESS(Memory) | 324 TEST_PPAPI_OUT_OF_PROCESS(Memory) |
| 325 TEST_PPAPI_NACL_VIA_HTTP(Memory) |
| 243 | 326 |
| 244 TEST_PPAPI_IN_PROCESS(VideoDecoder) | 327 TEST_PPAPI_IN_PROCESS(VideoDecoder) |
| 245 TEST_PPAPI_OUT_OF_PROCESS(VideoDecoder) | 328 TEST_PPAPI_OUT_OF_PROCESS(VideoDecoder) |
| 246 | 329 |
| 247 // http://crbug.com/90039 and http://crbug.com/83443 (Mac) | 330 // http://crbug.com/90039 and http://crbug.com/83443 (Mac) |
| 248 TEST_F(PPAPITest, FAILS_FileIO) { | 331 TEST_F(PPAPITest, FAILS_FileIO) { |
| 249 RunTestViaHTTP("FileIO"); | 332 RunTestViaHTTP("FileIO"); |
| 250 } | 333 } |
| 251 // http://crbug.com/101154 | 334 // http://crbug.com/101154 |
| 252 TEST_F(OutOfProcessPPAPITest, DISABLED_FileIO) { | 335 TEST_F(OutOfProcessPPAPITest, DISABLED_FileIO) { |
| 253 RunTestViaHTTP("FileIO"); | 336 RunTestViaHTTP("FileIO"); |
| 254 } | 337 } |
| 338 TEST_PPAPI_NACL_VIA_HTTP(DISABLED_FileIO) |
| 339 |
| 255 | 340 |
| 256 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileRef) | 341 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileRef) |
| 257 // Disabled because it times out: http://crbug.com/89961 | 342 // Disabled because it times out: http://crbug.com/89961 |
| 258 //TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileRef) | 343 //TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileRef) |
| 344 TEST_PPAPI_NACL_VIA_HTTP(FileRef) |
| 345 |
| 259 | 346 |
| 260 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileSystem) | 347 TEST_PPAPI_IN_PROCESS_VIA_HTTP(FileSystem) |
| 261 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem) | 348 TEST_PPAPI_OUT_OF_PROCESS_VIA_HTTP(FileSystem) |
| 349 TEST_PPAPI_NACL_VIA_HTTP(FileSystem) |
| 262 | 350 |
| 263 // http://crbug.com/96767 and 104384 for aura. | 351 // http://crbug.com/96767 and 104384 for aura. |
| 264 #if !defined(OS_MACOSX) && !defined(USE_AURA) | 352 #if !defined(OS_MACOSX) && !defined(USE_AURA) |
| 265 #define MAYBE_FlashFullscreen FLAKY_FlashFullscreen | 353 #define MAYBE_FlashFullscreen FLAKY_FlashFullscreen |
| 266 #define MAYBE_FlashFullscreen FLAKY_FlashFullscreen | 354 #define MAYBE_FlashFullscreen FLAKY_FlashFullscreen |
| 267 #else | 355 #else |
| 268 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen | 356 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen |
| 269 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen | 357 #define MAYBE_FlashFullscreen DISABLED_FlashFullscreen |
| 270 #endif | 358 #endif |
| 271 | 359 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 324 RunTest("UMA"); | 412 RunTest("UMA"); |
| 325 } | 413 } |
| 326 | 414 |
| 327 TEST_PPAPI_IN_PROCESS(NetAddressPrivate) | 415 TEST_PPAPI_IN_PROCESS(NetAddressPrivate) |
| 328 TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate) | 416 TEST_PPAPI_OUT_OF_PROCESS(NetAddressPrivate) |
| 329 | 417 |
| 330 // PPB_TCPSocket_Private currently isn't supported in-process. | 418 // PPB_TCPSocket_Private currently isn't supported in-process. |
| 331 TEST_F(OutOfProcessPPAPITest, TCPSocketPrivate) { | 419 TEST_F(OutOfProcessPPAPITest, TCPSocketPrivate) { |
| 332 RunTestViaHTTP("TCPSocketPrivate"); | 420 RunTestViaHTTP("TCPSocketPrivate"); |
| 333 } | 421 } |
| OLD | NEW |