Bug 682685 - Dynamic changes to use elements only work to/from invalid states. r=dholbert

This commit is contained in:
Robert Longson 2011-08-29 09:20:29 +01:00
Родитель fb0b797274
Коммит ba00ac5c87
3 изменённых файлов: 34 добавлений и 0 удалений

Просмотреть файл

@ -1490,6 +1490,7 @@ nsSVGElement::SetLength(nsIAtom* aName, const nsSVGLength2 &aLength)
for (PRUint32 i = 0; i < lengthInfo.mLengthCount; i++) {
if (aName == *lengthInfo.mLengthInfo[i].mName) {
lengthInfo.mLengths[i] = aLength;
DidChangeLength(i, PR_TRUE);
return;
}
}

Просмотреть файл

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="Windows-1252"?>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
style="background: red;" class="reftest-wait">
<defs>
<symbol id="sym1">
<rect width="100" height="100" fill="lime" />
</symbol>
</defs>
<rect width="100%" height="100%" fill="lime"/>
<rect width="100" height="100" fill="red" />
<use id="u" xlink:href="#sym1" width="1" />
<script type="text/javascript">
<![CDATA[
document.addEventListener("MozReftestInvalidate", doTest, false);
// in case we're not gecko
setTimeout(doTest, 5000);
function doTest() {
var u = document.getElementById("u");
u.setAttribute("width", "100");
document.documentElement.removeAttribute('class');
}
]]>
</script>
</svg>

После

Ширина:  |  Высота:  |  Размер: 940 B

Просмотреть файл

@ -95,6 +95,7 @@ fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == dynamic-text-04.svg dynam
== dynamic-use-02.svg pass.svg
== dynamic-use-03.svg pass.svg
== dynamic-use-04.svg pass.svg
== dynamic-use-05.svg pass.svg
random == dynamic-use-nested-01.svg dynamic-use-nested-01-ref.svg # bug 467498
== dynamic-use-remove-width.svg dynamic-use-remove-width-ref.svg
== linked-pattern-01.svg pass.svg