commit | 2a3b118991ac0ddd19d5bd5eacb150fc82a6f6b1 | [log] [tgz] |
---|---|---|
author | Jonah Chin <jochin@microsoft.com> | Thu Feb 20 07:13:37 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Feb 20 07:13:37 2020 |
tree | de7c2c3a8ce35f21150148c1f9209eb76edc9572 | |
parent | 0bdb38a23a3524c3afd9f3cef1b7dc476cf812e2 [diff] |
Add a PaintRecorder to CanvasResourceProvider This CL is the first step in creating a PaintRecord backed resource provider for canvas OOP-R. Changes of ownership: - PaintRecorder entirely moved from Canvas2DLayerBridge to CanvasResourceProvider. - Management of needs_flush_ for MemoryManagedPaintRecorder moved to CanvasResourceProvider. - RestoreCanvasMatrixClipStack logic centralized to CanvasResourceHost and can be accessed via callback - Backing SkiaPaintCanvas now private to CanvasResourceProvider with no external access. Any users of the backing SkiaPaintCanvas in Canvas2DLayerBridge had their functionality moved to CanvasResourceProvider (ie. new RestoreBackBuffer() function) Updates to test files: - Addition of explicit FlushCanvas() calls in tests that used to expect SkiaPaintCanvas to immediately update. - Some tests expected the CanvasResourceProvider to be created on first draw. This expectation has been changed since the CanvasResourceProvider now gets set up on SetCanvasResourceHost(). Other new functionality: - Display Item List now has a bit that tracks if it contains any draw operations. This is used to see if there are draw ops to flush. Bug: 1019288 Change-Id: I717b18e22d6699dc876d8f8121a25d147738579d Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1891292 Commit-Queue: Khushal <khushalsagar@chromium.org> Reviewed-by: Aaron Krajeski <aaronhk@chromium.org> Reviewed-by: Juanmi Huertas <juanmihd@chromium.org> Reviewed-by: Fernando Serboncini <fserb@chromium.org> Reviewed-by: Khushal <khushalsagar@chromium.org> Cr-Commit-Position: refs/heads/master@{#743002}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .