MacDue
9337892ce0
LibWeb: Use default equality operators for StyleValue helper structs
...
Co-authored-by: kleines Filmröllchen <filmroellchen@serenityos.org>
2023-02-17 16:22:56 +00:00
kleines Filmröllchen
d00a6ca11f
AK+LibWeb: Implement Variant equality operator
...
And make use of it for CSS StyleValues.
2023-02-17 16:22:56 +00:00
Timothy Flynn
88814acbd3
LibJS+Everywhere: Convert JS::Error to String
...
This includes an Error::create overload to create an Error from a UTF-8
StringView. If creating a String from that view fails, the factory will
return an OOM InternalError instead. VM::throw_completion can also make
use of this overload via its perfect forwarding.
2023-02-17 09:14:23 -05:00
Timothy Flynn
527edb55ad
LibWeb: Convert usages of Value::TDSWOSE to Value::TSWOSE
2023-02-16 14:32:22 +01:00
Timothy Flynn
b245300ba1
LibJS+Everywhere: Deprecate Value::to_string_without_side_effects
2023-02-16 14:32:22 +01:00
Sam Atkins
85f3de6331
LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors
2023-02-15 12:48:26 -05:00
Sam Atkins
a0b1eddc56
LibWeb: Port CSS::MediaQuery to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
a381ce9519
LibWeb: Port CSS::Supports to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
fc3540c4b1
LibWeb: Port CSS::UnicodeRange to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
316092d185
LibWeb: Use StringView in CSS::PreferredColorScheme
...
This doesn't need to hold the string data.
2023-02-15 12:48:26 -05:00
Sam Atkins
dca19b764b
LibWeb: Port CSS::Display to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
41c4cc95e4
LibWeb: Port CSS::Parser::Rule to new Strings
...
`Rule::to_deprecated_string()` and
`DeclarationOrAtRule::to_deprecated_string()` are not used anywhere, so
we can just delete them.
2023-02-15 12:48:26 -05:00
Sam Atkins
bee32b6cd2
LibWeb: Port CSS::Parser::Declaration to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
a168cda4a7
LibWeb: Port CSS::Parser::ComponentValue to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
05c1b09621
LibWeb: Port CSS::Parser::Function to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
86d23c63a4
LibWeb: Port CSS::Parser::Block to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
e338ef4914
LibWeb: Port ComputedValues to new Strings
2023-02-15 12:48:26 -05:00
Sam Atkins
9e735cc02e
LibWeb: Remove unused includes for DeprecatedString
...
Missed these before, oops.
2023-02-15 12:48:26 -05:00
Sam Atkins
3685a8813a
LibWeb: Port CSS Tokenizer to new Strings
...
Specifically, this uses FlyString, because the data gets held long-term
as a FlyString anyway.
2023-02-15 12:48:26 -05:00
Sam Atkins
a419039bb2
LibWeb: Implement ASCII case-insensitive matching
...
While DeprecatedString and StringView use ASCII case-insensitivity when
matching, String uses the Unicode rules, so in order to match the spec,
we need to *not* use `String::equals_ignoring_case()`.
This function needs to be used everywhere that the spec refers to
an "ASCII case-insensitive match".
2023-02-15 12:48:26 -05:00
Sam Atkins
abc01cc9fe
AK+Tests+LibWeb: Make URL::complete_url()
take a StringView
...
All it does is pass this to `URLParser::parse()` which takes a
StringView, so we might as well take one here too.
2023-02-15 12:48:26 -05:00
Sam Atkins
8af65108e4
LibWeb: Construct CSS Tokenizer and Parser with a StringView encoding
...
This doesn't need to be a full (Deprecated)String, so let's not force it
to be.
2023-02-15 12:48:26 -05:00
Sam Atkins
d6075ef5b5
LibTextCodec+Everywhere: Make TextCodec::decoder_for() take a StringView
...
We don't need a full String/DeprecatedString inside this function, so we
might as well not force users to create one.
2023-02-15 12:48:26 -05:00
Sam Atkins
476ec563bc
LibWeb: Convert CSS Token::to_debug_string() to ::to_string() :^)
...
Using from_utf8_short_string() for all cases that are <= 3 bytes long.
Which is almost all of the static ones.
2023-02-13 14:35:40 +00:00
Sam Atkins
2368e6c5f2
LibWeb: Convert CSS Token/ComponentValue::to_debug_string() to String
...
These are only used for debugging, so I've decided that logging the
ErrorOr<String> itself is fine instead of trying to handle that error
more gracefully in those cases. If you're getting OOM trying to debug
log things, you have bigger problems.
2023-02-13 14:35:40 +00:00
Sam Atkins
7fc72d3838
LibWeb: Convert CSS Token value to new FlyString
2023-02-13 14:35:40 +00:00
Sam Atkins
09f7682feb
LibWeb: Return StringViews from CSS Token bracket-string getters
...
These don't need to be full Strings, so let's be lightweight.
2023-02-13 14:35:40 +00:00
Kenneth Myhra
562594c416
LibWeb: Do not assume field element is always a HTMLInputElement
...
Cast to a HTMLElement instead and retrieve the value attribute from
there instead.
2023-02-13 14:34:37 +00:00
Kenneth Myhra
7d23af49c2
LibWeb: Avoid dereferencing null pointer
...
Null check was missing and we would crash when dereferencing the
pointer to access the type() member.
2023-02-13 14:34:37 +00:00
networkException
f1dd4f42bc
LibWeb: Clarify WebIDL::Promise as an alias for JS::PromiseCapability
...
This patch adds the WebIDL::Promise type explicitly defined in the
WebIDL spec to be a PromiseCapability Record from ecma262.
2023-02-13 12:11:32 +00:00
Tim Schumacher
43f98ac6e1
Everywhere: Remove the AK::
qualifier from Stream usages
2023-02-13 00:50:07 +00:00
Tim Schumacher
874c7bba28
LibCore: Remove Stream.h
2023-02-13 00:50:07 +00:00
Tim Schumacher
606a3982f3
LibCore: Move Stream-based file into the Core
namespace
2023-02-13 00:50:07 +00:00
Tim Schumacher
a96339b72b
LibCore: Move Stream-based sockets into the Core
namespace
2023-02-13 00:50:07 +00:00
Tim Schumacher
d43a7eae54
LibCore: Rename File
to DeprecatedFile
...
As usual, this removes many unused includes and moves used includes
further down the chain.
2023-02-13 00:50:07 +00:00
Kenneth Myhra
f698585097
LibWeb: Move setting of FormDataPrototype to initialize()
...
This moves the setting of FormDataPrototype out of the constructor to
initialize().
2023-02-12 21:35:59 +00:00
Andreas Kling
dadabb58eb
LibWeb: Implement location.hash setter
...
This stops a lot of the whining about uncaught exceptions on the
Speedometer benchmark.
2023-02-12 13:00:33 +01:00
Kenneth Myhra
4d27b9e553
LibWeb: Use 'auto& vm =' once at beginning to reduce noise
2023-02-12 11:53:52 +00:00
Kenneth Myhra
fc886b4556
LibWeb: Implement algorithm 'construct the entry list given a form'
2023-02-12 00:18:09 +00:00
Kenneth Myhra
3bc5fcaccc
LibWeb: Add accessor function HTMLFormElement::constructing_entry_list()
...
Each form element has a constructing entry list boolean, initially
false.
2023-02-12 00:18:09 +00:00
Kenneth Myhra
2363c2a572
LibWeb: Implement HTMLFormElement::get_submittable_elements()
...
This implements a convenience method on HTMLFormElement to retrieve a
list in tree order of submittable elements associated with the form
element.
2023-02-12 00:18:09 +00:00
Kenneth Myhra
a6cdf6374f
LibWeb: Introduce the FormDataEvent interface
2023-02-12 00:18:09 +00:00
Kenneth Myhra
d5b5b94a35
LibWeb: Introduce the FormData interface from the XHR specification
2023-02-12 00:18:09 +00:00
Kenneth Myhra
b74d5a423d
LibWeb: Add convert string into scalar value from Infra spec
2023-02-12 00:18:09 +00:00
Linus Groh
2ad9c1fd6c
LibWeb: Re-implement checkbox painting using the UA stylesheet
...
The checkbox provided by ClassicStylePainter is not scaling-aware and
generally unflexible, instead use the UA default stylesheet with a
handful of properties, the same way we already style buttons and text
inputs.
Thanks to Xexxa for the nice checkmark image!
Co-Authored-By: Xexxa <93391300+Xexxa@users.noreply.github.com>
2023-02-12 00:15:52 +00:00
Aliaksandr Kalenik
ac440e6c0e
LibWeb: Scale font size to device pixels
2023-02-11 20:59:13 +00:00
Linus Groh
ee68eba0ac
LibWeb: Implement Headers.getSetCookie()
...
This is a normative change in the Fetch spec.
See: e4d3480
This also implements the changes to the 'sort and combine' algorithm,
which now treats "set-cookie" headers differently, and is exposed to JS
via the Headers' iterator.
Passes all 21 WPT tests :^)
http://wpt.live/fetch/api/headers/header-setcookie.any.html
2023-02-11 13:14:26 +00:00
Linus Groh
6bce48e99b
LibWeb: Fix UAF in convert_header_names_to_a_sorted_lowercase_set()
...
We can't keep a span (ReadonlyBytes) to a move()'d ByteBuffer
in the header_names_seen HashTable - copy the original name span instead
which works the same thanks to CaseInsensitiveBytesTraits.
This would sporadically fail the contains() check due to garbage data,
later leading to a VERIFY() crash in the OrderedHashTable append loop.
2023-02-11 13:14:26 +00:00
Andreas Kling
7c607462a4
LibGfx+LibWeb: Store radii as FloatSize rather than FloatPoint
...
Radii are sizes, not points. This becomes important when mapping them
through a 2D transform.
2023-02-10 23:33:16 +01:00
Luke Wilde
349c126d8d
LibWeb/Fetch: Implement CORS preflight
...
The main things missing is the CORS preflight cache and making
extract_header_list_values properly parse, validate and return split
values for the Access-Control headers.
2023-02-10 22:18:19 +00:00