Descriptioncc: Fix data race in PaintOpBuffer by not mutating PaintOps.
Raster can be done on multiple threads at once, so it is not okay to
mutate a PaintOp while doing raster. This fixes the case of
RasterWithAlpha needing to change the PaintFlags back to having it make
a copy. To do this, we add a RasterWithFlags() static method to each
subclass of PaintOpWithFlags, and call that directly with the modified
flags when needed. These subclasses still need to provide a Raster()
method which just passes the |flags| member thru to the
RasterWithFlags().
Before MonochromePublic.apk: 79,762,639 bytes
After MonochromePublic.apk: 79,762,639 bytes
R=enne@chromium.org
BUG=718309
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Review-Url: https://codereview.chromium.org/2863673002
Cr-Commit-Position: refs/heads/master@{#469450}
Committed: https://chromium.googlesource.com/chromium/src/+/92d629556f9aecd90a2af9785d1a5713dd15b0ba
Patch Set 1 #
Messages
Total messages: 8 (4 generated)
|