Commit graph

47840 commits

Author SHA1 Message Date
Timothy Flynn
1393ed2000 AK+LibUnicode: Implement String::equals_ignoring_case without allocating
We currently fully casefold the left- and right-hand sides to compare
two strings with case-insensitivity. Now, we casefold one code point at
a time, storing the result in a view for comparison, until we exhaust
both strings.
2023-03-08 18:57:53 +00:00
Timothy Flynn
4aee4e80bd AK: Add a Utf32View::substring_view overload to take only an offset
This is for convenience, and matches our other UTF-N views.
2023-03-08 18:57:53 +00:00
Kenneth Myhra
beba05471c Base: Use string interpolation for all log outputs in formdata.html 2023-03-08 18:57:36 +00:00
Kenneth Myhra
e5a396ce28 Base: Show of iterating over FormData.{keys(),values(),entries()} 2023-03-08 18:57:36 +00:00
Kenneth Myhra
be52e7171a LibWeb: Add FormDataIterator implementation
This adds the FormDataIterator implementation so we can iterate over
FormData.{keys(),values(),entries()}.
2023-03-08 18:57:36 +00:00
Kenneth Myhra
680e970597 LibWeb: Move generated #include statement for iterators out of loop
When an IDL file has #imports and the IDL interface exposes an iterator,
the bindings generator would generate #include statements missing the
class name of the iterator in the form 'LibWeb/{namespace}/Iterator'.

This change only generates the iterator #include statement for the top
interface that is the iterator.
2023-03-08 18:57:36 +00:00
Linus Groh
1ef03c9cc5 Ladybird: Add ccache to nativeBuildInputs in nix-shell script 2023-03-08 18:24:30 +00:00
Aliaksandr Kalenik
63b8b37bd4 WebContent: Wait for navigation to complete in WebDriver
Implements https://w3c.github.io/webdriver/#dfn-waiting-for-the-navigation-to-complete.
2023-03-08 13:08:04 -05:00
Aliaksandr Kalenik
9d03b57c96 LibWeb: Add readiness() getter in Document
This getter returns the same readiness state of document as
`ready_state()` getter that is already present returns but without
allocating string.
2023-03-08 13:08:04 -05:00
Sam Atkins
b1ce852c37 HackStudio: Enable CMakeCache.txt highlighting 2023-03-08 14:21:37 +00:00
Sam Atkins
c6a2e8eb08 TextEditor: Enable CMakeCache.txt highlighting 2023-03-08 14:21:37 +00:00
Sam Atkins
676d75603b LibCMake+LibSyntax: Add a CMakeCache.txt syntax highlighter 2023-03-08 14:21:37 +00:00
Sam Atkins
bb07d678ac LibCMake: Add a lexer for CMakeCache.txt
This is a totally different syntax than for regular CMake files, and
also is undocumented and subject to change, but it's also nice and
simple. :^)
2023-03-08 14:21:37 +00:00
Timothy Flynn
515fca4f7a AK: Make String::contains(code_point) handle non-ASCII
We currently only accept a char, instead of a full code point.
2023-03-08 14:16:47 +00:00
Timothy Flynn
f882581e91 AK: Make String::{starts,ends}_with(code_point) handle non-ASCII
We currently pass the code point to StringView::{starts,ends}_with,
which actually accepts a single char, thus cannot handle non-ASCII
code points.
2023-03-08 14:16:47 +00:00
Marco Cutecchia
f61e65a609 Kernel: Add missing include that broke the AARCH64 build 2023-03-08 14:20:29 +01:00
Marco Cutecchia
a7144a47ab Kernel: Fix mispellings of AARCH64 that broke the build 2023-03-08 14:20:29 +01:00
Andreas Kling
72569bca1c LibWeb: Implement the CSS rule cache optimization for UA style as well
We were already sorting the author style selectors into buckets.
Now we do it for the built-in UA style as well.

This means less work for the selector engine everywhere :^)
2023-03-08 13:19:15 +01:00
Andreas Kling
2042993997 LibWeb: Convert DOM::Element::m_classes to the new AK::FlyString
This makes selector matching significantly faster by not forcing us to
convert from FlyString to DeprecatedFlyString when matching class
selectors. :^)
2023-03-08 13:19:15 +01:00
Andreas Kling
629b6462dc AK: Add FlyString::equals_ignoring_ascii_case()
This is similar to equals_ignoring_case() but only cares about ASCII
case insensitivity.
2023-03-08 13:19:15 +01:00
Kenneth Myhra
b78ee64415 LibWeb: Do not discard String returned from url_encode() to avoid UAF
This caused UAF since the string returned from url_encode() was
immediately discarded.

