Try backing SkPicture with SkRecord in Chromium.
This is our first attempt, mostly to feel this out. Performance and
correctness problems are both possible. Please revert this if a benchmark even
smells funny.
That said, we've been working on this a while, are pretty confident it's good
stuff, and have had Skia's internal testing entirely switched over for a week.
Parts of Chromium that serialize and deserialize SkPictures are already
switched over. This CL finishes things off by switching the default
recorded-from-scratch SkPicture to use SkRecord too.
BUG=408985,409110,409138
Committed: https://chromium.googlesource.com/chromium/src/+/f7450daaf38f4951b23fabaaaf659c6af33a705c
Committed: https://chromium.googlesource.com/chromium/src/+/5f2a6ab31313eb2fc6e456f65c3863a77d2d0c30
CQ_EXTRA_TRYBOTS=tryserver.blink:linux_blink_rel,linux_blink_dbg;tryserver.chromium.linux:linux_browser_asan
Committed: https://chromium.googlesource.com/chromium/src/+/130033d6c732af90ed117f05517e4efffd23ae58
Committed: https://crrev.com/ba819aea3f302d89100dc89632fd225a40e65411
Cr-Commit-Position: refs/heads/master@{#293503}
Review URL: https://codereview.chromium.org/504823003
Cr-Commit-Position: refs/heads/master@{#294423}
diff --git a/skia/config/SkUserConfig.h b/skia/config/SkUserConfig.h
index d5070a3..607616d 100644
--- a/skia/config/SkUserConfig.h
+++ b/skia/config/SkUserConfig.h
@@ -261,6 +261,9 @@
// test the threadsafety of SkPicture playback.
#define SK_PICTURE_CLONE_NOOP 1
+// Turns on new (nicer, hopefully faster) SkPicture backend.
+#define SK_PICTURE_USE_SK_RECORD 1
+
// ===== End Chrome-specific definitions =====
#endif
diff --git a/skia/skia_test_expectations.txt b/skia/skia_test_expectations.txt
index 4327f6e..d0e0e57 100644
--- a/skia/skia_test_expectations.txt
+++ b/skia/skia_test_expectations.txt
@@ -48,4 +48,7 @@
#
# START OVERRIDES HERE
+# SkRecord records translates as setMatrix, requiring an update to test expectations.
+crbug.com/408985 inspector/layers/layer-canvas-log.html [ Failure Pass ]
+
# END OVERRIDES HERE (this line ensures that the file is newline-terminated)