ModelTypeController lives on the UI thread, its delegate may live on a different thread (model thread). Currently, the cross thread posting is implemented in the controller (and/or its subclasses).
We should create a proxy class that implements the ModelTypeControllerDelegate interface that takes care of cross-thread posting.
- the default implementation for data types that live on the UI thread could be super-simple (maybe we even do not need any proxy in this case; maybe we need it to post the tasks so they do execute asynchronously).
- there could be a different proxy implementation that actually does cross-thread posting, with weak-ptrs, etc.
As part of this bug, we should heavily simplify unit-tests for ModelTypeController.
Comment 1 by mastiz@chromium.org
, Jul 3