зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1883796 - Deal with an assert that doesn't hold always. r=dshin
During an animation restyle, two links might share the same rules while not sharing the same link-ness. This is a temporary state, but let's deal with it correctly. Differential Revision: https://phabricator.services.mozilla.com/D203891
This commit is contained in:
Родитель
d541a9f856
Коммит
7c1412682e
|
@ -908,12 +908,7 @@ impl<E: TElement> StyleSharingCache<E> {
|
||||||
// RELEVANT_LINK_VISITED flag, so we can't share by rule node between visited and
|
// RELEVANT_LINK_VISITED flag, so we can't share by rule node between visited and
|
||||||
// unvisited styles. We don't check for visitedness and just refuse to share for links
|
// unvisited styles. We don't check for visitedness and just refuse to share for links
|
||||||
// entirely, so that visitedness doesn't affect timing.
|
// entirely, so that visitedness doesn't affect timing.
|
||||||
debug_assert_eq!(
|
if target.is_link() || candidate.element.is_link() {
|
||||||
target.is_link(),
|
|
||||||
candidate.element.is_link(),
|
|
||||||
"Linkness mismatch"
|
|
||||||
);
|
|
||||||
if target.is_link() {
|
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
<link rel="help" href="https://bugzil.la/1883796">
|
||||||
|
<script>
|
||||||
|
window.addEventListener("load", () => {
|
||||||
|
let a = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
|
||||||
|
document.documentElement.appendChild(a)
|
||||||
|
document.documentElement.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "a"))
|
||||||
|
document.documentElement.scrollTo(-1132, 16)
|
||||||
|
document.documentElement.animate({"webkitTextStrokeWidth": ["197792984.89ex", "thin"]}, 2814)
|
||||||
|
a.setAttribute("href", "x")
|
||||||
|
})
|
||||||
|
</script>
|
Загрузка…
Ссылка в новой задаче