Support comment groups in SkRecord.
This should fix the failing paint-command-log-nodes.html layout test.
BUG=406425
R=tomhudson@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/501533003
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 2e14c3e..df3e1d8 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -82,6 +82,13 @@
return dst;
}
+// As above, assuming and copying a terminating \0.
+template <>
+char* SkRecorder::copy(const char* src) {
+ return this->copy(src, strlen(src)+1);
+}
+
+
void SkRecorder::clear(SkColor color) {
APPEND(Clear, color);
}
@@ -276,3 +283,15 @@
INHERITED(onClipRegion, deviceRgn, op);
APPEND(ClipRegion, this->devBounds(), delay_copy(deviceRgn), op);
}
+
+void SkRecorder::beginCommentGroup(const char* description) {
+ APPEND(BeginCommentGroup, this->copy(description));
+}
+
+void SkRecorder::addComment(const char* key, const char* value) {
+ APPEND(AddComment, this->copy(key), this->copy(value));
+}
+
+void SkRecorder::endCommentGroup() {
+ APPEND(EndCommentGroup);
+}