aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/lazy
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-28 16:16:08 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-05-28 16:16:08 +0000
commit924205aaf2e0c3c65dda13e0eaccde3e7b2a5c40 (patch)
treecd704d07bcb1cf1118ea4ebc2fd762e6606d0dff /src/lazy
parentb263985850a7a74ccd5fda2abb057b04f7254e41 (diff)
Revert of add colortable support to imagegenerator (https://codereview.chromium.org/304443003/)
Reason for revert: failing tests Original issue's description: > add colortable support to imagegenerator > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=14916 R=halcanary@google.com, scroggo@google.com TBR=halcanary@google.com, scroggo@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/300873007 git-svn-id: http://skia.googlecode.com/svn/trunk@14917 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/lazy')
-rw-r--r--src/lazy/SkDiscardablePixelRef.cpp19
-rw-r--r--src/lazy/SkDiscardablePixelRef.h5
2 files changed, 6 insertions, 18 deletions
diff --git a/src/lazy/SkDiscardablePixelRef.cpp b/src/lazy/SkDiscardablePixelRef.cpp
index b0bbd27e3a..ccf812ce6f 100644
--- a/src/lazy/SkDiscardablePixelRef.cpp
+++ b/src/lazy/SkDiscardablePixelRef.cpp
@@ -60,30 +60,15 @@ bool SkDiscardablePixelRef::onNewLockPixels(LockRec* rec) {
}
void* pixels = fDiscardableMemory->data();
- const SkImageInfo& info = this->info();
- SkPMColor colors[256];
- int colorCount = 0;
-
- if (!fGenerator->getPixels(info, pixels, fRowBytes, colors, &colorCount)) {
+ if (!fGenerator->getPixels(this->info(), pixels, fRowBytes)) {
fDiscardableMemory->unlock();
SkDELETE(fDiscardableMemory);
fDiscardableMemory = NULL;
return false;
}
- // Note: our ctable is not purgable, as it is not stored in the discardablememory block.
- // This is because SkColorTable is refcntable, and therefore our caller could hold onto it
- // beyond the scope of a lock/unlock. If we change the API/lifecycle for SkColorTable, we
- // could move it into the block, but then again perhaps it is small enough that this doesn't
- // really matter.
- if (colorCount > 0) {
- fCTable.reset(SkNEW_ARGS(SkColorTable, (colors, colorCount)));
- } else {
- fCTable.reset(NULL);
- }
-
rec->fPixels = pixels;
- rec->fColorTable = fCTable.get();
+ rec->fColorTable = NULL;
rec->fRowBytes = fRowBytes;
return true;
}
diff --git a/src/lazy/SkDiscardablePixelRef.h b/src/lazy/SkDiscardablePixelRef.h
index 52a1d6ce37..e5e1c9f0e1 100644
--- a/src/lazy/SkDiscardablePixelRef.h
+++ b/src/lazy/SkDiscardablePixelRef.h
@@ -17,6 +17,10 @@
* A PixelRef backed by SkDiscardableMemory, with the ability to
* re-generate the pixels (via a SkImageGenerator) if the DM is
* purged.
+ *
+ * Since SkColorTable is reference-counted, we do not support indexed
+ * color with this class; there would be no way for the discardable
+ * memory system to unref the color table.
*/
class SkDiscardablePixelRef : public SkPixelRef {
public:
@@ -42,7 +46,6 @@ private:
// PixelRef, since the SkBitmap doesn't expect them to change.
SkDiscardableMemory* fDiscardableMemory;
- SkAutoTUnref<SkColorTable> fCTable;
/* Takes ownership of SkImageGenerator. */
SkDiscardablePixelRef(const SkImageInfo&, SkImageGenerator*,