Commit Graph

53817 Commits

Author SHA1 Message Date
Aliaksandr Kalenik
cca779e7f6 LibWeb: Treat grid items with z-index != auto as positioned elements 2023-08-22 11:33:24 +02:00
Aliaksandr Kalenik
95a8dec373 LibWeb: Treat grid item as it creates stacking context during painting
Grid specification https://www.w3.org/TR/css-grid-2/#z-order defines
special painting order for grid items which should be the same as for
defined for inline-blocks in CSS2.
2023-08-22 11:33:24 +02:00
Aliaksandr Kalenik
b4064320bd LibWeb: Add m_is_grid_item in Layout::Node
This information is going to be needed during painting to treat grid
items as stacking contexts.
2023-08-22 11:33:24 +02:00
Tim Ledbetter
08528a8084 Ports/prboom-plus: Update formatting to be consistent with other ports 2023-08-22 09:14:28 +02:00
Tim Ledbetter
8676ffee77 Ports/prboom-plus: Add CMAKE_TOOLCHAIN_FILE to configopts
This fixes an issue where `prboom-plus` wouldn't build if the `make`
port was installed. Including this also makes some manually specified
paths unnecessary.
2023-08-22 09:14:28 +02:00
stelar7
434d95ef55 LibWeb: Add missing promise rejection in execute_async_script 2023-08-21 13:22:04 -06:00
stelar7
b0adf96eff LibWeb: Implement the timeout step of execute_async_script 2023-08-21 13:22:04 -06:00
stelar7
23b378822b LibWeb: Stub out Release Actions
This allows WPT to open the browser, and it no longer instantly crashes
2023-08-21 13:22:04 -06:00
Andi Gallo
3d7e788981 LibWeb: Improve the line breaking algorithm
Check the width of the next token after white space to decide line
breaks. The next width can also be the total width of multiple tokens.
This better follows the CSS Text specification and matches behavior of
other browsers.

Fixes #20388.
2023-08-21 19:31:00 +02:00
Tim Ledbetter
33b133d3f4 Ports/libuuid: Disable natural language support
Having this option enabled made `libuuid` link to `libintl` only when
the `gettext` port was installed. This made the `taskwarrior` port
fail to build when `gettext` was installed prior to `libuuid`.
2023-08-21 17:54:16 +02:00
Tim Ledbetter
da9c389ce3 Ports/libuuid: Update formatting to be consistent with other ports 2023-08-21 17:54:16 +02:00
Fabian Dellwing
8e75c605a1 Ports: Update poppler 2023-08-21 16:52:47 +02:00
Tim Ledbetter
f77f85291a Ports/freedink: Disable sound from launcher
Currently, launching the game with sound effects enabled causes the
game to segfault, so let's disable it until the sound issue is fixed.
2023-08-21 15:30:35 +02:00
Tim Ledbetter
66a3361b39 Ports/freedink: Update formatting to be consistent with other ports 2023-08-21 15:30:35 +02:00
Tim Ledbetter
79c5b96953 Ports/freedink: Add launcher icon 2023-08-21 15:30:35 +02:00
Tim Ledbetter
94de006144 Ports/freedink: Use make install rather than copying files manually
This ensures the required binary files are installed to the correct
location and data files are copied to their default location so the
`--refdir` argument isn't needed when launching the game.
2023-08-21 15:30:35 +02:00
Tim Ledbetter
cecc554102 Ports/freedink: Add required const to char* declarations
This allows FreeDink to be built with GCC 13.
2023-08-21 15:30:35 +02:00
Andreas Kling
0103940cee LibWeb: Resolve viewport-relative <img sizes> values
We still don't know how to resolve font-relative lengths in <img sizes>
since we don't always have font size information available at this stage
in the pipeline, but we can at least handle viewport-relative lengths.

This fixes an issue on many websites where low-resolution images were
loaded (appropriate for a small viewport) even when the viewport is big.
2023-08-21 13:56:18 +02:00
Andreas Kling
ae5313d33c LibWeb: Add Document::viewport_rect()
This is a convenience helper that returns an empty rect if there is no
browsing context (to get the actual rect from).
2023-08-21 13:56:18 +02:00
Sam Atkins
b8e694c0f2 LibWeb: Implement the :dir() selector pseudo-class 2023-08-21 13:51:56 +02:00
Sam Atkins
5b125811f1 LibWeb: Add support for pseudo-class functions that take an ident param
This is prep work for `:dir()`, though other pseudo-classes may well use
it in the future too.
2023-08-21 13:51:56 +02:00
Sam Atkins
9522f761a3 LibWeb: Implement "directionality" of an Element 2023-08-21 13:51:56 +02:00
Sam Atkins
9f83c0f0da LibWeb: Add Element::is_document_element() helper
This is *not* the same as `Node::is_document()`, just to be confusing.
It basically means it's the root element.
2023-08-21 13:51:56 +02:00
Shannon Booth
7690f76f92 LibWeb/Tests: Move unresolvable % width on inline-block to layout test
Removing the last test fomr Base/res/html/tests :^)
2023-08-21 13:51:12 +02:00
Shannon Booth
ed03dd0f99 LibWeb/Tests: Port two DOM cloneNode() test cases to text tests 2023-08-21 13:51:12 +02:00
Shannon Booth
a5fb0b4243 LibWeb/Tests: Port height:auto abspos flex container test to layout test
This test was written before we had layout test functionality.
2023-08-21 13:51:12 +02:00
Shannon Booth
6cee028ecc LibWeb/Tests: Port HTMLCollection [[SameObject]] test to a text test
This test was written before we had the facility to write text tests -
port this test to a text test so that we test against it in CI.
2023-08-21 13:51:12 +02:00
Sönke Holz
e300da4db4 AK: Don't use GCC's __builtin_ffs on riscv64 without Zbb extension
GCC redirects `__builtin_ffs` to `ffs` on RISC-V without the Zbb
extension, causing a linker error.
2023-08-21 13:28:22 +02:00
Sönke Holz
d572ad38ac AK: Add riscv64 support 2023-08-21 13:28:22 +02:00
Ali Mohammad Pur
3c176bafee LibWasm: Implement a few SIMD instructions 2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
5f013e5374 Meta: Generate bigint values for v128 constants in Wasm tests 2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
2462064fcd LibWasm+LibWeb: Parse and validate all Wasm SIMD instructions 2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
b005691497 LibWasm: Disallow out-of-range br_table labels 2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
8668851cb1 LibWasm: Do not allow self-referencial globals
This is written in a somewhat roundabout way in the spec, so the
initial implementation did not implement it correctly.
2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
4f0f1c7c72 AK: Add support for Little/BigEndian<UFixedBigInteger<M>> 2023-08-21 13:39:32 +03:30
Ali Mohammad Pur
94f5389934 AK: Add a 'HostIsLittleEndian' constant and use it instead of BYTE_ORDER
Previously we were using the preprocessor everywhere we needed this
constant, so let's move away from that and use a constexpr constant.
2023-08-21 13:39:32 +03:30
Xexxa
b3a295a5bd Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder-open.png

