Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always update intervals using the "latest update time" #20482

Merged
merged 1 commit into from Dec 2, 2019

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Nov 27, 2019

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/+/1939788
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#720669}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

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/+/1939788
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/master@{#720669}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants