[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198
jschuh at chromium.org
jschuh at chromium.org
Sun Feb 20 23:54:50 UTC 2011
The following commit has been merged in the webkit-1.3 branch:
commit ce0961b932c55f7146de60b0602a3ad8ee6426b3
Author: jschuh at chromium.org <jschuh at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Jan 26 20:42:28 2011 +0000
2011-01-26 Justin Schuh <jschuh at chromium.org>
Reviewed by Adam Barth.
Make fireEventsAndUpdateStyle use stack local vectors.
https://bugs.webkit.org/show_bug.cgi?id=46760
Test: animations/animation-add-events-in-handler.html
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
2011-01-26 Justin Schuh <jschuh at chromium.org>
Reviewed by Adam Barth.
Make fireEventsAndUpdateStyle use stack local vectors.
https://bugs.webkit.org/show_bug.cgi?id=46760
* animations/animation-add-events-in-handler-expected.txt: Added.
* animations/animation-add-events-in-handler.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index dddb964..500de8a 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,13 @@
+2011-01-26 Justin Schuh <jschuh at chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make fireEventsAndUpdateStyle use stack local vectors.
+ https://bugs.webkit.org/show_bug.cgi?id=46760
+
+ * animations/animation-add-events-in-handler-expected.txt: Added.
+ * animations/animation-add-events-in-handler.html: Added.
+
2011-01-26 Tony Chang <tony at chromium.org>
Unreviewed, marking fast/overflow/overflow-rtl-vertical.html as
diff --git a/LayoutTests/animations/animation-add-events-in-handler-expected.txt b/LayoutTests/animations/animation-add-events-in-handler-expected.txt
new file mode 100644
index 0000000..1dd9c0b
--- /dev/null
+++ b/LayoutTests/animations/animation-add-events-in-handler-expected.txt
@@ -0,0 +1 @@
+PASS: Adding animation events in the handler did not crash.
diff --git a/LayoutTests/animations/animation-add-events-in-handler.html b/LayoutTests/animations/animation-add-events-in-handler.html
new file mode 100644
index 0000000..a2c14eb
--- /dev/null
+++ b/LayoutTests/animations/animation-add-events-in-handler.html
@@ -0,0 +1,58 @@
+<script>
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+
+function touchElement(evt) {
+ getComputedStyle(evt.srcElement.firstElementChild)['-webkit-animation-duration'];
+ evt.srcElement.firstElementChild.style.display = 'block';
+ total++;
+ if (total == 500) {
+ document.getElementById("results").innerHTML = "PASS: Adding animation events in the handler did not crash.";
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }
+}
+
+window.onload = function() {
+ total = 0;
+ var padding = document.getElementsByClassName("padding");
+ for (var i = 0; i < padding.length; i++)
+ padding[i].addEventListener('webkitAnimationIteration', touchElement, false, false);
+};
+</script>
+<style>
+ at -webkit-keyframes keyframes {
+ from { }
+}
+
+.crash {
+ -webkit-animation-name: keyframes;
+}
+
+.padding {
+ -webkit-animation-name: keyframes;
+ -webkit-animation-iteration-count: infinite;
+ -webkit-animation-duration: 0.001;
+}
+</style>
+<div id="results">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<div class="padding">
+<img class="crash">
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index e52126a..1a81236 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,15 @@
+2011-01-26 Justin Schuh <jschuh at chromium.org>
+
+ Reviewed by Adam Barth.
+
+ Make fireEventsAndUpdateStyle use stack local vectors.
+ https://bugs.webkit.org/show_bug.cgi?id=46760
+
+ Test: animations/animation-add-events-in-handler.html
+
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
+
2011-01-26 Nate Chapin <japhet at chromium.org>
Reviewed by Adam Barth.
diff --git a/Source/WebCore/page/animation/AnimationController.cpp b/Source/WebCore/page/animation/AnimationController.cpp
index e1281dd..dcdea03 100644
--- a/Source/WebCore/page/animation/AnimationController.cpp
+++ b/Source/WebCore/page/animation/AnimationController.cpp
@@ -145,16 +145,16 @@ void AnimationControllerPrivate::fireEventsAndUpdateStyle()
bool updateStyle = !m_eventsToDispatch.isEmpty() || !m_nodeChangesToDispatch.isEmpty();
// fire all the events
- Vector<EventToDispatch>::const_iterator eventsToDispatchEnd = m_eventsToDispatch.end();
- for (Vector<EventToDispatch>::const_iterator it = m_eventsToDispatch.begin(); it != eventsToDispatchEnd; ++it) {
+ Vector<EventToDispatch> eventsToDispatch = m_eventsToDispatch;
+ m_eventsToDispatch.clear();
+ Vector<EventToDispatch>::const_iterator eventsToDispatchEnd = eventsToDispatch.end();
+ for (Vector<EventToDispatch>::const_iterator it = eventsToDispatch.begin(); it != eventsToDispatchEnd; ++it) {
if (it->eventType == eventNames().webkitTransitionEndEvent)
it->element->dispatchEvent(WebKitTransitionEvent::create(it->eventType, it->name, it->elapsedTime));
else
it->element->dispatchEvent(WebKitAnimationEvent::create(it->eventType, it->name, it->elapsedTime));
}
- m_eventsToDispatch.clear();
-
// call setChanged on all the elements
Vector<RefPtr<Node> >::const_iterator nodeChangesToDispatchEnd = m_nodeChangesToDispatch.end();
for (Vector<RefPtr<Node> >::const_iterator it = m_nodeChangesToDispatch.begin(); it != nodeChangesToDispatchEnd; ++it)
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list