Matthew Olsson
c732e03ea0
LibWeb: Add missing implementation of method in AnimationTimeline
2024-02-06 08:42:07 +01:00
Matthew Olsson
df4be9a479
LibWeb: Add missing virtual destructor in AnimationEffect
2024-02-06 08:42:07 +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
a7727215a6
LibWeb: Implement missing members of AnimationEffect.getComputedTiming()
2024-02-06 08:42:07 +01:00
Matthew Olsson
360082544c
LibWeb: Fix incorrect Animation active_time in the after phase
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
2e29b0d700
LibWeb: Rename confusing parameter in AnimationPlaybackEvent
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
Matthew Olsson
a27dd03dcc
LibWeb: Avoid slicing struct in KeyframeEffect::construct_impl
2024-02-06 08:42:07 +01:00
Bastiaan van der Plaat
5f5ac48908
LibWeb: Format all .idl files to use four space indentation
2024-01-18 14:00:06 +01:00
Bastiaan van der Plaat
cf69fd0a09
LibWeb: Add input element valueAsDate property
2024-01-06 09:59:30 -07:00
Andreas Kling
f4fa37afd2
LibJS+LibWeb: Add missing JS_DEFINE_ALLOCATOR() for a bunch of classes
2023-12-23 23:02:10 +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
95d62822bf
LibWeb: Implement KeyframeEffect::set_pseudo_element
2023-11-14 10:12:02 +01:00
Matthew Olsson
5824916f8c
LibWeb: Add KeyframeEffect IDL objects
2023-11-14 10:12:02 +01:00
Matthew Olsson
43dc9dfb69
LibWeb: Add the AnimationPlaybackEvent IDL object
2023-11-11 22:45:16 +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
4efbb10a36
LibWeb: Keep track of associated Animations in AnimationTimeline
...
This allows the timeline to propagate changes in time to any relevant
animation objects.
2023-11-11 08:58:08 +01:00
Matthew Olsson
0d3c8a1cd9
LibWeb: Implement AnimationEffect's transformed_progress helper
2023-11-11 08:58:08 +01:00
Matthew Olsson
611faf3645
LibWeb: Add a timing function to AnimationEffect
2023-11-11 08:58:08 +01:00
Matthew Olsson
66bd75f2b9
LibWeb: Add a TimingFunction struct implementing the Web Easing spec
...
This is mostly a copy-paste of the algorithms already in StyleComputer
with spec links and comments. The only thing that really changed is the
handling of values outside of the range [0, 1] in the cubic bezier
function.
The implementation in StyleComputer will be removed in a later commit.
2023-11-11 08:58:08 +01:00
Matthew Olsson
1a94241f58
IDL: Add missing #imports
2023-11-11 08:51:51 +01:00
Matthew Olsson
1915e603c9
LibWeb: Implement AnimationEffect progress helper functions
...
This excludes transformed_progress (which is the progress value used to
interpolate CSS values) as it requires a timing function
2023-11-09 16:08:50 +01:00
Matthew Olsson
7f303729f3
LibWeb: Implement AnimationEffect::active_time()
...
This is split into two functions since there are other places in the
specification that invoke this algorithm with a particular FillMode
(i.e. not the one that the object has in m_fill_mode).
2023-11-09 16:08:50 +01:00
Matthew Olsson
02c4973681
LibWeb: Implement AnimationEffect's phase helpers
2023-11-09 16:08:50 +01:00
Matthew Olsson
6a9c03482f
LibWeb: Implement AnimationEffect's active_boundary time getters
2023-11-09 16:08:50 +01:00
Matthew Olsson
baf5220212
LibWeb: Implement some AnimationEffect timing-related helpers
...
end_time, local_time, and active_duration
2023-11-09 16:08:50 +01:00
Matthew Olsson
d6fb1c24f6
LibWeb: Implement AnimationEffect::animation_direction()
2023-11-09 16:08:50 +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
Matthew Olsson
0df06ce273
LibWeb: Add the AnimationEffect IDL object
2023-11-08 09:58:18 +01:00
Matthew Olsson
13ae2a4dab
LibWeb: Store all timelines associated with a document on the document
...
This will be required for propagating the current animation time to all
relevant timelines, which each propagate that time to all of their
relevant animations.
2023-11-07 15:17:09 +01:00
Matthew Olsson
734076946b
LibWeb: Add DocumentTimeline IDL object
2023-11-07 15:17:09 +01:00
Matthew Olsson
521f8bd5f2
LibWeb: Add AnimationTimeline IDL object
2023-11-07 15:17:09 +01:00