OLD | NEW |
1 #include "DMTask.h" | 1 #include "DMTask.h" |
2 | 2 |
3 #include "DMTaskRunner.h" | 3 #include "DMTaskRunner.h" |
4 #include "DMUtil.h" | 4 #include "DMUtil.h" |
5 #include "SkBitmap.h" | 5 #include "SkBitmap.h" |
6 #include "SkCommandLineFlags.h" | 6 #include "SkCommandLineFlags.h" |
7 | 7 |
8 namespace DM { | 8 namespace DM { |
9 | 9 |
10 Task::Task(Reporter* reporter, TaskRunner* taskRunner) | 10 Task::Task(Reporter* reporter, TaskRunner* taskRunner) |
11 : fReporter(reporter), fTaskRunner(taskRunner), fDepth(0) { | 11 : fReporter(reporter), fTaskRunner(taskRunner), fDepth(0) { |
12 fReporter->start(); | 12 fReporter->start(); |
13 } | 13 } |
14 | 14 |
15 Task::Task(const Task& parent) | 15 Task::Task(const Task& parent) |
16 : INHERITED(parent) | 16 : INHERITED(parent) |
17 , fReporter(parent.fReporter) | 17 , fReporter(parent.fReporter) |
18 , fTaskRunner(parent.fTaskRunner) | 18 , fTaskRunner(parent.fTaskRunner) |
19 , fDepth(parent.depth()+1) { | 19 , fDepth(parent.depth()+1) { |
20 fReporter->start(); | 20 fReporter->start(); |
21 } | 21 } |
22 | 22 |
23 Task::~Task() {} | 23 Task::~Task() {} |
24 | 24 |
25 void Task::run() { | 25 void Task::run() { |
26 if (!this->shouldSkip()) { | 26 if (!this->shouldSkip()) { |
27 this->draw(); | 27 this->draw(); |
28 } | 28 } |
29 fReporter->finish(); | 29 fReporter->finish(this->name()); |
30 fReporter->updateStatusLine(); | |
31 delete this; | 30 delete this; |
32 } | 31 } |
33 | 32 |
34 void Task::spawnChild(Task* task) { | 33 void Task::spawnChild(Task* task) { |
35 if (!task->usesGpu()) { | 34 if (!task->usesGpu()) { |
36 fTaskRunner->add(task); | 35 fTaskRunner->add(task); |
37 } else { | 36 } else { |
38 SkDEBUGFAIL("Sorry, we can't spawn GPU tasks. :( See comment in TaskRun
ner::wait()."); | 37 SkDEBUGFAIL("Sorry, we can't spawn GPU tasks. :( See comment in TaskRun
ner::wait()."); |
39 } | 38 } |
40 } | 39 } |
41 | 40 |
42 void Task::fail() { | 41 void Task::fail(const char* msg) { |
43 fReporter->fail(this->name()); | 42 SkString failure(this->name()); |
| 43 if (msg) { |
| 44 failure.appendf(": %s", msg); |
| 45 } |
| 46 fReporter->fail(failure); |
44 } | 47 } |
45 | 48 |
46 } // namespace DM | 49 } // namespace DM |
OLD | NEW |