mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 15:48:12 +00:00

This patch makes a few changes to the way we calculate line-height: - `line-height: normal` is now resolved using metrics from the used font (specifically, round(A + D + lineGap)). - `line-height: calc(...)` is now resolved at style compute time. - `line-height` values are now absolutized at style compute time. As a consequence of the above, we no longer need to walk the DOM ancestor chain looking for line-heights during style computation. Instead, values are inherited, resolved and absolutized locally. This is not only much faster, but also makes our line-height metrics match those of other engines like Gecko and Blink.
114 lines
4 KiB
Text
114 lines
4 KiB
Text
---------------
|
|
use - no-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal ->
|
|
element.href.animVal ->
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> null
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> testSet
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|
|
---------------
|
|
use - explicit-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal -> test1
|
|
element.href.animVal -> test1
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> test1
|
|
element.getAttribute("href") -> null
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> testSet
|
|
element.getAttribute("href") -> null
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|
|
---------------
|
|
use - implicit-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal -> test2
|
|
element.href.animVal -> test2
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> test2
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> testSet
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|
|
---------------
|
|
textPath - no-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal ->
|
|
element.href.animVal ->
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> null
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> testSet
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|
|
---------------
|
|
textPath - explicit-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal -> test1
|
|
element.href.animVal -> test1
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> test1
|
|
element.getAttribute("href") -> null
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> testSet
|
|
element.getAttribute("href") -> null
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|
|
---------------
|
|
textPath - implicit-xlink-href
|
|
---------------
|
|
element.href instanceof SVGAnimatedString -> true
|
|
element.href === element.href -> true
|
|
element.href.baseVal -> test2
|
|
element.href.animVal -> test2
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> test2
|
|
setting baseVal...
|
|
done, new values:
|
|
element.href.baseVal -> testSet
|
|
element.href.animVal -> testSet
|
|
element.href.baseVal === element.href.animVal -> true
|
|
element.getAttribute("xlink:href") -> null
|
|
element.getAttribute("href") -> testSet
|
|
animVal should be readonly:
|
|
TypeError: Cannot set property 'animVal' of [object SVGAnimatedString]
|