Linus Groh
2a66fc6cae
LibJS: Add make_handle({Nonnull,}GCPtr<T>) overloads
2022-12-15 06:56:37 -05:00
Linus Groh
029db614e3
LibJS: Ensure Optional<Completion>'s defaults to empty completion
...
Default-constructing the m_value Completion made it have an undefined
JS value when not overridden in a constructor, such as the conditional
initialization in Optional(Optional<JS::Completion> const&).
See investigation by Tim here:
https://github.com/SerenityOS/serenity/pull/16498#discussion_r1049090456
Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2022-12-15 06:56:37 -05:00
Kyle Lanmon
0991464de6
LibWeb: Implement input range type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
c5b953e51b
LibWeb: Implement input local date and time type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
a3c4af7a19
LibWeb: Implement input time type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
d249a69150
LibWeb: Implement input week type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
8197b7a063
LibWeb: Implement input month type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
edb3a0aa0a
LibWeb: Implement input date type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
dfbc5553f2
LibWeb: Implement input email type sanitation algorithm
2022-12-15 09:43:41 +00:00
Kyle Lanmon
6fa34a4ee3
LibWeb: Implement input color type sanitation algorithm
2022-12-15 09:43:41 +00:00
Timothy Flynn
a2cf026b30
LibJS: Throw a RangeError when when formatting strings in DurationFormat
...
This is a normative change in the Intl.DurationFormat proposal. See:
https://github.com/tc39/proposal-intl-duration-format/commit/2546080
2022-12-15 09:40:09 +00:00
Timothy Flynn
010888acec
LibJS: Access DurationRecord properties in alphabetical order
...
This is a normative change in the Intl.DurationFormat proposal. See:
https://github.com/tc39/proposal-intl-duration-format/commit/42e99b8
2022-12-15 09:40:09 +00:00
Timothy Flynn
85f079dc6b
LibJS: Move IsValidDurationRecord check to ToDurationRecord
...
This is an editorial change in the Intl.DurationFormat proposal. See:
https://github.com/tc39/proposal-intl-duration-format/commit/fb21723
2022-12-15 09:40:09 +00:00
Timothy Flynn
0086a3acdb
LibJS: Remove infallibility markers from some Intl.DurationFormat AOs
...
This is an editorial change in the Intl.DurationFormat proposal. See:
https://github.com/tc39/proposal-intl-duration-format/commit/fa2b3d0
2022-12-15 09:40:09 +00:00
Max Stevens
3aeb7a41c0
LibWeb: Implement more values of flexbox align-content
...
Implement the values 'space-between' and 'space-around'
of the 'align-content' flexbox property.
The following WPT tests now pass:
- http://wpt.live/css/css-flexbox/align-content-004.htm
- http://wpt.live/css/css-flexbox/align-content-005.htm
2022-12-15 09:27:32 +01:00
kleines Filmröllchen
b7eea03103
Piano: Overhaul AudioPlayerLoop and throw out event loops
...
The audio player loop uses custom IPC plumbing to safely bypass any
event loop shenanigans. There is still work to be done, but this already
improves the realtime capabilities of Piano.
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
f1d486bcde
Piano: Make AudioPlayerLoop::is_playing const
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
0beca84624
LibIPC: Only run responsiveness timer when there is an event loop
...
This disables responsiveness detection when an event loop is absent.
There are no users which both need this feature but don't have an event
loop.
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
7669441282
LibIPC: Add deferred invoker getter
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
727fb305a8
LibAudio: Allow resampling into existing buffer
...
This alleviates some copying
and we can implement existing APIs in terms of this.
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
cc9192a1e7
LibAudio: Expose blocking realtime enqueue to audio clients
...
This is just a delegate of the same function found in the shared queue
itself.
2022-12-15 00:21:00 -07:00
kleines Filmröllchen
836f28392d
LibAudio: Make resampling fallible
2022-12-15 00:21:00 -07:00
meiskam
1943aef2cb
PixelPaint: Make sure modified state is updated when undo_stack changes
2022-12-15 00:14:35 -07:00
meiskam
b33aa1bc9b
PixelPaint: Update window modified
to look at all tabs
...
This causes the corner X to correctly have dots when any of the open
tabs have unsaved changes. Event calls and undo stack modifications
have been collected to one spot.
2022-12-15 00:14:35 -07:00
meiskam
fb4315d121
LibGUI: Add dots below TabWidget close button when modified
2022-12-15 00:14:35 -07:00
meiskam
b79be56bed
LibGUI: Add modified
bool to TabWidget
...
This will allow application with multiple tabs to track modifications
per-tab, not just if the entire window has been modified
2022-12-15 00:14:35 -07:00
Arda Cinar
2dd7fa2d44
HexEditor: Handle some errors inside the editor
...
Specifically, the ones HexEditor::did_complete_action possibly raised in
case creating an undo stack entry or pushing it onto the undo stack
fails. In this case, an error popup is displayed and the modifications
are undone.
This removes 2 FIXMEs inside the code :^)
2022-12-14 23:43:20 -07:00
Lucas CHOLLET
d3ce9cf8f6
CrashReporter: Use the Core::Stream
friendly API, save_file()
2022-12-14 18:26:25 +00:00
Lucas CHOLLET
6dd716adf2
LibFileSystemAccessClient: Add save_file()
...
This method replaces `try_save_file_deprecated()`, as it has the same
behavior but returns a `Core::Stream::File` instead.
2022-12-14 18:26:25 +00:00
Lucas CHOLLET
cfb0e1bdb2
LibCore: Add fd overload of File::is_directory
and File::is_device
2022-12-14 18:26:25 +00:00
Lucas CHOLLET
9ae97c8cb1
LibFileSystemAccessClient: Rename try_save_file
=>
...
`try_save_file_deprecated`
This precedes the addition of a new api using `Core::Stream`
2022-12-14 18:26:25 +00:00
Lucas CHOLLET
c71fc0683f
LibFileSystemAccessClient: Rename Result
=> DeprecatedResult
...
This precedes the addition of a new `Result`, using `Core::Stream::File`
instead `Core::File`.
2022-12-14 18:26:25 +00:00
Cygnix Proto
806a55eda1
LibGfx+Userland: Make Gfx::SystemTheme propagate errors
...
This patch introduces error propagation to Gfx::SystemTheme to remove
instances of release_value_but_fixme_should_propagate_errors().
Userland applications that have been affected by this change have been
updated to utilise this propagation and as a result 4 such instances of
the aforementioned method have been removed.
2022-12-14 18:25:28 +00:00
Sam Atkins
bdd9bc16de
Piano: Only treat unmodified key presses as playing notes
...
This makes Action shortcuts work again. :^)
`note_key_action()` and `special_key_action()` now return whether they
consumed the event. We don't even call them if any modifier keys were
held down, so things like `Ctrl+T` no longer play notes.
2022-12-14 18:25:02 +00:00
Sam Atkins
7c17e73c7f
SpaceAnalyzer: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
97e157708f
Presenter: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
4752d8fd08
MasterWord: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
10c4c552e7
Hearts: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
faf30ed9ef
Chess: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
30833b0ba8
BrickGame: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Sam Atkins
0bf37b8763
Solitaire: Ignore unhandled keydown events
...
This makes Action shortcuts work again. :^)
2022-12-14 18:25:02 +00:00
Andrew Kaster
733a318709
Meta+CMake: Extract Wasm spec tests into the binary directory
...
Clean up the Wasm spec tests CMake rules to extract and compile the wat
files into wasm files in the LibWasm binary directory instead of its
source directory. Also make the rules more robust to missing host tools,
and use more CMake install rules for the test files rather than relying
on build-root-filesystem.sh. Add some FIXMEs for later, we really
shouldn't be doing installation of test files into /home/anon at the
build-root-filesystem stage in $CURRENT_YEAR. Tests go in /usr/Tests
2022-12-14 20:29:43 +03:30
Sam Atkins
ab49dbf137
LibWeb: Convert Paintable coordinates to new pixel units
...
This fixes a few sizing issues too. The page size is now correct in most
cases! \o/
We get to remove some of the `to_type<>()` shenanigans, though it
reappears in some other places.
2022-12-14 16:47:57 +00:00
Sam Atkins
57a69f15ff
LibWeb: Remove declarations for LineBoxFragment methods that don't exist
2022-12-14 16:47:57 +00:00
Sam Atkins
1a68a4292d
LibWeb: Convert text and text-decoration painting to new pixel units
...
This does not touch the actual font selection, so the text itself is
still small for now.
2022-12-14 16:47:57 +00:00
Sam Atkins
a72302342a
LibWeb: Convert marker painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
fb43a71981
LibWeb: Convert shadow painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
9d1f30b533
LibWeb: Convert gradient painting to new pixel units
...
Co-authored-by: MacDue <macdue@dueutil.tech>
2022-12-14 16:47:57 +00:00
Sam Atkins
7c8eecbaa5
LibWeb: Convert backdrop-filter painting to new pixel units
2022-12-14 16:47:57 +00:00
Sam Atkins
0bf4089af9
LibWeb: Convert border painting to new pixel units
2022-12-14 16:47:57 +00:00