Commit graph

44186 commits

Author SHA1 Message Date
Linus Groh
b2034c59dc LibJS: Convert Intl::Locale::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
81d5bbcb04 LibJS: Convert Intl::DateTimeFormatFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
46acce5142 LibJS: Convert Intl::CollatorCompareFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
83de01043f LibJS: Convert GeneratorObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
d21ac9d820 LibJS: Convert Error::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
73efdb1cc4 LibJS: Convert ECMAScriptFunctionObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
790b21c8b5 LibJS: Convert Date::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
0eeb3164fa LibJS: Convert DataView::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
efbd8ee072 LibJS: Convert BoundFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
b48fa8756f LibJS: Convert BooleanObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
cf0a24ff0c LibJS: Convert BigIntObject::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
6528cbf51b LibJS: Convert AsyncFromSyncIterator::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
4763cab323 LibJS: Convert ArrayIterator::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
947ea92bf6 LibJS: Convert ArrayBuffer::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
91b0123eaf LibJS: Convert Array::create{,_from}() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
0c50751c13 LibJS: Convert AggregateError::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Linus Groh
2b92c15b34 LibJS: Convert Accessor::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
Timothy Flynn
0ec433edce LibJS: Explictly assert that a null GCPtr is not dereferenced 2022-12-14 09:59:35 +00:00
Xexxa
8379b87d4e Base: Adjust size of emoji flags
🏴󠁵󠁡󠀰󠀵󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0030 U+E0035 U+E007F
UA-05 Vinnychchyna
🏴󠁵󠁡󠀰󠀷󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0030 U+E0037 U+E007F
UA-07 Volyn
🏴󠁵󠁡󠀰󠀹󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0030 U+E0039 U+E007F
UA-09 Luhanshchyna
🏴󠁵󠁡󠀱󠀲󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0031 U+E0032 U+E007F
UA-12 Dnipropetrovshchyna
🏴󠁵󠁡󠀱󠀴󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0031 U+E0034 U+E007F
UA-14 Donechchyna
🏴󠁵󠁡󠀱󠀸󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0031 U+E0038 U+E007F
UA-18 Zhytomyrshchyna
🏴󠁵󠁡󠀲󠀱󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0032 U+E0031 U+E007F
UA-21 Zakarpattia
🏴󠁵󠁡󠀲󠀳󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0032 U+E0033 U+E007F
UA-23 Zaporizhzhya
🏴󠁵󠁡󠀲󠀶󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0032 U+E0036 U+E007F
UA-26 Prykarpattia
🏴󠁵󠁡󠀳󠀰󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0033 U+E0030 U+E007F
UA-30 Kiev
🏴󠁵󠁡󠀳󠀲󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0033 U+E0032 U+E007F
UA-32 Kyivshchyna
🏴󠁵󠁡󠀳󠀵󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0033 U+E0035 U+E007F
UA-35 Kirovohradschyna
🏴󠁵󠁡󠀴󠀰󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0034 U+E0030 U+E007F
UA-40 Sevastopol
🏴󠁵󠁡󠀴󠀳󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0034 U+E0033 U+E007F
UA-43 Crimea
🏴󠁵󠁡󠀴󠀶󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0034 U+E0036 U+E007F
UA-46 Lvivshchyna
🏴󠁵󠁡󠀴󠀸󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0034 U+E0038 U+E007F
UA-48 Mykolayivschyna
🏴󠁵󠁡󠀵󠀱󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0035 U+E0031 U+E007F
UA-51 Odeshchyna
🏴󠁵󠁡󠀵󠀳󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0035 U+E0033 U+E007F
UA-53 Poltavshchyna
🏴󠁵󠁡󠀵󠀶󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0035 U+E0036 U+E007F
UA-56 Rivnenshchyna
🏴󠁵󠁡󠀵󠀹󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0035 U+E0039 U+E007F
UA-59 Sumshchyna
🏴󠁵󠁡󠀶󠀱󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0036 U+E0031 U+E007F
UA-61 Ternopilshchyna
🏴󠁵󠁡󠀶󠀳󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0036 U+E0033 U+E007F
UA-63 Kharkivshchyna
🏴󠁵󠁡󠀶󠀵󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0036 U+E0035 U+E007F
UA-65 Khersonshchyna
🏴󠁵󠁡󠀶󠀸󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0036 U+E0038 U+E007F
UA-68 Khmelnychchyna
🏴󠁵󠁡󠀷󠀱󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0037 U+E0031 U+E007F
UA-71 Cherkashchyna
🏴󠁵󠁡󠀷󠀴󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0037 U+E0034 U+E007F
UA-74 Chernihivshchyna
🏴󠁵󠁡󠀷󠀷󠁿 - U+1F3F4 U+E0075 U+E0061 U+E0037 U+E0037 U+E007F
UA-77 Chernivtsi Oblast
2022-12-14 09:59:19 +00:00
Filiph Siitam Sandström
f050534991 Lagom: Don't compile with -fPIC on WIN32 2022-12-13 21:53:29 +00:00
Luke Wilde
ce39c907fd LibJS: Support MM/DD/YYYY HH:MM <timezone-offset> format for Date
Required by Discord to determine if it should show Christmas themed
loading tips on the loading screen.
Fixes #16473.
2022-12-13 21:42:28 +00:00
Timothy Flynn
bb6a84cc85 LibTimeZone: Update to TZDB version 2022g
https://mm.icann.org/pipermail/tz-announce/2022-November/000076.html
2022-12-13 16:04:32 -05:00
Drew DeVault
c7f8d74c1c LibCore: Fix struct msghdr initialization
The previous approach could leave behind uninitialized fields on
platforms which have additional fields in this structure (e.g. padding
fields on musl libc).
2022-12-13 10:12:59 -08:00
kleines Filmröllchen
a06b277471 LibIPC: Support sending Variants over IPC
The format is quite simply the type index followed by the type in its
own native encoding; just implementing the receive side with static
typing is a bit convoluted. The only limitation of this implementation
is that the variant type has to contain an Empty somewhere as it is not
default constructible otherwise.

