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 |