| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkBitmap.h" | 8 #include "SkBitmap.h" |
| 9 #include "SkCanvas.h" | 9 #include "SkCanvas.h" |
| 10 #include "SkData.h" | 10 #include "SkData.h" |
| (...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 261 REPORTER_ASSERT(reporter, success | 261 REPORTER_ASSERT(reporter, success |
| 262 == (TestImageGenerator::kFailGetInfo_TestType != type)); | 262 == (TestImageGenerator::kFailGetInfo_TestType != type)); |
| 263 if (TestImageGenerator::kSucceedGetPixels_TestType == type) { | 263 if (TestImageGenerator::kSucceedGetPixels_TestType == type) { |
| 264 CheckTestImageGeneratorBitmap(reporter, lazy); | 264 CheckTestImageGeneratorBitmap(reporter, lazy); |
| 265 } else if (TestImageGenerator::kFailGetPixels_TestType == type) { | 265 } else if (TestImageGenerator::kFailGetPixels_TestType == type) { |
| 266 SkAutoLockPixels autoLockPixels(lazy); | 266 SkAutoLockPixels autoLockPixels(lazy); |
| 267 REPORTER_ASSERT(reporter, NULL == lazy.getPixels()); | 267 REPORTER_ASSERT(reporter, NULL == lazy.getPixels()); |
| 268 } | 268 } |
| 269 } | 269 } |
| 270 } // namespace | 270 } // namespace |
| 271 |
| 272 // new/lock/delete is an odd pattern for a pixelref, but it needs to not assert |
| 273 static void test_newlockdelete(skiatest::Reporter* reporter) { |
| 274 SkBitmap bm; |
| 275 SkImageGenerator* ig = new TestImageGenerator( |
| 276 TestImageGenerator::kSucceedGetPixels_TestType, |
| 277 reporter); |
| 278 SkInstallDiscardablePixelRef(ig, &bm, NULL); |
| 279 bm.pixelRef()->lockPixels(); |
| 280 } |
| 281 |
| 271 /** | 282 /** |
| 272 * This tests the basic functionality of SkDiscardablePixelRef with a | 283 * This tests the basic functionality of SkDiscardablePixelRef with a |
| 273 * basic SkImageGenerator implementation and several | 284 * basic SkImageGenerator implementation and several |
| 274 * SkDiscardableMemory::Factory choices. | 285 * SkDiscardableMemory::Factory choices. |
| 275 */ | 286 */ |
| 276 DEF_TEST(DiscardableAndCachingPixelRef, reporter) { | 287 DEF_TEST(DiscardableAndCachingPixelRef, reporter) { |
| 288 test_newlockdelete(reporter); |
| 289 |
| 277 CheckPixelRef(TestImageGenerator::kFailGetInfo_TestType, | 290 CheckPixelRef(TestImageGenerator::kFailGetInfo_TestType, |
| 278 reporter, kSkCaching_PixelRefType, NULL); | 291 reporter, kSkCaching_PixelRefType, NULL); |
| 279 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, | 292 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, |
| 280 reporter, kSkCaching_PixelRefType, NULL); | 293 reporter, kSkCaching_PixelRefType, NULL); |
| 281 CheckPixelRef(TestImageGenerator::kSucceedGetPixels_TestType, | 294 CheckPixelRef(TestImageGenerator::kSucceedGetPixels_TestType, |
| 282 reporter, kSkCaching_PixelRefType, NULL); | 295 reporter, kSkCaching_PixelRefType, NULL); |
| 283 | 296 |
| 284 CheckPixelRef(TestImageGenerator::kFailGetInfo_TestType, | 297 CheckPixelRef(TestImageGenerator::kFailGetInfo_TestType, |
| 285 reporter, kSkDiscardable_PixelRefType, NULL); | 298 reporter, kSkDiscardable_PixelRefType, NULL); |
| 286 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, | 299 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 301 SkDiscardableMemoryPool* globalPool = SkGetGlobalDiscardableMemoryPool(); | 314 SkDiscardableMemoryPool* globalPool = SkGetGlobalDiscardableMemoryPool(); |
| 302 // Only acts differently from NULL on a platform that has a | 315 // Only acts differently from NULL on a platform that has a |
| 303 // default discardable memory implementation that differs from the | 316 // default discardable memory implementation that differs from the |
| 304 // global DM pool. | 317 // global DM pool. |
| 305 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, | 318 CheckPixelRef(TestImageGenerator::kFailGetPixels_TestType, |
| 306 reporter, kSkDiscardable_PixelRefType, globalPool); | 319 reporter, kSkDiscardable_PixelRefType, globalPool); |
| 307 CheckPixelRef(TestImageGenerator::kSucceedGetPixels_TestType, | 320 CheckPixelRef(TestImageGenerator::kSucceedGetPixels_TestType, |
| 308 reporter, kSkDiscardable_PixelRefType, globalPool); | 321 reporter, kSkDiscardable_PixelRefType, globalPool); |
| 309 } | 322 } |
| 310 //////////////////////////////////////////////////////////////////////////////// | 323 //////////////////////////////////////////////////////////////////////////////// |
| OLD | NEW |