Co-authored-by: Ali Mohammad Pur <mpfard@serenityos.org>
2022-12-13 10:24:59 -05:00
kleines Filmröllchen
5b4818df22 AK: Make Variant's index type public
This will allow the IPC system to use the exact required index type,
saving transmission space, once it can send variants.
2022-12-13 10:24:59 -05:00
Andrew Kaster
232b40fefc Ports: Update CMake port to 3.25.1 2022-12-13 11:36:14 +01:00
Andrew Kaster
d9e76254a8 CMake: Bump cmake_minimum_required to 3.25
The SerenityOS platform files we upstreamed were first released in
version 3.25.0
2022-12-13 11:36:14 +01:00
Andrew Kaster
d2f78a9411 Toolchain: Remove upstreamed CMake platform files :^) 2022-12-13 11:36:14 +01:00
Andrew Kaster
e28bc77778 Ports: Find cmake in Toolchain/Local/cmake if built
If a developer built cmake (or we built it for them) from source, make
sure that port builds can find that version of CMake that has the
SerenityOS platform files included.
2022-12-13 11:36:14 +01:00
Andrew Kaster
3ca661314f Meta: Build CMake from source if version is too old in serenity.sh 2022-12-13 11:36:14 +01:00
Andrew Kaster
e4a59f664b Toolchain+Meta: Add script to build CMake from source
Since we upstreamed CMake support for Serenity, we can use the Platform
files from upstream instead of keeping our local copy. While not added
in this commit, we can add patching capabilities for the platform files
similar to what we do for gdb, llvm, gcc, and binutils later.
2022-12-13 11:36:14 +01:00
Cody Hein
8855334fcc PixelPaint: Use source alpha for CloneTool drawing
Prior to this change when using CloneTool on a transparent background
the output was a solid black brush stroke. Now it is based on the
source content alpha as well as it's color blended with the target.
2022-12-13 11:35:25 +01:00
Tim Schumacher
ceb118e1fa Base: Reenable the disabled LibCore::Stream tests 2022-12-13 11:34:38 +01:00
Daniel Bertalan
24d2c90a28 BindingsGenerator+CMake: Keep track of IDL dependencies
This commit teaches BindingsGenerator to generate depfiles, which can be
used by CMake to ensure that bindings are properly regenerated when
imported IDL files change.

