Commit graph

279 commits

Author SHA1 Message Date
MacDue 1d91a56242 Base: Use stop-opacity in SVG gradients example 2023-05-20 08:52:19 +02:00
Timothy Flynn 2b269cf425 Base: Add a test page to load a video element with <source> children
This verifies we cycle through the source children until we land on one
with a video we can play.
2023-05-13 15:51:44 +02:00
Andreas Kling 15211cd753 Userland: Show "Ladybird" instead of "Browser" in titles, menus, etc
While the binary is still called "Browser" for now, let's make it clear
that we're converging on a single name for this application.
2023-05-09 06:12:09 +02:00
MacDue 390ade3cf4 Base: Add some SVG <radialGradient> examples 2023-05-04 16:50:01 +02:00
MacDue 77a5f40736 Base: Fix incorrectly closed tag in welcome.html 2023-04-29 05:42:57 +02:00
MacDue 8ff6239d4f Base: Add SVG gradients test page 2023-04-28 09:42:28 +02:00
Jelle Raaijmakers 6601ff9d65 LibSQL: Redesign heap storage to support arbitrary amounts of data
Previously, `Heap` would store serialized data in blocks of 1024 bytes
regardless of the actual length. Data longer than 1024 bytes was
silently truncated causing database corruption.

This changes the heap storage to prefix every block with two new fields:
the total data size in bytes, and the next block to retrieve if the data
is longer than what can be stored inside a single block. By chaining
blocks together, we can store arbitrary amounts of data without needing
to change anything of the logic in the rest of LibSQL.

As part of these changes, the "free list" is also removed from the heap
awaiting an actual implementation: it was never used.

Note that this bumps the database version from 3 to 4, and as such
invalidates (deletes) any database opened with LibSQL that is not
version 4.
2023-04-23 18:08:17 -04:00
Timothy Flynn 59a1a3f463 Base: Add options to the video test page to change its attributes
This is to allow testing autoplay, poster images, etc. without having to
stash local changes to the page. This also changes the URLs used on the
page to be relative to the page itself, to allow the page to load both
on Serenity and Lagom.
2023-04-21 07:54:36 +02:00
Timothy Flynn 229cc67fee LibWeb: Implement HTMLMediaElement's autoplay attribute 2023-04-18 16:30:02 +02:00
MacDue 71ed1e3e50 Base: Add SVG preserveAspectRatio demo page 2023-04-17 07:32:31 +02:00
Srikavin Ramkumar 04198a29a8 Base: Fix typo in cursor test page 2023-04-14 09:57:49 +02:00
Sam Atkins d0f80b40b2 LibWeb: Reimplement CalculatedStyleValue as a calculation node tree
VALUES-4 defines the internal representation of `calc()` as a tree of
calculation nodes. ( https://www.w3.org/TR/css-values-4/#calc-internal )

VALUES-3 lacked any definition here, so we had our own ad-hoc
implementation based around the spec grammar. This commit replaces that
with CalculationNodes representing each possible node in the tree.

There are no intended functional changes, though we do now support
nested calc() which previously did not work. For example:
    `width: calc( 42 * calc(3 + 7) );`

I have added an example of this to our test page.

A couple of the layout tests that used `calc()` now return values that
are 0.5px different from before. There's no visual difference, so I
have updated the tests to use the new results.
2023-04-13 09:53:47 +02:00
MacDue 8aecd8c7ac Base: Add SVG transform test page 2023-04-12 07:40:22 +02:00
Timothy Flynn f109bb36a2 Base: Add the ended attribute to the video test page 2023-04-11 19:27:55 +02:00
Timothy Flynn 59848086ba Base: Add the current playback position to the video test page 2023-04-11 19:27:55 +02:00
MacDue 67aceb6c67 Base: Add canvas clip path test page 2023-04-09 18:42:45 +02:00
Timothy Flynn 90e1d4f545 Base: Add playback state data to the video test page 2023-04-08 22:04:14 +02:00
Timothy Flynn 60100c1389 Base: Add a simple test page to load a video and display some metadata 2023-04-07 16:02:22 +02:00
Kenneth Myhra c9ee1ad5ae LibWeb: Add multipart/form-data demo to formdata.html 2023-04-05 09:43:52 +01:00
MacDue 0abd469d24 Base: Add background-position-x/y test page 2023-04-03 07:10:33 +02:00
MacDue d38392d416 Base: Use radio button groups on accent-color demo page 2023-03-26 15:09:57 +02:00
MacDue bcfe275563 Base: Add two more radio buttons to HTML input test page
You can't really test radio buttons with just one button.
2023-03-26 15:09:57 +02:00
MacDue 5ba7449342 Base: Add radio buttons to the accent-color demo page 2023-03-24 09:57:48 +00:00
MacDue 4b3c38e111 Base: Add accent-color demo page
Currently this just has checkboxes, though I intend to add support
for more things later :^)
2023-03-23 08:27:51 +00:00
Tom 52e45fb6fa LibWeb+Base: Fix row-height bug in Grid when there is a column gap
This fixes a bug in the CSS Grid when there is a column and/or row gap,
as previously it would take the index of the incorrect column when
finding the `AvailableSize`.

