Age | Commit message (Collapse) | Author |
|
Shorthand properties were only checking for `ColorStyleValue`s, which
excludes identifier colors. Now they accept them too, including the
various `-libweb-foo` colors. :^)
|
|
The `currentcolor` identifier represents the current value of the
`color` property. This is the default value for `border-color` and
`text-decoration-color`, and is generally useful to have. :^)
|
|
This is in preparation for the `currentcolor` value, which needs to know
what Node it's on so it can check the `color`.
|
|
This prevents flickering by ensuring that WebContent is only ever
painting into the back buffer bitmap. Without this change, it was
possible for WebContent to paint into the front buffer bitmap.
|
|
Instead of having separate members for "bitmap ID" and "bitmap", let's
wrap them in a struct.
|
|
A slight loss in graphical fidelity is better than not rendering the
page at all.
|
|
|
|
|
|
This represents what the spec calls the "idle-task task source".
|
|
Previously there was no default value and wrapping broke when the
container didn't have a align-items specified.
|
|
In the spec, `fill` and `stroke` are supposed to be a shorthands for
various properties. But since the spec is still a working draft, and
neither Firefox or Chrome support the `fill-color` or `stroke-color`
properties, we'll stick with `fill` and `stroke` as simple colors for
now.
Also, note that SVG expects things in "user units", and we are assuming
that 1px = 1 user unit for now.
|
|
|
|
Default implementations allow for more optimizations.
See: https://pvs-studio.com/en/docs/warnings/v832/
|
|
Some pages use *really* large data URLs. :^)
|
|
This was showing up as hot in profiles, as the HTML parser calls it
quite a lot.
|
|
|
|
Auto is not specified at all.
|
|
There probably are a lot of edge cases missing but this moves us forward
at least a bit.
|
|
|
|
This teaches all the relevant places about 'align-items'.
|
|
These instructions now generate cubic Bézier curves.
|
|
|
|
This will be required when we switch to a SuperBuild that has Lagom as
a configure time dependency, but is a distinct enough change to be
separate.
|
|
In the past, the base class implementation of this was used to descend
into subtrees and paint children. That is now taken care of by
StackingContext::paint_descendants() instead, and nothing used this.
|
|
Computing the absolute rect of a box requires walking the chain of
containing blocks and apply any offsets encountered. This can be slow in
deeply nested box trees, so let's at least avoid doing it multiple times
when once is enough.
|
|
|
|
Previously, out-of-flow children still took up space inside a flex-box
container, leaving an odd gap. Now they don't! :^)
|
|
In some situations, a layout box should not participate in the standard
layout process, for example when set to `position: absolute`.
|
|
Just parse it into an SVG::ViewBox object for now, we don't actually use
it for anything yet.
|
|
This also comes with a simple little parsing helper. :^)
|
|
There are a whole bunch of SVG attributes, and we shouldn't mix them in
with the HTML attributes. This patch adds some of them to the new
namespace, but there are more to be added. :^)
|
|
Rather than destroying and rebuilding the entire document layout tree in
every call to `ComputedCSSStyleDeclaration::property()`, we now just
make sure that the layout tree exists.
This speeds up the DOM Inspector significantly, from taking several
seconds to select an element, to almost instant. :^)
|
|
Follow the spec more closely when encountering an invalid start or end
tag during foreign content parsing.
|
|
This is not a good thing, one should not divide by zero! :^)
|
|
The spec used two different names for the same thing, and it was
confusing to read the spec on the one side and have the other name in
the code.
|
|
This is still very much not the right thing to do, but at least
relatively sized flex-items get the right size.
|
|
These are mostly combined styles such as background, as well as handling
the Invalid and Custom property IDs (which both make no sense).
|
|
This style value can hold all four border radii and format them into
valid CSS for the `border-radius` property.
|
|
Let's only log HTML::ClassicScript parse times for now. Otherwise things
will get excessively noisy in test-js and the test262 runner.
|
|
These are really supposed to be a list of SyntaxError objects, but for
now we simply return all the Parser::Error objects we got from Parser.
|
|
Required by Web Platform Tests for the innerHTML/outerHTML tests.
|
|
This adds innerHTML to ShadowRoot in the process.
|
|
The previous implementation was about a half implementation and was
tied to Element::innerHTML. This separates it and puts it into
HTMLDocumentParser, as this is in the parsing section of the spec.
This provides a near finished HTML fragment serialisation algorithm,
bar namespaces in attributes and the `is` value.
|
|
|
|
|
|
|
|
|
|
|
|
This only has the constructor implemented for now.
|
|
Our current way of signalling a missing port with m_port == 0 was
lacking, as 0 is a valid port number in URLs.
|