1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 07:47:37 +00:00
Commit graph

24795 commits

Author SHA1 Message Date
Linus Groh
4e4d8d6905 LibJS: Reflect infallibility editorial changes in the Temporal spec
See:

- 3c0671f
- fe28b86
2021-07-28 23:48:56 +01:00
BuggieBot
6340aa11ce Base: Add a quote to the fortunes database
[skip ci]
2021-07-28 23:33:57 +01:00
SeekingBlues
a13a5315a5 LibWeb: Fix incompatibility of attribute "contenteditable"
The previous behavior of mapping a missing value to the "inherit"
state is incompatible. Now, a missing value maps to the "true" state,
which is the expected behavior.
2021-07-28 23:47:58 +02:00
Gunnar Beutner
3cfb1787b8 Kernel: Print relative symbol addresses in dump_backtrace_impl
By subtracting the load base we get addresses which the user can paste
into addr2line.
2021-07-28 23:43:58 +02:00
Timothy Flynn
c4bfda7f7f LibUnicode: Handle code points that are both cased and case-ignorable
Apparently, some code points fit both categories, for example U+0345
(COMBINING GREEK YPOGEGRAMMENI). Handle this fact when determining if
a code point is a final code point in a string.
2021-07-28 23:42:29 +02:00
Timothy Flynn
dff156b7c6 LibUnicode: Reduce Unicode data generator boilerplate
There's a fair amount of boilerplate when e.g. adding a new UCD file to
parse or a new enumeration to generate. Reduce the overhead by adding
helper lambdas. Also adds a couple missing spec links with UCD field
information.
2021-07-28 23:42:29 +02:00
Timothy Flynn
7827aede6f LibUnicode: Check word break when deciding on case-ignorable code points 2021-07-28 23:42:29 +02:00
Timothy Flynn
12fb3ae033 LibUnicode: Download and parse the word break property list UCD file
Note that unlike the main property list, each code point has only one
word break property. Code points that do not have a word break property
are to be assigned the property "Other".
2021-07-28 23:42:29 +02:00
Timothy Flynn
c45a014645 LibUnicode: Check property list when deciding if a code point is cased 2021-07-28 23:42:29 +02:00
Timothy Flynn
38adfd8874 LibUnicode: Download and parse the property list UCD file 2021-07-28 23:42:29 +02:00
Linus Groh
c69d8b6925 js: Implement pretty-printing of Temporal.PlainTime objects 2021-07-28 21:57:30 +01:00
Linus Groh
5e64156fce LibJS: Implement Temporal.Now.plainTimeISO() 2021-07-28 21:57:30 +01:00
Linus Groh
2aa2c56891 LibJS: Update Temporal.Now spec section numbers
The addition of @@toStringTag shifted them all by 1.
2021-07-28 21:57:30 +01:00
Linus Groh
817be1b292 LibJS: Handle PlainTime objects in GetTemporalCalendarWithISODefault 2021-07-28 21:57:30 +01:00
Linus Groh
c2d45e5a83 LibJS: Handle PlainTime objects in ToTemporalCalendar 2021-07-28 21:57:30 +01:00
Linus Groh
d3bed13f4b LibJS: Implement Temporal.PlainTime.prototype.nanosecond 2021-07-28 21:57:30 +01:00
Linus Groh
65b90e93ad LibJS: Implement Temporal.PlainTime.prototype.microsecond 2021-07-28 21:57:30 +01:00
Linus Groh
8bcccf2577 LibJS: Implement Temporal.PlainTime.prototype.millisecond 2021-07-28 21:57:30 +01:00
Linus Groh
c5f03bc921 LibJS: Implement Temporal.PlainTime.prototype.second 2021-07-28 21:57:30 +01:00
Linus Groh
574f474d27 LibJS: Implement Temporal.PlainTime.prototype.minute 2021-07-28 21:57:30 +01:00
Linus Groh
524a56f7b6 LibJS: Implement Temporal.PlainTime.prototype.hour 2021-07-28 21:57:30 +01:00
Linus Groh
a8dd1b9480 LibJS: Implement Temporal.PlainTime.prototype.calendar 2021-07-28 21:57:30 +01:00
Linus Groh
ad89a205bc LibJS: Implement Temporal.PlainTime.prototype.valueOf() 2021-07-28 21:57:30 +01:00
Linus Groh
64b44c7f30 LibJS: Implement Temporal.PlainTime.prototype[@@toStringTag] 2021-07-28 21:57:30 +01:00
Linus Groh
ae4bf8fc32 LibJS: Start implementing Temporal.PlainTime
This commit adds the PlainTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalTime abstract
operation.
2021-07-28 21:57:30 +01:00
Linus Groh
321f2c0927 LibJS: Fix types of PlainDateTime iso_{milli,micro,nano}second params
999 does not fit into an u8. :^)
2021-07-28 21:57:30 +01:00
Linus Groh
2ba338869b LibJS/Tests: Remove two leftover console.log() calls 2021-07-28 21:57:30 +01:00
Linus Groh
d84fd3ad5c LibJS: Reflect infallibility editorial change in ToTemporalCalendar
See: 3437106
2021-07-28 21:57:30 +01:00
Luke
0a8209ab81 Ports: Add MPC
Required to build the toolchain inside Serenity.
2021-07-28 21:55:00 +02:00
Luke
36af58c187 Ports: Add MPFR
Required to build the toolchain inside Serenity.
2021-07-28 21:55:00 +02:00
Luke
6fe8d1da97 Ports: Add more spacing for the name column in AvailablePorts.md 2021-07-28 21:55:00 +02:00
Andreas Kling
2135c66823 Revert "LibGUI: Only dispatch Leave if the now-hovered widget isn't a child"
This reverts commit cfc9ee6f16.

