aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental
diff options
context:
space:
mode:
authorGravatar zachr@google.com <zachr@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-08 15:04:45 +0000
committerGravatar zachr@google.com <zachr@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-08 15:04:45 +0000
commita95959c3fb4c502b45bc78f15b65cda1f21620e6 (patch)
treeaba2ba3fa67f841157b7cc3acce219db9ad78f60 /experimental
parent293f01939ccb3a97ce3c3e907829fa3a11b78fa0 (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
Diffstat (limited to 'experimental')
-rw-r--r--experimental/skpdiff/SkDiffContext.cpp18
-rw-r--r--experimental/skpdiff/SkDiffContext.h5
-rw-r--r--experimental/skpdiff/main.cpp3
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;