Andreas Kling
545d8336b8
LibGfx: Convert Font APIs to return String instead of DeprecatedString
2023-09-06 11:29:03 -04:00
Ali Caglayan
1ee3ec16a9
Userland: Fix absolute paths in man page links
...
Absolute paths in man page links such as
```
[some link](/foo/bar)
```
Were being interpreted as relative paths when rendered in HTML. This
issue was observed in #20889 and #20041 .
The fix is to make sure we don't leave any absolute paths when parsing
links. Instead we check if a directory is absolute (by checking for `/`)
and add `file://` accordingly. This turns the above link into:
```
[some link](file:///foo/bar)
```
Which does get interpreted correctly when rendered as HTML.
- fixes #20889
- fixes #20041
Before this patch, opening the Help application would raise an error.
Now all the pictures in the man pages render correctly.
2023-09-06 15:02:44 +01:00
Sergey Bugaev
8ebddc1ff6
LibGfx: Misc 32-bit build fixes
2023-09-06 07:21:07 -06:00
Sergey Bugaev
79022090bf
LibWeb: Add CSSPixels operator overloads for unsigned int
...
Fixes building on 32-bit, where using operators with size_t (aka
unsigned int) results in ambiguity between the overloads for int
and unsigned long.
2023-09-06 07:21:07 -06:00
Sergey Bugaev
b21382bd4e
LibWeb: Set CPU_STRING for i386
2023-09-06 07:21:07 -06:00
Sergey Bugaev
de6664c0cb
LibTimeZone: Replace PATH_MAX usage with heap allocation
2023-09-06 07:14:35 -06:00
Sergey Bugaev
ae10d085ba
LibFileSystem: Replace PATH_MAX usage with heap allocation
2023-09-06 07:14:35 -06:00
Sergey Bugaev
4825919bcf
AK, LibCore: Enable misc things on glibc
...
program_invocation_name, pthread_getattr_np(), EXECINFO_BACKTRACE are
all glibc specifics (that other libcs may also have).
2023-09-06 07:14:35 -06:00
Shannon Booth
c4f12feadc
LibWeb: Port CanvasGradient interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
2c69f273a0
LibWeb: Port HTMLElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
938356da98
LibWeb: Port HTMLInputElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
f4bc1602e2
LibWeb: Port HTMLMediaElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
e5910a4593
LibWeb: Port HTMLAnchorElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
76af9d434c
LibWeb: Port HTMLCanvasElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
7206f1777a
LibWeb: Port HTMLOptionElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
c405ba6b08
LibWeb: Port HTMLBaseElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
2a732e6ddd
LibWeb: Port HTMLFormElement interface from DeprecatedString to String
...
Leaving a FIXME for HTMLFormElement::method as it looks like this could
be Reflect in the IDL.
2023-09-05 20:36:09 -04:00
Shannon Booth
63aa93aaf4
LibWeb: Port HTMLObjectElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
de07fb5132
LibWeb: Port HTMLAreaElement interface from DeprecatedString to String
...
Which required HTMLHyperlinkElementUtils to also be changed to support
this.
2023-09-05 20:36:09 -04:00
Shannon Booth
57d8b0ec73
LibWeb: Port HTMLButtonElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
2ab7129595
LibWeb: Port HTMLScriptElement interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Shannon Booth
6fb3586baa
LibWeb: Add Optional<String> version of Element::attribute
...
As a non-deprecated alternative to DeprecatedString Element::attribute.
2023-09-05 20:36:09 -04:00
Shannon Booth
0f6782fae6
LibWeb: Rename Element::attribute to Element::deprecated_attribute
...
This should allow us to add a Element::attribute which returns an
Optional<String>. Eventually all callers should be ported to switch from
the DeprecatedString version, but in the meantime, this should allow us
to port some more IDL interfaces away from DeprecatedString.
2023-09-05 20:36:09 -04:00
Shannon Booth
da637a527d
LibWeb: Port CSSStyleSheet interface from DeprecatedString to String
2023-09-05 20:36:09 -04:00
Bastiaan van der Plaat
f1742ae1b9
LibWeb: Add DOMMatrix flipX and flipY
2023-09-05 20:30:36 +02:00
Bastiaan van der Plaat
fc380bf516
LibWeb: Add DOMMatrix skewX and skewY
2023-09-05 20:30:36 +02:00
Aliaksandr Kalenik
8d05ff1fe7
LibWeb: Print FIXME if vertical-align value is not supported in TFC
...
Producing incorrect layout for table cells is better than crashing :)
2023-09-05 16:51:25 +02:00
Zaggy1024
98926b487c
LibWeb: Perform rounding when dividing CSSPixels
...
This should allow us to produce results that more closely match old
layouts when divisions were done in floating-point.
2023-09-05 14:50:45 +02:00
Zaggy1024
bd85e1b30b
LibWeb: Entirely and exactly distribute grids' extra space to tracks
...
Previously, the code assumed that in dividing up the space in the
affected tracks there would never be an overshoot. Instead, we can
check for each track how much extra space is left and never consume any
extra.
In the same way, we can ensure that all extra space is consumed by
distributing all remaining extra space starting from the first track.
Thus, if there is no growth limit, the space distribution should always
consume all the extra space.
2023-09-05 14:50:45 +02:00
Zaggy1024
eb7c2ee307
LibWeb: Limit affected size of grid tracks instead of only increase
...
The spec says that the sum of affected size + item-incurred increase
should reach the limit, rather than just the item-incurred increase.
This seems to improve layout on the testcase `row-span-2-with-gaps`.
The extra line of space at the bottom of the left div
(`div.grid-item.item-span-two`) is not present anymore, matching other
browsers' layout much more closely.
2023-09-05 14:50:45 +02:00
Sam Atkins
07039af982
LibWeb: Implement attr() types :^)
...
Support the optional `<attr-type>` parameter to the `attr()` function,
which allows parsing the attribute's value as a variety of types,
instead of always as a string.
2023-09-05 14:27:23 +02:00
Sam Atkins
6f45df5ced
LibWeb: Add more CSS Token factory methods
...
The way we currently deal with `attr()` means having to manufacture
Tokens, so we need a way to do that from StyleComputer.
2023-09-05 14:27:23 +02:00
Sam Atkins
9735f474a2
LibWeb: Extract attr() substitution into its own method
...
No functional changes.
2023-09-05 14:27:23 +02:00
Sam Atkins
7d10484660
LibWeb: Move UnresolvedStyleValue resolution into the CSS Parser
...
Resolving typed `attr()` functions is going to involve using more
internal Parser methods, so this is the simplest solution for that.
Also... resolving these is basically parsing them, so it makes more
sense for that process to live here.
This is just moving code, with minimal changes so it still works.
2023-09-05 14:27:23 +02:00
Sam Atkins
cab8b3e180
LibWeb: Move a FIXME comment where it belongs
...
`var()` is now handled in `expand_variables()`, so let's have the FIXME
where it applies to the entire process.
2023-09-05 14:27:23 +02:00
Sam Atkins
733ad57f39
LibWeb: Expose Parser::Function name as FlyString const&
...
This saves us from having to re-convert the StringView back to a
FlyString again when resolving UnresolvedStyleValues.
2023-09-05 14:27:23 +02:00
Sam Atkins
e9b58ff096
LibWeb: Move check for CSS-wide keywords to ValueID.h
...
This feels like a better home for it. The new name better reflects the
spec phrasing.
2023-09-05 14:27:23 +02:00
Andreas Kling
e013306df8
LibWeb: Allow font-size: 0
...
Zero is a valid font-size value, and should result in no text being
visible. We now match the behavior of other engines.
2023-09-05 14:23:35 +02:00
Andreas Kling
6a32634440
LibGfx: Don't crash on Typeface::get_font() with size 0
...
If someone wants a zero-sized font, we can just give it to them instead
of making a fuss.
2023-09-05 14:23:35 +02:00
Andreas Kling
589a1e9325
LibWeb: Propagate font-size & line-height into generated table boxes
...
The final used values for these properties is stored in the layout node,
so we need to make sure they are propagated there as well when doing
table box fixup.
2023-09-05 14:23:35 +02:00
Timothy Flynn
b6835d2c40
LibJS: Stop propagating small OOM errors from Intl.RelativeTimeFormat
2023-09-05 08:08:09 +02:00
Timothy Flynn
b3694653a7
LibJS: Stop propagating small OOM errors from Intl.NumberFormat
...
Note this also does the same for Intl.PluralRules. The only OOM errors
propagated from Intl.PluralRules were from Intl.NumberFormat.
2023-09-05 08:08:09 +02:00
Timothy Flynn
30a812b77b
LibJS: Stop propagating small OOM errors from Intl.MathematicalValue
2023-09-05 08:08:09 +02:00
Timothy Flynn
746ce6f9a1
LibJS: Stop propagating small OOM errors from Intl.Locale
2023-09-05 08:08:09 +02:00
Timothy Flynn
9e5055c298
LibJS: Stop propagating small OOM errors from Intl.ListFormat
2023-09-05 08:08:09 +02:00
Timothy Flynn
76b5974f08
LibJS: Stop propagating small OOM errors from the Intl namespace object
2023-09-05 08:08:09 +02:00
Timothy Flynn
20aaa2c236
LibJS: Stop propagating small OOM errors from Intl.DurationFormat
2023-09-05 08:08:09 +02:00
Timothy Flynn
b78cbf88db
LibJS: Stop propagating small OOM errors from Intl.DateTimeFormat
2023-09-05 08:08:09 +02:00
Timothy Flynn
1708c1fdfe
LibJS: Stop propagating small OOM errors from Intl.Collator
2023-09-05 08:08:09 +02:00
Timothy Flynn
b6ff25bd26
LibJS: Stop propagating small OOM errors from Intl abstract operations
2023-09-05 08:08:09 +02:00