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>