1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-10 06:47:34 +00:00
Commit graph

113 commits

Author SHA1 Message Date
Timothy Flynn
00510e40d9 LibWeb: Convert the cookie test page to a text test 2024-01-10 23:26:40 +01:00
Sam Atkins
fe7e797483 LibWeb: Implement the CSS outline property :^)
...along with `outline-color`, `outline-style`, and `outline-width`.

This re-uses the existing border-painting code, which seems to work well
enough!

This replaces the previous code for drawing focus-outlines, with generic
outline painting for any elements that want it. Focus outlines are now
instead supported by this code in Default.css:

```css
:focus-visible {
    outline: auto;
}
```
2023-08-03 05:25:48 +02:00
Simon Danner
45f86466bb LibWeb: Add initial implementation of CRC2D.globalAlpha
Works for fills and strokes (using colors, gradients, or patterns),
along with images.

fill_rect() has been updated to use fill_path(), which allows it to
easily transform the rect, and already supports opacity.

Co-authored-by: MacDue <macdue@dueutil.tech>
2023-06-18 20:31:11 +02:00
MacDue
e27081a8ca Base: Add an SVG fill-rule example page 2023-06-11 19:34:24 +02:00
Ben Wiederhake
189af20294 Base: Remove unlicensed copy of BMFW
The creator of this site is most definitely not going to enforce his
copyright, yes, but it's still a bad idea to keep around an unlicensed
copy of someone else's work. We no longer use it to 'test' anything, so
let's just remove it entirely.
2023-06-03 14:29:19 +02:00
Ben Wiederhake
38f107685c Base: Replace GPL bmpsuite by link to original
bmpsuite on GitHub is licensed under the GPLv3:
https://github.com/jsummers/bmpsuite/blob/master/COPYING.txt

However, we did not "conspicuously and appropriately publish on each
copy an appropriate copyright notice", therefore we probably were in
violation with GPLv3 paragraph 4, "Conveying Verbatim Copies".

Let's just remove this entirely, because Ladybird can just access
the original pages instead.

At the time of writing, `bmpsuite.html` and the HTML response from the
linked URL are byte-identical.
2023-06-03 14:29:19 +02:00
Ali Mohammad Pur
e90752cc21 LibWeb: Add preliminary support for CSS animations
This partially implements CSS-Animations-1 (though there are references
to CSS-Animations-2).
Current limitations:
- Multi-selector keyframes are not supported.
- Most animation properties are ignored.
- Timing functions are not applied.
- Non-absolute values are not interpolated unless the target is also of
  the same non-absolute type (e.g. 10% -> 25%, but not 10% -> 20px).
- The JavaScript interface is left as an exercise for the next poor soul
  looking at this code.

With those said, this commit implements:
- Interpolation for most common types
- Proper keyframe resolution (including the synthetic from-keyframe
  containing the initial state)
- Properly driven animations, and proper style invalidation

Co-Authored-By: Andreas Kling <kling@serenityos.org>
2023-05-29 05:35:41 +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
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
MacDue
71ed1e3e50 Base: Add SVG preserveAspectRatio demo page 2023-04-17 07:32:31 +02:00
MacDue
8aecd8c7ac Base: Add SVG transform test page 2023-04-12 07:40:22 +02:00
MacDue
67aceb6c67 Base: Add canvas clip path test page 2023-04-09 18:42:45 +02:00
MacDue
0abd469d24 Base: Add background-position-x/y test page 2023-04-03 07:10:33 +02: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
MacDue
bcc4e5ee0b Base: Add a test page for canvas patterns 2023-02-03 20:36:21 +01:00
MacDue
9b35e3d95b Base: Add test page for canvas gradients 2023-01-22 18:15:52 +01:00
Sam Atkins
33b6ac0306 Base: Add some unlisted test pages to welcome.html 2023-01-05 18:54:33 +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
Pavel
db23e2d546 Base: Add test page for exceptions
Created a simple page where you can check
that the exceptions appear in the JS console.
2022-10-15 01:25:12 +02:00
MacDue
c0eda77928 Base: Add paint effects with opacity/transforms HTML test cases 2022-09-25 18:37:31 +02:00
davidot
4912b22e3b LibWeb+WebContent: Setup the js console client earlier
This allows us to print messages in inline scripts. Also add an example
of this in the welcome page to test this.
2022-09-21 17:34:32 +01:00
MacDue
cfa9b44894 Base: Add a backdrop-filter demo web page 2022-09-16 10:50:48 +01:00
electrikmilk
b0f9ad0000 Base: Add existing @font-face test to welcome page
This adds the existing `@font-face` test page to the welcome page.
2022-09-14 10:50:33 +01:00
davidot
ba5bcb67a5 LibWeb: Implement the HostEnsureCanAddPrivateElement JS hook
Also added a local test for ensuring this behavior since it is unique to
browsers. Since we don't actually use WindowProxy anywhere yet we just
test on location for now.
2022-08-27 20:33:27 +01:00
Sam Atkins
9075dea3a8 Base: Add a test page for Path2D
Neither of the tests here actually passes properly right now. It's a
little more aspirational...

