[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
simon.fraser at apple.com
simon.fraser at apple.com
Wed Dec 22 15:37:48 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit d818b9b2623d87a499965c25ca0cbc01107c24de
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 9 17:45:41 2010 +0000
2010-11-09 Simon Fraser <simon.fraser at apple.com>
Reviewed by Dave Hyatt.
https://bugs.webkit.org/show_bug.cgi?id=49197
<rdar://problem/8642746>
When starting an accelerated transform animation on a renderer, check
that it's a RenderBox before allow transform animations (and before
calling borderBoxRect()), because transforms are currently disallowed
on inline elements.
Test: animations/animation-on-inline-crash.html
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::startAnimation):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index d508f4d..f8c4be8 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-11-09 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Dave Hyatt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=49197
+ <rdar://problem/8642746>
+
+ Test that starts a transform animation on an inline.
+
+ * animations/animation-on-inline-crash-expected.txt: Added.
+ * animations/animation-on-inline-crash.html: Added.
+
2010-11-09 Mihai Parparita <mihaip at chromium.org>
Unreviewed Chromium drt_expectations.txt update.
diff --git a/LayoutTests/animations/animation-on-inline-crash-expected.txt b/LayoutTests/animations/animation-on-inline-crash-expected.txt
new file mode 100644
index 0000000..b6660ec
--- /dev/null
+++ b/LayoutTests/animations/animation-on-inline-crash-expected.txt
@@ -0,0 +1,3 @@
+Test passes if it does not crash.
+
+Hello world
diff --git a/LayoutTests/animations/animation-on-inline-crash.html b/LayoutTests/animations/animation-on-inline-crash.html
new file mode 100644
index 0000000..1945465
--- /dev/null
+++ b/LayoutTests/animations/animation-on-inline-crash.html
@@ -0,0 +1,27 @@
+<style>
+ .box {
+ position: relative;
+ -webkit-animation-delay: 5ms;
+ -webkit-animation-name: anim;
+ }
+ @-webkit-keyframes anim {
+ from { -webkit-transform: translateX(10px); }
+ }
+</style>
+<script type="text/javascript" charset="utf-8">
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ }
+
+ function waitForAnimation()
+ {
+ window.setTimeout(function() {
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }, 50);
+ }
+ window.addEventListener('load', waitForAnimation, false);
+</script>
+<p>Test passes if it does not crash.</p>
+<span class="box">Hello world</span>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f7a4c75..934267d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -2,6 +2,23 @@
Reviewed by Dave Hyatt.
+ https://bugs.webkit.org/show_bug.cgi?id=49197
+ <rdar://problem/8642746>
+
+ When starting an accelerated transform animation on a renderer, check
+ that it's a RenderBox before allow transform animations (and before
+ calling borderBoxRect()), because transforms are currently disallowed
+ on inline elements.
+
+ Test: animations/animation-on-inline-crash.html
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::startAnimation):
+
+2010-11-09 Simon Fraser <simon.fraser at apple.com>
+
+ Reviewed by Dave Hyatt.
+
https://bugs.webkit.org/show_bug.cgi?id=49204
<rdar://problem/8643412>
diff --git a/WebCore/rendering/RenderLayerBacking.cpp b/WebCore/rendering/RenderLayerBacking.cpp
index 4f16800..15def29 100644
--- a/WebCore/rendering/RenderLayerBacking.cpp
+++ b/WebCore/rendering/RenderLayerBacking.cpp
@@ -1101,7 +1101,7 @@ bool RenderLayerBacking::showRepaintCounter() const
bool RenderLayerBacking::startAnimation(double timeOffset, const Animation* anim, const KeyframeList& keyframes)
{
bool hasOpacity = keyframes.containsProperty(CSSPropertyOpacity);
- bool hasTransform = keyframes.containsProperty(CSSPropertyWebkitTransform);
+ bool hasTransform = renderer()->isBox() && keyframes.containsProperty(CSSPropertyWebkitTransform);
if (!hasOpacity && !hasTransform)
return false;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list