diff options
author | zachr@google.com <zachr@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-08 15:04:45 +0000 |
---|---|---|
committer | zachr@google.com <zachr@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-07-08 15:04:45 +0000 |
commit | a95959c3fb4c502b45bc78f15b65cda1f21620e6 (patch) | |
tree | aba2ba3fa67f841157b7cc3acce219db9ad78f60 | |
parent | 293f01939ccb3a97ce3c3e907829fa3a11b78fa0 (diff) |
add JSONP option to output of skpdiff
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/18648002
git-svn-id: http://skia.googlecode.com/svn/trunk@9907 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r-- | experimental/skpdiff/SkDiffContext.cpp | 18 | ||||
-rw-r--r-- | experimental/skpdiff/SkDiffContext.h | 5 | ||||
-rw-r--r-- | experimental/skpdiff/main.cpp | 3 |
3 files changed, 20 insertions, 6 deletions
diff --git a/experimental/skpdiff/SkDiffContext.cpp b/experimental/skpdiff/SkDiffContext.cpp index 951bba0ee8..78a2384fea 100644 --- a/experimental/skpdiff/SkDiffContext.cpp +++ b/experimental/skpdiff/SkDiffContext.cpp @@ -147,9 +147,15 @@ void SkDiffContext::diffPatterns(const char baselinePattern[], const char testPa } } -void SkDiffContext::outputRecords(SkWStream& stream) { +void SkDiffContext::outputRecords(SkWStream& stream, bool useJSONP) { DiffRecord* currentRecord = fRecords; - stream.writeText("{\n"); + if (useJSONP) { + stream.writeText("var SkPDiffRecords = {\n"); + } + else + { + stream.writeText("{\n"); + } stream.writeText(" \"records\": [\n"); while (NULL != currentRecord) { stream.writeText(" {\n"); @@ -214,5 +220,11 @@ void SkDiffContext::outputRecords(SkWStream& stream) { currentRecord = currentRecord->fNext; } stream.writeText(" ]\n"); - stream.writeText("}\n"); + if (useJSONP) { + stream.writeText("};\n"); + } + else + { + stream.writeText("}\n"); + } } diff --git a/experimental/skpdiff/SkDiffContext.h b/experimental/skpdiff/SkDiffContext.h index 545b515123..141da09a4d 100644 --- a/experimental/skpdiff/SkDiffContext.h +++ b/experimental/skpdiff/SkDiffContext.h @@ -85,9 +85,10 @@ public: * ] * } * - * @param stream The stream to output the diff to + * @param stream The stream to output the diff to + * @param useJSONP True to adding padding to the JSON output to make it cross-site requestable. */ - void outputRecords(SkWStream& stream); + void outputRecords(SkWStream& stream, bool useJSONP); private: struct DiffData { diff --git a/experimental/skpdiff/main.cpp b/experimental/skpdiff/main.cpp index de1171ff3a..08435519b6 100644 --- a/experimental/skpdiff/main.cpp +++ b/experimental/skpdiff/main.cpp @@ -29,6 +29,7 @@ DEFINE_string2(differs, d, "", "The names of the differs to use or all of them b DEFINE_string2(folders, f, "", "Compare two folders with identical subfile names: <baseline folder> <test folder>"); DEFINE_string2(patterns, p, "", "Use two patterns to compare images: <baseline> <test>"); DEFINE_string2(output, o, "skpdiff_output.json", "Writes the output of these diffs to output: <output>"); +DEFINE_bool(jsonp, true, "Output JSON with padding"); /// A callback for any OpenCL errors CL_CALLBACK void error_notify(const char* errorInfo, const void* privateInfoSize, ::size_t cb, void* userData) { @@ -181,7 +182,7 @@ int main(int argc, char** argv) { // Output to the file specified if (!FLAGS_output.isEmpty()) { SkFILEWStream outputStream(FLAGS_output[0]); - ctx.outputRecords(outputStream); + ctx.outputRecords(outputStream, FLAGS_jsonp); } return 0; |