1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 00:17:34 +00:00
Commit graph

4719 commits

Author SHA1 Message Date
Kenneth Myhra
fb3294863e LibWeb: Return JS::NonnullGCPtr<StaticRange> instead of StaticRange* 2023-02-18 00:52:47 +01:00
Kenneth Myhra
6516329867 LibWeb: Propagate error in factory method of DOM::StaticRange 2023-02-18 00:52:47 +01:00
Kenneth Myhra
411097002b LibWeb: Add a method to ExceptionOr to drop error handling
This should solely be used to to ignore errors in infallible contexts.
2023-02-18 00:52:47 +01:00
MacDue
e2691fcdf2 LibWeb: Always move (Nonnull)RefPtr parameters into StyleValues
This is done for consistency rather than any performance concerns.
2023-02-17 16:22:56 +00:00
MacDue
ac3af6624b LibWeb: Use default equality operators for StyleValues
This removes a load of manually implemented equality operators. This
is done with a little pattern where all properties of a StyleValue are
placed inside a Properties member struct, with a defaulted equality
operator. This is then used to do the actual StyleValue compare.

There is also a CTRP class to avoid manually implementing the virtual
operator==()s for all StyleValues.
2023-02-17 16:22:56 +00:00
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