Descriptionaw: Fix invalidate getting lost
An invalidate could be lost in this case:
* SetNeedsContinuousInvalidate starts out as true
* Functor happens on render thread, and SetNeedsContinuousInvalidate
goes false, but because we are on render thread, this is posted back
to UI thread
* Before the task runs on UI, compositor SetNeedsContinuousInvalidate
to true again, since the value is already true, this is a no-op, but
we should really be invalidating now
* The posted task runs and SetNeedsContinuousInvalidate to false,
and we just lost an invalidate
Fix by updating the value with a lock and only post for the invalidate.
This avoids the race causing early out in SetNeedsContinuousInvalidate.
For internal b/13979752
BUG=
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=268258
Patch Set 1 #
Total comments: 3
Messages
Total messages: 8 (0 generated)
|