📂 - U+1F4C2 OPEN FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
de46c59c23 Base: Improve emoji
Change width to 10px, make emoji more consistent with
Base/res/icons/16x16/filetype-folder.png and

📁 - U+1F4C1 FILE FOLDER
2023-08-21 08:27:04 +01:00
Xexxa
7a8ac67d52 Base: Improve emoji
Align emoji to bottom to match other left or right moving vehicles
🚒 - U+1F692 FIRE ENGINE
🚜 - U+1F69C TRACTOR
2023-08-21 08:27:04 +01:00
Xexxa
762a6674c2 Base: Improve emoji
Our emoji was 7px wide earlier. Now when we can use up to 10px some
emoji deserve a little more width.

🥩 - U+1F969 CUT OF MEAT
🧊 - U+1F9CA ICE
2023-08-21 08:27:04 +01:00
Xexxa
77f307f1b1 Base: Improve emoji
Add shadow and remove unnecessary padding

🪓 - U+1FA93 AXE
2023-08-21 08:27:04 +01:00
Xexxa
4153f35c31 Base: Improve emoji
Change bottom padding to match 🚖 U+1F696 and 🚘 U+1F698

🚔 - U+1F694 ONCOMING POLICE CAR
2023-08-21 08:27:04 +01:00
Xexxa
72bb740982 Base: Improve emoji
Make U+1F4A9 look more like a shit...

💩 - U+1F4A9 PILE OF POO
2023-08-21 08:27:04 +01:00
Xexxa
885563ea9c Base: Add emoji
🦾 - U+1F9BE MECHANICAL ARM
🦿 - U+1F9BF MECHANICAL LEG
🧑‍🔧 - U+1F9D1 U+200D U+1F527 MECHANIC
🧑‍🚀 - U+1F9D1 U+200D U+1F680 ASTRONAUT
🚤 - U+1F6A4 SPEEDBOAT
🚠 - U+1F6A0 MOUNTAIN CABLEWAY
🚡 - U+1F6A1 AERIAL TRAMWAY
🪅 - U+1FA85 PIÑATA
🧣 - U+1F9E3 SCARF
2023-08-21 08:27:04 +01:00
Sam Atkins
0d021a63c7 LibUnicode: Generate data for bidirectional character types
This will let us examine code points to determine the rtl/ltr direction
of a piece of text.
2023-08-20 16:21:35 -04:00
Liav A
ef6133337e Kernel: Merge PowerStateSwitchTask reboot and shutdown procedures
The reboot procedure should prepare to "shutdown" the system cleanly and
therefore has to be merged with how shutdown is handled.
2023-08-20 13:04:42 -06:00
Liav A
b81b2c3fe7 Kernel: Ensure only user processes are terminated properly in shutdown
This patch ensures that the shutdown procedure can complete due to the
fact we don't kill kernel processes anymore, and only stop the scheduler
from running after the filesystems unmount procedure.

We also need kernel processes during the shutdown procedure, because we
rely on the WorkQueue threads to run WorkQueue items to complete async
IO requests initiated by filesystem sync & unmounting, etc.

This is also simplifying the code around the killing processes, because
we don't need to worry about edge cases such as the FinalizerTask
anymore.
2023-08-20 13:04:42 -06:00
Liav A
7082a1f0c4 Kernel: Reject all syscalls during the shutdown procedure 2023-08-20 13:04:42 -06:00
Liav A
a43133b3c7 Kernel: Hold a weak reference to a Process object in AsyncDeviceRequest
The process could be long gone by the point the async IO request has
completed so hold a weak reference pointer to the requesting Process and
try get a strong reference only when needed.

This patch is necessary because otherwise async IO requests can hold
Process objects long after they were terminated, which would make it
impossible to perform certain tasks in the system, like killing all user
processes during the shutdown procedure.
2023-08-20 13:04:42 -06:00
Liav A
dbab4d34d7 Kernel/FileSystem: Remove disk cache only after ext2 superblock flush
We first must flush the superblock through the BlockBasedFileSystem
methods properly and only then clear the DiskCache pointer, to prevent a
possible kernel panic due to nullptr dereference.
2023-08-20 13:04:42 -06:00