From ba91e0694865ba488e4c0761ca121eec4710b501 Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Sat, 21 Jan 2012 08:51:39 +0000 Subject: [PATCH] REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/animate-elem-39-t.html https://bugs.webkit.org/show_bug.cgi?id=64671 Patch by Stephen Chenney on 2012-01-21 Reviewed by Nikolas Zimmermann. Source/WebCore: No new tests. This change is to fix crashes in existing tests. * svg/animation/SVGSMILElement.cpp: (WebCore::SVGSMILElement::beginListChanged): If the new begin time is later than the current end time, and the event time is also after then end time (but we have not yet updated to that time) and the animation is active, we need to make the animation inactive explicitly. LayoutTests: * platform/chromium/test_expectations.txt: Marking all svg/W3C-SVG-1.1/animate-elem* tests as flakey pending this change being committed and new results. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105572 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- LayoutTests/ChangeLog | 10 ++++++++++ LayoutTests/platform/chromium/test_expectations.txt | 7 +++---- Source/WebCore/ChangeLog | 15 +++++++++++++++ Source/WebCore/svg/animation/SVGSMILElement.cpp | 8 +++++++- 4 files changed, 35 insertions(+), 5 deletions(-) diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog index a0ade6f..7aab6ab 100644 --- a/LayoutTests/ChangeLog +++ b/LayoutTests/ChangeLog @@ -1,3 +1,13 @@ +2012-01-21 Stephen Chenney + + REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/animate-elem-39-t.html + https://bugs.webkit.org/show_bug.cgi?id=64671 + + Reviewed by Nikolas Zimmermann. + + * platform/chromium/test_expectations.txt: Marking all svg/W3C-SVG-1.1/animate-elem* tests + as flakey pending this change being committed and new results. + 2012-01-20 Dana Jansens [chromium] Partially filled pixels do not occlude pixels below them. diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt index 0e41a75..c39ce35 100644 --- a/LayoutTests/platform/chromium/test_expectations.txt +++ b/LayoutTests/platform/chromium/test_expectations.txt @@ -904,8 +904,8 @@ BUGCR10284 MAC : svg/custom/path-bad-data.svg = FAIL // Text mismatch since r65370. // There was also an unnoticed image mismatch before this revision // (wrong baseline was committed). No idea about when it really started to fail. -BUGCR52692 LINUX WIN RELEASE : svg/W3C-SVG-1.1/animate-elem-80-t.svg = IMAGE+TEXT -BUGCR52692 BUGWK74788 LINUX WIN DEBUG : svg/W3C-SVG-1.1/animate-elem-80-t.svg = IMAGE+TEXT CRASH +BUGCR52692 LINUX WIN RELEASE : svg/W3C-SVG-1.1/animate-elem-80-t.svg = PASS IMAGE+TEXT +BUGCR52692 BUGWK74788 LINUX WIN DEBUG : svg/W3C-SVG-1.1/animate-elem-80-t.svg = PASS IMAGE+TEXT CRASH BUGCR52692 BUGWK74788 LINUX DEBUG : svg/W3C-SVG-1.1/animate-elem-60-t.svg = PASS CRASH BUGWK74788 MAC : svg/W3C-SVG-1.1/animate-elem-80-t.svg = PASS CRASH @@ -952,7 +952,6 @@ BUGWK62974 MAC : svg/text/text-text-06-t.svg = IMAGE BUGWK62974 LINUX WIN : svg/wicd/test-rightsizing-b.xhtml = IMAGE+TEXT BUGWK62974 MAC : svg/wicd/test-rightsizing-b.xhtml = IMAGE // Extended by BUGCR101797. -// BUGWK62974 WIN : svg/W3C-SVG-1.1/animate-elem-36-t.svg = IMAGE BUGWK62974 : svg/custom/svg-fonts-in-html.html = IMAGE BUGWK62974 : svg/custom/svg-fonts-with-no-element-reference.html = IMAGE+TEXT IMAGE BUGWK62974 MAC : svg/W3C-SVG-1.1/pservers-grad-08-b.svg = IMAGE @@ -3370,7 +3369,7 @@ BUGWK66795 LINUX MAC SLOW : fast/js/reentrant-caching.html = PASS BUGWK66873 SLOW WIN RELEASE : http/tests/loading/redirect-methods.html = PASS TEXT -BUGWK66888 DEBUG : svg/animations/svginteger-animation-1.html = PASS TEXT CRASH +BUGWK64671 DEBUG : svg/animations/svginteger-animation-1.html = PASS TEXT CRASH BUGWK66900 LINUX DEBUG : fast/writing-mode/japanese-rl-text-with-broken-font.html = PASS IMAGE+TEXT diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 82d514a..5868123 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,18 @@ +2012-01-21 Stephen Chenney + + REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/animate-elem-39-t.html + https://bugs.webkit.org/show_bug.cgi?id=64671 + + Reviewed by Nikolas Zimmermann. + + No new tests. This change is to fix crashes in existing tests. + + * svg/animation/SVGSMILElement.cpp: + (WebCore::SVGSMILElement::beginListChanged): If the new begin time is + later than the current end time, and the event time is also after then + end time (but we have not yet updated to that time) and the animation + is active, we need to make the animation inactive explicitly. + 2012-01-21 Benjamin Poulain PopupMenuClient::multiple() should be const diff --git a/Source/WebCore/svg/animation/SVGSMILElement.cpp b/Source/WebCore/svg/animation/SVGSMILElement.cpp index 2b67229..977d80c 100644 --- a/Source/WebCore/svg/animation/SVGSMILElement.cpp +++ b/Source/WebCore/svg/animation/SVGSMILElement.cpp @@ -802,8 +802,14 @@ void SVGSMILElement::beginListChanged(SMILTime eventTime) m_intervalEnd = eventTime; resolveInterval(false, m_intervalBegin, m_intervalEnd); ASSERT(!m_intervalBegin.isUnresolved()); - if (m_intervalBegin != oldBegin) + if (m_intervalBegin != oldBegin) { + if (m_activeState == Active && m_intervalBegin > eventTime) { + m_activeState = determineActiveState(eventTime); + if (m_activeState != Active) + endedActiveInterval(); + } notifyDependentsIntervalChanged(ExistingInterval); + } } } m_nextProgressTime = elapsed(); -- 2.7.4