Idan Horowitz
23ea1f1a3e
LibJS: Convert MathObject functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
b184e872e4
LibJS: Convert ReflectObject functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
4c3ea0bb91
LibJS: Convert StringIteratorPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
720bb21ee2
LibJS: Convert ArrayBufferPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
ffa58184d2
LibJS: Convert ArrayBufferConstructor functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
70cbd43718
LibJS: Convert DataViewPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
9d3348d8da
LibJS: Convert the SetViewValue AO to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
fca05f835f
LibJS: Convert the GetViewValue AO to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
7f3fa7d7e0
LibJS: Convert NumberPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
2c6955462e
LibJS: Convert NumberConstructor functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
08fb31087b
LibJS: Convert BooleanPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
2a0c51149d
LibJS: Convert FunctionPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
c0bb456fd2
LibJS: Convert the CreateDynamicFunction AO to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
47f762ab42
LibJS: Convert ErrorPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
c815519a65
LibJS: Convert WeakRefPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
719d1b48ac
LibJS: Convert ArrayIteratorPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
d1d4ee699b
LibJS: Convert ConsoleObject functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
e7a134a346
LibJS: Convert JSONObject functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
6b954b9e76
LibJS: Convert SetIteratorPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
d46d8c9016
LibJS: Convert SetPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
c2e0753d8a
LibJS: Convert SetConstructor functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
7c96ed8cf3
LibJS: Convert SymbolPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
294f244745
LibJS: Convert SymbolConstructor functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
87ff51fa67
LibJS: Convert BigIntPrototype functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Idan Horowitz
4128f95903
LibJS: Convert BigIntConstructor functions to ThrowCompletionOr
2021-10-29 21:29:24 +03:00
Ali Mohammad Pur
ac856cb965
LibRegex: Don't ignore empty alternatives in append_alternation()
...
Doing so would cause patterns like `(a|)` to not match the empty string.
2021-10-29 15:57:59 +02:00
thislooksfun
7ee409ef98
CI: Rewrite the lintcommits workflow using an inline script
...
tim-actions/commit-message-checker-with-regex@v0.3.1 only uses the
keys 'sha' and 'commit.message'. Passing more information than that
is unnecessary and can lead to CI failures like this one:
4029269017 (step)
:4:7
Instead of trying to pass data between workflow steps, we can instead
just do it all at once (plus this gives us more control over
formatting, which has also been improved).
2021-10-29 16:51:22 +03:00
Luke Wilde
6088011c4b
LibWeb: Add Element.webkitMatchesSelector
...
This is an alias of Element.matches for web compatibility.
https://dom.spec.whatwg.org/#dom-element-webkitmatchesselector
Used by particularly old versions of Sizzle, such as 1.10.2:
16b079b164/jquery.js (L1644)
This particular version is used by DuckDuckGo.
2021-10-28 21:43:36 +02:00
Andreas Kling
49916f494d
LibWeb: Don't try to layout list-item markers in BFC
...
Marker boxes are laid out by the corresponding ListItemBox. BFC should
just leave them alone. This fixes a jiggling issue on welcome.html :^)
2021-10-28 19:44:21 +02:00
Andreas Kling
723ea4bcd7
LibWeb: Add Layout::Box::border_box_as_relative_rect()
...
This helper returns the border box (content+padding+border) of a given
box. Margin not included.
2021-10-28 19:44:21 +02:00
Andreas Kling
37f0bd0a42
LibWeb: Small fix to height computation for block-with-inline-children
...
We now compute the used height of height:auto by measuring from the top
content edge (y=0) to the bottom of the bottommost line box within the
block container.
This fixes an issue where we'd fail to account for the topmost line box
being taller than any of its fragments (which can happen if the
line-height is greater than the height of all fragments on the line.)
2021-10-28 19:20:40 +02:00
Andreas Kling
76fa57713d
LibWeb: Use border edges when computing overflow for the ICB
2021-10-28 18:54:02 +02:00
Andreas Kling
03c3b3b7e5
LibWeb: Null-check document before doing layout in PageHost::paint()
2021-10-28 18:29:49 +02:00
Andreas Kling
d413d0557d
LibWeb: Remove unused CSS::Length::relative_length_to_px(Layout::Node)
2021-10-28 18:15:15 +02:00
Andreas Kling
23561133aa
LibWeb: Always update layout (if needed) before painting
2021-10-28 18:14:38 +02:00
Andreas Kling
7ec7729e1b
LibWeb: Don't force line box fragments height to be at least line-height
...
I don't remember why we did things this way, but it's clearly not right
to stretch fragments vertically. Instead, we should just align their
bottom to the appropriate line (as we already do.)
2021-10-28 18:01:04 +02:00
Andreas Kling
88c32836d8
LibWeb: Make non-absolute values for line-height fall back to font-size
...
When using bitmap fonts, the computed *font* that we're using may be
smaller than the font-size property asked for. We can still honor the
font-size value in layout calculations.
2021-10-28 17:34:37 +02:00
Andreas Kling
ec49c8fefd
LibWeb: Clip descendants of boxes with overflow:hidden
...
This is a very limited implementation of overflow:hidden, but since it's
easy to cover this common scenario, let's do it.
2021-10-28 17:09:51 +02:00
Andreas Kling
df3cd2fd56
LibWeb: Treat width:auto on tables as fit-content
...
Tables, unlike other block-level elements, should not stretch to fit
their containing block by default.
2021-10-28 16:06:08 +02:00
Sam Atkins
52a1be5eae
LibWeb: Allow whitespace when parsing "!important" in CSS
...
This accounts for cases like:
```css
.foo {
color: blue ! important ;
}
```
That's rare now that minifying is so popular, but does appear on some
websites.
I've added spec comments to `consume_a_declaration()` while I was at it.
2021-10-28 16:05:48 +02:00
Sam Atkins
6f1debaab0
LibWeb: Allow whitespace inside CSS attribute selectors
...
Noticed this while checking some MediaWiki-based sites. It's not
obvious, but the spec does allow this, by not mentioning it in this list
of places whitespace is forbidden:
https://www.w3.org/TR/selectors-4/#white-space
2021-10-28 16:05:48 +02:00
Timothy Flynn
691e4820ac
LibWeb: Remove two lowercase string creations from Element::has_class
2021-10-28 15:09:06 +02:00
Timothy Flynn
7f223e2290
LibWeb: Do not create lowercase strings in NamedNodeMap::get_attribute
...
Rather than following the spec exactly and creating lowercase strings,
we can simply do a case-insensitive string comparison. The caveat is
that creating attributes must follow the spec by creating the attribute
name with a lowercase string.
2021-10-28 15:09:06 +02:00
Ben Wiederhake
934360583f
LibWeb: Remove duplicated auto height computation
...
Note that these two implementation differ, but the one in
FormattingContext.cpp seems to be more complete. It is also more recent.
2021-10-28 13:33:33 +02:00
Andreas Kling
84b15cc7b1
LibWeb: Remove StyleProperties::set_property(PropertyID, StringView)
...
This API has no more clients (and the last client that I just removed
wasn't even using it right) so let's get rid of it.
2021-10-28 12:53:31 +02:00
Andreas Kling
5c132724ea
LibWeb: Properly handle the <td align> attribute
...
When valid, this attribute needs to result in an IdentifierStyleValue.
Before this change we were turning it into a StringStyleValue, which
then defaulted to left alignment for all values.
For "center" and "middle", we turn it into -libweb-center. All other
values are passed verbatim to the CSS parser.
2021-10-28 12:53:31 +02:00
Brendan Coles
c1511ebbea
Ports: Add Fontconfig port
2021-10-28 11:25:56 +02:00
Idan Horowitz
a8bd78e634
LibC: Include sys/uio.h in sys/socket.h for struct iovec
2021-10-28 11:24:36 +02:00
Idan Horowitz
f12da0af13
LibC+LibELF: Move getauxval and AT_* flags to sys/auxv.h
2021-10-28 11:24:36 +02:00
Idan Horowitz
f22787dd39
LibC: Change the type of FBProperties' fields from bool to unsigned char
...
The bool type is not available in C89.
2021-10-28 11:24:36 +02:00