DM: some refactoring
  - rename ComparisonTask to ChecksumTask
  - have ChecksumTask handle all the checksum-checking
  - turn on all extra modes by default
  - simplify progress output to a countdown

BUG=
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/88543002

git-svn-id: http://skia.googlecode.com/svn/trunk@12398 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/dm/DMCpuTask.cpp b/dm/DMCpuTask.cpp
index 1d1d401..263e556 100644
--- a/dm/DMCpuTask.cpp
+++ b/dm/DMCpuTask.cpp
@@ -1,4 +1,5 @@
 #include "DMCpuTask.h"
+#include "DMChecksumTask.h"
 #include "DMPipeTask.h"
 #include "DMReplayTask.h"
 #include "DMSerializeTask.h"
@@ -30,19 +31,20 @@
     fGM->draw(&canvas);
     canvas.flush();
 
-    if (!MeetsExpectations(fExpectations, bitmap)) {
-        this->fail();
-    }
+#define SPAWN(ChildTask, ...) this->spawnChild(SkNEW_ARGS(ChildTask, (*this, __VA_ARGS__)))
+    SPAWN(ChecksumTask, fExpectations, bitmap);
 
-    this->spawnChild(SkNEW_ARGS(PipeTask, (*this, fGMFactory(NULL), bitmap, false, false)));
-    this->spawnChild(SkNEW_ARGS(PipeTask, (*this, fGMFactory(NULL), bitmap, true, false)));
-    this->spawnChild(SkNEW_ARGS(PipeTask, (*this, fGMFactory(NULL), bitmap, true, true)));
+    SPAWN(PipeTask, fGMFactory(NULL), bitmap, false, false);
+    SPAWN(PipeTask, fGMFactory(NULL), bitmap, true, false);
+    SPAWN(PipeTask, fGMFactory(NULL), bitmap, true, true);
 
-    this->spawnChild(SkNEW_ARGS(ReplayTask, (*this, fGMFactory(NULL), bitmap, true)));
-    this->spawnChild(SkNEW_ARGS(ReplayTask, (*this, fGMFactory(NULL), bitmap, false)));
+    SPAWN(ReplayTask, fGMFactory(NULL), bitmap, false);
+    SPAWN(ReplayTask, fGMFactory(NULL), bitmap, true);
 
-    this->spawnChild(SkNEW_ARGS(SerializeTask, (*this, fGMFactory(NULL), bitmap)));
-    this->spawnChild(SkNEW_ARGS(WriteTask, (*this, bitmap)));
+    SPAWN(SerializeTask, fGMFactory(NULL), bitmap);
+
+    SPAWN(WriteTask, bitmap);
+#undef SPAWN
 }
 
 bool CpuTask::shouldSkip() const {