| Index: tests/PictureTest.cpp
|
| diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp
|
| index 3c53dd38381718db159b24c8fff0f639bee14c16..9ef4bb06bdba2551195a1051e6c47bab19220edf 100644
|
| --- a/tests/PictureTest.cpp
|
| +++ b/tests/PictureTest.cpp
|
| @@ -9,7 +9,6 @@
|
| #include "SkCanvas.h"
|
| #include "SkColorPriv.h"
|
| #include "SkData.h"
|
| -#include "SkDecodingImageGenerator.h"
|
| #include "SkError.h"
|
| #include "SkPaint.h"
|
| #include "SkPicture.h"
|
| @@ -336,6 +335,32 @@ static void test_bad_bitmap() {
|
| }
|
| #endif
|
|
|
| +#include "SkData.h"
|
| +#include "SkImageRef_GlobalPool.h"
|
| +// Class to test SkPixelRef::onRefEncodedData, since there are currently no implementations in skia.
|
| +class SkDataImageRef : public SkImageRef_GlobalPool {
|
| +
|
| +public:
|
| + SkDataImageRef(SkMemoryStream* stream)
|
| + : SkImageRef_GlobalPool(stream, SkBitmap::kNo_Config) {
|
| + SkASSERT(stream != NULL);
|
| + fData = stream->copyToData();
|
| + this->setImmutable();
|
| + }
|
| +
|
| + ~SkDataImageRef() {
|
| + fData->unref();
|
| + }
|
| +
|
| + virtual SkData* onRefEncodedData() SK_OVERRIDE {
|
| + fData->ref();
|
| + return fData;
|
| + }
|
| +
|
| +private:
|
| + SkData* fData;
|
| +};
|
| +
|
| #include "SkImageEncoder.h"
|
|
|
| static SkData* encode_bitmap_to_data(size_t* offset, const SkBitmap& bm) {
|
| @@ -377,10 +402,14 @@ static void test_bitmap_with_encoded_data(skiatest::Reporter* reporter) {
|
| return;
|
| }
|
| SkAutoDataUnref data(wStream.copyToData());
|
| + SkMemoryStream memStream;
|
| + memStream.setData(data);
|
|
|
| + // Use the encoded bitmap as the data for an image ref.
|
| SkBitmap bm;
|
| - bool installSuccess = SkDecodingImageGenerator::Install(data, &bm);
|
| - REPORTER_ASSERT(reporter, installSuccess);
|
| + SkAutoTUnref<SkDataImageRef> imageRef(SkNEW_ARGS(SkDataImageRef, (&memStream)));
|
| + imageRef->getInfo(&bm);
|
| + bm.setPixelRef(imageRef);
|
|
|
| // Write both bitmaps to pictures, and ensure that the resulting data streams are the same.
|
| // Flattening original will follow the old path of performing an encode, while flattening bm
|
|
|