commit | 204d048290710bdbdb7b87da794ff24467af1af2 | [log] [tgz] |
---|---|---|
author | Stephen Nusko <nuskos@chromium.org> | Fri Mar 19 17:10:50 2021 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Mar 19 17:10:50 2021 |
tree | 5700c426bcf6c774e316670b0b2855ca810fff62 | |
parent | 6cf1f2bcc84f014a8bee68bf1b70ff9690105dea [diff] |
Handle animations calling onImageAvailable multiple times. Actually fix the crash by handling the fact that animations can cause onImageAvailable to be called multiple times (previously we thought 1 draw equaled 1 onImageAvailable). Due to someone giving us a way to repo the crash I was able to determine that when a user clicks the toolbar we preform a ripple animation. We take a screenshot (in hardware or software mode), but I had baked in the assumption that onImageAvailable would only be called once per requestDraw(). This is incorrect so instead we now ignore calls after. This more closely replicates the software draw behaviour. A future optimization would be to not request a new bitmap when we are just doing an animation. In my tests we already had a bitmap before the animation that would have worked. Bug: 1185197,1186567,b:170620133 Change-Id: I8ee1adea1057fe7216693a6c6f3cde588fa29d69 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2773198 Auto-Submit: Stephen Nusko <nuskos@chromium.org> Commit-Queue: David Trainor <dtrainor@chromium.org> Reviewed-by: David Trainor <dtrainor@chromium.org> Reviewed-by: Sami Kyöstilä <skyostil@chromium.org> Cr-Commit-Position: refs/heads/master@{#864687}
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.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.