Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / graphics / test / MockDiscardablePixelRef.h
index e9109cb..18f633a 100644 (file)
 #include "SkBitmap.h"
 #include "SkPixelRef.h"
 
-namespace WebCore {
+namespace blink {
 
 class MockDiscardablePixelRef : public SkPixelRef {
 public:
-    MockDiscardablePixelRef(const SkImageInfo& info)
+    MockDiscardablePixelRef(const SkImageInfo& info, size_t rowbytes)
         : SkPixelRef(info)
+        , m_rowBytes(rowbytes)
         , discarded(false)
     {
         setURI("discardable");
@@ -50,30 +51,16 @@ public:
     class Allocator : public SkBitmap::Allocator {
     public:
         virtual bool allocPixelRef(SkBitmap* dst, SkColorTable* ct) SK_OVERRIDE {
-            SkImageInfo info;
-            if (!dst->asImageInfo(&info)) {
+            const SkImageInfo& info = dst->info();
+            if (kUnknown_SkColorType == info.colorType())
                 return false;
-            }
-            SkAutoTUnref<SkPixelRef> pr(new MockDiscardablePixelRef(info));
+            SkAutoTUnref<SkPixelRef> pr(new MockDiscardablePixelRef(info, dst->rowBytes()));
             dst->setPixelRef(pr);
             return true;
         }
     };
 
-    SK_DECLARE_UNFLATTENABLE_OBJECT()
-
 protected:
-    // SkPixelRef implementation.
-#ifdef SK_SUPPORT_LEGACY_ONLOCKPIXELS
-    virtual void* onLockPixels(SkColorTable**)
-    {
-        if (discarded)
-            return 0;
-        m_lockedMemory = &discarded;
-        return m_lockedMemory;
-    }
-#endif
-
     virtual bool onNewLockPixels(LockRec* rec)
     {
         if (discarded)
@@ -81,7 +68,7 @@ protected:
         m_lockedMemory = &discarded;
         rec->fPixels = m_lockedMemory;
         rec->fColorTable = 0;
-        rec->fRowBytes = 1;
+        rec->fRowBytes = m_rowBytes;
         return true;
     }
 
@@ -92,9 +79,10 @@ protected:
 
 private:
     void* m_lockedMemory;
+    size_t m_rowBytes;
     bool discarded;
 };
 
-} // namespace WebCore
+} // namespace blink
 
 #endif // MockDiscardablePixelRef_h