OLD | NEW |
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 15 matching lines...) Expand all Loading... |
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 */ | 29 */ |
30 | 30 |
31 #include "config.h" | 31 #include "config.h" |
32 | 32 |
33 #include "core/platform/image-decoders/webp/WEBPImageDecoder.h" | 33 #include "core/platform/image-decoders/webp/WEBPImageDecoder.h" |
34 | 34 |
35 #include "RuntimeEnabledFeatures.h" | 35 #include "RuntimeEnabledFeatures.h" |
36 #include "core/platform/FileSystem.h" | |
37 #include "core/platform/SharedBuffer.h" | 36 #include "core/platform/SharedBuffer.h" |
38 #include "public/platform/Platform.h" | 37 #include "public/platform/Platform.h" |
39 #include "public/platform/WebData.h" | 38 #include "public/platform/WebData.h" |
40 #include "public/platform/WebSize.h" | 39 #include "public/platform/WebSize.h" |
41 #include "public/platform/WebUnitTestSupport.h" | 40 #include "public/platform/WebUnitTestSupport.h" |
42 #include "wtf/OwnPtr.h" | 41 #include "wtf/OwnPtr.h" |
43 #include "wtf/PassOwnPtr.h" | 42 #include "wtf/PassOwnPtr.h" |
44 #include "wtf/StringHasher.h" | 43 #include "wtf/StringHasher.h" |
45 #include "wtf/Vector.h" | 44 #include "wtf/Vector.h" |
46 #include "wtf/dtoa/utils.h" | 45 #include "wtf/dtoa/utils.h" |
47 #include <gtest/gtest.h> | 46 #include <gtest/gtest.h> |
48 | 47 |
49 using namespace WebCore; | 48 using namespace WebCore; |
50 using namespace WebKit; | 49 using namespace WebKit; |
51 | 50 |
52 #if !OS(ANDROID) | 51 #if !OS(ANDROID) |
53 | 52 |
54 namespace { | 53 namespace { |
55 | 54 |
56 PassRefPtr<SharedBuffer> readFile(const char* fileName) | 55 PassRefPtr<SharedBuffer> readFile(const char* fileName) |
57 { | 56 { |
58 String filePath = Platform::current()->unitTestSupport()->webKitRootDir(); | 57 String filePath = Platform::current()->unitTestSupport()->webKitRootDir(); |
59 filePath.append(fileName); | 58 filePath.append(fileName); |
60 | 59 |
61 long long fileSize; | 60 return Platform::current()->unitTestSupport()->readFromFile(filePath); |
62 if (!getFileSize(filePath, fileSize)) | |
63 return 0; | |
64 | |
65 PlatformFileHandle handle = openFile(filePath, OpenForRead); | |
66 int fileLength = static_cast<int>(fileSize); | |
67 Vector<char> buffer(fileLength); | |
68 readFromFile(handle, buffer.data(), fileLength); | |
69 closeFile(handle); | |
70 return SharedBuffer::adoptVector(buffer); | |
71 } | 61 } |
72 | 62 |
73 PassOwnPtr<WEBPImageDecoder> createDecoder() | 63 PassOwnPtr<WEBPImageDecoder> createDecoder() |
74 { | 64 { |
75 return adoptPtr(new WEBPImageDecoder(ImageSource::AlphaNotPremultiplied, Ima
geSource::GammaAndColorProfileApplied)); | 65 return adoptPtr(new WEBPImageDecoder(ImageSource::AlphaNotPremultiplied, Ima
geSource::GammaAndColorProfileApplied)); |
76 } | 66 } |
77 | 67 |
78 unsigned hashSkBitmap(const SkBitmap& bitmap) | 68 unsigned hashSkBitmap(const SkBitmap& bitmap) |
79 { | 69 { |
80 return StringHasher::hashMemory(bitmap.getPixels(), bitmap.getSize()); | 70 return StringHasher::hashMemory(bitmap.getPixels(), bitmap.getSize()); |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 EXPECT_EQ(baselineHashes[frameCount - 1], hashSkBitmap(lastFrame->getSkBitma
p())); | 426 EXPECT_EQ(baselineHashes[frameCount - 1], hashSkBitmap(lastFrame->getSkBitma
p())); |
437 decoder->clearCacheExceptFrame(notFound); | 427 decoder->clearCacheExceptFrame(notFound); |
438 | 428 |
439 // Resume decoding of the first frame. | 429 // Resume decoding of the first frame. |
440 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0); | 430 ImageFrame* firstFrame = decoder->frameBufferAtIndex(0); |
441 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->status()); | 431 EXPECT_EQ(ImageFrame::FrameComplete, firstFrame->status()); |
442 EXPECT_EQ(baselineHashes[0], hashSkBitmap(firstFrame->getSkBitmap())); | 432 EXPECT_EQ(baselineHashes[0], hashSkBitmap(firstFrame->getSkBitmap())); |
443 } | 433 } |
444 | 434 |
445 #endif | 435 #endif |
446 | |
OLD | NEW |