Commit graph

34885 commits

Author SHA1 Message Date
Filiph Sandström
b9dbe248aa Lagom: Port LibSyntax
LibSyntax was already building for lagom without any extra changes
so let's just enable it :^)
2022-02-21 16:42:23 +00:00
Timothy Flynn
96459e4b3a LibJS: Define the Intl.Collator's compare function name to be empty 2022-02-21 16:30:19 +00:00
Lady Gegga
f3c4146140 Base: Add characters to font Comic Book Regular 10
00A0, 00A1, 00A9, 00C0, 00C1, 00E0, 00E1, 00E4, 00E6, 00F6,
FFFD, 2B3F, 2933, 219C, 219D, 1F4A9, 1F5F2, 26A1, 1F300, 26A0,
1F620, 1F4A2, 1F5E1, 203C, 1F52B, 203D, 2047
2022-02-21 16:30:07 +00:00
Lady Gegga
b8b7acd7f3 Base: Adjust 002E, 0023 in font Comic Book Regular 10
Tilt 0023 and add 1 px of space after 002E
2022-02-21 16:30:07 +00:00
Lady Gegga
96cbbcfa15 Base: Add Glagolitic to font Katica Regular 10
2C00-2C5F https://www.unicode.org/charts/PDF/U2C00.pdf
2022-02-21 16:30:07 +00:00
Lady Gegga
9e4283e28a Base: Add Limbu to font Katica Regular 10
1900-194F https://www.unicode.org/charts/PDF/U1900.pdf
2022-02-21 16:30:07 +00:00
Lady Gegga
21e266a44e Base: Adjust 2099 in font Katica Regular 10
Use the same form as 207F
2022-02-21 16:30:07 +00:00
Lady Gegga
267b4d8cbe Base: Add Superscripts and Subscripts to font Katica Regular 10
2070-209C https://www.unicode.org/charts/PDF/U2070.pdf
2022-02-21 16:30:07 +00:00
Lady Gegga
0877c3f2a3 Base: Add Spacing Modifier Letters to font Katica Regular 10
02B5-02B8, 02E0, 02E1, 02E3
https://www.unicode.org/charts/PDF/U02B0.pdf
2022-02-21 16:30:07 +00:00
Lady Gegga
9c988e64f1 Base: Add "sharp s" to Katicia(regular/bold 10/12) & Csilla(10)
1E9E https://www.unicode.org/charts/PDF/U1E00.pdf
2022-02-21 16:30:07 +00:00
Simon Danner
f7dbcb652a LibWeb: SVG parse signed numbers in eliptical arc 2022-02-21 16:32:24 +01:00
Marco Cutecchia
cb041d7496 HackStudio: Open by default the last opened project if not specified 2022-02-21 16:31:56 +01:00
Marco Cutecchia
7e7bfdac50 HackStudio: Add a 'Recent Projects' submenu in 'File' 2022-02-21 16:31:56 +01:00
Marco Cutecchia
dbfe385879 LibGUI: Add 'remove_all_actions' method to 'Menu' 2022-02-21 16:31:56 +01:00
Marco Cutecchia
8ede1a6a6f WindowServer: Add IPC call to remove a menu's item 2022-02-21 16:31:56 +01:00
Adam Hodgen
b6eaefa87d LibWeb: Fix 'Comment end state' in HTML Tokenizer
Also, update the expected hash in the LibWeb TestHTMLTokenizer
regression test.

This is due to the "This comment has a few too many dashes." comment
token being updated.
2022-02-21 16:31:45 +01:00
Adam Hodgen
d73bb2633c LibWeb: Implement tokenization newline preprocessing
Newline normalization will replace \r and \r\n with \n.

The spec specifically states
> Before the tokenization stage, the input stream must be preprocessed
> by normalizing newlines.
wheras this is implemented the processing during the tokenization
itself.

This should still exhibit the same behaviour, while keeping the
tokenization logic in the same place.
2022-02-21 16:31:45 +01:00
Adam Hodgen
c6fcdd0f93 LibWeb: Fix off by one error in HTML Tokenizer
In 'NamedCharacterReference' we attempt to lookup the code point by a
identifier, eg apos; becomes '

This is done by passing the entire rest of the document to the
`HTML::code_points_from_entity` function.

However, before this change we didn't sent the final character which
meant if the document ended in a named character reference the lookup
would fail.
2022-02-21 16:31:45 +01:00
Adam Hodgen
c6dd8a1f66 LibWeb: Implement Node.nodeValue DOM attribute 2022-02-21 16:31:45 +01:00
Linus Groh
929074ddea WebContent: Push execution context before ConsoleGlobalObject init
This fixes a crash of the browser when loading any page. LibWeb
immediately pops the 'running execution context' after creating an
interpreter, but it's needed to have a 'current realm' during
initialization of the ConsoleGlobalObject for NativeFunction::create()
to work.
Once this is done, we can immediately pop the execution context again.
2022-02-21 13:51:34 +00:00
Linus Groh
f2ca64cecd WebContent: Remove unused JS Lexer/Parser includes 2022-02-21 13:51:34 +00:00
Zack Penn
e41dfa6599 Spreadsheet: Add undo/redo implementation
The Spreadsheet application currently does not support undo/redo,
and with this update, we are starting the process of adding this feature
:-)

Additionally, the save dialog has been updated to use
GUI::MessageBox::ask_about_unsaved_changes() for system cohesity.

Spreadsheet: Add basic undo functinoality

The spreadsheet application now has basic support for undo. Testing of
this feature is limited, and may not work as intended yet.

Spreadsheet: Add callback when a cell's value is changed

In addition to the callback being added, this commit also exposes the
SheetModel class via a getter in SpreadSheetView.

Spreadsheet: Remove debug statements and use cell change callback

This commit uses the on_cell_data_change callback from within the
SheetModel class. This allows for us to push/pop changes to the undo
stack.

With this, we have basic Undo/Redo functionality :-)

Spreadsheet: Actually add window::set_modified

Spreadsheet: Const-correctness :-)

Spreadsheet: Reorder the edit menu actions
2022-02-21 16:04:48 +03:30
u9g
d00781de36 Spreadsheet: Replace range function with R function
As discussed on discord, the R function is much more user friendly
and shorter to write.
2022-02-21 16:02:04 +03:30
u9g
78804eda85 Spreadsheet: Make R function syntax more simple 2022-02-21 16:02:04 +03:30
Sviatoslav Peleshko
073f472c51 Kernel: Init receive buffer for dynamically created VirtIO console port
We already init receive buffer if we have singleport console, but if
we have multiport console that dynamically allocates ports we never
initted their receive buffers.
2022-02-20 20:32:22 -08:00
Sviatoslav Peleshko
9399698aaa Meta: Add "vdagent" character device for both qemu-vdagent and spicevmc
Previously we added it only if spice was available, but it's possible to
build qemu with --disable-spice --enable-spice-protocol, which provides
qemu-vdagent but no spicevmc. In such case we still configured
qemu-vdagent to use "vdagent" device, but never actually defined it, so
the qemu-vdagent was never working.
2022-02-20 20:32:22 -08:00
Idan Horowitz
7ae2debf6e LibJS: Re-implement String.localeCompare using the StringCompare AO
This follows the ECMA402 spec and means String.prototype.localeCompare
will automatically become actually locale aware once StringCompare is
actually implemented based on UTS #10.
2022-02-20 22:05:59 -05:00
Idan Horowitz
6558f4ae6b LibJS: Implement get Intl.Collator.prototype.compare 2022-02-20 22:05:59 -05:00
Idan Horowitz
0bdb293262 LibJS: Add an initial implementation of Collator Compare Functions
This commit adds an initial implementation (without any real locale
support) of Collator Compare Functions, as well as the matching
CompareStrings AO. These two are used to implement the ECMA402 version
of String.localeCompare() and Int.Collator.compare().
2022-02-20 22:05:59 -05:00
Linus Groh
7feeb2df0d LibJS: Capture values as handles in Promise.prototype.finally callbacks 2022-02-20 23:21:40 +00:00
Linus Groh
47cdd90836 LibJS: Use new NativeFunction::create() in most places
Resolves one FIXME where we can now pass a realm, and sets the length
correctly in a bunch of places that previously didn't.
Also reduces the number of "format function name string from arbitrary
PropertyKey" implementations, although two more remain present in the
AST (used with ECMAScriptFunctionObjects, which is a different beast).
2022-02-20 23:21:40 +00:00
Linus Groh
e4f165d460 LibJS: Add NativeFunction::create() overload for CreateBuiltinFunction
Also take a length argument and set the name and length properties
internally, instead of at the call site. Additionally, allow passing a
realm, prototype, and prefix.
2022-02-20 23:21:40 +00:00
Linus Groh
e657e88ed6 LibJS: Add [[InitialName]] and use it in Function.prototype.toString() 2022-02-20 23:21:40 +00:00
Daniel Bertalan
0be67ef12c Ports: Use the objcopy built as part of the toolchain
Relying on host tools working correctly is not a good idea, as they may
be outdated (and therefore not support features like RELR relocations)
or may not exist at all (like objcopy on macOS).
2022-02-20 23:07:31 +00:00
u9g
b3591d28df Spreadsheet: Prevent infinite loop in Range ctor 2022-02-21 00:11:00 +03:30
kleines Filmröllchen
54b4eb6bd1 Base: Add a quote to the fortunes database 2022-02-20 20:15:13 +00:00
u9g
0d50ac1657 Spreadsheet: Remove Debug Statement 2022-02-20 20:05:31 +00:00
Liav A
53b65ddc41 Kernel: Make i8042 existence check more robust against faulty hardware
Some hardware controllers might reset when trying to do self-test, so
keep the configuration byte to restore it later on.
To ensure we are not missing the response from the i8042 controller,
bump the attempts count to 20 times after initiating self-test check.

