Commit graph

62508 commits

Author SHA1 Message Date
Idan Horowitz
c35446b232 Kernel: Give USB::Pipe a reference to its owning USB::Device
Previously USB::Pipe would just try to poorly maintain copies of some
of the relevant properties of USB::Device. (address & speed)
Now it just holds a reference to it's owning device and can query them
when needed.
2024-07-26 14:25:49 -04:00
Idan Horowitz
c5956663f7 Kernel: Move USB device initialization to controllers
The current USB::Device::enumerate_device() implementation is UHCI
specific, and is not relevant for xHCI controllers.

Move it to a USBController virtual method to allow different
implementations for the other controller types.
2024-07-26 14:25:49 -04:00
Idan Horowitz
1e2919b5c1 Kernel: Add create_kernel_thread overload that accepts a lambda
Also fixes the entry function argument initialization to be
architecture-independent.
2024-07-26 14:25:49 -04:00
Idan Horowitz
79607f7e0b Meta: Unbreak kernel debugging script after Prekernel/Kernel merge
The script was updated to assume the merged Kernel/Prekernel, but it is
only used on x86-64.
2024-07-26 14:25:49 -04:00
Idan Horowitz
47e3c6204a Meta: Remove default -d int flag from serenity.sh gdb command
There's no reason for this to be the default. On RISC-V this logs on
every exception (e.g. syscall) as well, so it slows everything down to
a halt.
2024-07-26 14:25:49 -04:00
Alec Murphy
ccfcc8112d Mail: Don't spam commands on mailbox node selection
This PR fixes a bug where selecting a mailbox node would send multiple
repeated IMAP commands, ultimately hanging the parser.
2024-07-26 19:15:58 +01:00
logkos
568bd04b61 Base: Add more emojis 2024-07-25 08:27:35 -04:00
EWouters
e3dc5a48bf Ports/openssl: Update openssl to version 3.3.1 2024-07-24 11:14:05 -04:00
EWouters
a811f358ff Ports/sqlite: Update sqlite to version 3460000 2024-07-24 11:14:05 -04:00
EWouters
bf2f52cc67 Ports/stb: Update stb to version f7f20f3 2024-07-24 11:14:05 -04:00
EWouters
71d95c15be Ports/tree: Update tree to version 2.1.3 2024-07-24 11:14:05 -04:00
EWouters
688b2d4416 Ports/vttest: Update vttest to version 20240708 2024-07-24 11:14:05 -04:00
EWouters
5c99c4d37a Ports/wget: Update wget to version 1.24.5 2024-07-24 11:14:05 -04:00
EWouters
24207bda40 Ports/x264: Update x264 to version 4613ac3 2024-07-24 11:14:05 -04:00
EWouters
0a7877eb16 Ports/x265: Update x265 to version 3.6 2024-07-24 11:14:05 -04:00
EWouters
60a21846bf Ports/xz: Update xz to version 5.6.2 2024-07-24 11:14:05 -04:00
EWouters
6c0cdc101b Ports/zstd: Update zstd to version 1.5.6 2024-07-24 11:14:05 -04:00
Sönke Holz
0f18fb6c03 Kernel/x86: Stop the APIC timer before configuring it
This avoids spurious interrupts during APIC timer calibration, as the
timer might otherwise immediately generate an interrupt when enabling
interrupts if the initial count was at a low enough value.
2024-07-24 08:08:47 -04:00
Xexxa
d371e68995 Base: Add more emoji
🧙 - U+1F9D9 MAGE
🧙‍♂️ - U+1F9D9 U+200D U+2642 MAN MAGE
🧙‍♀️ - U+1F9D9 U+200D U+2640 WOMAN MAGE
🦟 - U+1F99F MOSQUITO
🏣 - U+1F3E3 JAPANESE POST OFFICE
🏬 - U+1F3EC DEPARTMENT STORE
🚊 - U+1F68A TRAM
🎎 - U+1F38E JAPANESE DOLLS
2024-07-24 08:08:33 -04:00
Edwin Hoksberg
a4ed72afae LibWeb: Implement Element::check_visibility
(cherry picked from commit 5f154ba372f9a667351a026aa4a31306c45fd2a5)
2024-07-24 08:08:15 -04:00
Edwin Hoksberg
fd17cbe54d LibWeb: Resolve content-visibility fixme in html details element
(cherry picked from commit 0ae048102cf43e961fb5346bf5b9ca8072a3c856)
2024-07-23 21:15:27 -04:00
Edwin Hoksberg
360cea781b LibWeb: Support content-visibility css
(cherry picked from commit 020b20d817d51dda9c0f9306543c69f4020891eb)
2024-07-23 21:15:27 -04:00
Colin Reeder
a745a849cf LibWeb: Add more legacy -webkit- aliases
(cherry picked from commit 5c315b532e4edc561f30dfc492db9b2dcb59d5de)
2024-07-23 21:15:27 -04:00
Colin Reeder
70388b5676 LibWeb: Add support for -webkit-text-fill-color
(cherry picked from commit 449f81bfbed8343cfb49fcef4a890c33922889e5)

