Commit 909a2e9a authored by commit-queue@webkit.org's avatar commit-queue@webkit.org
Browse files

ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase

<https://webkit.org/b/108184>

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Philip Rogers.

Source/WebCore:

In the case a SMILElement timing had a syncbase dependency on an indefinite value
the assert were raised. The assert has been removed and a check has been added
instead that prevents the addition of indefinite times to the time list.

Test: svg/animations/smil-syncbase-self-dependency.svg

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
  ASSERT removed.

LayoutTests:

Test checks whether valid self-dependency is accidentally broken.

* svg/animations/smil-syncbase-self-dependency-expected.txt: Added.
* svg/animations/smil-syncbase-self-dependency.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent f4bf3112
2014-01-21 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
<https://webkit.org/b/108184>
Reviewed by Philip Rogers.
Test checks whether valid self-dependency is accidentally broken.
* svg/animations/smil-syncbase-self-dependency-expected.txt: Added.
* svg/animations/smil-syncbase-self-dependency.svg: Added.
2014-01-20 Myles C. Maxfield <mmaxfield@apple.com>
 
Test that text-decoration-skip: ink inherits as expected
SMILElement animation time self-dependency is handled.
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" onload="loaded()">
<!-- Test whether SMILElement animation self dependencies handled correctly. -->
<rect id="rectID" width="100" height="100" fill="green">
<animate id="selfID" attributeName="x" begin="0s; selfID.end" dur="0.02s" from="0" to="400"/>
</rect>
<text id="label" y="150"/>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
function displayMessage() {
document.getElementById("label").textContent = "SMILElement animation time self-dependency is" +
((document.getElementById("rectID").x.animVal.value > 0) ? " " : " not ") + "handled.";
}
function loaded() {
setTimeout('displayMessage()', 30);
if (window.testRunner) {
setTimeout('testRunner.notifyDone()', 40);
}
}
</script>
</svg>
2014-01-21 Tamas Gergely <tgergely.u-szeged@partner.samsung.com>
ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
<https://webkit.org/b/108184>
Reviewed by Philip Rogers.
In the case a SMILElement timing had a syncbase dependency on an indefinite value
the assert were raised. The assert has been removed and a check has been added
instead that prevents the addition of indefinite times to the time list.
Test: svg/animations/smil-syncbase-self-dependency.svg
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
ASSERT removed.
2014-01-21 Tim Horton <timothy_horton@apple.com>
 
Address late review naming comments after r162453.
......@@ -1146,7 +1146,8 @@ void SVGSMILElement::createInstanceTimesFromSyncbase(SVGSMILElement* syncbase, N
time = syncbase->m_intervalBegin + condition.m_offset;
else
time = syncbase->m_intervalEnd + condition.m_offset;
ASSERT(time.isFinite());
if (!time.isFinite())
continue;
if (condition.m_beginOrEnd == Begin)
addBeginTime(elapsed(), time);
else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment