Commit graph

24712 commits

Author SHA1 Message Date
Timothy Flynn
32ea461385 LibUnicode: Download and parse the special casing UCD file
This adds a SpecialCasing structure to the generated UnicodeData.h/cpp
files. This structure contains casing rules for code points which have
non-1-to-1 upper-to-lower case code point mappings. Further, these rules
may be limited to specific locales or other context.
2021-07-27 21:04:36 +01:00
Idan Horowitz
350fb0e3db Meta: Bring lint-commit.sh up to date with the CI commit linter
This was missing 2 of the recently added checks. Also added a reminder
in the CI linter to update the Meta (commit hook) version.
2021-07-27 20:41:49 +01:00
Linus Groh
af3a26f4cc LibJS: Implement Temporal.Now.plainDateTimeISO() 2021-07-27 19:51:44 +01:00
Linus Groh
0bb19fc51c LibJS: Implement Temporal.Now.plainDateTime() 2021-07-27 19:51:44 +01:00
Linus Groh
f2a2e8e13c LibJS: Implement Temporal.Now.plainDateISO() 2021-07-27 19:51:44 +01:00
Linus Groh
c303bbde54 LibJS: Implement Temporal.Now.plainDate()
...and ten required AOs we didn't have yet:

- BalanceISODate
- BalanceISODateTime
- BalanceISOYearMonth
- BalanceTime
- BuiltinTimeZoneGetPlainDateTimeFor
- GetISOPartsFromEpoch
- GetOffsetNanosecondsFor
- ParseTemporalTimeZone
- SystemDateTime
- ToTemporalTimeZone
2021-07-27 19:51:44 +01:00
Linus Groh
5512ff79f0 LibJS: Implement a bunch of time value related Date AOs
We don't have these yet as our Date implementation doesn't use the time
value algorithms and AOs from the spec, but Temporal will need these in
various contexts.
2021-07-27 19:51:44 +01:00
Linus Groh
ff307194f3 LibJS: Implement Temporal.Now[@@toStringTag] 2021-07-27 18:48:22 +01:00
Linus Groh
b3723a88a6 LibJS: Implement Temporal[@@toStringTag] 2021-07-27 18:48:22 +01:00
Gunnar Beutner
3a4d3b15e3 Kernel: Fix CPU initialization for SMP
This was broken by the KASLR changes.
2021-07-27 19:45:38 +02:00
x-yl
4bdd62939a Meta: Set -audiodev explictly
Unfortunately seems like QEMU tries to use SPICE for audio so we need to
explicitly set -audiodev to use either SDL or coreaudio (depending on
platorm)
2021-07-27 19:15:37 +02:00
Gunnar Beutner
c9118b84b7 LibCoreDump: Make symbolication work when .text isn't the first segment
This can happen with binaries built with Clang or with a custom linker
script.
2021-07-27 19:14:29 +02:00
Karol Kosek
99d46caa28 LibGUI: Disable changing the view on error in the FilePicker
Prior to this change, changing the view would hide the error label
and show an empty directory.
2021-07-27 19:06:21 +02:00
Karol Kosek
80e3cf3ef7 LibGUI: Show an error message on open error in the FilePicker 2021-07-27 19:06:21 +02:00
Karol Kosek
f2d3fcb7cd ImageViewer: Hide the border frame in fullscreen mode 2021-07-27 18:32:58 +02:00
Andreas Kling
4a8d47edf8 LibGUI: Add some "fudge factor" around IconView item rects
Previously there was a dead zone between the item icon and its text
in IconViews. This meant that you could click between the icon and
the text label and hit nothing.

This patch improves the situation by inflating both rects so that
they both overlap and become a bit easier to hit.
2021-07-27 18:27:49 +02:00
Andreas Kling
75a41da69f LibGUI: Show dotfiles with 50% opacity (in FileSystemModel views)
Use the new ModelRole::IconOpacity for this. :^)
2021-07-27 18:27:49 +02:00
Andreas Kling
8ba47facf6 LibGUI: Add ModelRole::IconOpacity and support it in all views :^)
This role allows you to specify a custom opacity for icon painting.
Note that the opacity is not in effect when the item is either
selected and/or hovered.
2021-07-27 18:27:49 +02:00
Andreas Kling
2d1eff01a2 LibGUI: Add Variant::as_float_or(fallback) 2021-07-27 18:27:49 +02:00
Andreas Kling
49b9683381 FileManager: Make "show dotfiles" affect the tree view as well
Previously this only affected the main directory view.
2021-07-27 18:27:49 +02:00
Andreas Kling
4486e5b26d LibGUI: Remove some unused code in GUI::TreeView 2021-07-27 18:27:49 +02:00
Jamie Mansfield
28ee513bdf Spider: Make statusbar high score display configurable
You can now choose what statistic (currently only high score or best
time) to display in the statusbar.
2021-07-27 16:53:56 +02:00
Jamie Mansfield
821af6a6ef Spider: Start game if first move is to draw cards
This fixes a bug where the game wouldn't consider it had started.
2021-07-27 16:53:56 +02:00
Jamie Mansfield
26cb559d37 Spider: Track win and loss counts
Again, this isn't exposed anywhere yet.
2021-07-27 16:53:56 +02:00
Jamie Mansfield
f7eb6772ce Spider: Get user confirmation to close when there is a active game 2021-07-27 16:53:56 +02:00
Jamie Mansfield
4df9d05f91 Spider: Track quickest game time
This isn't exposed in the game anywhere yet.
2021-07-27 16:53:56 +02:00
Jamie Mansfield
29f15cfbae Spider: Standardise fetching the mode identifier
This eliminates some code duplication, and will be helpful for future
commits introducing further statistic tracking.
2021-07-27 16:53:56 +02:00
Gunnar Beutner
78c81854cc LibC: Don't include C++ headers in C system headers 2021-07-27 16:53:16 +02:00
Andreas Kling
c69e147b8b Kernel: Improve some comments in Space
Remove bogus FIXME's and improve some comments.
2021-07-27 15:04:36 +02:00
Andreas Kling
a085168c52 Kernel: Rename Space::create => Space::try_create() 2021-07-27 14:54:35 +02:00
Andreas Kling
8f6bc7fd10 Kernel: Mark the stack check guard as READONLY_AFTER_INIT
This makes it harder for an exploit to replace the kernel's randomized
canary value since the memory containing it will be mapped read-only.
2021-07-27 14:50:10 +02:00
Andreas Kling
84d3428ab3 Kernel: Remove a handful of unused member functions in Processor 2021-07-27 14:38:04 +02:00
Andreas Kling
1e43292c3b Kernel: Introduce ProcessorSpecific<T> for per-CPU data structures
To add a new per-CPU data structure, add an ID for it to the
ProcessorSpecificDataID enum.

Then call ProcessorSpecific<T>::initialize() when you are ready to
construct the per-CPU data structure on the current CPU. It can then
be accessed via ProcessorSpecific<T>::get().

This patch replaces the existing hard-coded mechanisms for Scheduler
and MemoryManager per-CPU data structure.
2021-07-27 14:32:30 +02:00
Andreas Kling
559ab00249 Kernel: Remove unused Region::translate_vmobject_page_range() 2021-07-27 13:17:33 +02:00
Gunnar Beutner
57417a3d6e Kernel: Support loading the kernel at almost arbitrary virtual addresses
This enables further work on implementing KASLR by adding relocation
support to the pre-kernel and updating the kernel to be less dependent
on specific virtual memory layouts.
2021-07-27 13:15:16 +02:00
Gunnar Beutner
e3d2ca6bd2 LibSymbolication: Fix integer overflow when calculating region addresses 2021-07-27 13:15:16 +02:00
Gunnar Beutner
b10a86d463 Prekernel: Export some multiboot parameters in our own BootInfo struct
This allows us to specify virtual addresses for things the kernel should
access via virtual addresses later on. By doing this we can make the
kernel independent from specific physical addresses.
2021-07-27 13:15:16 +02:00
Gunnar Beutner
ff292fbe5a LibELF: Fix unaligned writes in the relocation code 2021-07-27 13:15:16 +02:00
Gunnar Beutner
daeb371180 DynamicLoader+LibELF: Move self-relocation code into a separate file 2021-07-27 13:15:16 +02:00
Gunnar Beutner
3c616ae00f Kernel: Make the kernel independent from specific physical addresses
Previously the kernel relied on a fixed offset between virtual and
physical addresses based on the kernel's load address. This allows us
to specify an independent offset.
2021-07-27 13:15:16 +02:00
Lennon Donaghy
c4887882cc Utilities: Allow 'less' to scroll to top/bottom using 'G' and 'g' 2021-07-27 13:08:43 +02:00
Andreas Kling
751cb094ff LibGfx: Remove Gfx::ImageDecoder::bitmap() in favor of frame(index)
To transparently support multi-frame images, all decoder plugins have
already been updated to return their only bitmap for frame(0).

This patch completes the remaining cleanup work by removing the
ImageDecoder::bitmap() API and having all clients call frame() instead.
2021-07-27 01:29:50 +02:00
Andreas Kling
d01b4327fa LibGfx: Improve ImageDecoder construction
Previously, ImageDecoder::create() would return a NonnullRefPtr and
could not "fail", although the returned decoder may be "invalid" which
you then had to check anyway.

The new interface looks like this:

    static RefPtr<Gfx::ImageDecoder> try_create(ReadonlyBytes);

This simplifies ImageDecoder since it no longer has to worry about its
validity. Client code gets slightly clearer as well.
2021-07-27 01:17:05 +02:00
Linus Groh
c6f4ecced9 LibJS: Update Temporal spec comment that's now been corrected
See: https://github.com/tc39/proposal-temporal/commit/6d2350f
2021-07-26 23:39:11 +01:00
Maciej Zygmanowski
13773d3ced SystemMonitor: Display connection status icons in Network tab 2021-07-27 00:28:12 +02:00
Maciej Zygmanowski
c42f5a9e56 Base: Add network-connected icon
It's just like network-disconnected but without red "X" mark.
2021-07-27 00:28:12 +02:00
Maciej Zygmanowski
9efeecf903 Kernel: Make LoopbackAdapter always link up 2021-07-27 00:28:12 +02:00
Idan Horowitz
c31f085b8c CI: Cache UnicodeData files on GitHub Actions runs
This should prevent 5 unnecessary downloads for each CI run.
2021-07-27 00:03:55 +02:00
ovf
13c7d55320 LibWeb: Fix parsing of character references in attribute values 2021-07-27 00:03:43 +02:00
Martin Blicha
0505a815f7 LibChess: Early check of legal move
One of the conditions for legal move is that the target square is not
occupied by a piece of the same color as the moving piece.

Instead of checking this for each piece separately at the end, we can
check this at the beginning and avoid more expensive checks.
2021-07-26 23:53:41 +02:00