[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da
simon.fraser at apple.com
simon.fraser at apple.com
Wed Dec 22 18:08:05 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit bf1fd74c8f110a4c28c2052f28cd6e8c11511ecb
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Dec 7 22:03:11 2010 +0000
2010-12-07 Simon Fraser <simon.fraser at apple.com>
Reviewed by Dan Bernstein.
-webkit-transition Fails on Multiple text-shadow Shadows
https://bugs.webkit.org/show_bug.cgi?id=42281
When transitioning multiple shadows, the blend function for
ShadowData dropped all but the first and last shadow because
of a failure to append to the end of the list. Fixed.
Test: transitions/multiple-text-shadow-transition.html
* page/animation/AnimationBase.cpp:
(WebCore::PropertyWrapperShadow::blend):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index f302367..196e88b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,5 +1,16 @@
2010-12-07 Simon Fraser <simon.fraser at apple.com>
+ Reviewed by Dan Bernstein.
+
+ -webkit-transition Fails on Multiple text-shadow Shadows
+ https://bugs.webkit.org/show_bug.cgi?id=42281
+
+ Testcase that transitions multiple shadows.
+
+ * transitions/multiple-text-shadow-transition.html: Added.
+
+2010-12-07 Simon Fraser <simon.fraser at apple.com>
+
Reviewed by Beth Dakin.
CSS animation doesn't work for border-radius
diff --git a/LayoutTests/transitions/multiple-text-shadow-transition-expected.txt b/LayoutTests/transitions/multiple-text-shadow-transition-expected.txt
new file mode 100644
index 0000000..b69c063
--- /dev/null
+++ b/LayoutTests/transitions/multiple-text-shadow-transition-expected.txt
@@ -0,0 +1,2 @@
+Shadowed text
+PASS: saw 5 shadows during the transition
diff --git a/LayoutTests/transitions/multiple-text-shadow-transition.html b/LayoutTests/transitions/multiple-text-shadow-transition.html
new file mode 100644
index 0000000..cdef98d
--- /dev/null
+++ b/LayoutTests/transitions/multiple-text-shadow-transition.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <style type="text/css" media="screen">
+ #container {
+ width: 400px;
+ height: 100px;
+ margin: 10px;
+ -webkit-transition-property: text-shadow;
+ -webkit-transition-duration: 1s;
+ -webkit-transition-timing-function: linear;
+ }
+
+ #container {
+ text-shadow: yellow 0px 10px 10px,
+ yellow 0px 20px 10px,
+ yellow 0px 30px 10px,
+ yellow 0px 40px 10px,
+ yellow 0px 50px 10px;
+ }
+
+ #container.final {
+ text-shadow: green 0px 10px 2px,
+ green 0px 20px 2px,
+ green 0px 30px 2px,
+ green 0px 40px 2px,
+ green 0px 50px 2px;
+ }
+
+ </style>
+ <script type="text/javascript" charset="utf-8">
+
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ }
+
+ function setupTest()
+ {
+ document.getElementById('container').className = 'final';
+ window.setTimeout(checkShadow, 0);
+ }
+
+ function checkShadow()
+ {
+ var container = document.getElementById('container');
+ var shadow = window.getComputedStyle(container).getPropertyCSSValue('text-shadow');
+
+ var result = document.getElementById('result');
+ if (shadow.length == 5)
+ result.innerHTML = 'PASS: saw 5 shadows during the transition';
+ else
+ result.innerHTML = 'FAIL: saw ' + shadow.length + ' shadows during the transition';
+
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }
+
+ window.addEventListener('load', setupTest, false);
+ </script>
+</head>
+<body>
+ <div id="container">
+ Shadowed text
+ </div>
+ <div id="result"></div>
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 451eece..88b3ada 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,21 @@
2010-12-07 Simon Fraser <simon.fraser at apple.com>
+ Reviewed by Dan Bernstein.
+
+ -webkit-transition Fails on Multiple text-shadow Shadows
+ https://bugs.webkit.org/show_bug.cgi?id=42281
+
+ When transitioning multiple shadows, the blend function for
+ ShadowData dropped all but the first and last shadow because
+ of a failure to append to the end of the list. Fixed.
+
+ Test: transitions/multiple-text-shadow-transition.html
+
+ * page/animation/AnimationBase.cpp:
+ (WebCore::PropertyWrapperShadow::blend):
+
+2010-12-07 Simon Fraser <simon.fraser at apple.com>
+
Reviewed by Beth Dakin.
CSS animation doesn't work for border-radius
diff --git a/WebCore/page/animation/AnimationBase.cpp b/WebCore/page/animation/AnimationBase.cpp
index 2d09206..913fe9f 100644
--- a/WebCore/page/animation/AnimationBase.cpp
+++ b/WebCore/page/animation/AnimationBase.cpp
@@ -357,15 +357,19 @@ public:
ShadowData defaultShadowData(0, 0, 0, 0, Normal, Color::transparent);
ShadowData* newShadowData = 0;
+ ShadowData* lastShadow = 0;
while (shadowA || shadowB) {
const ShadowData* srcShadow = shadowA ? shadowA : &defaultShadowData;
const ShadowData* dstShadow = shadowB ? shadowB : &defaultShadowData;
- if (!newShadowData)
- newShadowData = blendFunc(anim, srcShadow, dstShadow, progress);
+ ShadowData* blendedShadow = blendFunc(anim, srcShadow, dstShadow, progress);
+ if (!lastShadow)
+ newShadowData = blendedShadow;
else
- newShadowData->setNext(blendFunc(anim, srcShadow, dstShadow, progress));
+ lastShadow->setNext(blendedShadow);
+
+ lastShadow = blendedShadow;
shadowA = shadowA ? shadowA->next() : 0;
shadowB = shadowB ? shadowB->next() : 0;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list