Gunnar Beutner
3065577b54
Everywhere: Enable building userspace and test binaries on AARCH64
...
Surely this will just work once the kernel boots, right?
2022-10-14 13:01:13 +02:00
Gunnar Beutner
a7a71be113
LibC: Fix some compiler errors
...
__x86_64__ isn't defined at all on AARCH64.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
808c43312d
Tests+Userland: Implement AARCH64 support for some inline assembly blobs
2022-10-14 13:01:13 +02:00
Gunnar Beutner
dadf656dc9
Tests+Userland: Prefer using __builtin_trap() instead of UD2
...
This way we don't have to hard-code per-architecture instructions.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
7a8206197e
AK: Stub out the NAKED macro on AARCH64
...
This is almost certainly incorrect but we'll see about that once
the kernel actually gets to userspace init.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
5921df75b6
Kernel: Implement userspace support for syscalls on AARCH64
...
There are no guarantees that the final syscall API will look like this
but at least for now this lets us compile the userland binaries.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
a650c74b27
AK+Toolchain: Make char and wchar_t behave on AARCH64
...
By default char and wchar_t are unsigned on AARCH64. This fixes a
bunch of related compiler errors.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
31bd5b1a02
AK+Userland: Stub out code that isn't currently implemented on AARCH64
...
Even though this almost certainly wouldn't run properly even if we had
a working kernel for AARCH64 this at least lets us build all the
userland binaries.
2022-10-14 13:01:13 +02:00
Gunnar Beutner
c18c84dbfd
Toolchain: Fix building libgcc for AARCH64
...
There was a typo in one of the spec files which resulted in us not
building softfp support for libgcc. Additionally we were missing flags
to build libgcc_s. This patch also makes sure we're not trying to
link against crtbeginS.o and crtendS.o. This is part of a larger effort
to at least get the userland to build at all.
2022-10-14 13:01:13 +02:00
Tim Schumacher
24987e2b1f
Toolchain: Add SerenityOS to the LLVM config.guess
2022-10-14 12:57:55 +02:00
leeight
bb39f70efc
WindowServer: Avoid window
nullptr exception
...
If `window` is nullptr, we should return as soon as possible to
avoid segment fault runtime error.
2022-10-14 11:42:36 +02:00
cflip
30be638fb2
Ports/zlib: Update to 1.2.13
2022-10-14 11:37:25 +02:00
Lucas CHOLLET
99cd6f66cf
Base: Launch CrashDaemon at session start-up
2022-10-14 11:37:11 +02:00
Lucas CHOLLET
3197c1793a
Base: Launch Clipboard at session start-up
...
The clipboard service hasn't been ported to user-based portals with
others services as it is needed at `GUI::Application` creation and thus
before the first login, as the `LoginServer` needs one.
This problem as been solved thanks to session-based portals, a clipboard
portal is now created at boot for the "login" session and another for
each "user" session.
With a user-based portal, the "login" portal would have needed to be
created for the `root` user, exposing us to security issues. It now, can
be owned by the `window` user.
2022-10-14 11:37:11 +02:00
davidot
1be337353b
LibJS: Make sure to exactly add nanoseconds in add_duration
...
If the given nanoseconds values add to something above 2**53 - 1 we are
potentially rounding the double to some near integer value.
2022-10-14 11:23:50 +02:00
davidot
1b0ca52c54
LibJS: Disallow one day long time zone offsets
...
This is a normative change in the Temporal spec.
See: https://github.com/tc39/proposal-temporal/commit/9cc8b29b
2022-10-14 11:23:50 +02:00
leeight
1167fdb17a
LibWeb: Make LoadRequest
headers case insensitive
2022-10-14 11:23:36 +02:00
ne0ndrag0n
9b61579aa6
Base: Mark NetworkSettings as requiring root
2022-10-14 11:23:06 +02:00
ne0ndrag0n
2affe67c75
Settings: Support for launching settings apps as root
2022-10-14 11:23:06 +02:00
ne0ndrag0n
7fc22896ee
LibDesktop: Add support for RequiresRoot option to AppFile
2022-10-14 11:23:06 +02:00
ne0ndrag0n
b4456ecdbb
Escalator: Add new method to privilege escalate within GUI
2022-10-14 11:23:06 +02:00
Hendiadyoin1
a143d666db
AK: Fix aarch64 versions of math functions
...
These were incorrectly assumed to compile, but did indeed still have
a few issues.
2022-10-14 11:06:28 +02:00
Hendiadyoin1
eb5651870e
AK: Add support for some trivial math functions on aarch64
...
These all require just a single instruction each, we only have to
differentiate between register prefixes accordingly.
2022-10-14 00:28:34 +02:00
Simon Rask
650d2fdc2d
LibJS: Add spec comments to String.prototype.at
2022-10-13 21:14:32 +02:00
Simon Rask
8701832095
LibJS: Add spec comments to String.prototype.substring
2022-10-13 21:14:32 +02:00
leeight
1d058ffd72
Documentation: Update VSCodeConfiguration.md
...
Because x86-64 is the default target, so update the related
documentations.
74018be739
2022-10-13 17:44:49 +02:00
Xexxa
3b9e52cd46
Base: Adjust emoji flag sizes
...
🇨🇱 - U+1F1E8 U+1F1F1 FLAG: CHILE
🇨🇴 - U+1F1E8 U+1F1F4 FLAG: COLOMBIA
🇨🇵 - U+1F1E8 U+1F1F5 FLAG: CLIPPERTON ISLAND
🇨🇷 - U+1F1E8 U+1F1F7 FLAG: COSTA RICA
🇨🇺 - U+1F1E8 U+1F1FA FLAG: CUBA
🇨🇼 - U+1F1E8 U+1F1FC FLAG: CURAÇAO
🇨🇿 - U+1F1E8 U+1F1FF FLAG: CZECHIA
🇩🇪 - U+1F1E9 U+1F1EA FLAG: GERMANY
🇩🇯 - U+1F1E9 U+1F1EF FLAG: DJIBOUTI
🇩🇰 - U+1F1E9 U+1F1F0 FLAG: DENMARK
🇩🇴 - U+1F1E9 U+1F1F4 FLAG: DOMINICAN REPUBLIC
🇪🇦 - U+1F1EA U+1F1E6 FLAG: CEUTA & MELILLA
🇪🇬 - U+1F1EA U+1F1EC FLAG: EGYPT
🇪🇸 - U+1F1EA U+1F1F8 FLAG: SPAIN
🇫🇲 - U+1F1EB U+1F1F2 FLAG: MICRONESIA
🇫🇷 - U+1F1EB U+1F1F7 FLAG: FRANCE
🇬🇦 - U+1F1EC U+1F1E6 FLAG: GABON
🇬🇳 - U+1F1EC U+1F1F3 FLAG: GUINEA
🇬🇷 - U+1F1EC U+1F1F7 FLAG: GREECE
🇬🇹 - U+1F1EC U+1F1F9 FLAG: GUATEMALA
🇬🇼 - U+1F1EC U+1F1FC FLAG: GUINEA-BISSAU
🇬🇾 - U+1F1EC U+1F1FE FLAG: GUYANA
🇭🇰 - U+1F1ED U+1F1F0 FLAG: HONG KONG SAR CHINA
🇭🇲 - U+1F1ED U+1F1F2 FLAG: HEARD & MCDONALD ISLANDS
🇭🇺 - U+1F1ED U+1F1FA FLAG: HUNGARY
🇮🇨 - U+1F1EE U+1F1E8 FLAG: CANARY ISLANDS
🇮🇩 - U+1F1EE U+1F1E9 FLAG: INDONESIA
🇮🇷 - U+1F1EE U+1F1F7 FLAG: IRAN
🇮🇹 - U+1F1EE U+1F1F9 FLAG: ITALY
🇰🇷 - U+1F1F0 U+1F1F7 FLAG: SOUTH KOREA
🇱🇰 - U+1F1F1 U+1F1F0 FLAG: SRI LANKA
🇱🇹 - U+1F1F1 U+1F1F9 FLAG: LITHUANIA
🇱🇺 - U+1F1F1 U+1F1FA FLAG: LUXEMBOURG
🇱🇻 - U+1F1F1 U+1F1FB FLAG: LATVIA
🇲🇨 - U+1F1F2 U+1F1E8 FLAG: MONACO
🇲🇫 - U+1F1F2 U+1F1EB FLAG: ST. MARTIN
🇲🇬 - U+1F1F2 U+1F1EC FLAG: MADAGASCAR
🇲🇲 - U+1F1F2 U+1F1F2 FLAG: MYANMAR (BURMA)
🇲🇺 - U+1F1F2 U+1F1FA FLAG: MAURITIUS
🇲🇼 - U+1F1F2 U+1F1FC FLAG: MALAWI
🇳🇦 - U+1F1F3 U+1F1E6 FLAG: NAMIBIA
🇳🇪 - U+1F1F3 U+1F1EA FLAG: NIGER
🇳🇱 - U+1F1F3 U+1F1F1 FLAG: NETHERLANDS
🇳🇷 - U+1F1F3 U+1F1F7 FLAG: NAURU
🇵🇪 - U+1F1F5 U+1F1EA FLAG: PERU
🇵🇭 - U+1F1F5 U+1F1ED FLAG: PHILIPPINES
🇵🇱 - U+1F1F5 U+1F1F1 FLAG: POLAND
🇷🇪 - U+1F1F7 U+1F1EA FLAG: RÉUNION
🇸🇮 - U+1F1F8 U+1F1EE FLAG: SLOVENIA
🇸🇰 - U+1F1F8 U+1F1F0 FLAG: SLOVAKIA
🇸🇱 - U+1F1F8 U+1F1F1 FLAG: SIERRA LEONE
🇸🇴 - U+1F1F8 U+1F1F4 FLAG: SOMALIA
🇸🇷 - U+1F1F8 U+1F1F7 FLAG: SURINAME
🇸🇸 - U+1F1F8 U+1F1F8 FLAG: SOUTH SUDAN
🇸🇾 - U+1F1F8 U+1F1FE FLAG: SYRIA
🇹🇩 - U+1F1F9 U+1F1E9 FLAG: CHAD
🇹🇴 - U+1F1F9 U+1F1F4 FLAG: TONGA
🇹🇷 - U+1F1F9 U+1F1F7 FLAG: TURKEY
🇹🇼 - U+1F1F9 U+1F1FC FLAG: TAIWAN
🇺🇦 - U+1F1FA U+1F1E6 FLAG: UKRAINE
🇺🇳 - U+1F1FA U+1F1F3 FLAG: UNITED NATIONS
🇺🇾 - U+1F1FA U+1F1FE FLAG: URUGUAY
🇺🇿 - U+1F1FA U+1F1FF FLAG: UZBEKISTAN
🇻🇨 - U+1F1FB U+1F1E8 FLAG: ST. VINCENT & GRENADINES
🇻🇪 - U+1F1FB U+1F1EA FLAG: VENEZUELA
🇼🇸 - U+1F1FC U+1F1F8 FLAG: SAMOA
🇾🇪 - U+1F1FE U+1F1EA FLAG: YEMEN
🇿🇦 - U+1F1FF U+1F1E6 FLAG: SOUTH AFRICA
2022-10-13 17:43:33 +02:00
Xexxa
25eb366a33
Base: Adjust emoji (remove corner pixel for 3D feel)
...
📔 - U+1F4D4 NOTEBOOK WITH DECORATIVE COVER
📕 - U+1F4D5 CLOSED BOOK
📗 - U+1F4D7 GREEN BOOK
📘 - U+1F4D8 BLUE BOOK
📙 - U+1F4D9 ORANGE BOOK
📓 - U+1F4D3 NOTEBOOK
📒 - U+1F4D2 LEDGER
2022-10-13 17:43:33 +02:00
Xexxa
597750c077
Base: Add more emoji
...
👁️🗨️ - U+1F441 U+200D U+1F5E8 EYE IN SPEECH BUBBLE
🦷 - U+1F9B7 TOOTH
🧜♀️ - U+1F9DC U+200D U+2640 MERMAID
🏌️♂️ - U+1F3CC U+200D U+2642 MAN GOLFING
🏌️♀️ - U+1F3CC U+200D U+2640 WOMAN GOLFING
🏊♂️ - U+1F3CA U+200D U+2642 MAN SWIMMING
🏊♀️ - U+1F3CA U+200D U+2640 WOMAN SWIMMING
🏋️♂️ - U+1F3CB U+200D U+2642 MAN LIFTING WEIGHTS
🏋️♀️ - U+1F3CB U+200D U+2640 WOMAN LIFTING WEIGHTS
🦓 - U+1F993 ZEBRA
🐮 - U+1F42E COW FACE
🥖 - U+1F956 BAGUETTE BREAD
🏺 - U+1F3FA AMPHORA
🚂 - U+1F682 LOCOMOTIVE
🚃 - U+1F683 RAILWAY CAR
🛶 - U+1F6F6 CANOE
🛍️ - U+1F6CD SHOPPING BAGS
💴 - U+1F4B4 YEN BANKNOTE
💵 - U+1F4B5 DOLLAR BANKNOTE
💶 - U+1F4B6 EURO BANKNOTE
💷 - U+1F4B7 POUND BANKNOTE
🪚 - U+1FA9A CARPENTRY SAW
🚽 - U+1F6BD TOILET
🚿 - U+1F6BF SHOWER
☣️ - U+2623 BIOHAZARD
📳 - U+1F4F3 VIBRATION MODE
♻️ - U+267B RECYCLING SYMBOL
⚜️ - U+269C FLEUR-DE-LIS
2022-10-13 17:43:33 +02:00
Xexxa
f912fb3f08
Base: Adjust emoji (colour scheme consistency)
...
🏌️ - U+1F3CC PERSON GOLFING
🏋️ - U+1F3CB PERSON LIFTING WEIGHTS
2022-10-13 17:43:33 +02:00
Luke Wilde
bf2debdf53
LibWeb: Make navigator.languages an attribute instead of a function
2022-10-13 14:42:14 +02:00
demostanis
1eac02c9a4
CatDog: Make it always on top
2022-10-13 12:37:54 +01:00
demostanis
63a18aa89e
LibGUI+WindowServer: Add Window::set_always_on_top()
2022-10-13 12:37:54 +01:00
Timon Kruiper
50e74de279
Kernel: Add StdLib.cpp and UserOrKernelBuffer.cpp to aarch64 build
...
Also remove UserOrKernelBuffer::{read, write} and __stack_chk_fail from
Dummy.cpp and init.cpp respectively.
2022-10-13 11:26:46 +02:00
Andrew Kaster
290d3449e0
LibVideo: Hide debug message behind MATROSKA_DEBUG
...
This clutters fuzzer output if enabled.
2022-10-13 11:25:03 +02:00
Andrew Kaster
b704f82487
Fuzzers: Add VP9Decoder and MatroskaReader fuzzers for LibVideo
2022-10-13 11:25:03 +02:00
Andrew Kaster
bf014c4d20
LibVideo: Check parsed superframe sizes when decoding VP9 frames
...
Make sure that the next parsed superframe size will not overflow the
chunk data before splitting it out to decode a frame.
2022-10-13 11:25:03 +02:00
Andrew Kaster
9d3074f72f
LibVideo: Always check byte length before reading first byte in Streamer
...
The check was missing at the front of
MatroskaReader::Streamer::read_variable_size_integer, causing assertions
on malformed input streams.
2022-10-13 11:25:03 +02:00
MacDue
4507920187
LibWeb: Fix position: fixed canvases/images disappearing when scrolling
...
This fixes the Serenity logo vanishing after scrolling on the 4th
birthday post.
The previous check did not account for any translation in the painter.
This now uses the painter's clip rect and translation to work out
if a rect is visible. It also makes use of `absolute_paint_rect()`
rather than `absolute_rect()` which can account for things like
box-shadows.
2022-10-13 11:16:27 +02:00
Maxwell Trussell
f5e68fcc20
Utilities: Add pkill
2022-10-13 11:15:33 +02:00
Linus Groh
a982e0380e
LibWeb: Implement navigator.webdriver
...
This is defined via the NavigatorAutomationInformation interface mixin
from the WebDriver spec: https://w3c.github.io/webdriver/#interface
2022-10-13 11:14:45 +02:00
Linus Groh
68006f3e16
LibWeb: Update Navigator.idl to use 4 spaces for indentation
2022-10-13 11:14:45 +02:00
Linus Groh
5681115744
Browser: Set 'webdriver-active flag' when creating a new Tab
2022-10-13 11:14:45 +02:00
Linus Groh
3f24a444f9
LibWeb+WebContent: Add plumbing for 'webdriver-active flag'
2022-10-13 11:14:45 +02:00
Xexxa
4c6f830a35
Meta: Add links to GitHub sponsors under authors
2022-10-13 11:13:38 +02:00
Al Hoang
d7d50d6d9e
AK: Fix FreeBSD compilation for clock
...
FreeBSD introduced CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE.
This update fixes ladybird builds from FreeBSD 13.1
see clock_gettime(2) https://www.freebsd.org/cgi/man.cgi?query=clock_gettime&apropos=0&sektion=0&manpath=FreeBSD+13.1-RELEASE&arch=default&format=ascii
2022-10-12 23:12:13 -06:00
Sam Atkins
096fe865c6
WebDriver: Implement GET /session/{id}/url
endpoint
2022-10-12 23:07:42 +02:00
Sam Atkins
a15d32982a
WebDriver: Implement GET /status
endpoint
2022-10-12 23:07:42 +02:00
Sam Atkins
80603f141a
WebDriver: Add new WebDriver service
...
WebDriver aims to implement the WebDriver specification found at
https://w3c.github.io/webdriver/webdriver-spec.html . It's an HTTP
server that can create Browser sessions and control them.
Co-authored-by: Florent Castelli <florent.castelli@gmail.com>
2022-10-12 23:07:42 +02:00
Sam Atkins
8c0f1da9f7
Browser: Add a basic WebDriver API
...
This adds a new option "--webdriver" that opens a local unix socket
in /tmp/browser_{pid} which the WebDriver server can use to send
commands to the Browser instance.
Co-authored-by: Florent Castelli <florent.castelli@gmail.com>
2022-10-12 23:07:42 +02:00