Co-authored-by: Luke Wilde <lukew@serenityos.org>
2023-03-08 09:26:08 +00:00
Liav A
736f9f38ae Kernel/Storage: Remove indication for possible future support of ATAPI
There's no plan to support ATAPI in the foreseeable future. ATAPI is
considered mostly as an extension to pass SCSI commands over ATA-link
compatible channel (which could be a physical SATA or PATA).

ATAPI is mostly used for controlling optical drives which are considered
obsolete in 2023, and require an entire SCSI abstraction layer we don't
exhibit with bypassing ioctls for sending specific SCSI commands in many
control-flow sequences for actions being taken for such hardware.

Therefore, let's make it clear we don't support ATAPI (SCSI over ATA)
unless someone picks it up and proves otherwise that this can be done
cleanly and also in a relevant way to our project.
2023-03-08 01:41:51 +01:00
Liav A
db72467e31 Kernel: Remove ATAPI eject method from the AHCIPort class
We never actually used it. It never has been proved to work reliably,
therefore it should be removed.
2023-03-08 01:41:51 +01:00
Liav A
95b15e4901 Kernel/VirtIO: Ignore Configurations that have length of zero bytes
These configurations are simply invalid. Ignoring those allow us to boot
with the virtio-gpu-pci device (in addition to the already supported
virtio-vga PCI device).
2023-03-08 01:38:13 +01:00
Linus Groh
d4d49e00a2 LibWeb/Bindings: Remove now unused REPLACEABLE_PROPERTY_SETTER() macro 2023-03-07 23:33:34 +00:00
Linus Groh
351e5ca917 LibWeb/HTML: Port Window.queueMicrotask() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
129ab02470 LibWeb/HTML: Port Window.structuredClone() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
a31c561a5a LibWeb/HTML: Port Window.sessionStorage to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
37e9302dd9 LibWeb/HTML: Port Window.localStorage to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
5cc6b1c4db LibWeb/HTML: Port Window.fetch() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
a2fb3a1653 LibWeb/HTML: Port Window.cancelAnimationFrame() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
211e6c1fbc LibWeb/HTML: Port Window.requestAnimationFrame() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
86589f09dc LibWeb/HTML: Port Window.cancelIdleCallback() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
b410804f54 LibWeb/HTML: Port Window.requestIdleCallback() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
606b9ff6f3 LibWeb/HTML: Port Window.getSelection() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
56550b6ec0 LibWeb/HTML: Port Window.focus() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
b59505aba5 LibWeb/HTML: Port Window.getComputedStyle() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
8454eb874f LibWeb/HTML: Port Window.devicePixelRatio to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
46e547d774 LibWeb/HTML: Port Window.outer{Width,Height} to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
80acf03278 LibWeb/HTML: Port Window.screen{X,Y} / Window.screen{Left,Top} to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
3d075e55f5 LibWeb/HTML: Port Window.scrollBy() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
2b6d9cca1a LibWeb/HTML: Port Window.scroll() to IDL
...with various changes required due to ScrollBehavior / ScrollOptions
moving from Element.idl to Window.idl.
2023-03-07 23:33:34 +00:00
Linus Groh
40b4ee88de LibWeb/HTML: Port Window.scroll{X,Y} / Window.page{X,Y}Offset to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
25f53a577d LibWeb/HTML: Port Window.inner{Width,Height} to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
0c691087ca LibWeb/HTML: Port Window.screen to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
2beb99b76e LibWeb/HTML: Port Window.matchMedia() to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
198db2ebd9 LibWeb/HTML: Port Window.crypto to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
7de9179a6d LibWeb/HTML: Port Window.performance to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
95ce5735ce LibWeb/HTML: Port Window.event to IDL 2023-03-07 23:33:34 +00:00
Linus Groh
8c0f0726d1 LibWeb/HTML: Include the WindowOrWorkerGlobalScope mixin in Window.idl 2023-03-07 23:33:34 +00:00