Linus Groh
8b6865b128
LibJS: Add missing step number in PlainDatePrototype
2021-07-22 21:19:40 +01:00
Linus Groh
aa2c8b6b91
LibJS: Implement Temporal.PlainDateTime.prototype.calendar
2021-07-22 21:19:40 +01:00
Linus Groh
78acc976a6
LibJS: Implement Temporal.PlainDateTime.prototype.valueOf()
2021-07-22 21:19:40 +01:00
Linus Groh
591ee813fb
LibJS: Implement Temporal.PlainDateTime.prototype[@@toStringTag]
2021-07-22 21:19:40 +01:00
Linus Groh
4be3196882
LibJS: Start implementing Temporal.PlainDateTime
...
This commit adds the PlainDateTime object itself, its constructor and
prototype (currently empty), and the CreateTemporalDateTime abstract
operation.
2021-07-22 21:19:40 +01:00
Linus Groh
42b6bffbf2
AK: Make TypeBoundsChecker<UnsignedIntegralT, FloatingPointT> work
...
By replacing MakeUnsigned<Source> in this specific specialization with a
simple negativity check this now works for floating point source types.
Previously it would attempt a comparison of the destination type and
void.
2021-07-22 21:19:40 +01:00
Linus Groh
8f26f51580
LibJS: Add missing spec links to System{Instant,UTCEpochNanoseconds}
2021-07-22 21:19:40 +01:00
Linus Groh
bece2093f2
LibJS: Remove pointless 'explicit' from a couple of constructors
2021-07-22 21:19:40 +01:00
Linus Groh
c65424d806
LibJS: Fix value of Temporal.PlainDate.length
...
Should be 3 (year, month, day, optional calendar-like), not 0.
2021-07-22 21:19:40 +01:00
Tom
fd60815c58
WindowServer: Fix rendering overlays when there's no desktop window
...
We were missing to account for areas that are not covered by any
window. If any of these areas are covered by an overlay we need to
render the wallpaper into transparency and also render the overlay
over them.
This fixes not rendering overlays properly when e.g. the FileManager
(desktop) crashed as there is no longer any window underneath.
2021-07-22 21:38:52 +02:00
Gunnar Beutner
60d6137e73
Userland: Use /proc/kernel_base to determine the kernel base address
...
This removes all the hard-coded kernel base addresses from userspace
tools.
One downside for this is that e.g. Profiler no longer uses a different
color for kernel symbols when run as a non-root user.
2021-07-22 21:38:23 +02:00
Andreas Kling
6115258a5c
Kernel: Add /proc/kernel_base (superuser only)
...
This file contains the kernel base address as a decimal integer.
2021-07-22 14:20:05 +02:00
Andreas Kling
0642f8f2c6
Kernel: Make committed physical page allocation return NonnullRefPtr
...
Since we're taking from the committed set of pages, there should never
be a reason for this call to fail.
Also add a Badge to disallow taking committed pages from anywhere but
the Region class.
2021-07-22 14:20:05 +02:00
Andreas Kling
d79d768010
LaunchServer: Remove debug spam about incoming connections
2021-07-22 14:20:05 +02:00
Sam Atkins
9122967d5f
FileOperation: Use LexicalPath::join() for all path joining
2021-07-22 12:48:44 +02:00
Sam Atkins
9ac757647f
FileManager: Switch FileOperationProgressWidget::did_error() to SV&
2021-07-22 12:48:44 +02:00
Sam Atkins
469bca9d3a
FileManager: Show progress dialog for file deletions
...
Progress dialogs are nice! :^)
Showing a proper file-deletion animation would be nice, but that is
outside the scope of my abilities.
2021-07-22 12:48:44 +02:00
Sam Atkins
967314023c
FileOperation: Implement 'Delete' operation
2021-07-22 12:48:44 +02:00
Sam Atkins
e99200cc23
FileOperation: Combine 'sources' and 'destination' CL arguments
...
The upcoming 'Delete' operation has no destination, so this was the
best solution we could come up with for now. Perhaps ArgsParser
could support sub-commands, so we would define 'Copy', 'Move' and
'Delete' each as sub-commands with their own argument definitions.
That would make things like git's variety of commands possible.
2021-07-22 12:48:44 +02:00
Sam Atkins
dd833dc220
FileManager: Rename FileOperation::Cut to FileOperation::Move
2021-07-22 12:48:44 +02:00
Sam Atkins
5090b1bdba
FileManager: Set file op progress window's text based on the operation
2021-07-22 12:48:44 +02:00
Sam Atkins
0a62d517fd
FileManager+FileOperation: Implement (and use) 'Move' command
...
`FileOperation Move ...` is now used for cut-and-paste in the
FileManager.
2021-07-22 12:48:44 +02:00
Sam Atkins
a1b4ec1507
FileOperation: Extract execute_work_items() from perform_copy()
...
This is in preparation for a perform_move() function.
2021-07-22 12:48:44 +02:00
Sam Atkins
516764ef17
FileManager: Show progress dialog for pasted files
...
For now, this is a slight step backwards, as Cut does not remove the
source files. This will be rectified next.
2021-07-22 12:48:44 +02:00
Sam Atkins
d8fb8b9583
FileManager: Move mass-copy code from DirectoryView to FileUtils
...
This is preparation for calling it from FileManager/main.cpp
Also made file_operation_windows take NonnullRefPtrs.
2021-07-22 12:48:44 +02:00
Sam Atkins
9060310840
FileManager: Combine drag&drop file copies into one progress window
...
This fixes #6902 .
Previously, dragging and dropping multiple files would create a window
for each file or directory that was selected. Now, we combine them and
show one progress window for the whole batch. :^)
2021-07-22 12:48:44 +02:00
Sam Atkins
3267556ce4
FileOperation: Accept multiple source arguments
...
You can now list multiple files or directories and they will all be
copied to the destination. :^)
Note that this means you can pass the same file or directory multiple
times. It runs fine, just means that it does unnecessary work. But
figuring out if a file is already queued is probably more hassle than
it's worth, if it's even possible at all due to symlinks.
2021-07-22 12:48:44 +02:00
Sam Atkins
ca039e6ba1
FileManager+FileOperation: Switch to east const
...
(And some adjustments based on MaxWipfli's feedback)
2021-07-22 12:48:44 +02:00
Andreas Kling
5217875f6a
Kernel: Consolidate API for creating AnonymousVMObject with given pages
...
We don't need to have a dedicated API for creating a VMObject with a
single page, the multi-page API option works in all cases.
Also make the API take a Span<NonnullRefPtr<PhysicalPage>> instead of
a NonnullRefPtrVector<PhysicalPage>.
2021-07-22 09:17:02 +02:00
Andreas Kling
9e15708aa0
Kernel: Convert VMObject & subclasses to east-const style
2021-07-22 09:17:02 +02:00
Andreas Kling
1610669519
LibC: Make calloc() actually fail on multiplication overflow
2021-07-22 09:17:02 +02:00
Andreas Kling
e4c1514033
LibGfx: Use calloc() instead of malloc()+memset() Gfx::BitmapFont
2021-07-22 09:17:01 +02:00
Andreas Kling
027bfc4eff
DesktopPicker: Make sure the applet always ends up in the same place
2021-07-22 09:17:01 +02:00
Timothy Flynn
d3c25593b9
LibJS: Implement String.prototype.split with UTF-16 code units
...
Also required implementing the SplitMatch abstract operation with UTF-16
code units.
2021-07-22 09:10:44 +02:00
Timothy Flynn
733a92820b
LibJS: Implement String.prototype.replaceAll with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
06208aaa15
LibJS: Implement String.prototype.replace with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
bdbe716547
LibJS: Implement String.prototype.endsWith with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
d2e63a641f
LibJS: Implement String.prototype.startsWith with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
f920e121b3
LibJS: Implement String.prototype.lastIndexOf with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
5ac964d841
LibJS: Implement String.prototype.slice with UTF-16 code units
...
This also implements String.prototype.slice more closely to the spec
(such as handling indices equivalent to Infinity).
2021-07-22 09:10:44 +02:00
Timothy Flynn
eaa1360eee
LibJS: Implement StringPad abstract operation with UTF-16 code units
...
Affects String.prototype.padStart and String.prototype.padEnd.
2021-07-22 09:10:44 +02:00
Timothy Flynn
ef2ff5f88b
LibJS: Implement String.prototype.at with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
892bfdbbcf
LibJS: Implement String.prototype.substr with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
60d8852fc2
LibJS: Implement String.prototype.substring with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
767700d8a1
LibJS: Implement String.prototype.indexOf with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
70f9c7e1c7
LibJS: Implement String.prototype.includes with UTF-16 code units
...
This also implements String.prototype.includes more closely to the spec
(such as returning false when the search string is a RegExp object).
2021-07-22 09:10:44 +02:00
Timothy Flynn
a05ce330b8
LibJS: Implement String.prototype.codePointAt with UTF-16 code units
...
This also implements the CodePointAt abstract operation. This is needed
to handle invalid code units specific to the JavaScript spec, rather
than e.g. inserting replacement code units. This abstraction is public
because RegExp.prototype will also need it.
2021-07-22 09:10:44 +02:00
Timothy Flynn
48a28a9a73
LibJS: Implement String.prototype.charCodeAt with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
5d11614bc7
LibJS: Implement String.prototype.charAt with UTF-16 code units
2021-07-22 09:10:44 +02:00
Timothy Flynn
2bba20d123
LibJS: Report string properties using UTF-16 code units
...
String length is reported as the number of UTF-16 code units, and string
indices are reported as the UTF-16 code units themselves.
2021-07-22 09:10:44 +02:00