1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 07:58:11 +00:00
Commit graph

15587 commits

Author SHA1 Message Date
Timothy Flynn
1400a85fae LibJS: Remove unused CodeGenerationError::to_deprecated_string 2023-02-17 09:14:23 -05:00
Timothy Flynn
88814acbd3 LibJS+Everywhere: Convert JS::Error to String
This includes an Error::create overload to create an Error from a UTF-8
StringView. If creating a String from that view fails, the factory will
return an OOM InternalError instead. VM::throw_completion can also make
use of this overload via its perfect forwarding.
2023-02-17 09:14:23 -05:00
Timothy Flynn
153b793638 LibJS: Add a throwable StringBuilder::join method 2023-02-17 09:14:23 -05:00
Timothy Flynn
4d10911f96 LibJS: Pre-allocate the out-of-memory error string on the VM
If we are out of memory, we can't try to allocate a string that could
fail as well. When Error is converted to String, this would result in an
endless OOM-throwing loop. Instead, pre-allocate the string on the VM,
and use it to construct the Error.

Note that as of this commit, the OOM string is still a DeprecatedString.
This is just preporatory for Error's conversion to String.
2023-02-17 09:14:23 -05:00
Timothy Flynn
93ad25fbe5 LibJS: Add to_string definitions to CodeGenerationError and ParserError 2023-02-17 09:14:23 -05:00
Fausto Tommasi
f7458b3e17 LibGUI: Update TextEditor to delete emoji based on gbp cluster
Updated TextDocument and TextEditor to use calls to
`find_grapheme_segmentation_boundary` in order to make "correct-feeling"
deletions on backspace and delete keys being pressed
2023-02-17 07:50:09 -05:00
Lucas CHOLLET
782b1d20f5 LibGfx: Remove Bitmap::load_from_fd_and_close()
The method was only used in `load_from_file(StringView path)` and
replacing it with `load_from_file(NonnullOwnPtr<Core::File>)` is very
straightforward.
2023-02-17 10:36:03 +01:00
Ali Mohammad Pur
b409a40377 LibJS: Actually escape \n|\r|LS|PS when escaping RegExp.source
We were previously encoding them as `\<literal newline>`, which is just
all sorts of wrong :P
2023-02-16 23:32:35 +01:00
Ali Mohammad Pur
bcfbe0fbf7 LibJS: Manually loop over escaped regex pattern instead of ::replace()
This makes it ever-so-slightly faster, but more importantly, it fixes
the bug where a `/\//` regex's `source` property would return `\\/`
("\\\\/") instead of `\/` due to the existing '/' -> '\/' replace()
call.
2023-02-16 21:03:19 +01:00
Ali Mohammad Pur
a8bcb901c0 LibJS: Escape printed strings making them proper string literals
Previously we just printed '"' string-contents '"', which was not a
proper string literal.
2023-02-16 21:03:19 +01:00
Lucas CHOLLET
e8249d735d LibFileSystemAccessClient: Remove the deprecated API
Concerned functions are:
 - try_request_file_read_only_approved_deprecated
 - try_request_file_deprecated
 - try_open_file_deprecated
 - try_save_file_deprecated

