Commit graph

21 commits

Author SHA1 Message Date
Matthew Olsson
3721a1a81c LibWeb: Run update_finished_state when setting AnimationEffect's timing
This will need to a necessary style invalidation
2024-02-16 12:02:11 -07:00
Matthew Olsson
ce99636cd0 LibWeb: Fix check for missing argument in Animation constructor
Receiving a null argument has a different result than not passing an
argument at all.
2024-02-16 12:02:11 -07:00
Matthew Olsson
727a9a6472 LibWeb: Run pending play tasks when the timeline time changes
Note that the timeline time changes every animation frame when the
Document sends out animation events
2024-02-15 12:34:19 +01:00
Matthew Olsson
4792dc294b LibWeb: Implement Animation::play 2024-02-15 12:34:19 +01:00
Matthew Olsson
88518c29ca LibWeb: Combine "pending" and "ASAP" animation task states
It seems that the difference between pending and ASAP in the spec is
only to allow the implementation to perform implementation-defined
operations between the two states. We don't need to distinguish the two
states, so lets just combine them for now.
2024-02-15 12:34:19 +01:00
Matthew Olsson
154b4d4196 LibWeb: Invalidate style of animation targets in update_finished_state 2024-02-06 08:42:07 +01:00
Matthew Olsson
16a21a503d LibWeb: Fix incorrect comparison in Animation::update_finished_state 2024-02-06 08:42:07 +01:00
Matthew Olsson
8c80d0ee02 LibWeb: Fix typo (original_relative_time -> origin_relative_time) 2024-02-06 08:42:07 +01:00
Shannon Booth
96af80acd1 LibWeb: Port Intrinsics from DeprecatedString 2023-11-28 17:15:27 -05:00
Andreas Kling
bfd354492e LibWeb: Put most LibWeb GC objects in type-specific heap blocks
With this change, we now have ~1200 CellAllocators across both LibJS and
LibWeb in a normal WebContent instance.

This gives us a minimum heap size of 4.7 MiB in the scenario where we
only have one cell allocated per type. Of course, in practice there will
be many more of each type, so the effective overhead is quite a bit
smaller than that in practice.

I left a few types unconverted to this mechanism because I got tired of
doing this. :^)
2023-11-19 22:00:48 +01:00
Matthew Olsson
536596632b LibWeb: Implement Animation::update_finished_state 2023-11-19 18:54:37 +01:00
Matthew Olsson
8053d40fd5 LibWeb: Add Animation helpers needed for update_finished_state 2023-11-19 18:54:37 +01:00
Matthew Olsson
fe40bdfc01 LibWeb: Implement Animation::play_state 2023-11-11 22:45:16 +01:00
Matthew Olsson
8039fe78cd LibWeb: Implement Animation::set_playback_rate 2023-11-11 22:45:16 +01:00
Matthew Olsson
749462f3df LibWeb: Implement Animation::set_current_time 2023-11-11 22:45:16 +01:00
Matthew Olsson
f898b49c8e LibWeb: Implement Animation::current_time 2023-11-11 22:45:16 +01:00
Matthew Olsson
9802995de8 LibWeb: Track an Animation's play/pause task state
This only tracks whether the relevant steps should be executed at some
future (but very soon) time. This time will eventually be whenever the
"update animations and send events" procedure is invoked.
2023-11-11 22:45:16 +01:00
Matthew Olsson
422f43f4fc LibWeb: Implement Animation::set_start_time 2023-11-11 22:45:16 +01:00
Matthew Olsson
4889f53880 LibWeb: Implement Animation::set_timeline 2023-11-11 22:45:16 +01:00
Matthew Olsson
2358f64d00 LibWeb: Implement Animation::set_effect() 2023-11-09 16:08:50 +01:00
Matthew Olsson
1ca46afa2f LibWeb: Add the Animation IDL object 2023-11-08 09:58:18 +01:00