Also, try to drain the i8042 controller output buffer as it might be a
early good indication on whether i8042 is present or not.
To ensure we drain all the output buffer, we attempt to read from the
buffer 50 times and not 20 times.
2022-02-20 19:48:46 +00:00
Andrew Kaster
b92df530d3 LibAudio: Simplify empty Audio::Buffer state to be truly empty
The old FIXME asserting that Core::AnonymousBuffer cannot be invalid
or zero-sized is no longer accurate. Add a default constructor for
Audio::Buffer that has all invalid state instead of going to the OS to
allocate a 1 sample buffer for the "no more samples" states in the WAV
and FLAC plugins.
2022-02-20 19:04:59 +00:00
Andrew Kaster
fb179bc289 Fuzzers: Avoid unnecessary ByteBuffer copies in FuzzWAVLoader
Avoid trying to memcpy from 0-byte sources as well, by bailing early on
nullptr data inputs.
2022-02-20 19:04:59 +00:00
Andrew Kaster
0c95d9962c Lagom: Add two-stage build for Fuzzers to enable fuzzing generated code
This allows us to fuzz the generated unicode and timezone database
helpers, and to fuzz things like LibJS using Fuzzilli to get proper
coverage of our unicode handling code.

Update the Azure CI to use the new two-stage build as well, and cleanup
some unused CMake options there.
2022-02-20 19:04:59 +00:00
Linus Groh
bfa4bc6f2d LibJS: Remove unused FunctionNode::set_name() 2022-02-20 15:40:41 +00:00
Linus Groh
93372e0a0d LibJS: Remove unused BoundFunction.h include from FunctionObject.cpp 2022-02-20 15:40:40 +00:00
Jaime Valenzuela Durán
f6000a26a8 Base: Add Gruvbox Dark theme
Add Gruvbox Dark theme matching the terminal one
2022-02-20 15:45:17 +01:00
Liav A
6a998c1a8b HexEditor: Add support for handling PageUp and PageDown key events
In such case, move the cursor up or down the amount of bytes per row,
multiplied by the visible content rectangle height, if possible.
2022-02-20 15:44:36 +01:00
Liav A
c8e691f917 HexEditor: Reduce code duplication when handling key down events
Instead of having the same update block for each event we can use lambda
functions to help updating the cursor when handling key down events.
2022-02-20 15:44:36 +01:00
Karol Kosek
410254dbe2 Spreadsheet: Use the system-wide unsaved changes dialog 2022-02-20 08:40:26 -05:00
Karol Kosek
42d19977b3 HexEditor: Use the system-wide unsaved changes dialog 2022-02-20 08:40:26 -05:00
Karol Kosek
cb332bdd2a Playground: Show last saved time when asked about unsaved changes 2022-02-20 08:40:26 -05:00
Daniel Bertalan
92449e2f1c Ports: Update libjpeg to 9e 2022-02-20 12:42:13 +00:00