commit | 62892558b716d1560264e42929e2be01ead07e71 | [log] [tgz] |
---|---|---|
author | Christopher Cameron <ccameron@chromium.org> | Fri Aug 10 23:10:49 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Fri Aug 10 23:10:49 2018 |
tree | 500d9e30ec86be5be8d107787146a416d3e010b3 | |
parent | b54b3b3f4c92fac9a597039d7026120e4769a5d4 [diff] |
CATransactionGPUCoordinator: Re-enable and make lifetime explicit Disalbing the CATransactionGPUCoordinator caused memory corruption bugs to go away. Fix two potential bugs: 1. Don't post tasks (and potentially change the reference count) inside CATransactionGPUCoordinator's constructor. Do this in a separate explicit Init function. 1a. Move this initialization to the end of GpuProcessHost:Init (instead of being at the beginning of the constructor). 2. Make CATransactionCoordinator explicitly retain PostCommitObserver (which includes CATransactionGPUCoordinator). This fixes a bug whereby at shutdown, destroying not-yet-executed posted tasks caused the CATransactionGPUCoordinator to be destroyed while the CATransactionCoordinator still had a raw pointer to it. Bug: 871430 Change-Id: Ie144071cce9ce48e0187cdaf1fcf32df7b62ed75 Reviewed-on: https://chromium-review.googlesource.com/1171657 Commit-Queue: ccameron <ccameron@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#582378}
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 .