Commit graph

42755 commits

Author SHA1 Message Date
Luke Wilde
ac67077b57 LibJS: Fix length of PlainDateTime.withPlainTime
withPlainTime's argument is optional, so the length of the function is
actually 0.
2022-11-03 21:09:58 +00:00
Luke Wilde
b26b18a0bc LibJS: Add timeZoneName: "critical" option to ZonedDateTime.toString()
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/d84937f
2022-11-03 19:15:50 +00:00
Luke Wilde
4a167cfbec LibJS: Add calendarName: "critical" option to toString() methods
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/e715a50
2022-11-03 19:15:50 +00:00
Luke Wilde
192aa75279 LibJS: Align ISO 8601 grammar with annotations from IXDTF
This is a normative change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/c64b844
2022-11-03 19:15:50 +00:00
Timothy Flynn
0f2b4d0aac WebDriver+Browser: Implement GET /session/{id}/element/{id}/enabled 2022-11-03 19:15:43 +00:00
Timothy Flynn
683c99f299 LibWebView+WebConent: Add an IPC to get an element's enabled state 2022-11-03 19:15:43 +00:00
Timothy Flynn
9564f04fa6 Base: Add a disabled button to the button.html test page 2022-11-03 19:15:43 +00:00
Timothy Flynn
08c687ef20 WebDriver+Browser: Implement GET /session/{id}/element/{id}/rect 2022-11-03 19:15:43 +00:00
Timothy Flynn
a490bca29b WebDriver: Rename serialize_window_rect to serialize_rect
This won't only be used for "Window" rects.
2022-11-03 19:15:43 +00:00
Timothy Flynn
995f3db384 LibWebView+WebConent: Add an IPC to get an element's absolute rect 2022-11-03 19:15:43 +00:00
Timothy Flynn
77b6d0bf16 WebContent: Add a static helper to find an element by its remote ID
Instead of repeating the same checks for each WebDriver /element
endpoint, add a helper to perform the lookup.
2022-11-03 19:15:43 +00:00
Timothy Flynn
99fc94e138 LibJS: Delegate to NumberFormat for DurationFormat unit formatting
This is a normative change in the Intl.DurationFormat proposal. See:
https://github.com/tc39/proposal-intl-duration-format/commit/12ba9df
2022-11-03 18:37:48 +00:00
Timothy Flynn
a5bf32018f LibJS+LibUnicode: Add "microsecond" and "nanosecond" as sanctioned units
This is a normative change in the ECMA-402 spec. See:
https://github.com/tc39/ecma402/commit/f627573
2022-11-03 18:37:48 +00:00
Timothy Flynn
8ff0d35386 LibJS: Format sanctioned units such that there is one unit per line
Much easier to manage and view diffs this way, rather than one large
single line. This will soon be the only method in this file, so there's
no concern over taking up too much vertical space here.
2022-11-03 18:37:48 +00:00
Andreas Kling
305cb8a5d1 LibWeb: Treat unresolvable percentage sizes as auto on replaced elements
For replaced elements with percentage width or height, we were treating
them as 0 instead of auto when their containing block had an indefinite
corresponding size.

This produced incorrect layouts in various cases, and although I can't
actually find something about this exact scenario in specs, the new
behavior does match other browsers.
2022-11-03 19:22:40 +01:00
Andreas Kling
db318aece0 LibWeb: Move should_treat_{width,height}_as_auto() to FormattingContext
These are not specific to BFC, so let's move them up to the super class
so that other layout classes can use them.
2022-11-03 19:22:40 +01:00
Andreas Kling
5fbe245406 LibWeb: Don't include object addresses in layout tree dumps
I've used this feature less than 3 times, and it's trivial to hack back
in if/when needed. Let's stop cluttering the layout tree dumps.
2022-11-03 18:52:53 +01:00
Xexxa
c8b1124e68 Ports: Update serenity-theming use latest commit 490a15a 2022-11-03 17:40:49 +00:00
Nico Weber
daeaefad17 Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
Timothy Flynn
b820b9b2ff LibUnicode: Make the generated .h and .cpp paths for emoji data optional
This is to allow people making emoji to run the generator to create the
expected commit message format.
2022-11-03 16:37:04 +00:00
Timothy Flynn
92f4f40198 LibJS: Rename the Intl Enumeration Available* AOs to AvailableCanonical*
This is an editorial change to the Intl Enumeration API proposal. See:
https://github.com/tc39/proposal-intl-enumeration/commit/807b444

Note that this was followed by a normative change to actually ensure the
returned values are canonical:
https://github.com/tc39/proposal-intl-enumeration/commit/075a6dc