Commit altered to fix cherry-pick issue

Co-Authored-By: circl <circl.lastname@gmail.com>
2024-07-23 21:15:27 -04:00
Jamie Mansfield
19baedf891 LibWeb/WebGL: Stub missing properties in WebGLRenderingContextBase
(cherry picked from commit 835986de7bdff24e57886ef5710c473fc6abd765)
2024-07-23 13:06:46 -04:00
Aliaksandr Kalenik
ad4f041fe1 LibWeb: Separate paint-only property resolution by paintable type
Having resolution of all properties for all paintable types in a single
function was hard to iterate on, so this change separates it into
smaller functions per paintable type.

(cherry picked from commit 7047fcf761ba3cac775befca78e7e6f758dc7c8b)
2024-07-23 13:06:46 -04:00
Kenneth Myhra
abe4428c53 Tests/LibWeb: Move existing Fetch tests in under the Fetch folder
(cherry picked from commit 92f6336fe874bd852f0b759dac4f38e45cdcae5a)
2024-07-23 13:06:46 -04:00
Kenneth Myhra
1d4e673e60 LibWeb: Implement formData() method steps for x-www-form-urlencoded
The Response interface of the Fetch API can now parse form urlencoded
bodies when Content-Type is set to 'application/x-www-form-urlencoded'.

(cherry picked from commit b8fa572c6742c0f1f63da0f63c8b86835a86988d)
2024-07-23 13:06:46 -04:00
bbb651
a732529283 LibWeb: Add new expected window properties to test
Adds `AudioBufferSourceNode` and `BiquadFilterNode` to the
all-window-properties test.

(cherry picked from commit 7b10eb722551716e94ec35a5c5113be83905e5d5)
2024-07-23 13:06:46 -04:00
bbb651
a6ba31af93 WebAudio: Stub BiquadFilterNode
(cherry picked from commit 64663d53fa466dcb9b62becc352c92e3d932353b)
2024-07-23 13:06:46 -04:00
bbb651
db21801fbc WebAudio: Stub AudioBufferSourceNode
(cherry picked from commit 6672fb4b47ee0da35678f55088b4afdfce5fd10b)
2024-07-23 13:06:46 -04:00
Ángel Carias
0b74214a6e LibWeb: Implement Text.wholeText
This getter returns the concatenation of the data of the contiguous
Text nodes of `this` (being this plus its siblings) in tree order.

(cherry picked from commit 69da6a0ce400d4a675bfba1f1dd1d313ee1f13c0)
2024-07-23 12:45:37 -04:00
Sönke Holz
87f194b3f5 Kernel: Don't truncate the pc value in the scheduler state dump
This is likely a leftover from the i686-only days.
Also rename the get_eip function to get_pc to be more arch-agnostic.
2024-07-23 09:03:31 -04:00
Andreas Kling
0a42c97866 LibJS: Rename Value::typeof() to Value::typeof_()
This to avoid clashing with the GCC typeof extension, which apparently
confuses clang-format.

(cherry picked from commit 14beda00c9e823dd34da74e7d8fdf46aa57e845c)
2024-07-23 08:53:02 -04:00
Andreas Kling
4a4ee92402 LibJS: Make typeof a lot faster by caching all possible results
The typeof operator has a very small set of possible resulting strings,
so let's make it much faster by caching those strings on the VM.

~8x speed-up on this microbenchmark:

    for (let i = 0; i < 10_000_000; ++i) {
        typeof i;
    }

(cherry picked from commit d0b11af3876a64e6b254b5fc3f474d9bbe552024)
2024-07-23 08:53:02 -04:00
Tim Ledbetter
75e2dc712d LibWeb: Return a NodeList from document.getElementsByName()
This aligns our implementation with the specification.

