Always update intervals using the "latest update time"
For interval updates performed "outside" of the regular flow in SMILTimeContainer, we would use the "previous" presentation - i.e the time just before the time we latest updated timing to. This could cause elements to resolve intervals in the past - for example when the latest update time was at the end of an interval it could discard the current interval and resolve an interval in the past, which could then be propagated to its dependents. When these elements were later updated by the main update loop they would again discard the current (in the past) interval and resolve a new one, notifying its dependents. Repeat. Instead always use the "latest update time" (the same is used by SMILTimeContainer::UpdateIntervals) as the argument to Updateinterval(), and only use the "previous" presentation time when checking if the active state may have changed in a relevant way and for rescheduling. Bug: 1021630, 1028839, 1029327 Change-Id: Ibe691ae336df51a36626fdd800e5ddc2303aee5a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1939788Reviewed-by:Philip Rogers <pdr@chromium.org> Commit-Queue: Fredrik Söderquist <fs@opera.com> Cr-Commit-Position: refs/heads/master@{#720669}
Showing
Please register or sign in to comment