Title: [87389] trunk
- Revision
- 87389
- Author
- simon.fra...@apple.com
- Date
- 2011-05-26 08:56:47 -0700 (Thu, 26 May 2011)
Log Message
2011-05-26 Simon Fraser <simon.fra...@apple.com>
Reviewed by Adam Roben.
Some repeating linear gradients look wrong
https://bugs.webkit.org/show_bug.cgi?id=61371
Test: fast/gradients/css3-repeating-linear-gradients2.html
Fix incorrect stop duplication code when filling forwards a repeating
gradient. The "if (srcStopOrdinal < originalNumStops - 1)" test was wrong
because srcStopOrdinal had been adjusted for stops added by start-filling,
but originalNumStops had not. Fix by considering srcStopOrdinal as an index
into the original stops, so comparing it with originalNumStops remains valid.
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::addStops):
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (87388 => 87389)
--- trunk/LayoutTests/ChangeLog 2011-05-26 15:54:54 UTC (rev 87388)
+++ trunk/LayoutTests/ChangeLog 2011-05-26 15:56:47 UTC (rev 87389)
@@ -1,5 +1,18 @@
2011-05-25 Simon Fraser <simon.fra...@apple.com>
+ Reviewed by Adam Roben.
+
+ Some repeating linear gradients look wrong
+ https://bugs.webkit.org/show_bug.cgi?id=61371
+
+ Pixel test for repeating linear gradient.
+
+ * fast/gradients/css3-repeating-linear-gradients2-expected.txt: Added.
+ * fast/gradients/css3-repeating-linear-gradients2.html: Added.
+ * platform/mac/fast/gradients/css3-repeating-linear-gradients2-expected.png: Added.
+
+2011-05-25 Simon Fraser <simon.fra...@apple.com>
+
Reviewed by Dan Bernstein.
Always antialias table borders when scaling
Added: trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2-expected.txt (0 => 87389)
--- trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2-expected.txt 2011-05-26 15:56:47 UTC (rev 87389)
@@ -0,0 +1 @@
+
Added: trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2.html (0 => 87389)
--- trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2.html (rev 0)
+++ trunk/LayoutTests/fast/gradients/css3-repeating-linear-gradients2.html 2011-05-26 15:56:47 UTC (rev 87389)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+ <style>
+ .box {
+ display: inline-block;
+ height: 120px;
+ width: 400px;
+ margin: 10px;
+ border: 1px solid black;
+ background-repeat: no-repeat;
+ }
+
+ .linear1 {
+ background-image: -webkit-repeating-linear-gradient(0deg, green 150px, blue 175px, blue 200px);
+ background-image: -moz-repeating-linear-gradient(0deg, green 150px, blue 175px, blue 200px);
+ }
+ </style>
+ <script>
+ if (window.layoutTestController) {
+ var dumpPixels = true;
+ layoutTestController.dumpAsText(dumpPixels);
+ }
+ </script>
+</head>
+<body>
+
+ <div class="linear1 box"></div>
+
+</body>
+</html>
Added: trunk/LayoutTests/platform/mac/fast/gradients/css3-repeating-linear-gradients2-expected.png
(Binary files differ)
Property changes on: trunk/LayoutTests/platform/mac/fast/gradients/css3-repeating-linear-gradients2-expected.png
___________________________________________________________________
Added: svn:mime-type
Modified: trunk/Source/WebCore/ChangeLog (87388 => 87389)
--- trunk/Source/WebCore/ChangeLog 2011-05-26 15:54:54 UTC (rev 87388)
+++ trunk/Source/WebCore/ChangeLog 2011-05-26 15:56:47 UTC (rev 87389)
@@ -1,3 +1,21 @@
+2011-05-26 Simon Fraser <simon.fra...@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Some repeating linear gradients look wrong
+ https://bugs.webkit.org/show_bug.cgi?id=61371
+
+ Test: fast/gradients/css3-repeating-linear-gradients2.html
+
+ Fix incorrect stop duplication code when filling forwards a repeating
+ gradient. The "if (srcStopOrdinal < originalNumStops - 1)" test was wrong
+ because srcStopOrdinal had been adjusted for stops added by start-filling,
+ but originalNumStops had not. Fix by considering srcStopOrdinal as an index
+ into the original stops, so comparing it with originalNumStops remains valid.
+
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientValue::addStops):
+
2011-05-26 Vsevolod Vlasov <vse...@chromium.org>
Reviewed by Yury Semikhatsky.
Modified: trunk/Source/WebCore/css/CSSGradientValue.cpp (87388 => 87389)
--- trunk/Source/WebCore/css/CSSGradientValue.cpp 2011-05-26 15:54:54 UTC (rev 87388)
+++ trunk/Source/WebCore/css/CSSGradientValue.cpp 2011-05-26 15:56:47 UTC (rev 87389)
@@ -281,16 +281,17 @@
float lastOffset = stops[stops.size() - 1].offset;
if (lastOffset < maxExtent) {
float currOffset = lastOffset;
- size_t srcStopOrdinal = originalFirstStopIndex;
+ size_t srcStopOrdinal = 0;
while (true) {
- GradientStop newStop = stops[srcStopOrdinal];
+ size_t srcStopIndex = originalFirstStopIndex + srcStopOrdinal;
+ GradientStop newStop = stops[srcStopIndex];
newStop.offset = currOffset;
stops.append(newStop);
if (currOffset > maxExtent)
break;
if (srcStopOrdinal < originalNumStops - 1)
- currOffset += stops[srcStopOrdinal + 1].offset - stops[srcStopOrdinal].offset;
+ currOffset += stops[srcStopIndex + 1].offset - stops[srcStopIndex].offset;
srcStopOrdinal = (srcStopOrdinal + 1) % originalNumStops;
}
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes