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 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 m_canvas->drawPicture(m_picture); | 169 m_canvas->drawPicture(m_picture); |
170 EXPECT_EQ(0, m_frameBufferRequestCount); | 170 EXPECT_EQ(0, m_frameBufferRequestCount); |
171 | 171 |
172 SkBitmap canvasBitmap; | 172 SkBitmap canvasBitmap; |
173 canvasBitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 100); | 173 canvasBitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 100); |
174 ASSERT_TRUE(m_canvas->readPixels(&canvasBitmap, 0, 0)); | 174 ASSERT_TRUE(m_canvas->readPixels(&canvasBitmap, 0, 0)); |
175 SkAutoLockPixels autoLock(canvasBitmap); | 175 SkAutoLockPixels autoLock(canvasBitmap); |
176 EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), canvasBitmap.getColor(0, 0)); | 176 EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), canvasBitmap.getColor(0, 0)); |
177 } | 177 } |
178 | 178 |
| 179 TEST_F(DeferredImageDecoderTest, drawDiscardableIntoSkPicture) |
| 180 { |
| 181 DeferredImageDecoder::setSkiaDiscardableMemoryEnabled(true); |
| 182 |
| 183 m_lazyDecoder->setData(m_data.get(), true); |
| 184 RefPtr<NativeImageSkia> image = m_lazyDecoder->frameBufferAtIndex(0)->asNewN
ativeImage(); |
| 185 EXPECT_EQ(1, image->bitmap().width()); |
| 186 EXPECT_EQ(1, image->bitmap().height()); |
| 187 EXPECT_FALSE(image->bitmap().isNull()); |
| 188 EXPECT_TRUE(image->bitmap().isImmutable()); |
| 189 |
| 190 SkCanvas* tempCanvas = m_picture.beginRecording(100, 100); |
| 191 tempCanvas->drawBitmap(image->bitmap(), 0, 0); |
| 192 m_picture.endRecording(); |
| 193 EXPECT_EQ(0, m_frameBufferRequestCount); |
| 194 |
| 195 m_canvas->drawPicture(m_picture); |
| 196 EXPECT_EQ(0, m_frameBufferRequestCount); |
| 197 |
| 198 SkBitmap canvasBitmap; |
| 199 canvasBitmap.setConfig(SkBitmap::kARGB_8888_Config, 100, 100); |
| 200 ASSERT_TRUE(m_canvas->readPixels(&canvasBitmap, 0, 0)); |
| 201 SkAutoLockPixels autoLock(canvasBitmap); |
| 202 EXPECT_EQ(SkColorSetARGB(255, 255, 255, 255), canvasBitmap.getColor(0, 0)); |
| 203 |
| 204 DeferredImageDecoder::setSkiaDiscardableMemoryEnabled(false); |
| 205 } |
| 206 |
179 TEST_F(DeferredImageDecoderTest, DISABLED_drawScaledIntoSkPicture) | 207 TEST_F(DeferredImageDecoderTest, DISABLED_drawScaledIntoSkPicture) |
180 { | 208 { |
181 m_lazyDecoder->setData(m_data.get(), true); | 209 m_lazyDecoder->setData(m_data.get(), true); |
182 RefPtr<NativeImageSkia> image = m_lazyDecoder->frameBufferAtIndex(0)->asNewN
ativeImage(); | 210 RefPtr<NativeImageSkia> image = m_lazyDecoder->frameBufferAtIndex(0)->asNewN
ativeImage(); |
183 SkBitmap scaledBitmap = image->resizedBitmap(SkISize::Make(50, 51), SkIRect:
:MakeWH(50, 51)); | 211 SkBitmap scaledBitmap = image->resizedBitmap(SkISize::Make(50, 51), SkIRect:
:MakeWH(50, 51)); |
184 EXPECT_FALSE(scaledBitmap.isNull()); | 212 EXPECT_FALSE(scaledBitmap.isNull()); |
185 EXPECT_TRUE(scaledBitmap.isImmutable()); | 213 EXPECT_TRUE(scaledBitmap.isImmutable()); |
186 EXPECT_EQ(50, scaledBitmap.width()); | 214 EXPECT_EQ(50, scaledBitmap.width()); |
187 EXPECT_EQ(51, scaledBitmap.height()); | 215 EXPECT_EQ(51, scaledBitmap.height()); |
188 EXPECT_EQ(0, m_frameBufferRequestCount); | 216 EXPECT_EQ(0, m_frameBufferRequestCount); |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 // The following code should not fail any assert. | 341 // The following code should not fail any assert. |
314 SkCanvas* tempCanvas = m_picture.beginRecording(100, 100); | 342 SkCanvas* tempCanvas = m_picture.beginRecording(100, 100); |
315 tempCanvas->drawBitmap(image->bitmap(), 0, 0); | 343 tempCanvas->drawBitmap(image->bitmap(), 0, 0); |
316 m_picture.endRecording(); | 344 m_picture.endRecording(); |
317 EXPECT_EQ(0, m_frameBufferRequestCount); | 345 EXPECT_EQ(0, m_frameBufferRequestCount); |
318 m_canvas->drawPicture(m_picture); | 346 m_canvas->drawPicture(m_picture); |
319 EXPECT_EQ(1, m_frameBufferRequestCount); | 347 EXPECT_EQ(1, m_frameBufferRequestCount); |
320 } | 348 } |
321 | 349 |
322 } // namespace WebCore | 350 } // namespace WebCore |
OLD | NEW |