(cherry picked from commit bd1213d0c527bd4e7facd9218c08ee86635c58a5)
2024-07-23 08:44:55 -04:00
Tim Ledbetter
e399a716fa LibWeb: Ensure document.getElementsByName("") returns no elements
Previously, if a document had any element with a name attribute that
was  set to the empty string, then `document.getElementsByName("")` and
`element.getElementsByName("")` would return a collection including
those elements.

(cherry picked from commit e40352b6b59e99a9f3fd922142c2abafd9840e6c)
2024-07-23 08:44:55 -04:00
Tim Ledbetter
d3c2d2ba3f LibWeb: Ensure document.getElementsByClassName("") returns no elements
Previously, `document.getElementsByClassName("")` would return a
collection containing all elements in the given document.

(cherry picked from commit 0fceede029e6af0cab98e86f20367d8835008472)
2024-07-23 08:44:55 -04:00
Tim Ledbetter
d58709588f LibWeb: Move get_elements_by_name implementation to ParentNode
Previously, we had two implementations of the same function in
`Document` and `Element`, which had inadvertantly diverged.

(cherry picked from commit faf64bfb41393a59e958e21545aa556c9bb9d6a8)
2024-07-23 08:44:55 -04:00
Tim Ledbetter
ed4f5b88d3 LibWeb: Ensure document.getElementById("") returns null
Previously, if a document had an element whose id was the empty string,
then `document.getElementById("")` and `element.getElementById("")`
would return that element.

(cherry picked from commit f666d967d6bac289346cf19f833f81bdc22adbdb)
2024-07-23 08:44:55 -04:00
Andreas Kling
c17f7c84ef LibWeb: Use correct scope when removing style sheet inside a shadow tree
Before this change, removing a style element from inside a shadow tree
would cause it to be unregistered with the document-level list of sheets
instead of the shadow-root-level list.

This would eventually lead to a verification failure if someone tried to
update the text contents of that style element, since it was still in
the shadow-root-level list, but now with a null owner element.

Fixes a crash on https://www.swedbank.se/

(cherry picked from commit 3b7534b3628641244b0998fd5061c6fa75a61cf5)
2024-07-23 08:15:57 -04:00
Andreas Kling
9f173e5101 LibWeb: Verify something was removed in StyleSheetList::remove_sheet()
This would have saved me an hour of debugging, so putting it here for
the next person. :^)

(cherry picked from commit ebacb921dac6f8fd335d917100e6b04521a3f893)
2024-07-23 08:15:57 -04:00
simonkrauter
61f38a1fa7 LibWeb: Support accent-color for range input and progress element
Fixes #466

(cherry picked from commit 9df8e1f22468884db353f55d10823cd3d15c511b)
2024-07-22 21:29:38 -04:00
Andrew Kaster
a8c4f34bff LibWeb: Create separate DedicatedWorkerGlobalScope class
This is how it's supposed to have been from the beginning, we were just
lazy :).

(cherry picked from commit 40a2bb32c3ab3fb0a5e298a31f674a5eb80b4870)
2024-07-22 21:29:21 -04:00
Andrew Kaster
5d0488ce6f LibWeb: Add closing flag to WorkerGlobalScope
Also implement close a worker AO.

(cherry picked from commit f99c7ad85d150bbe3372edad1a7634263e804eb1)
2024-07-22 21:29:21 -04:00
Andrew Kaster
446f04b575 LibWeb+WebWorker: Add IPC messages to request and communicate shutdown
(cherry picked from commit 27ef9ffa8f76b9bb38bc30ce05a1fdc19b849d91)
2024-07-22 21:29:21 -04:00
Andrew Kaster
f2e3d117a2 LibWeb: Initialize HTML::EventLoop with its type
(cherry picked from commit 5d8784318d8240413e555bf2e55bc00d95ea0749)
2024-07-22 21:29:21 -04:00
Edwin Hoksberg
fd55229c0e LibWeb: Support percentage values in SVG line element
(cherry picked from commit ac6126e263964a7695167c0ee6a74453957d4c5c)
2024-07-22 19:05:02 -04:00
Edwin Hoksberg
097a50141f LibWeb: Support percentage values in SVG text positioning element
(cherry picked from commit 356bddbdbb774cf86dd77d2a54a6fddccf82767e)
2024-07-22 19:05:02 -04:00
mobounya
f820114bc6 LibWeb: Update update_for_history_step_application
Update 'update_for_history_step_application' to meet some of the specs
introduced in https://github.com/whatwg/html/pull/9856 and in
https://github.com/whatwg/html/pull/9990

(cherry picked from commit 2497f43989af3efa695d0d33de59001cb87bacb6)
2024-07-22 18:58:29 -04:00