Age | Commit message (Collapse) | Author |
|
|
|
These will be need to be overridden by HTMLVideoElement. We also need to
be sure to invoke HTMLMediaElement's base class's did_remove_attribute.
|
|
This will be needed by the layout node, which may change what is painted
when the position of the frame image is not the same as the element's
current time.
|
|
This will be needed by the layout node, which may change what is painted
when the position of the frame image is not the same as the element's
current time.
|
|
Fix translation of iframes when pixel size is not 1.0.
|
|
An Optional<Layout::LineBoxFragmentCoordinate> is 24 bytes, which isn't
small enough to pass by value and then copy.
|
|
|
|
These don't match the type name, which is confusing.
|
|
It returns a PaintableBox (a PaintableWithLines, to be specific), not a
'PaintBox'. paintable_box() without the cast is already available
through BlockContainer's Box base class, we don't need to shadow it.
|
|
It returns a PaintableBox, not a 'PaintBox'.
|
|
It returns a PaintableBox, not a 'PaintBox'.
|
|
It returns a PaintableBox, not any Paintable.
|
|
To test:
```console
curl http://0.0.0.0:8000/session \
-H 'Content-Type: application/json' \
-d '{"capabilities": {}}'
curl http://0.0.0.0:8000/session/0/execute/sync \
-H 'Content-Type: application/json' \
-d '{"script": "return window;", "args": []}'
```
Which should result in:
```json
{
"value": {
"window-fcc6-11e5-b4f8-330a88ab9d7f":
"86307df6-e2f1-4175-85cb-77295ff90898"
}
}
```
|
|
These are never supposed to be null.
|
|
These are never supposed to be null.
|
|
We are currently using the fetch controller's terminate() method to stop
ongoing fetches when the HTMLMediaElement load algorithm is invoked.
This method ultimately causes the fetch response to be a network error,
which we propagate through the HTMLMediaElement's error event. This can
cause websites, such as Steam, to avoid attempting to play any video.
The spec does not actually specify what it means to "stop" or "cancel" a
fetching process. But we should not use terminate() as that is a defined
spec method, and the spec does tend to indicate when that method should
be used (e.g. as it does in XMLHttpRequest).
|
|
The HTMLMediaElement will need to stop fetching processes when its load
algorithm is invoked while a fetch is ongoing. We don't have a way to
really stop the process, due to the way it runs on nested deferred task
invocations. So for now, this swaps the fetch callbacks (e.g. to process
a fetch response) with empty callbacks.
|
|
This was missed in the header text of the ready state transition spec.
|
|
|
|
|
|
This is the "traversable navigable" concept from the HTML spec.
Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
|
|
This is the first step towards implementing the new "navigable" concept
from the HTML spec.
Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
|
|
The "browsing context container" concept in the HTML spec has been
replaced with "navigable container". Renaming this is the first step of
many towards implementing the new world.
Co-authored-by: Aliaksandr Kalenik <kalenik.aliaksandr@gmail.com>
|
|
Now that LengthStyleValue never contains `auto`, IdentifierStyleValue is
the only type that can hold an identifier. This lets us remove a couple
of virtual methods from StyleValue.
I've kept `has_auto()` and `to_identifier()` for convenience, but they
are now simple non-virtual methods.
|
|
|
|
|
|
Previously, whether trying to parse a `<length>` or `<dimension>`, we
would accept `auto` and produce a `LengthStyleValue` from it. This
would fool the `property_accepts_value()` into allowing `auto` where it
does not belong, if the property did accept lengths.
Of the few places in the parser that called `parse_dimension_value()` or
`parse_length()`, none of them were expecting it to accept `auto`, so
this fixes those too. :^)
|
|
Currently, `property_accepts_value()` always returns `true` if the
property is a shorthand. (This is a bug, and should actually be fixed
properly at some point...) This means that all identifiers are caught
here, including `auto`, which should be handled by the `flex-basis`
branch instead.
This works currently because `auto` is a LengthStyleValue, but that's
about to change!
|
|
This relied on `auto` being a LengthStyleValue, which soon will not be
true. :^)
|
|
This code assumed that `auto` was always stored as a LengthStyleValue,
which will not be true in the next commit. (And was not a safe
assumption to make anyway.)
|
|
This is a tiny bit messy because:
- The spec says we should expand this to `flex: <flex-grow> 1 0`
- All major engines expand it to `flex: <flex-grow> 1 0%`
Spec bug: https://github.com/w3c/csswg-drafts/issues/5742
|
|
|
|
This is needed by https://store.steampowered.com. For now, we return an
empty TimeRanges object.
|
|
This is used by media elements. Provide a stub for websites which depend
on the interface existing.
|
|
This is far from perfect, but let's at least make an attempt at laying
out <svg> when encountering it inside another <svg>.
This makes https://awesomekling.substack.com actually load and render
instead of asserting. :^)
|
|
...instead of defaulting to a PaintableBox. This way it gets the same
behavior as other SVG boxes during paint.
|
|
|
|
The spec defines a Permissions Policy to control some browser behaviors
on a per-origin basis. Management of these permissions live in their own
spec: https://w3c.github.io/webappsec-permissions-policy/
This implements a somewhat ad-hoc Permissions Policy for autoplaying
media elements. We will need to implement the entire policy spec for
this to be more general.
|
|
The spec recommends exposing the user agent interface when scripting is
disabled on the media element.
|
|
Alphabetically sort everything (namespaces and forward declarations
within namespaces), and de-duplicate repeated namespaces (namely the
Web namespace appeared twice).
|
|
Per CSS-FLEXBOX-1, we should treat percentage values of flex-basis as
'content' if they resolve against an indefinite size of the flex
container.
|
|
Although the spec doesn't mention it, if a flex item has box-sizing:
border-box, and the specified size suggestion is a definite size, we
have to subtract the borders and padding from the size before using it.
This fixes an issue seen in "This Week in Ladybird #4" where the
screenshots ended up in one long vertical stack instead of paired up
2 by 2.
|
|
Per SVG2, any coordinate pairs following a moveto command should be
treated as implicit lineto commands with the same absoluteness as the
moveto command.
|
|
|
|
|
|
|
|
|
|
This attribute is used to define how the viewBox should be scaled.
Previously the behaviour implemented was that of "xMidYMid meet", now
all of them work (expect none :P).
With this the Discord login backend is now correctly scaled/positioned.
This also brings our SVG code a little closer to the spec! With spec
comments and all :^)
(Minor non-visible update to layout tests)
|
|
|
|
When clicking on the media timeline, compute the percentage along the
timeline's width the user clicked, and set the playback time to the same
percentage of the video's duration.
|