[webkit-dev] Implementing MathML stylistic attributes in WebKit

Ryosuke Niwa rniwa at webkit.org
Mon Sep 2 13:12:10 PDT 2019

On Mon, Sep 2, 2019 at 7:11 AM Frédéric Wang <fwang at igalia.com> wrote:

> Currently MathML attributes mathvariant, displaystyle and scriptlevel [1]
> [2] are implemented in WebKit using custom "style resolution" and
> "one-glyph rendering" inside the MathML layout code [3] [4] [5]. These
> features involve text rendering and interaction with CSS font-size, so it
> is difficult to implement them properly and completely that way. There are
> known bugs and missing features right now (e.g. mathvariant transform only
> applies to one-character strings, automatic displaystyle/scriptlevel does
> not work with fractions, etc)
> Several years ago, Gecko used to do something similar but that was causing
> a lot of problems (dynamic update, assertion failures...). At the end, this
> is now implemented in Gecko more reliably by mapping the attributes to
> internal CSS properties ; [6] is based on that. When I tried to do
> something like this in WebKit three years ago, I was only able to rely on
> proprietary -webkit-* extensions exposed to users [7].
> So my questions are:
> (1) What is WebKit's mechanism to implement such stylistic attributes?

It looks like -internal-text-autosizing-status is such a property. This is
a property the author can never set and we set it internally for
implementation purposes. ComputedStyleExtractor::valueForPropertyInStyle
manually skips it so it's never exposed anywhere.

One subtle thing I didn't check is whether it would affect the CSS parser
or not (as in whether it would be considered as a valid CSS property or
not). There might be some subtle effect there.

-webkit-text-decorations-in-effect is also a CSS property we use internally
to compute the effective set of text decorations applied to text for
editing purposes. The author can never set it but it's unfortunately
exposed via computed style.

(2) Is it possible to implement internal (i.e. not web-exposed to users)
> CSS properties/values in WebKit?

It appears possible today using the technique deployed by

> (3) Is it ok to add more -webkit-* properties/values or should these
> properties be standardized at the CSS WG instead?


- R. Niwa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20190902/041c0665/attachment.html>

More information about the webkit-dev mailing list