In a recent code review, we discovered an invalid assumption in how base::ThreadChecker works.
The assumption was that base::ThreadChecker would DCHECK if it was destroyed on the wrong thread.
This is not correct and as this assumption was shared by several folks on the team, there are a number of classes in our codebase which are not correctly verifying the thread they are being destroyed on.
This bug tracks the work needed to add 'DCHECK(thread_checker_.CalledOnValidThread()); to the d'tors of the classes which it is missing (and clean up any resulting bugs).
Note: We want to continue using ThreadChecker (vs. SequenceChecker or some of the newer thread pool classes) as our architecture relies on thread affinity for several interactions.
Comment 1 by joedow@chromium.org
, Apr 26 2017