Currently RendererProxy is:
1. Created on the UI thread
2. Initialized on the display thread, which binds its WeakPtrFactory to the display thread
3. Used entirely on the UI thread
4. Deleted on the display thread because of #2
QueuedTaskPoster is used entirely on the UI thread, but #4 above forces it to be deleted on the display thread. QueuedTaskPoster has a WeakPtrFactory which is bound to the UI thread so technically speaking it can't be deleted on the display thread. The WeakPtrFactory's dtor should have failed a thread checker's DCHECK but for some reason it rarely happens on our app, though we still need to fix this issue to prevent thread-related crashes.
Comment 1 by bugdroid1@chromium.org
, Aug 13