зеркало из https://github.com/mozilla/gecko-dev.git
Bug 724281 - suspend-02.svg fails randomly. r=roc
This commit is contained in:
Родитель
af57611b0f
Коммит
ea1464a7d7
|
@ -219,7 +219,7 @@ random-if(gtk2Widget) == objectBoundingBox-and-fePointLight-02.svg objectBoundin
|
|||
== svg-in-foreignObject-02.xhtml svg-in-foreignObject-01-ref.xhtml # reuse -01-ref.xhtml
|
||||
== switch-01.svg pass.svg
|
||||
== suspend-01.svg about:blank
|
||||
random-if(winWidget) == suspend-02.svg pass.svg # bug 724281
|
||||
== suspend-02.svg pass.svg
|
||||
fails == suspend-03.svg pass.svg # bug 724242
|
||||
== suspend-04.svg pass.svg
|
||||
== suspend-05.svg pass.svg
|
||||
|
|
|
@ -3,21 +3,26 @@
|
|||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait" onload="f()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait">
|
||||
<title>Test that suspendRedraw works</title>
|
||||
<!-- https://bugzilla.mozilla.org/show_bug.cgi?id=615146 -->
|
||||
|
||||
<script>
|
||||
function f() {
|
||||
<script type="text/javascript">
|
||||
<![CDATA[
|
||||
|
||||
document.addEventListener("MozReftestInvalidate", doTest, false);
|
||||
// in case we're not gecko
|
||||
setTimeout(doTest, 5000);
|
||||
|
||||
function doTest() {
|
||||
var svg = document.documentElement;
|
||||
svg.suspendRedraw(10000);
|
||||
document.getElementById("r").setAttribute("fill", "red");
|
||||
setTimeout(function() {
|
||||
svg.suspendRedraw(10000);
|
||||
setTimeout(function() {
|
||||
document.getElementById("r").setAttribute("fill", "red");
|
||||
svg.removeAttribute("class");
|
||||
}, 1);
|
||||
}, 1);
|
||||
svg.removeAttribute("class");
|
||||
}, 50);
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
<rect id="r" width="100%" height="100%" fill="lime"/>
|
||||
</svg>
|
||||
|
|
До Ширина: | Высота: | Размер: 711 B После Ширина: | Высота: | Размер: 827 B |
|
@ -3,25 +3,30 @@
|
|||
Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/licenses/publicdomain/
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait" onload="f()">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="reftest-wait">
|
||||
<title>Test that suspendRedraw works</title>
|
||||
<!-- https://bugzilla.mozilla.org/show_bug.cgi?id=615146 -->
|
||||
|
||||
<script>
|
||||
function f() {
|
||||
<script type="text/javascript">
|
||||
<![CDATA[
|
||||
|
||||
document.addEventListener("MozReftestInvalidate", doTest, false);
|
||||
// in case we're not gecko
|
||||
setTimeout(doTest, 5000);
|
||||
|
||||
function doTest() {
|
||||
var svg = document.documentElement;
|
||||
setTimeout(function() {
|
||||
svg.suspendRedraw(10000);
|
||||
setTimeout(function() {
|
||||
var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
r.setAttribute("width", "100%");
|
||||
r.setAttribute("height", "100%");
|
||||
r.setAttribute("fill", "red");
|
||||
svg.appendChild(r);
|
||||
svg.removeAttribute("class");
|
||||
}, 1);
|
||||
}, 1);
|
||||
var r = document.createElementNS("http://www.w3.org/2000/svg", "rect");
|
||||
r.setAttribute("width", "100%");
|
||||
r.setAttribute("height", "100%");
|
||||
r.setAttribute("fill", "red");
|
||||
svg.appendChild(r);
|
||||
svg.removeAttribute("class");
|
||||
}, 50);
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
<rect width="100%" height="100%" fill="lime"/>
|
||||
</svg>
|
||||
|
|
До Ширина: | Высота: | Размер: 876 B После Ширина: | Высота: | Размер: 988 B |
|
@ -596,6 +596,13 @@ nsSVGUtils::InvalidateCoveredRegion(nsIFrame *aFrame)
|
|||
if (aFrame->GetStateBits() & NS_STATE_SVG_NONDISPLAY_CHILD)
|
||||
return;
|
||||
|
||||
if (aFrame->GetStateBits() & NS_STATE_SVG_REDRAW_SUSPENDED) {
|
||||
aFrame->AddStateBits(NS_STATE_SVG_DIRTY);
|
||||
return;
|
||||
}
|
||||
|
||||
aFrame->RemoveStateBits(NS_STATE_SVG_DIRTY);
|
||||
|
||||
nsSVGOuterSVGFrame* outerSVGFrame = GetOuterSVGFrame(aFrame);
|
||||
NS_ASSERTION(outerSVGFrame, "no outer svg frame");
|
||||
if (outerSVGFrame) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче