[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:06:10 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit fc34b3be92ac40bfb57842af7441ea54b915f295
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 7 02:01:11 2010 +0000

    2010-12-06  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Beth Dakin.
    
            CSS animation doesn't work for border-radius
            https://bugs.webkit.org/show_bug.cgi?id=48340
    
            Include CSSPropertyBorderRadius in the list of shorthand
            properties, so that the individual border-radius properties
            get animated.
    
            Test: transitions/border-radius-transition.html
    
            * page/animation/AnimationBase.cpp:
            (WebCore::addShorthandProperties):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73421 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5fd87aa..a26b171 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,22 @@
+2010-12-06  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Beth Dakin.
+
+        CSS animation doesn't work for border-radius
+        https://bugs.webkit.org/show_bug.cgi?id=48340
+
+        * transitions/border-radius-transition-expected.txt: Added.
+        * transitions/border-radius-transition.html: Added.
+        New test.
+        
+        * transitions/color-transition-all.html:
+        * transitions/zero-duration-in-list.html:
+        Don't use the pause API for tests that test whether something is not
+        animating.
+        
+        * transitions/transition-test-helpers.js: Log if the pause API returns
+        failure.
+
 2010-12-06  Victor Wang  <victorw at chromium.org>
 
         Unreviewed.
diff --git a/LayoutTests/transitions/border-radius-transition-expected.txt b/LayoutTests/transitions/border-radius-transition-expected.txt
new file mode 100644
index 0000000..5cbd1bf
--- /dev/null
+++ b/LayoutTests/transitions/border-radius-transition-expected.txt
@@ -0,0 +1,3 @@
+PASS - "border-top-left-radius" property for "box" element at 0.25s saw something close to: 25
+PASS - "-webkit-border-top-left-radius" property for "box2" element at 0.25s saw something close to: 25
+
diff --git a/LayoutTests/transitions/border-radius-transition.html b/LayoutTests/transitions/border-radius-transition.html
new file mode 100644
index 0000000..e0a2223
--- /dev/null
+++ b/LayoutTests/transitions/border-radius-transition.html
@@ -0,0 +1,60 @@
+<!DOCTYPE>
+
+<html lang="en">
+<head>
+  <style type="text/css" media="screen">
+    .box {
+      height: 100px;
+      width: 100px;
+      margin: 10px;
+      border: 3px solid blue;
+      -webkit-transition-duration: 0.5s;
+      -webkit-transition-timing-function: linear;
+    }
+    
+    #box {
+      -webkit-transition-property: border-radius;
+    }
+    
+    #box.final {
+        border-top-left-radius: 50px;
+    }
+
+    #box2 {
+      -webkit-transition-property: -webkit-border-radius;
+    }
+    
+    #box2.final {
+        -webkit-border-top-left-radius: 50px;
+    }
+    
+  </style>
+  <script src="transition-test-helpers.js" type="text/javascript" charset="utf-8"></script>
+  <script type="text/javascript" charset="utf-8">
+
+    const expectedValues = [
+      // [time, element-id, property, expected-value, tolerance]
+      [0.25, 'box', 'border-top-left-radius', 25, 2],
+      [0.25, 'box2', '-webkit-border-top-left-radius', 25, 2],
+    ];
+  
+    function setupTest()
+    {
+      document.getElementById('box').className = 'box final';
+      document.getElementById('box2').className = 'box final';
+    }
+  
+    var usePauseAPI = false; // the pause API does not work with shorthands.
+    runTransitionTest(expectedValues, setupTest, usePauseAPI);
+  </script>
+</head>
+<body>
+
+  <div id="box" class="box"></div>
+  <div id="box2" class="box"></div>
+
+  <div id="result">
+  </div>
+
+</body>
+</html>
diff --git a/LayoutTests/transitions/color-transition-all.html b/LayoutTests/transitions/color-transition-all.html
index 8676a32..9698312 100644
--- a/LayoutTests/transitions/color-transition-all.html
+++ b/LayoutTests/transitions/color-transition-all.html
@@ -32,7 +32,8 @@
       document.getElementById('outer').className = 'changed';
     }
 
-    runTransitionTest(expectedValues, setupTest, true);
+    var usePauseAPI = false;
+    runTransitionTest(expectedValues, setupTest, usePauseAPI);
   </script>
 </head>
 <body>
diff --git a/LayoutTests/transitions/transition-test-helpers.js b/LayoutTests/transitions/transition-test-helpers.js
index b23be12..5a0b340 100644
--- a/LayoutTests/transitions/transition-test-helpers.js
+++ b/LayoutTests/transitions/transition-test-helpers.js
@@ -168,7 +168,9 @@ function runTest(expected, usePauseAPI)
 
         // We can only use the transition fast-forward mechanism if DRT implements pauseTransitionAtTimeOnElementWithId()
         if (hasPauseTransitionAPI && usePauseAPI) {
-            layoutTestController.pauseTransitionAtTimeOnElementWithId(property, time, elementId);
+            var paused = layoutTestController.pauseTransitionAtTimeOnElementWithId(property, time, elementId);
+            if (!paused)
+              window.console.log("Failed to pause '" + property + "' transition on element '" + elementId + "'");
             checkExpectedValue(expected, i);
         } else {
             if (time > maxTime)
diff --git a/LayoutTests/transitions/zero-duration-in-list.html b/LayoutTests/transitions/zero-duration-in-list.html
index fbe2f5c..ed940af 100644
--- a/LayoutTests/transitions/zero-duration-in-list.html
+++ b/LayoutTests/transitions/zero-duration-in-list.html
@@ -32,8 +32,8 @@
       box.style.left = '100px';
     }
     
-    runTransitionTest(expectedValues, setupTest, true);
-    
+    var usePauseAPI = false;
+    runTransitionTest(expectedValues, setupTest, usePauseAPI);
   </script>
 </head>
 <body>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a187b2d..8e0325e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-12-06  Simon Fraser  <simon.fraser at apple.com>
+
+        Reviewed by Beth Dakin.
+
+        CSS animation doesn't work for border-radius
+        https://bugs.webkit.org/show_bug.cgi?id=48340
+        
+        Include CSSPropertyBorderRadius in the list of shorthand
+        properties, so that the individual border-radius properties
+        get animated.
+
+        Test: transitions/border-radius-transition.html
+
+        * page/animation/AnimationBase.cpp:
+        (WebCore::addShorthandProperties):
+
 2010-12-06  Ryosuke Niwa  <rniwa at webkit.org>
 
         Reviewed by Tony Chang.
diff --git a/WebCore/page/animation/AnimationBase.cpp b/WebCore/page/animation/AnimationBase.cpp
index 66172f7..d5616a8 100644
--- a/WebCore/page/animation/AnimationBase.cpp
+++ b/WebCore/page/animation/AnimationBase.cpp
@@ -734,6 +734,7 @@ static void addShorthandProperties()
         CSSPropertyBorderColor, 
         CSSPropertyBorderWidth,
         CSSPropertyBorder,
+        CSSPropertyBorderRadius,
         CSSPropertyBorderSpacing,
         CSSPropertyMargin,
         CSSPropertyOutline,

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list