Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/WebKit/Source/platform/image-decoders/gif/GIFImageDecoderTest.cpp

Issue 1746283002: Rename enums/functions that collide in chromium style in platform/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: get-names-13-platform: . Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 { 115 {
116 OwnPtr<ImageDecoder> decoder = createDecoder(); 116 OwnPtr<ImageDecoder> decoder = createDecoder();
117 117
118 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ; 118 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ;
119 ASSERT_TRUE(data.get()); 119 ASSERT_TRUE(data.get());
120 decoder->setData(data.get(), true); 120 decoder->setData(data.get(), true);
121 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); 121 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount());
122 122
123 ImageFrame* frame = decoder->frameBufferAtIndex(0); 123 ImageFrame* frame = decoder->frameBufferAtIndex(0);
124 uint32_t generationID0 = frame->getSkBitmap().getGenerationID(); 124 uint32_t generationID0 = frame->getSkBitmap().getGenerationID();
125 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 125 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
126 EXPECT_EQ(16, frame->getSkBitmap().width()); 126 EXPECT_EQ(16, frame->getSkBitmap().width());
127 EXPECT_EQ(16, frame->getSkBitmap().height()); 127 EXPECT_EQ(16, frame->getSkBitmap().height());
128 128
129 frame = decoder->frameBufferAtIndex(1); 129 frame = decoder->frameBufferAtIndex(1);
130 uint32_t generationID1 = frame->getSkBitmap().getGenerationID(); 130 uint32_t generationID1 = frame->getSkBitmap().getGenerationID();
131 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 131 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
132 EXPECT_EQ(16, frame->getSkBitmap().width()); 132 EXPECT_EQ(16, frame->getSkBitmap().width());
133 EXPECT_EQ(16, frame->getSkBitmap().height()); 133 EXPECT_EQ(16, frame->getSkBitmap().height());
134 EXPECT_TRUE(generationID0 != generationID1); 134 EXPECT_TRUE(generationID0 != generationID1);
135 135
136 EXPECT_EQ(2u, decoder->frameCount()); 136 EXPECT_EQ(2u, decoder->frameCount());
137 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 137 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
138 } 138 }
139 139
140 TEST(GIFImageDecoderTest, parseAndDecode) 140 TEST(GIFImageDecoderTest, parseAndDecode)
141 { 141 {
142 OwnPtr<ImageDecoder> decoder = createDecoder(); 142 OwnPtr<ImageDecoder> decoder = createDecoder();
143 143
144 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ; 144 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ;
145 ASSERT_TRUE(data.get()); 145 ASSERT_TRUE(data.get());
146 decoder->setData(data.get(), true); 146 decoder->setData(data.get(), true);
147 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount()); 147 EXPECT_EQ(cAnimationLoopOnce, decoder->repetitionCount());
148 148
149 // This call will parse the entire file. 149 // This call will parse the entire file.
150 EXPECT_EQ(2u, decoder->frameCount()); 150 EXPECT_EQ(2u, decoder->frameCount());
151 151
152 ImageFrame* frame = decoder->frameBufferAtIndex(0); 152 ImageFrame* frame = decoder->frameBufferAtIndex(0);
153 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 153 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
154 EXPECT_EQ(16, frame->getSkBitmap().width()); 154 EXPECT_EQ(16, frame->getSkBitmap().width());
155 EXPECT_EQ(16, frame->getSkBitmap().height()); 155 EXPECT_EQ(16, frame->getSkBitmap().height());
156 156
157 frame = decoder->frameBufferAtIndex(1); 157 frame = decoder->frameBufferAtIndex(1);
158 EXPECT_EQ(ImageFrame::FrameComplete, frame->status()); 158 EXPECT_EQ(ImageFrame::FrameComplete, frame->getStatus());
159 EXPECT_EQ(16, frame->getSkBitmap().width()); 159 EXPECT_EQ(16, frame->getSkBitmap().width());
160 EXPECT_EQ(16, frame->getSkBitmap().height()); 160 EXPECT_EQ(16, frame->getSkBitmap().height());
161 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 161 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
162 } 162 }
163 163
164 TEST(GIFImageDecoderTest, parseByteByByte) 164 TEST(GIFImageDecoderTest, parseByteByByte)
165 { 165 {
166 OwnPtr<ImageDecoder> decoder = createDecoder(); 166 OwnPtr<ImageDecoder> decoder = createDecoder();
167 167
168 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ; 168 RefPtr<SharedBuffer> data = readFile(layoutTestResourcesDir, "animated.gif") ;
(...skipping 29 matching lines...) Expand all
198 198
199 // Pass data to decoder byte by byte. 199 // Pass data to decoder byte by byte.
200 for (size_t length = 1; length <= data->size(); ++length) { 200 for (size_t length = 1; length <= data->size(); ++length) {
201 RefPtr<SharedBuffer> tempData = SharedBuffer::create(data->data(), lengt h); 201 RefPtr<SharedBuffer> tempData = SharedBuffer::create(data->data(), lengt h);
202 decoder->setData(tempData.get(), length == data->size()); 202 decoder->setData(tempData.get(), length == data->size());
203 203
204 EXPECT_LE(frameCount, decoder->frameCount()); 204 EXPECT_LE(frameCount, decoder->frameCount());
205 frameCount = decoder->frameCount(); 205 frameCount = decoder->frameCount();
206 206
207 ImageFrame* frame = decoder->frameBufferAtIndex(frameCount - 1); 207 ImageFrame* frame = decoder->frameBufferAtIndex(frameCount - 1);
208 if (frame && frame->status() == ImageFrame::FrameComplete && framesDecod ed < frameCount) 208 if (frame && frame->getStatus() == ImageFrame::FrameComplete && framesDe coded < frameCount)
209 ++framesDecoded; 209 ++framesDecoded;
210 } 210 }
211 211
212 EXPECT_EQ(5u, decoder->frameCount()); 212 EXPECT_EQ(5u, decoder->frameCount());
213 EXPECT_EQ(5u, framesDecoded); 213 EXPECT_EQ(5u, framesDecoded);
214 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount()); 214 EXPECT_EQ(cAnimationLoopInfinite, decoder->repetitionCount());
215 } 215 }
216 216
217 TEST(GIFImageDecoderTest, brokenSecondFrame) 217 TEST(GIFImageDecoderTest, brokenSecondFrame)
218 { 218 {
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 RefPtr<SharedBuffer> fullData = readFile(layoutTestResourcesDir, "animated-1 0color.gif"); 365 RefPtr<SharedBuffer> fullData = readFile(layoutTestResourcesDir, "animated-1 0color.gif");
366 ASSERT_TRUE(fullData.get()); 366 ASSERT_TRUE(fullData.get());
367 367
368 // Give it data that is enough to parse but not decode in order to check the status 368 // Give it data that is enough to parse but not decode in order to check the status
369 // of requiredPreviousFrameIndex before decoding. 369 // of requiredPreviousFrameIndex before decoding.
370 size_t partialSize = 1; 370 size_t partialSize = 1;
371 do { 371 do {
372 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize); 372 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize);
373 decoder->setData(data.get(), false); 373 decoder->setData(data.get(), false);
374 ++partialSize; 374 ++partialSize;
375 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->status() == ImageFrame::FrameEmpty); 375 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->getStatus () == ImageFrame::FrameEmpty);
376 376
377 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(0)->requiredPreviousFrameIn dex()); 377 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(0)->requiredPreviousFrameIn dex());
378 unsigned frameCount = decoder->frameCount(); 378 unsigned frameCount = decoder->frameCount();
379 for (size_t i = 1; i < frameCount; ++i) 379 for (size_t i = 1; i < frameCount; ++i)
380 EXPECT_EQ(i - 1, decoder->frameBufferAtIndex(i)->requiredPreviousFrameIn dex()); 380 EXPECT_EQ(i - 1, decoder->frameBufferAtIndex(i)->requiredPreviousFrameIn dex());
381 381
382 decoder->setData(fullData.get(), true); 382 decoder->setData(fullData.get(), true);
383 for (size_t i = 0; i < frameCount; ++i) 383 for (size_t i = 0; i < frameCount; ++i)
384 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(i)->requiredPreviousFra meIndex()); 384 EXPECT_EQ(kNotFound, decoder->frameBufferAtIndex(i)->requiredPreviousFra meIndex());
385 } 385 }
(...skipping 25 matching lines...) Expand all
411 size_t frameCount = baselineHashes.size(); 411 size_t frameCount = baselineHashes.size();
412 412
413 OwnPtr<ImageDecoder> decoder = createDecoder(); 413 OwnPtr<ImageDecoder> decoder = createDecoder();
414 414
415 // Let frame 0 be partially decoded. 415 // Let frame 0 be partially decoded.
416 size_t partialSize = 1; 416 size_t partialSize = 1;
417 do { 417 do {
418 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize); 418 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), parti alSize);
419 decoder->setData(data.get(), false); 419 decoder->setData(data.get(), false);
420 ++partialSize; 420 ++partialSize;
421 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->status() == ImageFrame::FrameEmpty); 421 } while (!decoder->frameCount() || decoder->frameBufferAtIndex(0)->getStatus () == ImageFrame::FrameEmpty);
422 422
423 // Skip to the last frame and clear. 423 // Skip to the last frame and clear.
424 decoder->setData(fullData.get(), true); 424 decoder->setData(fullData.get(), true);
425 EXPECT_EQ(frameCount, decoder->frameCount()); 425 EXPECT_EQ(frameCount, decoder->frameCount());
426 ImageFrame* lastFrame = decoder->frameBufferAtIndex(frameCount - 1); 426 ImageFrame* lastFrame = decoder->frameBufferAtIndex(frameCount - 1);
427 EXPECT_EQ(baselineHashes[frameCount - 1], hashBitmap(lastFrame->getSkBitmap( ))); 427 EXPECT_EQ(baselineHashes[frameCount - 1], hashBitmap(lastFrame->getSkBitmap( )));
428 decoder->clearCacheExceptFrame(kNotFound); 428 decoder->clearCacheExceptFrame(kNotFound);
429 429
430 // Resume decoding of the first frame. 430 // Resume decoding of the first frame.
431 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0); 431 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0);
432 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->status()); 432 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->getStatus());
433 EXPECT_EQ(baselineHashes[0], hashBitmap(firstFrame->getSkBitmap())); 433 EXPECT_EQ(baselineHashes[0], hashBitmap(firstFrame->getSkBitmap()));
434 } 434 }
435 435
436 // The first LZW codes in the image are invalid values that try to create a loop 436 // The first LZW codes in the image are invalid values that try to create a loop
437 // in the dictionary. Decoding should fail, but not infinitely loop or corrupt m emory. 437 // in the dictionary. Decoding should fail, but not infinitely loop or corrupt m emory.
438 TEST(GIFImageDecoderTest, badInitialCode) 438 TEST(GIFImageDecoderTest, badInitialCode)
439 { 439 {
440 RefPtr<SharedBuffer> testData = readFile(decodersTestingDir, "bad-initial-co de.gif"); 440 RefPtr<SharedBuffer> testData = readFile(decodersTestingDir, "bad-initial-co de.gif");
441 ASSERT_TRUE(testData.get()); 441 ASSERT_TRUE(testData.get());
442 442
(...skipping 21 matching lines...) Expand all
464 { 464 {
465 OwnPtr<ImageDecoder> decoder = createDecoder(); 465 OwnPtr<ImageDecoder> decoder = createDecoder();
466 466
467 // The image has 2 frames, with disposal method 4 and 5, respectively. 467 // The image has 2 frames, with disposal method 4 and 5, respectively.
468 RefPtr<SharedBuffer> data = readFile(webTestsDataDir, "invalid-disposal-meth od.gif"); 468 RefPtr<SharedBuffer> data = readFile(webTestsDataDir, "invalid-disposal-meth od.gif");
469 ASSERT_TRUE(data.get()); 469 ASSERT_TRUE(data.get());
470 decoder->setData(data.get(), true); 470 decoder->setData(data.get(), true);
471 471
472 EXPECT_EQ(2u, decoder->frameCount()); 472 EXPECT_EQ(2u, decoder->frameCount());
473 // Disposal method 4 is converted to ImageFrame::DisposeOverwritePrevious. 473 // Disposal method 4 is converted to ImageFrame::DisposeOverwritePrevious.
474 EXPECT_EQ(ImageFrame::DisposeOverwritePrevious, decoder->frameBufferAtIndex( 0)->disposalMethod()); 474 EXPECT_EQ(ImageFrame::DisposeOverwritePrevious, decoder->frameBufferAtIndex( 0)->getDisposalMethod());
475 // Disposal method 5 is ignored. 475 // Disposal method 5 is ignored.
476 EXPECT_EQ(ImageFrame::DisposeNotSpecified, decoder->frameBufferAtIndex(1)->d isposalMethod()); 476 EXPECT_EQ(ImageFrame::DisposeNotSpecified, decoder->frameBufferAtIndex(1)->g etDisposalMethod());
477 } 477 }
478 478
479 TEST(GIFImageDecoderTest, firstFrameHasGreaterSizeThanScreenSize) 479 TEST(GIFImageDecoderTest, firstFrameHasGreaterSizeThanScreenSize)
480 { 480 {
481 RefPtr<SharedBuffer> fullData = readFile(decodersTestingDir, "first-frame-ha s-greater-size-than-screen-size.gif"); 481 RefPtr<SharedBuffer> fullData = readFile(decodersTestingDir, "first-frame-ha s-greater-size-than-screen-size.gif");
482 ASSERT_TRUE(fullData.get()); 482 ASSERT_TRUE(fullData.get());
483 483
484 OwnPtr<ImageDecoder> decoder; 484 OwnPtr<ImageDecoder> decoder;
485 IntSize frameSize; 485 IntSize frameSize;
486 486
487 // Compute hashes when the file is truncated. 487 // Compute hashes when the file is truncated.
488 for (size_t i = 1; i <= fullData->size(); ++i) { 488 for (size_t i = 1; i <= fullData->size(); ++i) {
489 decoder = createDecoder(); 489 decoder = createDecoder();
490 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), i); 490 RefPtr<SharedBuffer> data = SharedBuffer::create(fullData->data(), i);
491 decoder->setData(data.get(), i == fullData->size()); 491 decoder->setData(data.get(), i == fullData->size());
492 492
493 if (decoder->isSizeAvailable() && !frameSize.width() && !frameSize.heigh t()) { 493 if (decoder->isSizeAvailable() && !frameSize.width() && !frameSize.heigh t()) {
494 frameSize = decoder->decodedSize(); 494 frameSize = decoder->decodedSize();
495 continue; 495 continue;
496 } 496 }
497 497
498 ASSERT_EQ(frameSize.width(), decoder->decodedSize().width()); 498 ASSERT_EQ(frameSize.width(), decoder->decodedSize().width());
499 ASSERT_EQ(frameSize.height(), decoder->decodedSize().height()); 499 ASSERT_EQ(frameSize.height(), decoder->decodedSize().height());
500 } 500 }
501 } 501 }
502 502
503 } // namespace blink 503 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698