In the first one, the circle draws in the wrong place due apparently to
existing bugs in `CanvasRenderingContext2D::ellipse()`.

In the second, I just haven't yet implemented creating a Path2D from an
SVG path string, because that's going to take a fair bit of untangling
first.
2022-08-14 11:30:40 +02:00
Tom
4d1ceaaa43 Base: Add test page for CSS clip property 2022-08-07 22:40:11 +02:00
MacDue
452dc544bc Base: Add simple gradients test page 2022-07-17 20:11:38 +01:00
Luke Wilde
076c9772a4 LibWeb: Add ability to present LibGL framebuffer and add clearing 2022-06-13 21:45:27 +01:00
Rafał Babiarz
4fcdbd57e9 Base: Add test page for Web Storage API 2022-05-28 23:54:06 +01:00
Enver Balalic
58398b1e12 LibWeb: Implement the flex order CSS property
Adds support for the flex order property and a test page for it
on the browser welcome page.
2022-04-02 18:40:32 +02:00
Linus Groh
b64080a913 Base: Add a <noscript> test page 2022-03-31 17:08:38 +02:00
Daniel Glazman
fdf1c3c2f1 LibWeb: More tests for attribute selectors 2022-03-29 18:53:20 +02:00
Andreas Kling
6cffabef03 LibWeb: Support CSS vertical-align values "top" and "bottom" 2022-03-24 22:57:01 +01:00
Sam Atkins
4d8789b173 Base: Add a text-shadow test page 2022-03-24 18:08:34 +01:00
Simon Wanner
bc5d39493b Base: Add a test page for CSS transforms
This also acts as a little stress test for flexbox layout :^)
2022-03-22 02:06:21 +01:00
Sam Atkins
4827092554 Base: Add a :focus/:focus-within test page 2022-03-20 17:35:31 +00:00
Daniel Lemos
3eb6016dda LibWeb: Add some default style for <textarea> elements and a test 2022-03-18 19:59:19 +01:00
Sam Atkins
47eb4b2db7 Base: Add a test page for the CSS :where() selector
This behaves identically to :is() except for specificity, so this test
page is identical to the other one. It's not because I'm lazy. :^)
2022-03-18 11:34:02 +01:00
Sam Atkins
0d01097a54 Base: Add a test page for the CSS :is() selector 2022-03-18 11:34:02 +01:00
Timothy Flynn
8156ec5da8 Base: Replace setInterval test page with a more thorough timer test page
Ensure we test both setTimeout and setInterval (and their cancellation
methods), and test scenarios such as raising exceptions in the callback,
passing extra arguments, etc.
2022-03-04 19:51:26 +01:00
Sam Atkins
2e23cce557 Base: Add :nth-of-type and :nth-last-of-type test pages 2022-02-26 15:30:24 +01:00
Sam Atkins
a9ad72cc0f Base: Add a pseudo-element test page 2022-02-25 19:35:34 +01:00
Maciej
3e1c1c0b16 LibWeb: Add support for CSS image-rendering property
Currently only "auto" and "pixelated" values are supported.
2022-02-19 11:38:46 +01:00
serenitydev
b5d891ed6a Base+LibWeb: Add test case for Workers on welcome homepage 2022-02-17 22:45:21 +01:00
Rafał Babiarz
d159511d85 Base: Add test page for progress bar element 2022-02-16 15:34:08 -05:00
Andreas Kling
6c31f6c073 Base: Add a browser test page that dumps out all mouse events 2022-02-07 13:28:59 +01:00
Andreas Kling
04bec7a4f5 LibWeb: Remove CSS::StyleInvalidator in favor of dirtying + lazy update
Style updates are lazy since late last year, so the StyleInvalidator is
actually hurting us more than it's helping by running the entire CSS
selector machine on the whole DOM for every attribute change.

Instead, simply mark the entire DOM dirty and let the lazy style update
mechanism run *once* on next event loop iteration.
2022-02-05 22:50:39 +01:00
Nico Weber
7b51102495 Base: Add a <pre> test page 2022-01-23 12:08:37 +01:00
Ali Mohammad Pur
0652774783 Base: Add a test page for async functions + XMLHttpRequest 2021-11-28 13:28:01 +00:00