But the values we return are already canonical.
2022-11-03 16:36:11 +00:00
Timothy Flynn
b10bbac061 LibXML+LibWeb: Store the XML document's original source
Similar to how we store an HTML document's original source. This allows
the source to be inspected with "View Source" in the Browser.
2022-11-03 14:52:16 +00:00
Timothy Flynn
e7412717b4 LibWeb: Make it obvious that DOM::Document makes a copy of its source 2022-11-03 14:52:16 +00:00
Timothy Flynn
f8cdfb8907 LibXML: Convert some tab characters to spaces 2022-11-03 14:52:16 +00:00
Timothy Flynn
61d0b66bfb WebDriver+Browser: Implement GET /session/{id}/source 2022-11-03 14:48:04 +00:00
Timothy Flynn
82af1557dd LibWebView+WebContent: Add IPC to run the fragment serialization steps 2022-11-03 14:48:04 +00:00
Timothy Flynn
13b8eeff54 LibWeb: Fully implement the fragment serializing algorithm
Rather than assuming the node's node document is an HTML document,
handle XML documents as well.
2022-11-03 14:48:04 +00:00
Timothy Flynn
e1ac9c83b2 CI: Also update the main workflow to use actions/checkout version 3 2022-11-03 13:32:16 +00:00
Filiph Sandström
0252d7291c CI: Upgrade actions/setup-python to v4
Just as the actions/checkout the only breaking change is a internal one
related to upgrading from node 12 to node 16.
2022-11-03 11:29:45 +00:00
Filiph Sandström
3ddefb9f5f CI: Upgrade actions/checkout to v3
actions/checkout's only change between v2 and v3 is an internal switch
to node 16 which wont effect our usage of it at all.
2022-11-03 11:29:45 +00:00
Andrew Kaster
5453d6e5ec Flood: Link against all required libraries privately
Should have asked for a rebase on that PR due to the library linking
refactor!
2022-11-03 03:09:35 -06:00
implicitfield
7eca8f7e62 Games: Add Flood 2022-11-03 01:02:56 -06:00
Filiph Sandström
02baa1b005 Documentation: Give collapsed sections consistent headers 2022-11-03 06:58:19 +00:00
Dennis Bonke
ccb5151291 AK: Add support for mlibc in URL 2022-11-02 22:19:12 -06:00
Dennis Bonke
b4b7264fa5 AK: Add support for mlibc in LexicalPath 2022-11-02 22:19:12 -06:00
Moustafa Raafat
939374a037 LibJS: Use the UnsignedBigInteger compare_to_double algorithm
This also avoids an unnecessary copy
2022-11-02 22:04:34 -06:00
Moustafa Raafat
54b8a2b094 LibCrypto: Add a way to compare UnsignedBigInteger with double
This patch also make SignedBigInteger::compare_to_double make use
of the new function.
2022-11-02 22:04:34 -06:00
demostanis
e03f014e7a Base: Update tail(1) man page 2022-11-02 21:29:20 -06:00
demostanis
c8f790e4dd tail: Port to Core::Stream, use Core::FileWatcher 2022-11-02 21:29:20 -06:00
Linus Groh
629fbc2cfc WebDriver: Implement POST /session/{session id}/execute/async endpoint 2022-11-02 23:46:30 +00:00
Linus Groh
f88a0c51a3 WebDriver: Implement POST /session/{session id}/execute/sync endpoint 2022-11-02 23:46:30 +00:00
Linus Groh
6e1131e6de WebDriver: Support "data" field in error responses 2022-11-02 23:46:30 +00:00
Linus Groh
747ba2a88f Browser+LibWebView: Add WebDriver IPC plumbing for executing scripts 2022-11-02 23:46:30 +00:00
Linus Groh
b572a91a6f LibWeb+WebContent: Add WebDriver infrastructure for executing scripts
This cannot be done on the Browser or WebDriver ends, or via the
existing run_javascript() IPC endpoint, as we cannot transfer JS objects
through the IPC boundary (yet), only serialized JSON, so the individual
WebDriver steps around script execution need to run in the WebContent
process.
2022-11-02 23:46:30 +00:00
Timothy Flynn
ce8c34a8c9 Browser: Add a context menu item to take a screenshot of the current tab 2022-11-02 23:44:18 +00:00
Andreas Kling
43888b848c LibWeb: Resolve unresolved CSS calc() values in StyleComputer
When mixing calc() and var(), we're forced to delay resolving them until
we're in StyleComputer. Previously we'd just skip over them.

This patch handles calc() in the same pass as attr(). We reparse the
calc() value after var() expansion, and then try to resolve it to a
constant value if possible. If it's not possible, we leave the calc()
where it is, and maybe layout can figure it out later.

Note that I've only implemented resolution to integer and percentage in
this commit. There are more things a calc() could resolve to, and we
should implement those as well.
2022-11-02 22:42:48 +01:00
Andreas Kling
8869dec5fd LibWeb: Add CSS::Parser helper for parsing a standalone "calc()" value 2022-11-02 22:42:48 +01:00
Andreas Kling
f14ad0e8c1 LibWeb: Add helper functions to create CSS parser tokens
These will be used when resolving calc() values in StyleComputer.
It's indeed strange that calc() resolves to tokens, but it's how the
engine currently handles those things. There is room for improvement.
2022-11-02 22:42:48 +01:00
Andreas Kling
ab9aa9da0d LibWeb: Do CSS var() expansion in a separate pass
By expanding all the var() values first, we allow var() to occur
anywhere, even as arguments to CSS functions.
2022-11-02 22:42:48 +01:00
Andreas Kling
767d632ab7 LibWeb: Don't panic on unsupported text-decoration-line values
Instead, just log a FIXME message and move on.
2022-11-02 22:42:48 +01:00