OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 } | 193 } |
194 | 194 |
195 TEST_F(ImageFrameGeneratorTest, cacheMissWithIncompleteDecode) | 195 TEST_F(ImageFrameGeneratorTest, cacheMissWithIncompleteDecode) |
196 { | 196 { |
197 setFrameStatus(ImageFrame::FramePartial); | 197 setFrameStatus(ImageFrame::FramePartial); |
198 | 198 |
199 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(fullSize()
); | 199 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(fullSize()
); |
200 EXPECT_FALSE(tempImage->isComplete()); | 200 EXPECT_FALSE(tempImage->isComplete()); |
201 EXPECT_EQ(1, m_frameBufferRequestCount); | 201 EXPECT_EQ(1, m_frameBufferRequestCount); |
202 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 202 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
203 EXPECT_EQ(2u, ImageDecodingStore::instance()->cacheEntries()); | 203 EXPECT_EQ(2, ImageDecodingStore::instance()->cacheEntries()); |
204 EXPECT_EQ(1u, ImageDecodingStore::instance()->imageCacheEntries()); | 204 EXPECT_EQ(1, ImageDecodingStore::instance()->imageCacheEntries()); |
205 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 205 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
206 | 206 |
207 addNewData(); | 207 addNewData(); |
208 tempImage = m_generator->decodeAndScale(fullSize()); | 208 tempImage = m_generator->decodeAndScale(fullSize()); |
209 EXPECT_FALSE(tempImage->isComplete()); | 209 EXPECT_FALSE(tempImage->isComplete()); |
210 EXPECT_EQ(2, m_frameBufferRequestCount); | 210 EXPECT_EQ(2, m_frameBufferRequestCount); |
211 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 211 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
212 EXPECT_EQ(3u, ImageDecodingStore::instance()->cacheEntries()); | 212 EXPECT_EQ(3, ImageDecodingStore::instance()->cacheEntries()); |
213 EXPECT_EQ(2u, ImageDecodingStore::instance()->imageCacheEntries()); | 213 EXPECT_EQ(2, ImageDecodingStore::instance()->imageCacheEntries()); |
214 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 214 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
215 EXPECT_EQ(0, m_decodersDestroyed); | 215 EXPECT_EQ(0, m_decodersDestroyed); |
216 } | 216 } |
217 | 217 |
218 TEST_F(ImageFrameGeneratorTest, cacheMissWithIncompleteDecodeAndScale) | 218 TEST_F(ImageFrameGeneratorTest, cacheMissWithIncompleteDecodeAndScale) |
219 { | 219 { |
220 setFrameStatus(ImageFrame::FramePartial); | 220 setFrameStatus(ImageFrame::FramePartial); |
221 | 221 |
222 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(scaledSize
()); | 222 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(scaledSize
()); |
223 EXPECT_FALSE(tempImage->isComplete()); | 223 EXPECT_FALSE(tempImage->isComplete()); |
224 EXPECT_EQ(1, m_frameBufferRequestCount); | 224 EXPECT_EQ(1, m_frameBufferRequestCount); |
225 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 225 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
226 EXPECT_EQ(3u, ImageDecodingStore::instance()->cacheEntries()); | 226 EXPECT_EQ(3, ImageDecodingStore::instance()->cacheEntries()); |
227 EXPECT_EQ(2u, ImageDecodingStore::instance()->imageCacheEntries()); | 227 EXPECT_EQ(2, ImageDecodingStore::instance()->imageCacheEntries()); |
228 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 228 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
229 | 229 |
230 addNewData(); | 230 addNewData(); |
231 tempImage = m_generator->decodeAndScale(scaledSize()); | 231 tempImage = m_generator->decodeAndScale(scaledSize()); |
232 EXPECT_FALSE(tempImage->isComplete()); | 232 EXPECT_FALSE(tempImage->isComplete()); |
233 EXPECT_EQ(2, m_frameBufferRequestCount); | 233 EXPECT_EQ(2, m_frameBufferRequestCount); |
234 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 234 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
235 EXPECT_EQ(5u, ImageDecodingStore::instance()->cacheEntries()); | 235 EXPECT_EQ(5, ImageDecodingStore::instance()->cacheEntries()); |
236 EXPECT_EQ(4u, ImageDecodingStore::instance()->imageCacheEntries()); | 236 EXPECT_EQ(4, ImageDecodingStore::instance()->imageCacheEntries()); |
237 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 237 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
238 EXPECT_EQ(0, m_decodersDestroyed); | 238 EXPECT_EQ(0, m_decodersDestroyed); |
239 } | 239 } |
240 | 240 |
241 TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesComplete) | 241 TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesComplete) |
242 { | 242 { |
243 setFrameStatus(ImageFrame::FramePartial); | 243 setFrameStatus(ImageFrame::FramePartial); |
244 | 244 |
245 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(fullSize(
)); | 245 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(fullSize(
)); |
246 EXPECT_FALSE(tempImage->isComplete()); | 246 EXPECT_FALSE(tempImage->isComplete()); |
247 EXPECT_EQ(1, m_frameBufferRequestCount); | 247 EXPECT_EQ(1, m_frameBufferRequestCount); |
248 EXPECT_EQ(0, m_decodersDestroyed); | 248 EXPECT_EQ(0, m_decodersDestroyed); |
249 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 249 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
250 EXPECT_EQ(2u, ImageDecodingStore::instance()->cacheEntries()); | 250 EXPECT_EQ(2, ImageDecodingStore::instance()->cacheEntries()); |
251 EXPECT_EQ(1u, ImageDecodingStore::instance()->imageCacheEntries()); | 251 EXPECT_EQ(1, ImageDecodingStore::instance()->imageCacheEntries()); |
252 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 252 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
253 | 253 |
254 setFrameStatus(ImageFrame::FrameComplete); | 254 setFrameStatus(ImageFrame::FrameComplete); |
255 addNewData(); | 255 addNewData(); |
256 | 256 |
257 tempImage = m_generator->decodeAndScale(fullSize()); | 257 tempImage = m_generator->decodeAndScale(fullSize()); |
258 EXPECT_TRUE(tempImage->isComplete()); | 258 EXPECT_TRUE(tempImage->isComplete()); |
259 EXPECT_EQ(2, m_frameBufferRequestCount); | 259 EXPECT_EQ(2, m_frameBufferRequestCount); |
260 EXPECT_EQ(1, m_decodersDestroyed); | 260 EXPECT_EQ(1, m_decodersDestroyed); |
261 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 261 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
262 EXPECT_EQ(2u, ImageDecodingStore::instance()->cacheEntries()); | 262 EXPECT_EQ(2, ImageDecodingStore::instance()->cacheEntries()); |
263 EXPECT_EQ(2u, ImageDecodingStore::instance()->imageCacheEntries()); | 263 EXPECT_EQ(2, ImageDecodingStore::instance()->imageCacheEntries()); |
264 EXPECT_EQ(0u, ImageDecodingStore::instance()->decoderCacheEntries()); | 264 EXPECT_EQ(0, ImageDecodingStore::instance()->decoderCacheEntries()); |
265 | 265 |
266 tempImage = m_generator->decodeAndScale(fullSize()); | 266 tempImage = m_generator->decodeAndScale(fullSize()); |
267 EXPECT_TRUE(tempImage->isComplete()); | 267 EXPECT_TRUE(tempImage->isComplete()); |
268 EXPECT_EQ(2, m_frameBufferRequestCount); | 268 EXPECT_EQ(2, m_frameBufferRequestCount); |
269 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 269 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
270 } | 270 } |
271 | 271 |
272 TEST_F(ImageFrameGeneratorTest, incompleteDecodeAndScaleBecomesComplete) | 272 TEST_F(ImageFrameGeneratorTest, incompleteDecodeAndScaleBecomesComplete) |
273 { | 273 { |
274 setFrameStatus(ImageFrame::FramePartial); | 274 setFrameStatus(ImageFrame::FramePartial); |
275 | 275 |
276 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(scaledSiz
e()); | 276 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(scaledSiz
e()); |
277 EXPECT_FALSE(tempImage->isComplete()); | 277 EXPECT_FALSE(tempImage->isComplete()); |
278 EXPECT_EQ(1, m_frameBufferRequestCount); | 278 EXPECT_EQ(1, m_frameBufferRequestCount); |
279 EXPECT_EQ(0, m_decodersDestroyed); | 279 EXPECT_EQ(0, m_decodersDestroyed); |
280 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 280 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
281 EXPECT_EQ(3u, ImageDecodingStore::instance()->cacheEntries()); | 281 EXPECT_EQ(3, ImageDecodingStore::instance()->cacheEntries()); |
282 EXPECT_EQ(2u, ImageDecodingStore::instance()->imageCacheEntries()); | 282 EXPECT_EQ(2, ImageDecodingStore::instance()->imageCacheEntries()); |
283 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 283 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
284 | 284 |
285 setFrameStatus(ImageFrame::FrameComplete); | 285 setFrameStatus(ImageFrame::FrameComplete); |
286 addNewData(); | 286 addNewData(); |
287 | 287 |
288 tempImage = m_generator->decodeAndScale(scaledSize()); | 288 tempImage = m_generator->decodeAndScale(scaledSize()); |
289 EXPECT_TRUE(tempImage->isComplete()); | 289 EXPECT_TRUE(tempImage->isComplete()); |
290 EXPECT_EQ(2, m_frameBufferRequestCount); | 290 EXPECT_EQ(2, m_frameBufferRequestCount); |
291 EXPECT_EQ(1, m_decodersDestroyed); | 291 EXPECT_EQ(1, m_decodersDestroyed); |
292 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 292 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
293 EXPECT_EQ(4u, ImageDecodingStore::instance()->cacheEntries()); | 293 EXPECT_EQ(4, ImageDecodingStore::instance()->cacheEntries()); |
294 EXPECT_EQ(4u, ImageDecodingStore::instance()->imageCacheEntries()); | 294 EXPECT_EQ(4, ImageDecodingStore::instance()->imageCacheEntries()); |
295 EXPECT_EQ(0u, ImageDecodingStore::instance()->decoderCacheEntries()); | 295 EXPECT_EQ(0, ImageDecodingStore::instance()->decoderCacheEntries()); |
296 | 296 |
297 tempImage = m_generator->decodeAndScale(scaledSize()); | 297 tempImage = m_generator->decodeAndScale(scaledSize()); |
298 EXPECT_TRUE(tempImage->isComplete()); | 298 EXPECT_TRUE(tempImage->isComplete()); |
299 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 299 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
300 | 300 |
301 tempImage = m_generator->decodeAndScale(fullSize()); | 301 tempImage = m_generator->decodeAndScale(fullSize()); |
302 EXPECT_TRUE(tempImage->isComplete()); | 302 EXPECT_TRUE(tempImage->isComplete()); |
303 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 303 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
304 | 304 |
305 EXPECT_EQ(2, m_frameBufferRequestCount); | 305 EXPECT_EQ(2, m_frameBufferRequestCount); |
306 } | 306 } |
307 | 307 |
308 static void decodeThreadMain(ImageFrameGenerator* generator) | 308 static void decodeThreadMain(ImageFrameGenerator* generator) |
309 { | 309 { |
310 const ScaledImageFragment* tempImage = generator->decodeAndScale(fullSize())
; | 310 const ScaledImageFragment* tempImage = generator->decodeAndScale(fullSize())
; |
311 ImageDecodingStore::instance()->unlockCache(generator, tempImage); | 311 ImageDecodingStore::instance()->unlockCache(generator, tempImage); |
312 } | 312 } |
313 | 313 |
314 TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesCompleteMultiThreaded) | 314 TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesCompleteMultiThreaded) |
315 { | 315 { |
316 setFrameStatus(ImageFrame::FramePartial); | 316 setFrameStatus(ImageFrame::FramePartial); |
317 | 317 |
318 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(fullSize(
)); | 318 const ScaledImageFragment* tempImage = m_generator->decodeAndScale(fullSize(
)); |
319 EXPECT_FALSE(tempImage->isComplete()); | 319 EXPECT_FALSE(tempImage->isComplete()); |
320 EXPECT_EQ(1, m_frameBufferRequestCount); | 320 EXPECT_EQ(1, m_frameBufferRequestCount); |
321 EXPECT_EQ(0, m_decodersDestroyed); | 321 EXPECT_EQ(0, m_decodersDestroyed); |
322 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 322 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
323 EXPECT_EQ(2u, ImageDecodingStore::instance()->cacheEntries()); | 323 EXPECT_EQ(2, ImageDecodingStore::instance()->cacheEntries()); |
324 EXPECT_EQ(1u, ImageDecodingStore::instance()->imageCacheEntries()); | 324 EXPECT_EQ(1, ImageDecodingStore::instance()->imageCacheEntries()); |
325 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 325 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
326 | 326 |
327 // Frame can now be decoded completely. | 327 // Frame can now be decoded completely. |
328 setFrameStatus(ImageFrame::FrameComplete); | 328 setFrameStatus(ImageFrame::FrameComplete); |
329 addNewData(); | 329 addNewData(); |
330 OwnPtr<WebKit::WebThread> thread = adoptPtr(WebKit::Platform::current()->cre
ateThread("DecodeThread")); | 330 OwnPtr<WebKit::WebThread> thread = adoptPtr(WebKit::Platform::current()->cre
ateThread("DecodeThread")); |
331 thread->postTask(new Task(WTF::bind(&decodeThreadMain, m_generator.get()))); | 331 thread->postTask(new Task(WTF::bind(&decodeThreadMain, m_generator.get()))); |
332 thread.clear(); | 332 thread.clear(); |
333 | 333 |
334 EXPECT_EQ(2, m_frameBufferRequestCount); | 334 EXPECT_EQ(2, m_frameBufferRequestCount); |
335 EXPECT_EQ(1, m_decodersDestroyed); | 335 EXPECT_EQ(1, m_decodersDestroyed); |
336 EXPECT_EQ(2u, ImageDecodingStore::instance()->cacheEntries()); | 336 EXPECT_EQ(2, ImageDecodingStore::instance()->cacheEntries()); |
337 EXPECT_EQ(2u, ImageDecodingStore::instance()->imageCacheEntries()); | 337 EXPECT_EQ(2, ImageDecodingStore::instance()->imageCacheEntries()); |
338 EXPECT_EQ(0u, ImageDecodingStore::instance()->decoderCacheEntries()); | 338 EXPECT_EQ(0, ImageDecodingStore::instance()->decoderCacheEntries()); |
339 | 339 |
340 tempImage = m_generator->decodeAndScale(fullSize()); | 340 tempImage = m_generator->decodeAndScale(fullSize()); |
341 EXPECT_TRUE(tempImage->isComplete()); | 341 EXPECT_TRUE(tempImage->isComplete()); |
342 EXPECT_EQ(2, m_frameBufferRequestCount); | 342 EXPECT_EQ(2, m_frameBufferRequestCount); |
343 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); | 343 ImageDecodingStore::instance()->unlockCache(m_generator.get(), tempImage); |
344 } | 344 } |
345 | 345 |
346 TEST_F(ImageFrameGeneratorTest, concurrentIncompleteDecodeAndScale) | 346 TEST_F(ImageFrameGeneratorTest, concurrentIncompleteDecodeAndScale) |
347 { | 347 { |
348 setFrameStatus(ImageFrame::FramePartial); | 348 setFrameStatus(ImageFrame::FramePartial); |
349 | 349 |
350 const ScaledImageFragment* fullImage = m_generator->decodeAndScale(fullSize(
)); | 350 const ScaledImageFragment* fullImage = m_generator->decodeAndScale(fullSize(
)); |
351 const ScaledImageFragment* scaledImage = m_generator->decodeAndScale(scaledS
ize()); | 351 const ScaledImageFragment* scaledImage = m_generator->decodeAndScale(scaledS
ize()); |
352 EXPECT_FALSE(fullImage->isComplete()); | 352 EXPECT_FALSE(fullImage->isComplete()); |
353 EXPECT_FALSE(scaledImage->isComplete()); | 353 EXPECT_FALSE(scaledImage->isComplete()); |
354 EXPECT_EQ(2, m_frameBufferRequestCount); | 354 EXPECT_EQ(2, m_frameBufferRequestCount); |
355 ImageDecodingStore::instance()->unlockCache(m_generator.get(), fullImage); | 355 ImageDecodingStore::instance()->unlockCache(m_generator.get(), fullImage); |
356 ImageDecodingStore::instance()->unlockCache(m_generator.get(), scaledImage); | 356 ImageDecodingStore::instance()->unlockCache(m_generator.get(), scaledImage); |
357 EXPECT_EQ(4u, ImageDecodingStore::instance()->cacheEntries()); | 357 EXPECT_EQ(4, ImageDecodingStore::instance()->cacheEntries()); |
358 EXPECT_EQ(3u, ImageDecodingStore::instance()->imageCacheEntries()); | 358 EXPECT_EQ(3, ImageDecodingStore::instance()->imageCacheEntries()); |
359 EXPECT_EQ(1u, ImageDecodingStore::instance()->decoderCacheEntries()); | 359 EXPECT_EQ(1, ImageDecodingStore::instance()->decoderCacheEntries()); |
360 EXPECT_EQ(0, m_decodersDestroyed); | 360 EXPECT_EQ(0, m_decodersDestroyed); |
361 | 361 |
362 addNewData(); | 362 addNewData(); |
363 setFrameStatus(ImageFrame::FrameComplete); | 363 setFrameStatus(ImageFrame::FrameComplete); |
364 scaledImage = m_generator->decodeAndScale(scaledSize()); | 364 scaledImage = m_generator->decodeAndScale(scaledSize()); |
365 EXPECT_TRUE(scaledImage->isComplete()); | 365 EXPECT_TRUE(scaledImage->isComplete()); |
366 EXPECT_EQ(3, m_frameBufferRequestCount); | 366 EXPECT_EQ(3, m_frameBufferRequestCount); |
367 ImageDecodingStore::instance()->unlockCache(m_generator.get(), scaledImage); | 367 ImageDecodingStore::instance()->unlockCache(m_generator.get(), scaledImage); |
368 EXPECT_EQ(5u, ImageDecodingStore::instance()->cacheEntries()); | 368 EXPECT_EQ(5, ImageDecodingStore::instance()->cacheEntries()); |
369 EXPECT_EQ(5u, ImageDecodingStore::instance()->imageCacheEntries()); | 369 EXPECT_EQ(5, ImageDecodingStore::instance()->imageCacheEntries()); |
370 EXPECT_EQ(0u, ImageDecodingStore::instance()->decoderCacheEntries()); | 370 EXPECT_EQ(0, ImageDecodingStore::instance()->decoderCacheEntries()); |
371 EXPECT_EQ(1, m_decodersDestroyed); | 371 EXPECT_EQ(1, m_decodersDestroyed); |
372 } | 372 } |
373 | 373 |
374 TEST_F(ImageFrameGeneratorTest, incompleteBitmapCopied) | 374 TEST_F(ImageFrameGeneratorTest, incompleteBitmapCopied) |
375 { | 375 { |
376 setFrameStatus(ImageFrame::FramePartial); | 376 setFrameStatus(ImageFrame::FramePartial); |
377 | 377 |
378 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(fullSize()
); | 378 const ScaledImageFragment* tempImage= m_generator->decodeAndScale(fullSize()
); |
379 EXPECT_FALSE(tempImage->isComplete()); | 379 EXPECT_FALSE(tempImage->isComplete()); |
380 EXPECT_EQ(1, m_frameBufferRequestCount); | 380 EXPECT_EQ(1, m_frameBufferRequestCount); |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
460 // We have tested failures of all stages. This time all allocations | 460 // We have tested failures of all stages. This time all allocations |
461 // were successful. | 461 // were successful. |
462 EXPECT_TRUE(image); | 462 EXPECT_TRUE(image); |
463 break; | 463 break; |
464 } | 464 } |
465 EXPECT_FALSE(image); | 465 EXPECT_FALSE(image); |
466 } | 466 } |
467 } | 467 } |
468 | 468 |
469 } // namespace WebCore | 469 } // namespace WebCore |
OLD | NEW |