It also allows some simplifications in the implementation of the client.
2023-02-16 20:11:52 +01:00
Timothy Flynn
ba40ef1f3a LibJS: Remove Value::to_deprecated_string_without_side_effects 2023-02-16 14:32:22 +01:00
Timothy Flynn
527edb55ad LibWeb: Convert usages of Value::TDSWOSE to Value::TSWOSE 2023-02-16 14:32:22 +01:00
Timothy Flynn
24e9cea524 LibJS: Convert remaining usages of Value::TDSWOSE to Value::TSWOSE
Note the couple of cases using MUST are just debugging statements.
2023-02-16 14:32:22 +01:00
Timothy Flynn
c17589a402 LibJS: Change Print's print_type helper to accept a StringView
There's no benefit to accepting a fly string, and this will soon be
needed to be used with String.
2023-02-16 14:32:22 +01:00
Timothy Flynn
bb64b49749 LibJS: Remove unused Reference::to_deprecated_string 2023-02-16 14:32:22 +01:00
Timothy Flynn
36d72a7f4c LibJS: Convert CanonicalNumericIndexString to use NumberToString 2023-02-16 14:32:22 +01:00
Timothy Flynn
9a5a4302d9 LibJS: Convert PropertyDescriptor's formatter to String
And generally propagate OOM.
2023-02-16 14:32:22 +01:00
Timothy Flynn
a73b8292ed LbJS: Convert exception-related usages of Value::TDSWOSE to String
TDSWOSE being to_deprecated_string_without_side_effects.
2023-02-16 14:32:22 +01:00
Timothy Flynn
3ffb6d9b5a LibJS: Define Value::to_string_without_side_effects for String 2023-02-16 14:32:22 +01:00
Timothy Flynn
dc4207323b LibJS: Remove the VM parameter from the NumberToString AO
This will be needed by Value::to_string_without_side_effects, which can
be called in contexts without a VM (e.g. in AK::Format specializations).
So to_string_without_side_effects will need to be callable without a VM,
thus NumberToString must be as well.
2023-02-16 14:32:22 +01:00
Timothy Flynn
7a7a649f5b LibJS: Define BigInt::to_string to complement to_deprecated_string 2023-02-16 14:32:22 +01:00
Timothy Flynn
b245300ba1 LibJS+Everywhere: Deprecate Value::to_string_without_side_effects 2023-02-16 14:32:22 +01:00
Lucas CHOLLET
b13695c9f4 LibGfx: Add a stream compatible overload of Bitmap::load_from_file() 2023-02-16 10:56:01 +00:00
Lucas CHOLLET
5b6e93f96a LibCore: Add MappedFile::map_from_file()
This method relies on `map_from_fd_and_close()` but takes a `File`
instead of a fd.
2023-02-16 10:56:01 +00:00
Lucas CHOLLET
3a95c8111d LibCore: Allow MappedFile to make File leak its fd 2023-02-16 10:56:01 +00:00
Lucas CHOLLET
0f4a8731fd LibCore: Forward declare MappedFile 2023-02-16 10:56:01 +00:00
Cameron Youell
cb96c892cc LibGUI: Add highlighting to UrlBox 2023-02-16 10:47:22 +00:00
Cameron Youell
dad70d8d6e LibGUI: Account for glyph_spacing() in spans 2023-02-16 10:47:22 +00:00
Timothy Flynn
32a01a60e7 LibUnicode: Remove non-iterative text segmentation algorithms
They are now unused.
2023-02-16 11:18:53 +01:00
Timothy Flynn
6ce7ec2eb3 LibUnicode: Use iterative text segmentation algorithms for titlecasing 2023-02-16 11:18:53 +01:00
Timothy Flynn
7cb956d17b LibJS: Use iterative text segmentation algorithms for Intl.Segmenter
This uses the find-next and find-previous APIs instead of storing all
indices as a vector.
2023-02-16 11:18:53 +01:00
Ben Wiederhake
9a7b3c145f Everywhere: Change all XXX into FIXME or remove as appropriate 2023-02-15 23:33:25 +01:00
Timon Kruiper
00c21c5424 LibELF: Implement _invoke_entry for aarch64 2023-02-15 22:53:19 +01:00
Timon Kruiper
ed3be5b7f5 LibELF+LibC: Add support for aarch64 relocations
This commit adds the used relocation types to elf.h, and handles the
types in DynamicLoader and DynamicObject. No new functionalitty has to
be added, as the same code can be reused between aarch64 and x86_64.
2023-02-15 22:53:19 +01:00
Timon Kruiper
cff6af9f75 LibC: Add general implementation for memcpy and memset 2023-02-15 22:53:19 +01:00
Timon Kruiper
4b0f8e9a20 LibELF+LibC: Add support for relative relocations in aarch64 binaries
This commit adds R_AARCH64_RELATIVE to elf.h and uses it in
ELF::perform_relative_relocations to correctly verify the relocation
type. This is the only change needed to support relative relocations for
aarch64.
2023-02-15 22:53:19 +01:00
Nico Weber
ecc321e099 LibGfx: Move QOIWriter implementation-only things into cpp file
No behavior change.
2023-02-15 20:32:08 +01:00
Sam Atkins
85f3de6331 LibWeb: Port CSS/Serialize.{h,cpp} to new Strings, and propagate errors 2023-02-15 12:48:26 -05:00
Sam Atkins
a0b1eddc56 LibWeb: Port CSS::MediaQuery to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
a381ce9519 LibWeb: Port CSS::Supports to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
fc3540c4b1 LibWeb: Port CSS::UnicodeRange to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
316092d185 LibWeb: Use StringView in CSS::PreferredColorScheme
This doesn't need to hold the string data.
2023-02-15 12:48:26 -05:00
Sam Atkins
dca19b764b LibWeb: Port CSS::Display to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
41c4cc95e4 LibWeb: Port CSS::Parser::Rule to new Strings
`Rule::to_deprecated_string()` and
`DeclarationOrAtRule::to_deprecated_string()` are not used anywhere, so
we can just delete them.
2023-02-15 12:48:26 -05:00
Sam Atkins
bee32b6cd2 LibWeb: Port CSS::Parser::Declaration to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
a168cda4a7 LibWeb: Port CSS::Parser::ComponentValue to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
05c1b09621 LibWeb: Port CSS::Parser::Function to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
86d23c63a4 LibWeb: Port CSS::Parser::Block to new Strings 2023-02-15 12:48:26 -05:00
Sam Atkins
e338ef4914 LibWeb: Port ComputedValues to new Strings 2023-02-15 12:48:26 -05:00