Ben Wiederhake
f53b80e04f
LibC: Add missing header in search.h
2021-10-20 09:20:18 +01:00
Andreas Kling
989c0b23fe
LibWeb: Use the correct initial value for the CSS 'align-items' property
2021-10-19 19:19:29 +02:00
Andreas Kling
ff45eb7fb1
LibWeb: Make computed opacity always available
...
No need to store opacity as Optional<float> as there's always a value
(and the default initial value is 1.)
2021-10-19 19:19:13 +02:00
Andreas Kling
07f15aa550
LibWeb: Make computed flex-grow and flex-shrink always available
...
These values are not allowed to be absent (auto/none/etc) so we don't
need to use Optional<float> for them. This simplifies some things.
2021-10-19 19:17:01 +02:00
Andreas Kling
19eda59359
LibWeb: Add FlexFormattingContext to the forwarding header
2021-10-19 19:14:59 +02:00
Andreas Kling
e6e00d2a4d
LibWeb: Remove already-fixed FIXME in creates_block_formatting_context()
...
We're already creating a BFC for children of inline-flex boxes.
2021-10-19 19:14:11 +02:00
Andreas Kling
225a5f2fe6
LibWeb: Add fast_is<T>() for SVGBox and SVGPathBox
2021-10-19 19:13:58 +02:00
Sam Atkins
78e57096e2
LibWeb: Distinguish between integer and float in NumericStyleValue
...
We have this information when parsing, and some properties specifically
only allow integers, so it makes sense to keep that around.
2021-10-19 19:12:09 +02:00
Timothy Flynn
204a091765
LibCore: Avoid buffer overrun when invoking crypt() with a SecretString
...
For example, consider the following SecretString construction:
String foo = "foo";
auto ss = SecretString::take_ownership(foo.to_byte_buffer());
The ByteBuffer created by to_byte_buffer() will not contain the NUL
terminator. Therefore, the value returned by SecretString::characters
will not be NUL-terminated either.
Currently, the only use of SecretString is to pass its character data to
crypt(), which requires a NUL-terminated string. To ensure this cannot
result in a buffer overrun, make SecretString append a NUL terminator to
its buffer if there isn't one already.
2021-10-19 18:19:33 +02:00
Timothy Flynn
4739982c66
LibCore: Change Account::set_password to take a SecretString
...
This matches the API of Account::authenticate. The only caller to this
API is the passwd utility, which already has the new password stored as
a SecretString.
2021-10-19 18:19:33 +02:00
Andreas Kling
fcff6b7160
LibWeb: Don't assume we hit a layout node when handling mousedown events
...
Regression from the introduction of CSS pointer-events in
ec43f7a2b0
.
2021-10-19 12:53:22 +02:00
Luke Wilde
defe4d50ff
LibWeb: Add Event.eventPhase constants
2021-10-19 10:00:26 +02:00
Idan Horowitz
545d403f6b
LibJS: Convert Value operator AOs to ThrowCompletionOr
2021-10-18 23:06:11 +01:00
Idan Horowitz
48ac15758e
LibJS: Convert is_loosely_equal() to ThrowCompletionOr
2021-10-18 23:06:11 +01:00
Idan Horowitz
b5e28410c5
LibJS: Convert is_less_than() to ThrowCompletionOr
2021-10-18 23:06:11 +01:00
Idan Horowitz
c15a3b0576
LibJS: Convert Value::get() to ThrowCompletionOr
2021-10-18 23:06:11 +01:00
Timothy Flynn
14349f058a
LibWeb: Implement the Element classList attribute
...
And ensure it is updated (if it exists) when the 'class' attribute is
changed.
2021-10-18 23:33:56 +02:00
Timothy Flynn
d24ae8063b
LibWeb: Implement DOMTokenList for managing space-separated tokens lists
...
DOMTokenList is used as the return type of, e.g., the Element.classList
property.
2021-10-18 23:33:56 +02:00
Linus Groh
2fa9422b3b
LibJS: Convert PrototypeObject::typed_this_value() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
4b7c1f703e
LibJS: Convert PrototypeObject::typed_this_object() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
7c29979e30
LibJS: Convert PrototypeObject::this_object() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
08db3b9f66
LibJS: Convert this_symbol_value() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
60366ae032
LibJS: Convert this_string_value() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
233bb89929
LibJS: Convert this_number_value() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
f6cf44c3db
LibJS: Convert this_bigint_value() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
be28a6142b
LibJS: Convert to_integer_or_infinity() to ThrowCompletionOr
2021-10-18 21:24:30 +01:00
Linus Groh
ffee3890a7
LibJS: Remove a bunch of forgotten exception checks after TRY_OR_DISCARD
...
Not quite sure how that happened :^)
2021-10-18 21:24:30 +01:00
Dana Burkart
4f9aefadef
LibWeb: Ensure parent is not null in DOMTreeModel::index_for_node()
...
Fix a crash when inspecting empty pages or areas of the page with no
elements.
2021-10-18 18:14:06 +01:00
Sam Atkins
fd8c94c094
LibWeb: Make 'auto' LengthStyleValues return 'auto' identifier
...
I think I broke this in my previous StyleValue clean-up. This prevented
properties like `foo: auto;` from parsing, if they did not accept
Lengths.
2021-10-18 19:01:41 +02:00
Sam Atkins
58a0ca41a7
LibWeb: Use east const in StyleValue.{h,cpp}
2021-10-18 19:01:41 +02:00
Andreas Kling
957f98805a
LibWeb: Update <object> style on resource load/failure
2021-10-18 10:40:30 +02:00
Andreas Kling
177320ee9c
LibWeb: Update <img> style on resource load/failure
2021-10-18 10:40:30 +02:00
Andreas Kling
f72a37b9d4
LibWeb: Coalesce nested repaint requests instead of swallowing them
...
Previously we would ignore repaint requests that came in via OOPWV while
the WebContent process was busy with a previous paint request.
This caused some easy-to-trigger bugs where the painted content would be
"one paint behind", especially noticeable when scrolling.
2021-10-18 10:40:30 +02:00
Andreas Kling
f9e814826f
LibWeb: Only update layout if actually needed when scrolling to anchor
2021-10-18 10:40:30 +02:00
Timothy Flynn
b67f6daf05
LibWeb: Weakly store NamedNodeMap's & Attribute's associated Element
...
This is similar to how Gecko avoids a reference cycle, where both the
NamedNodeMap and Attribute would otherwise store a strong reference to
their associated Element. Gecko manually clears stored raw references
when an Element is destroyed, whereas we use weak references to do so
automatically.
Attribute's ownerElement getter and setter are moved out of line to
avoid an #include cycle between Element and Attribute.
2021-10-18 09:58:52 +02:00
Rodrigo Tobar
08428aadad
LibSymbolication: Skip source position calculation if requested
...
Calculating source code positions can be expensive, and some
applications (like SystemMonitor's Stack tab) don't even show this
information, making these calculations wasteful.
This commit adds a new enumerated flag to the `symbolicate` functions
for callers to specify whether source positions should be included in
the results; it defaults to "Yes" to preserve old behavior for existing
applications.
2021-10-17 22:07:10 -07:00
Idan Horowitz
85a28a6555
LibJS: Convert to_index() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
aad12b050b
LibJS: Convert to_length() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
750da61c0f
LibJS: Convert to_u8_clamp() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
99287afc99
LibJS: Convert to_u8() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
1b7dbb6b3b
LibJS: Convert to_i8() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
7bbb92dfe9
LibJS: Convert to_u16() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
627b1205ce
LibJS: Convert to_i16() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
cc94bba5c0
LibJS: Convert to_u32() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
f6a5ff7b00
LibJS: Convert to_i32() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Idan Horowitz
20d990563c
LibJS: Convert to_number() to ThrowCompletionOr
2021-10-18 08:01:38 +03:00
Jelle Raaijmakers
a36ee213b9
LibGL: Implement glIsEnabled()
2021-10-17 21:01:52 -07:00
Jelle Raaijmakers
b2627c8b74
LibGL: Implement disabling GL_FOG
2021-10-17 21:01:52 -07:00
Jelle Raaijmakers
abaac02c88
LibGL: Correct GL_MODELVIEW and GL_PROJECTION values
...
According to the Khronos group, GL enum values are in the spec:
https://www.khronos.org/registry/OpenGL/docs/enums.html
Not adhering to their values will cause issues with projects that ship
their own copy of `gl.h`, such as ScummVM.
2021-10-17 21:01:52 -07:00
Andreas Kling
ca4276db77
LibWeb: Fill page background with the "base" palette color
...
This fixes an issue where you'd see black (or ghost) pixels when
painting web pages with content smaller than the viewport.
2021-10-18 03:04:01 +02:00