Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / dm / DMWriteTask.h
index c2c1d9f..d2403ad 100644 (file)
@@ -1,9 +1,10 @@
 #ifndef DMWriteTask_DEFINED
 #define DMWriteTask_DEFINED
 
-#include "DMExpectations.h"
 #include "DMTask.h"
 #include "SkBitmap.h"
+#include "SkJSONCPP.h"
+#include "SkStream.h"
 #include "SkString.h"
 #include "SkTArray.h"
 
@@ -15,32 +16,28 @@ namespace DM {
 class WriteTask : public CpuTask {
 
 public:
-    WriteTask(const Task& parent,  // WriteTask must be a child task.
-              SkBitmap bitmap);    // Bitmap to encode to PNG and write to disk.
+    WriteTask(const Task& parent,      // WriteTask must be a child task.
+              const char* sourceType,  // E.g. "GM", "SKP".  For humans.
+              SkBitmap bitmap);        // Bitmap to encode to PNG and write to disk.
 
-    WriteTask(const Task& parent,   // WriteTask must be a child task.
-              SkData *data,         // Pre-encoded data to write to disk.
-              const char* ext);     // File extension.
+    // Takes ownership of SkStreamAsset
+    WriteTask(const Task& parent,      // WriteTask must be a child task.
+              const char* sourceType,  // E.g. "GM", "SKP".  For humans.
+              SkStreamAsset* data,     // Pre-encoded data to write to disk.
+              const char* ext);        // File extension.
 
     virtual void draw() SK_OVERRIDE;
     virtual bool shouldSkip() const SK_OVERRIDE;
     virtual SkString name() const SK_OVERRIDE;
 
-    // Reads image files WriteTask wrote under root and compares them with bitmap.
-    class Expectations : public DM::Expectations {
-    public:
-        explicit Expectations(const char* root) : fRoot(root) {}
-
-        bool check(const Task& task, SkBitmap bitmap) const SK_OVERRIDE;
-    private:
-        const char* fRoot;
-    };
+    static void DumpJson();
 
 private:
     SkTArray<SkString> fSuffixes;
-    const SkString fGmName;
+    const SkString fBaseName;
+    const SkString fSourceType;
     const SkBitmap fBitmap;
-    SkAutoTUnref<SkData> fData;
+    SkAutoTDelete<SkStreamAsset> fData;
     const char* fExtension;
 
     void makeDirOrFail(SkString dir);