Shannon Booth
a975fca42e
LibWeb: Implement size attribute of ByteLengthQueuingStrategy
...
Co-authored-by: Matthew Olsson <mattco@serenityos.org>
2023-06-23 13:27:29 +02:00
Shannon Booth
49689e5d8e
LibWeb: Implement size attribute of CountQueuingStrategy
...
Co-authored-by: Matthew Olsson <mattco@serenityos.org>
2023-06-23 13:27:29 +02:00
Aliaksandr Kalenik
147c3b3d97
LibWeb+WebContent: Forbid access to underlying type of CSSPixels
...
Although DistinctNumeric, which is supposed to abstract the underlying
type, was used to represent CSSPixels, we have a whole bunch of places
in the layout code that assume CSSPixels::value() returns a
floating-point type. This assumption makes it difficult to replace the
underlying type in CSSPixels with a non-floating type.
To make it easier to transition CSSPixels to fixed-point math, one step
we can take is to prevent access to the underlying type using value()
and instead use explicit conversions with the to_float(), to_double(),
and to_int() methods.
2023-06-13 06:08:27 +02:00
stelar7
9c74f49b1d
LibWeb: Implement has_transient_activation
2023-06-01 14:28:52 +02:00
Andreas Kling
655d9d1462
LibWeb: Make CSSPixels and Length use 64-bit (double) floating point
...
This fixes a plethora of rounding problems on many websites.
In the future, we may want to replace this with fixed-point arithmetic
(bug #18566 ) for performance (and consistency with other engines),
but in the meantime this makes the web look a bit better. :^)
There's a lot more things that could be converted to doubles, which
would reduce the amount of casting necessary in this patch.
We can do that incrementally, however.
2023-05-24 14:40:35 +02:00
Kenneth Myhra
cbefab21be
LibWeb: Port fire_a_page_transition_event() to new FlyString
2023-04-09 17:27:27 +02:00
Kenneth Myhra
4d87072201
LibWeb: Port {HTML,UIEvents,XHR}::EventNames to new String
2023-04-06 23:49:08 +02:00
Luke Wilde
034aaf3f51
LibWeb: Introduce CustomElementRegistry and creating custom elements
...
The main missing feature here is form associated custom elements.
2023-04-06 11:36:56 +02:00
Kenneth Myhra
1080281e58
LibWeb: Port AbstractBrowsingContext to String
2023-04-06 08:41:43 +02:00
Luke Wilde
cbe0901706
LibWeb: Implement performance.mark and performance.clearMarks
2023-03-23 21:00:43 +00:00
Timothy Flynn
2a410f8985
LibWeb: Change "popup"-related storage types to named enums
2023-03-22 00:12:53 +01:00
Timothy Flynn
bff109ee50
LibWeb: Change the "noreferrer" storage type to a named enum
2023-03-22 00:12:53 +01:00
Timothy Flynn
1b811191cd
LibWeb+WebContent: Change the "noopener" storage type to a named enum
2023-03-22 00:12:53 +01:00
Timothy Flynn
57646c86ef
LibWeb: Port the WebAssembly namespace to IDL
2023-03-16 19:39:17 +00:00
Timothy Flynn
2d45e1fca5
LibWeb: Port the CSS namespace to IDL
2023-03-15 12:48:25 -04:00
Timothy Flynn
9c569e8a0f
LibWeb: Implement the [PutForwards] IDL extended attribute
...
For example, consider the attribute:
interface Element {
[PutForwards=value] readonly attribute DOMTokenList classList;
}
When `classList` is set, we should instead set the attribute `value` on
the `classList` attribute of the Element interface.
2023-03-14 16:30:19 -04:00
Timothy Flynn
0aa4466ce9
LibWeb: Port {set,clear}{Timeout,Interval} to IDL
2023-03-14 09:07:40 -04: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
Timothy Flynn
97536e4684
LibWeb+Ladybird+Userland: Port window.[alert,confirm,prompt] to String
...
LibGUI and WebDriver (read: JSON) API boundaries use DeprecatedString,
so that is as far as these changes can reach.
The one change which isn't just a DeprecatedString to String replacement
is handling the "null" prompt response. We previously checked for the
null DeprecatedString, whereas we now represent this as an empty
Optional<String>.
2023-03-13 22:05:22 +00:00
Linus Groh
41b8d81d49
LibWeb/HTML: Remove redundant namespace qualifiers from Window.{cpp,h}
2023-03-11 18:26:40 +00:00
Linus Groh
324dacbc5d
LibWeb/HTML: Propagate OOM errors from Window::{local,session}_storage()
...
This requires a bit of error type conversion glue as HashMap::try_ensure
expects the callback to return ErrorOr<T> like the function itself does.
2023-03-11 18:26:40 +00:00
Linus Groh
4da68384e6
LibWeb/HTML: Make Window::m{location,navigator} lazily allocated
...
This now matches the other window-owned objects, which already do this:
m_crypto, m_performance, m_screen.
2023-03-11 17:53:50 +00:00
Linus Groh
22552382ff
LibWeb/HTML: Use CreateMethodProperty for Window namespace properties
...
This makes sure the property attributes are correct (writable and
configurable), which they currently aren't for either CSS or
WebAssembly.
2023-03-11 17:32:07 +00:00
Linus Groh
d4d49e00a2
LibWeb/Bindings: Remove now unused REPLACEABLE_PROPERTY_SETTER() macro
2023-03-07 23:33:34 +00: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
a31c561a5a
LibWeb/HTML: Port Window.sessionStorage to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
37e9302dd9
LibWeb/HTML: Port Window.localStorage 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
a2fb3a1653
LibWeb/HTML: Port Window.cancelAnimationFrame() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
211e6c1fbc
LibWeb/HTML: Port Window.requestAnimationFrame() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
86589f09dc
LibWeb/HTML: Port Window.cancelIdleCallback() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
b410804f54
LibWeb/HTML: Port Window.requestIdleCallback() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
606b9ff6f3
LibWeb/HTML: Port Window.getSelection() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
56550b6ec0
LibWeb/HTML: Port Window.focus() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
b59505aba5
LibWeb/HTML: Port Window.getComputedStyle() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
8454eb874f
LibWeb/HTML: Port Window.devicePixelRatio to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
46e547d774
LibWeb/HTML: Port Window.outer{Width,Height} to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
80acf03278
LibWeb/HTML: Port Window.screen{X,Y} / Window.screen{Left,Top} to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
3d075e55f5
LibWeb/HTML: Port Window.scrollBy() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
2b6d9cca1a
LibWeb/HTML: Port Window.scroll() to IDL
...
...with various changes required due to ScrollBehavior / ScrollOptions
moving from Element.idl to Window.idl.
2023-03-07 23:33:34 +00:00
Linus Groh
40b4ee88de
LibWeb/HTML: Port Window.scroll{X,Y} / Window.page{X,Y}Offset to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
25f53a577d
LibWeb/HTML: Port Window.inner{Width,Height} to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
0c691087ca
LibWeb/HTML: Port Window.screen to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
2beb99b76e
LibWeb/HTML: Port Window.matchMedia() to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
198db2ebd9
LibWeb/HTML: Port Window.crypto to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
7de9179a6d
LibWeb/HTML: Port Window.performance to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
95ce5735ce
LibWeb/HTML: Port Window.event to IDL
2023-03-07 23:33:34 +00:00
Linus Groh
6dd1934ed8
LibWeb/HTML: Port Window.atob() to IDL
2023-03-07 23:33:34 +00:00