-
ckitagawa authored
Renderer side paint preview implementation. This CL creates a mojo service on a RenderFrameObserver that facilitates most of the paint preview capture management. Flow: - Browser calls this service to request paint preview capture of current frame (future CL 1) - PaintPreviewServiceImpl sets up for capture in Blink (this CL) - Blink handles the capture via a flow similar to printing (future CL 2) - This will include invoking a request to the browser to forward requests to OOP subframes. - PaintPreviewServiceImpl does post-processing and marshals a response (this CL) - Two artifacts are produced: - A SkPicture is written to the file handle provided by the browser - A proto containing metadata for the frame is sent via shared memory to the browser. - Browser does some minor modifications to the proto then either stores the proto to disk or forwards the proto and SkPicture files to a utility process for playback. The browser will retain the links from the proto for hit testing. (future CLs) Part of landing: https://chromium-review.googlesource.com/c/chromium/src/+/1786583 Internal Doc: go/fdt-design Bug: 994833 Change-Id: I88ffb89d92dfcb78b61a91a21df2b842c713f8b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1824669Reviewed-by:
Scott Violet <sky@chromium.org> Reviewed-by:
Khushal <khushalsagar@chromium.org> Reviewed-by:
Jochen Eisinger <jochen@chromium.org> Reviewed-by:
Ken Buchanan <kenrb@chromium.org> Reviewed-by:
Ian Vollick <vollick@chromium.org> Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org> Cr-Commit-Position: refs/heads/master@{#706443}
66cdca60