Tim Ledbetter
3c288c96e6
LibWeb: Extract run_steps_after_a_timeout()
into a separate function
2024-02-28 07:42:43 -05:00
Andreas Kling
40f87f0954
LibWeb: Stop timers when finalizing a Window or WorkerGlobalScope
...
This avoids an assertion that timers are not active when destroyed.
2024-01-03 12:56:18 +01:00
Aliaksandr Kalenik
e7a3040c9f
LibWeb: Do not use JS::Handle for TimerHandler
...
There is no need to use JS::Handle for timer handler because it is
visited from JS::HeapFunction in HTML::Timer.
2023-09-27 16:33:21 +02:00
Aliaksandr Kalenik
67c727177e
LibWeb: Clear all active timers when document is destroyed
...
This change implements a step from the document's destroy procedure in
the specification, saying that all active timers should be cleared.
By doing this, we also fix the leaking of a document in case where we
have navigated away from a page that has scheduled timers that haven't
yet been triggered.
2023-09-26 19:42:59 +02:00
Luke Wilde
56f0b10d14
LibWeb: Fix setTimeout() when there's no active script
...
Implements https://github.com/whatwg/html/pull/9712
Fixes https://github.com/SerenityOS/serenity/issues/20970
2023-09-15 08:53:21 +02:00
Luke Wilde
af2886449a
LibWeb: Implement PerformanceObserver
2023-08-27 23:27:44 +02:00
Andreas Kling
18c54d8d40
LibJS: Make Cell::initialize() return void
...
Stop worrying about tiny OOMs.
Work towards #20405
2023-08-08 07:39:11 +02:00
Luke Wilde
cbe0901706
LibWeb: Implement performance.mark and performance.clearMarks
2023-03-23 21:00:43 +00:00
Luke Wilde
31b507afbf
LibWeb: Introduce Performance Timeline and its Performance functions
2023-03-23 21:00:43 +00:00
Timothy Flynn
2895b7e733
LibWeb: Port the WindowOrWorkerGlobalScopeMixin timer handler to String
...
This will make porting to IDL a bit cleaner.
2023-03-14 09:07:40 -04:00
Timothy Flynn
dd992e7dad
LibWeb: Move timer implementations to WindowOrWorkerGlobalScopeMixin
...
This is where it belongs according to the spec, and where these methods'
IDL will be placed.
This forces us to implement a few steps closer to the spec as well.
2023-03-14 09:07:40 -04:00
Linus Groh
351e5ca917
LibWeb/HTML: Port Window.queueMicrotask() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
129ab02470
LibWeb/HTML: Port Window.structuredClone() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
5cc6b1c4db
LibWeb/HTML: Port Window.fetch() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
1a6b61b0cc
LibWeb/HTML: Move WindowOrWorkerGlobalScope code into a mixin class
...
This will allow us to easily share the implementations of these methods
between Window and WorkerGlobalScope. The mixin class mirrors what I
already did for the Fetch API's Body mixin in 5ad62833
.
2023-03-06 11:02:25 +00:00