Commit graph

46215 commits

Author SHA1 Message Date
Andreas Kling
a9d55ddf57 Kernel/TmpFS: Update mtime instead of ctime when asked to update mtime 2022-11-24 16:56:27 +01:00
Andreas Kling
10fa72d451 Kernel: Use AK::Time for InodeMetadata timestamps instead of time_t
Before this change, we were truncating the nanosecond part of file
timestamps in many different places.
2022-11-24 16:56:27 +01:00
Andreas Kling
f8290e1ad4 stat: Show nanosecond part of file timestamps 2022-11-24 16:56:27 +01:00
Daniel Bertalan
efaf9f137a LibIPC: Handle ECONNRESET when reading from the IPC socket
Reading from a socket with a dead peer returns the `ECONNRESET` error
code in some cases on Linux. This commit changes LibIPC to gracefully
shut down the socket if that happens, fixing an occasional crash in
Ladybird.

Fixes SerenityOS/ladybird#116
2022-11-24 14:37:13 +01:00
Jelle Raaijmakers
45108438ce Ports: Fix warning when building with useconfigure="false"
When building a port with `useconfigure="false"`, the `do_configure`
function invokes a `buildstep` with multiple positional arguments as the
command to execute.

It then tests whether the positional arguments evaluate to an emtpy
string, but could fail when multiple positional arguments were provided.
This resulted in the following warning when building the Composer port,
for example:

  ../.port_include.sh: line 16: [: echo: binary operator expected

Prevent this warning by testing against the number of positional
arguments, instead.
2022-11-24 12:06:25 +00:00
Jelle Raaijmakers
fef0330ee5 Ports: Clean up PHP's package.sh 2022-11-24 10:52:10 +00:00
Jelle Raaijmakers
aa32207746 Ports: Update PHP to 8.1.12 2022-11-24 10:52:10 +00:00
Jelle Raaijmakers
f89d6a046f Ports: Configure LibCrypt include path for PHP
Since ac40197047 LibCrypt has its own library. PHP tries to detect the
`crypt_data` struct but fails to do so since it cannot find `crypt.h`.
By adding this explicit include path, PHP builds again.
2022-11-24 10:52:10 +00:00
Jelle Raaijmakers
f0a4cc2d80 LibCrypt: Clean up crypt_r
Remove an unused constant, use a C++-style `reinterpret_cast` and employ
an early return to remove excessive indentation. No functional changes.
2022-11-24 10:52:10 +00:00
Xexxa
2f7873d427 Base: Add emoji for current and former Norwegian subdivisions
🏴󠁮󠁯󠀰󠀱󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0031 U+E007F NO-01
Østfold
🏴󠁮󠁯󠀰󠀳󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0033 U+E007F NO-03
Oslo
🏴󠁮󠁯󠀰󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0034 U+E007F NO-04
Hedmark
🏴󠁮󠁯󠀰󠀵󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0035 U+E007F NO-05
Oppland
🏴󠁮󠁯󠀰󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0036 U+E007F NO-06
Buskerud
🏴󠁮󠁯󠀰󠀹󠁿 - U+1F3F4 U+E006E U+E006F U+E0030 U+E0039 U+E007F NO-09
Aust-Agder
🏴󠁮󠁯󠀱󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0030 U+E007F NO-10
Vest-Agder
🏴󠁮󠁯󠀱󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0032 U+E007F NO-12
Hordaland
🏴󠁮󠁯󠀱󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0034 U+E007F NO-14
Fjordane
🏴󠁮󠁯󠀱󠀵󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0035 U+E007F NO-15
Møre og Romsdal
🏴󠁮󠁯󠀱󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0036 U+E007F NO-16
Sør-Trøndelag
🏴󠁮󠁯󠀱󠀷󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0037 U+E007F NO-17
Nord-Trøndelag
🏴󠁮󠁯󠀱󠀸󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0038 U+E007F NO-18
Nordland
🏴󠁮󠁯󠀱󠀹󠁿 - U+1F3F4 U+E006E U+E006F U+E0031 U+E0039 U+E007F NO-19
Troms
🏴󠁮󠁯󠀲󠀱󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0031 U+E007F NO-21
Svalbard
🏴󠁮󠁯󠀲󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0032 U+E007F NO-22
Jan Mayen
🏴󠁮󠁯󠀲󠀳󠁿 - U+1F3F4 U+E006E U+E006F U+E0032 U+E0033 U+E007F NO-23
Trøndelag
🏴󠁮󠁯󠀳󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0033 U+E0030 U+E007F NO-30
Viken
🏴󠁮󠁯󠀳󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0033 U+E0034 U+E007F NO-34
Innlandet
🏴󠁮󠁯󠀴󠀲󠁿 - U+1F3F4 U+E006E U+E006F U+E0034 U+E0032 U+E007F NO-42
Agder
🏴󠁮󠁯󠀴󠀶󠁿 - U+1F3F4 U+E006E U+E006F U+E0034 U+E0036 U+E007F NO-46
Vestland
🏴󠁮󠁯󠀵󠀰󠁿 - U+1F3F4 U+E006E U+E006F U+E0035 U+E0030 U+E007F NO-50
Trøndelag
🏴󠁮󠁯󠀵󠀴󠁿 - U+1F3F4 U+E006E U+E006F U+E0035 U+E0034 U+E007F NO-54
Troms og Finnmark
2022-11-24 10:06:42 +00:00
Timothy Flynn
7edd57dc87 LibWeb+WebDriver: Support running headless WebDriver sessions
This adds an "extension capability" for clients to indicate that a
headless browser should be used for the session.
2022-11-24 00:10:56 +00:00
Timothy Flynn
e840d27d8e headless-browser: Add a mode for being controlled by WebDriver
This adds command line flags for WebDriver to pass its IPC socket path
(if running on Serenity) or its FD passing socket (if running elsewhere)
for the headless-browser to connect to.
2022-11-24 00:10:56 +00:00
Timothy Flynn
0135a2ab5b WebContent: Remove WebContent::ConnectionFromClient from WebDriver 2022-11-24 00:10:56 +00:00
Timothy Flynn
46b2cb308d LibWeb+WebContent: Virtualize methods needed for WebDriver in PageClient
WebDriver currently uses the WebContent::ConnectionFromClient IPC class
directly for these features. To support headless-browser, WebDriver will
instead need to rely on PageClient to provide these.
2022-11-24 00:10:56 +00:00
Timothy Flynn
be80d43161 WebContent: Store a base PageClient in the WebDriverConnection
WebDriverConnection can now work with PageClient's virtual interface.
This will allow constructing a WebDriverConnection from the PageClient
implementation in headless-browser.
2022-11-24 00:10:56 +00:00
Timothy Flynn
d1c6b85dcf WebContent: Set the WebDriver active flag directly on the Page
One less thing for headless-browser to need to implement.
2022-11-24 00:10:56 +00:00
Timothy Flynn
c917a59abe LibWeb+WebContent: Virtualize PageClient methods needed for all clients 2022-11-24 00:10:56 +00:00
Timothy Flynn
1f08cb7020 LibWeb+WebContent: Move pending dialog handling from PageHost to Page
Currently, all handling of pending dialogs occurs in PageHost. In order
to re-use this functionality to run WebDriver in a headless move, move
it to Page.
2022-11-24 00:10:56 +00:00
Aliaksandr Kalenik
7c00619e47 LibWeb: Use calculate_inner_width to compute min and max widths
Use calculate_inner_width that consider box-sizing in compute_width
to resolve min_width and max_width.
2022-11-23 23:11:39 +01:00
Aliaksandr Kalenik
428db6e766 LibWeb: Return max margin box width from greatest_child_width
Return max margin box width instead of max border box width
from greatest_child_width.

This change fixes:
https://wpt.live/css/CSS2/margin-padding-clear/margin-008.xht
2022-11-23 23:11:39 +01:00
Linus Groh
16f2904443 Meta: Add mattco98's full name to mailmap
This will merge the following two git identities so they are considered
the same:

Matthew Olsson <matthewcolsson@gmail.com>
mattco98 <matthewcolsson@gmail.com>
2022-11-23 17:13:49 +00:00
Andreas Kling
a7ce0509f7 LibJS: Add missing <AK/TypeCasts.h> include in $262Object.cpp 2022-11-23 16:05:59 +00:00
Andreas Kling
15c324a70b Userland+Tests: Remove a few more LibJS/{AST.h,Parser.h} includes 2022-11-23 16:05:59 +00:00
Andreas Kling
3503c658fb LibJS+LibWeb: Move JS::ModuleRequest to its own header file
This allows us to not include LibJS/AST.h in a couple more places.
2022-11-23 16:05:59 +00:00
Andreas Kling
38c7fdaac1 LibWeb: Avoid including LibJS/Parser.h in a handful of cpp files 2022-11-23 16:05:59 +00:00
Andreas Kling
6dbca785d1 LibJS: Make AsyncFunctionConstructor.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
3f1ffc2b94 LibJS: Remove unnecessary AST.h include in a handful of cpp files 2022-11-23 16:05:59 +00:00
Andreas Kling
71067cbc6c LibJS+LibWeb: Make Runtime/AbstractOperations.h not include AST.h
This led to considerable fallout and many files had to be patched with
now-missing include statements.
2022-11-23 16:05:59 +00:00
Andreas Kling
b81816a539 LibJS+LibWeb: Make CyclicModule.h not include AST.h
This led to some fallout as many things in LibJS and LibWeb were pulling
in other things via CyclicModule.h
2022-11-23 16:05:59 +00:00
Andreas Kling
d16b808e71 LibJS: Make ECMAScriptFunctionObject.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
835d7aac96 LibJS: Make FunctionNode::Parameter be a standalone FunctionParameter
This will allow us to forward declare it and avoid including AST.h in a
number of places.
2022-11-23 16:05:59 +00:00
Andreas Kling
2a531efc5d LibJS: Make FunctionEnvironment not include ECMAScriptFunctionObject.h 2022-11-23 16:05:59 +00:00
Andreas Kling
97b5f4814e LibJS: Make SourceTextModule.h not include AST.h or Parser.h 2022-11-23 16:05:59 +00:00
Andreas Kling
65e7c58990 LibJS: Make Script.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
8cb6484f6c LibJS: Make Script.h not include Parser.h 2022-11-23 16:05:59 +00:00
Andreas Kling
e6331031c4 LibJS: Make Parser::Error a standalone ParserError class
This allows us to forward declare it and reduce the number of things
that need to include Parser.h.
2022-11-23 16:05:59 +00:00
Andreas Kling
e0916dbb35 LibJS: Move {Import,Export}Entry out of {Import,Export}Statement
By making these be standalone instead of nested structs, we can forward
declare them. This will allow us to stop including AST.h in some places.
2022-11-23 16:05:59 +00:00
Andreas Kling
27e0f56c90 LibJS: Make CyclicModule.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
1a30e77001 LibJS: Make Interpreter.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
ac417f3304 LibJS: Make RegExpObject.h not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
874ce8b4d0 LibJS: Make DeclarativeEnvironment not include AST.h 2022-11-23 16:05:59 +00:00
Andreas Kling
9ff02ad42c LibJS: Make AsyncGenerator not include AsyncGeneratorRequest.h 2022-11-23 16:05:59 +00:00
Andreas Kling
58feae8b60 LibJS: Make CyclicModule.h not include PromiseCapability.h 2022-11-23 16:05:59 +00:00
Andreas Kling
96cbf368bd LibJS: Move JobCallback functions out-of-line
This allows JobCallback.h to not include Runtime/AbstractOperations.h
and FunctionObject.h.
2022-11-23 16:05:59 +00:00
kleines Filmröllchen
20e51025bb Ports/SDL2: Rename LibGUI Window function in accordance with 5d56756 2022-11-23 15:06:15 +01:00
Aliaksandr Kalenik
0ca1af00e7 LibWeb: Try to place out-of-flow blocks only in anonymous blocks
This change makes out-of-flow blocks to be considered for joining
only to anonymous blocks that have inline children. It finally
solved the problem that out-of-flow break anonymous blocks into
chunks causing wrong layout without regressing Acid2.
2022-11-23 15:05:57 +01:00
implicitfield
e277185eb1 LibArchive: Do not assert if the provided stream cannot be discarded
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52498
2022-11-23 11:19:16 +01:00
implicitfield
ee0c9ed87b LibArchive: Simplify error handling 2022-11-23 11:19:16 +01:00
Andreas Kling
0f1f925532 LibJS: Shrink Identifier's environment coordinate cache
This patch does two things:

- We now use u32 instead of size_t for the hops and index fields
  in EnvironmentCoordinate. This means we're limited to an environment
  nesting level and variable count of 4Gs respectively.

- Instead of wrapping it in an Optional, EnvironmentCoordinate now has
  a custom valid/invalid state using a magic marker value.

These two changes reduce the size of Identifier by 16 bytes. :^)
2022-11-22 21:13:35 +01:00
Andreas Kling
76f438eb3e LibJS: Remove unused "lexical argument index" metadata from Identifier
This shrinks Identifier by 16 bytes. :^)
2022-11-22 21:13:35 +01:00