Two new options, `--depfile` and `--depfile-target` are added.
- `--depfile` sets the path for the dependency file.
- `--depfile-target` lets us set a target name different than the output
  file in the depfile. This option is needed because generated files are
  first written to a temporary file, but depfiles have to refer to the
  final location.
These are analogous to GCC's `-MF` and `-MT` options respectively. The
depfile's syntax matches the ones generated by GCC.

Note: This changes the minimal required CMake version to 3.20 if the
Make generator is used, and to 3.21 for the Xcode generator. Ninja is
not affected.
2022-12-13 11:31:24 +01:00
Daniel Bertalan
8d1ad592a1 BindingsGenerator: Write generated code to disk instead of stdout
This commit adds the `-o` option for specifying an output path to
BindingsGenerator.
2022-12-13 11:31:24 +01:00
Andreas Kling
30d3f2789e Kernel: Propagate errors during network adapter detection/initialization
When scanning for network adapters, we give each driver a chance to
claim the PCI device and whoever claims it first gets to keep it.
Before this patch, the driver API returned a LockRefPtr<AdapterType>,
which made it impossible to propagate errors that occurred during
detection and/or initialization.

This patch changes the API so that errors can bubble all the way out
the PCI enumeration in NetworkingManagement::initialize() where we
perform all the network adapter auto-detection on boot.

When we eventually start to support hot-plugging network adapter in the
future, it will be even more important to propagate errors instead of
swallowing them.

Importantly, before this patch, some errors were "handled" by panicking
the kernel. This is no longer the case.

7 FIXMEs were killed in the making of this commit. :^)
2022-12-13 11:20:11 +01:00
EWouters
9a849c10ae Ports/git: Update git to version 2.39.0 2022-12-13 11:20:03 +01:00
Ali Mohammad Pur
ad120606fd AK: Fix build with !USING_AK_GLOBALLY
A couple headers expected names to be in the global namespace, qualify
those names to make sure they're resolved even when the names are not
exported.
One header placed its functions in the global namespace, move those to
the AK namespace to make the concepts resolve.
2022-12-13 08:09:56 +03:30
Jan200101
483c18437b Meta: Detect ccache being passed as the compiler
This prevents ccache from being invoking itself.
Icecc fails to ran this way because of recursion detection.
2022-12-12 21:34:09 -07:00
Jan200101
10d40af167 Meta: Separate ccache setup into its own component 2022-12-12 21:34:09 -07:00
Tim Schumacher
0bd9a94bea LibHTTP: Don't read and drop data if status line can't be read
The idea of reading some amount of data presumably was to check if the
stream is still operable. However, this permanently breaks the request
format, as those 64 bytes are just lost forever.

Instead, just let the request fail instantly for now and think about
making it retry some time in the future. Since `can_read_line` updates
the read buffer beforehand, this should only happen in the rarest of
cases anyways.
2022-12-12 20:59:03 -07:00
Linus Groh
3b64610834 LibJS: Add spec comments to AggregateErrorConstructor 2022-12-12 21:26:12 +00:00
Linus Groh
172738222c LibJS: Update get_substitution() section number & parameter name 2022-12-12 21:26:12 +00:00
Linus Groh
19ea0d8dcf LibJS: Add spec comments to get_this_environment() 2022-12-12 21:26:12 +00:00
Linus Groh
c6638f53c0 LibJS: Add spec comments to new_object_environment() 2022-12-12 21:26:12 +00:00
Linus Groh
1cd46af7b0 LibJS: Add spec comments to new_declarative_environment() 2022-12-12 21:26:12 +00:00
Linus Groh
d51ab20aaa LibJS: Add spec comment to length_of_array_like() 2022-12-12 21:26:12 +00:00
Linus Groh
e4b388ea5a LibJS: Use modulo() for modulo operations in Value.cpp 2022-12-12 21:26:12 +00:00
Cody Hein
074ba104c8 PixelPaint: Single-clicking the BrushTool now adds to undo_stack
Simple change, prior to this BrushTool and EraseTool would not
have update the undo_stack for the ImageEditor unless you were
clicking and dragging.
2022-12-12 17:34:35 +00:00
Oleg Kosenkov
28bb3367cb Games: Add ColorLines 2022-12-12 17:30:04 +00:00