2011-01-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Fix percentage values in radius of radial gradients
        https://bugs.webkit.org/show_bug.cgi?id=51979

        Handle percentage values for the ending size of radial gradients.

        Test: fast/gradients/css3-radial-gradients3.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
        non-null if percentage values are allowed, and compute percentage values when we see them.
        (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
        percentages are OK when resolving end radii.
        * css/CSSGradientValue.h: New parameter for resolveRadius.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75136 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/fast/gradients/css3-radial-gradients3.html b/LayoutTests/fast/gradients/css3-radial-gradients3.html
new file mode 100644
index 0000000..e85879d
--- /dev/null
+++ b/LayoutTests/fast/gradients/css3-radial-gradients3.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+  <style type="text/css" media="screen">
+    .box {
+      display: inline-block;
+      height: 200px;
+      width: 250px;
+      margin: 10px;
+      border: 1px solid black;
+      background-repeat: no-repeat;
+    }
+
+    .gradient1 {
+      background-image: -webkit-radial-gradient(center, 50% 50%, black, white);
+      background-image: -moz-radial-gradient(center, 50% 50%, black, white);
+    }
+
+    .gradient2 {
+      background-image: -webkit-repeating-radial-gradient(center, 20% 20%, black, white, black);
+      background-image: -moz-repeating-radial-gradient(center, 20% 20%, black, white, black);
+    }
+
+  </style>
+  <script type="text/javascript" charset="utf-8">
+    if (window.layoutTestController) {
+      var dumpPixels = true;
+      layoutTestController.dumpAsText(dumpPixels);
+    }
+  </script>
+</head>
+<body>
+
+  <div class="gradient1 box"></div>
+  <div class="gradient2 box"></div>
+
+</body>
+</html>