-
Christopher Cameron authored
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}
62892558