This change was wrong: The parent *does* lose hover when the mouse
cursor enters a child widget. Hover is not hierarchical, there is only a
hovered window and a hovered widget within that window.

This fixes an issue with GUI::TabWidget buttons appearing hovered
despite the mouse cursor not being over the buttons.
2021-07-28 21:28:56 +02:00
Andreas Kling
230f7ce71c Revert "LibGUI: Ignore the Enter event by default"
This reverts commit a5a32fbcce.

This change was wrong: it's fine for a child widget to receive an enter
event despite its parent never getting one. Only the widget directly
under the mouse cursor is considered hovered for enter/leave purposes.
2021-07-28 21:28:56 +02:00
Gunnar Beutner
5df8c274bb Toolchain+Ports: Fix building ports on x86_64
Fixes #8377.
2021-07-28 21:28:31 +02:00
Gunnar Beutner
a11070ab15 Ports: Update GCC to version 11.2.0 2021-07-28 21:28:31 +02:00
Gunnar Beutner
9c431ae7ef Toolchain: Update GCC to version 11.2.0 2021-07-28 21:28:31 +02:00
Gunnar Beutner
f7d772282d Ports: Use SHA256 to verify file integrity for binutils
There's no point in using a keyring file we just downloaded from the
same file mirror to verify the authenticity of the binutils tarball.

If someone were to compromise the file mirror they could just as easily
replace the keyring file and we'd happily tell the user that their copy
of binutils is genuine.
2021-07-28 21:28:31 +02:00
Gunnar Beutner
edce9153af Ports: Update binutils to version 2.37 2021-07-28 21:28:31 +02:00
Gunnar Beutner
cfeffbe524 Toolchain: Update binutils to version 2.37 2021-07-28 21:28:31 +02:00
Andreas Kling
b807f1c3fc Kernel: Fail madvise() volatile change with EINVAL for non-purgeable mem
AnonymousVMObject::set_volatile() assumes that nobody ever calls it on
non-purgeable objects, so let's make sure we don't do that.

Also return EINVAL instead of EPERM for non-anonymous VM objects so the
error codes match.
2021-07-28 20:42:49 +02:00
Andreas Kling
410b3c85b6 LibGUI+LibGfx: Highlight currently active tab button with accent color
Use the new "Accent" color role to emphasize the currently active tab
within a GUI::TabWidget. :^)
2021-07-28 20:25:14 +02:00
Andreas Kling
9826d616dd LibGUI: Update windows when they become active/inactive
Since interfaces may look different depending on the window active state
we need to update them when it changes.
2021-07-28 20:25:14 +02:00
Andreas Kling
4dff72fbf7 HackStudio: Tweak splitter spacings in the main UI
The splitters all felt a little bit too small and hard-to-grab.
This patch puts a little more fat on them.
2021-07-28 20:24:56 +02:00
Andreas Kling
e378587c82 LibGfx+Base: Add a themable "Accent" color role
This can be used by GUI widgets to draw attention to a specific part of
the widget, for example the currently active sub-widget component.
2021-07-28 20:21:52 +02:00
Andreas Kling
03cca20699 LibGfx: Remove unused StylePainter::paint_surface() 2021-07-28 19:13:08 +02:00
LuK1337
a50b937632 ThemeEditor: Initialize color input to Gfx::ColorRole::Window 2021-07-28 19:07:15 +02:00
Brian Gianforcaro
ddc950ce42 Kernel: Avoid file descriptor leak in Process::sys$socketpair on error
Previously it was possible to leak the file descriptor if we error out
after allocating the first descriptor. Now we perform both fd
allocations back to back so we can handle the potential error when
processing the second fd allocation.
2021-07-28 19:07:00 +02:00
Brian Gianforcaro
4b2651ddab Kernel: Track allocated FileDescriptionAndFlag elements in each Process
The way the Process::FileDescriptions::allocate() API works today means
that two callers who allocate back to back without associating a
FileDescription with the allocated FD, will receive the same FD and thus
one will stomp over the other.

Naively tracking which FileDescriptions are allocated and moving onto
the next would introduce other bugs however, as now if you "allocate"
a fd and then return early further down the control flow of the syscall
you would leak that fd.

This change modifies this behavior by tracking which descriptions are
allocated and then having an RAII type to "deallocate" the fd if the
association is not setup the end of it's scope.
2021-07-28 19:07:00 +02:00
Brian Gianforcaro
ba03b6ad02 Kernel: Make Process::FileDescriptions::allocate return KResultOr<int>
Modernize more error checking by utilizing KResultOr.
2021-07-28 19:07:00 +02:00
Brian Gianforcaro
d2cee9cbf6 Kernel: Remove unused fd allocation from Process::sys$connect(..) 2021-07-28 19:07:00 +02:00