DM: set source options only when non-empty.
BUG=skia:
Review URL: https://codereview.chromium.org/1063713002
diff --git a/dm/DMJsonWriter.cpp b/dm/DMJsonWriter.cpp
index c8334c5..4fe6924 100644
--- a/dm/DMJsonWriter.cpp
+++ b/dm/DMJsonWriter.cpp
@@ -52,12 +52,17 @@
SkAutoMutexAcquire lock(&gBitmapResultLock);
for (int i = 0; i < gBitmapResults.count(); i++) {
Json::Value result;
- result["key"]["name"] = gBitmapResults[i].name.c_str();
- result["key"]["config"] = gBitmapResults[i].config.c_str();
- result["key"]["source_type"] = gBitmapResults[i].sourceType.c_str();
- result["key"]["source_options"] = gBitmapResults[i].sourceOptions.c_str();
- result["options"]["ext"] = gBitmapResults[i].ext.c_str();
- result["md5"] = gBitmapResults[i].md5.c_str();
+ result["key"]["name"] = gBitmapResults[i].name.c_str();
+ result["key"]["config"] = gBitmapResults[i].config.c_str();
+ result["key"]["source_type"] = gBitmapResults[i].sourceType.c_str();
+ result["options"]["ext"] = gBitmapResults[i].ext.c_str();
+ result["md5"] = gBitmapResults[i].md5.c_str();
+
+ // Source options only need to be part of the key if they exist.
+ // Source type by source type, we either always set options or never set options.
+ if (!gBitmapResults[i].sourceOptions.isEmpty()) {
+ result["key"]["source_options"] = gBitmapResults[i].sourceOptions.c_str();
+ }
root["results"].append(result);
}