paint: Do trigger animations when a non-animation paint happens#40433
Merged
mrobinson merged 1 commit intoservo:mainfrom Nov 20, 2025
Merged
Conversation
mukilan
approved these changes
Nov 20, 2025
| } | ||
|
|
||
| self.waiting_for_frame.load(Ordering::Relaxed) | ||
| pub(crate) fn wait_to_paint(&self) -> bool { |
Member
There was a problem hiding this comment.
Does the doc comment need to be updated as well, as the code no longer checks the repaint reason?
Member
Author
There was a problem hiding this comment.
Yep! I've updated this.
| @@ -305,14 +305,14 @@ impl WebViewRenderer { | |||
|
|
|||
| pub(crate) fn update_touch_handling_at_new_frame_start(&mut self) -> bool { | |||
Member
There was a problem hiding this comment.
Maybe we could add a doc comment to explain what the boolean return value represents.
Member
Author
There was a problem hiding this comment.
Yes, I think that makes a lot of sense. I've done that.
| } | ||
|
|
||
| self.touch_handler | ||
| .add_touch_move_refresh_obsever_if_necessary( |
Member
There was a problem hiding this comment.
Suggested change
| .add_touch_move_refresh_obsever_if_necessary( | |
| .add_touch_move_refresh_observer_if_necessary( |
Otherwise the `RefreshObsever` can get wedged. This does mean that we will overpaint a bit when processing input events and animating, but we could integrate scroll / zoom event handling with the animation loop to eliminate this overpaint. Signed-off-by: Martin Robinson <[email protected]>
043c7e9 to
c025635
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Otherwise the
RefreshObsevercan get wedged. This does mean that wewill overpaint a bit when processing input events and animating, but we
could integrate scroll / zoom event handling with the animation loop to
eliminate this overpaint.
Testing: This kind of fix for touch interaction is currently very hard to test as it
relies heavily on the order that operations happen between Servo and the
RefreshDriver. It is easy to reproduce in interactive usage though and thischange fixes it.