There is a mild complication in the GridFormattingContext as the
OccupationGrid does not take into account the gap columns and rows that
later appear in the `Vector<TemporaryTrack>` columns and rows. The
PositionedBoxes are kind of a connection between the two, and so it's
now more explicit whether you would like to refer to a column by its
position taking into the gap columns/rows or not.
2023-03-10 18:20:27 +01:00
Kenneth Myhra beba05471c Base: Use string interpolation for all log outputs in formdata.html 2023-03-08 18:57:36 +00:00
Kenneth Myhra e5a396ce28 Base: Show of iterating over FormData.{keys(),values(),entries()} 2023-03-08 18:57:36 +00:00
Kenneth Myhra 2f20f16292 Base: Add a test using FormData and FormDataEvent 2023-02-12 00:18:09 +00:00
MacDue bcc4e5ee0b Base: Add a test page for canvas patterns 2023-02-03 20:36:21 +01:00
MacDue 8272cfc9f3 Base: Add a radial gradient with transparent end stops canvas demo 2023-01-23 10:03:54 +00:00
MacDue 9b35e3d95b Base: Add test page for canvas gradients 2023-01-22 18:15:52 +01:00
martinfalisse 173cc5e6e0 Base: Add tests for grid-template-areas and min/max-content 2023-01-21 14:35:00 +01:00
Liav A 71f275b5ad Tests/LibGfx: Add tests for compressed TGA images 2023-01-15 12:43:03 +01:00
Liav A 6bf2460231 Tests/LibGfx: Add tests for top-left and bottom-left TGA images 2023-01-15 12:43:03 +01:00
Sam Atkins 33b6ac0306 Base: Add some unlisted test pages to welcome.html 2023-01-05 18:54:33 +00:00
martinfalisse ba5e0607fd Base: Add test page for table 2023-01-03 20:02:47 +01:00
Aliaksandr Kalenik 8259ff12bd LibWeb: Margin bottom collapsing between parent and last child 2022-12-30 14:21:19 +01:00
Aliaksandr Kalenik 7088a87f49 LibWeb: Margin top collapsing between parent and first child
Implement collapsing of a box margin-top and first in-flow
child margin-top by saving function that updates y position
of containing block inside BlockMarginState and then for
every child until "non-collapsed through" child is reached
y position of containing block is updated by calling
update_box_waiting_fox_final_y_position_callback.
2022-12-30 14:21:19 +01:00
Tom bb062e50b0 LibWeb: Don't expand grid for {row,column} spans
Fixes a bug where when you had spans that that were bigger than the
grid, would create enough tracks to accomodate them. When a fixed
position is given, there should be at a minimum a row/column available
for the track. The span will be truncated if there is no space for it
later.
2022-12-28 15:04:58 +01:00
Tom 9d5049230c LibWeb: Clamp {row,column} spans if outside of grid
A bug was found where grid items were being drawn outside of the grid if
the item had a large span and the grid was defined as having gaps
between the rows/columns.

This was caused by an erroneous calculation of the
{row,column}_{start,span} properties.
2022-12-26 16:02:48 +01:00
MacDue cdf6e568f6 Base: Add some repeating-radial-gradient() HTML examples 2022-12-03 09:06:51 -05:00
Timothy Flynn 4a30446999 LibWeb: Support displaying HTMLInputElement placeholder values
This adds support for parsing the ::placeholder pseudo-element and
injecting an anonymous layout node with that element when the input
element's data is empty.
2022-12-01 11:18:11 -05:00
MacDue cdbb2cc917 Base: Add some radial-gradient() HTML examples 2022-11-30 14:24:04 +00:00
martinfalisse f351418a1e LibWeb: Include tests for grid track spans
Include tests for grid track spans when given for automatically-placed
grid tracks in the grid-*-end properties.
2022-11-29 19:27:31 +01:00
martinfalisse 0c577b4b3b Base: Add test for multiple line names in CSS Grid 2022-11-21 21:48:25 +00:00
Timothy Flynn 894bddf62c Base: Add a simple test page for window.prompt
The window prototypes alert, confirm, and prompt must "pause" execution
until a response is received from the user. This test page is meant to
ensure that a timeout queued before a prompt is not executed until after
that prompt is closed.
2022-11-16 17:23:56 +00:00
martinfalisse 70559e9d14 Base: Add test for grid-gap and auto-fit 2022-11-16 00:53:00 +01:00
MacDue d5cf403f70 Base: Add some repeating-conic-gradient() test cases 2022-11-07 13:13:22 +00:00
martinfalisse 0586730a92 Base: Add tests for grid gap 2022-11-07 10:06:07 +01:00
martinfalisse 13ac078202 Base: Add test for sizing children of grid 2022-11-06 13:23:33 +01:00