Diff
Modified: trunk/LayoutTests/ChangeLog (107071 => 107072)
--- trunk/LayoutTests/ChangeLog 2012-02-08 12:31:11 UTC (rev 107071)
+++ trunk/LayoutTests/ChangeLog 2012-02-08 12:34:24 UTC (rev 107072)
@@ -1,3 +1,17 @@
+2012-02-08 Antaryami Pandia <antaryami.pan...@motorola.com>
+
+ CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
+ https://bugs.webkit.org/show_bug.cgi?id=69993
+
+ Reviewed by Simon Fraser.
+
+ * fast/css/getComputedStyle/computed-style-select-overflow-expected.txt: Added.
+ * fast/css/getComputedStyle/computed-style-select-overflow.html: Added.
+ * fast/forms/select-overflow-scroll-inherited.html: Added.
+ * fast/forms/select-overflow-scroll.html: Added.
+ * platform/gtk/fast/forms/select-overflow-scroll-expected.txt: Added.
+ * platform/gtk/fast/forms/select-overflow-scroll-inherited-expected.txt: Added.
+
2012-02-08 Nikolas Zimmermann <nzimmerm...@rim.com>
Not reviewed. Rebaseline Qt/SVG results.
Added: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow-expected.txt (0 => 107072)
--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow-expected.txt 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,10 @@
+Test computed style for the overflow property of select element
+
+PASS computedOverflowStyle('scroll', 'overflow-x') is 'scroll'
+PASS computedOverflowStyle('scroll', 'overflow-y') is 'scroll'
+PASS computedInheritedOverflowStyle('inherit', 'overflow-x') is 'scroll'
+PASS computedInheritedOverflowStyle('inherit', 'overflow-y') is 'scroll'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
Added: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow.html (0 => 107072)
--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow.html (rev 0)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-select-overflow.html 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="utf-8">
+<link rel="stylesheet" href=""
+<script src=""
+</head>
+<body>
+<p>Test computed style for the overflow property of select element</p>
+<div id="console"></div>
+
+<div id="test">
+<select id="wut" name="wut" size="8">
+ <option value="1">One</option>
+ <option value="2">Two</option>
+ <option value="3">Three</option>
+ <option value="4">Four</option>
+ <option value="5">Five</option>
+ <option value="6">Six</option>
+ <option value="7">Seven</option>
+ <option value="8">Eight</option>
+ <option value="9">Nine</option>
+ <option value="10">Ten</option>
+</select>
+</div>
+
+<script>
+
+
+function computedOverflowStyle(overflowStyle, property) {
+ var selectElement = document.getElementById("wut");
+ selectElement.style.overflow = overflowStyle;
+ return window.getComputedStyle(selectElement).getPropertyValue(property);
+}
+
+function computedInheritedOverflowStyle(overflowStyle, property) {
+ var divElement = document.getElementById("test");
+ divElement.style.overflow = 'scroll';
+
+ var selectElement = document.getElementById("wut");
+ selectElement.style.overflow = overflowStyle;
+ return window.getComputedStyle(selectElement).getPropertyValue(property);
+}
+
+shouldBe("computedOverflowStyle('scroll', 'overflow-x')", "'scroll'");
+shouldBe("computedOverflowStyle('scroll', 'overflow-y')", "'scroll'");
+
+shouldBe("computedInheritedOverflowStyle('inherit', 'overflow-x')", "'scroll'");
+shouldBe("computedInheritedOverflowStyle('inherit', 'overflow-y')", "'scroll'");
+
+
+var successfullyParsed = true;
+
+</script>
+<script src=""
+</body>
+</html>
Added: trunk/LayoutTests/fast/forms/select-overflow-scroll-inherited.html (0 => 107072)
--- trunk/LayoutTests/fast/forms/select-overflow-scroll-inherited.html (rev 0)
+++ trunk/LayoutTests/fast/forms/select-overflow-scroll-inherited.html 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,17 @@
+<html>
+<body>
+<div style="overflow:scroll">
+ <select id="wut" name="wut" size="8" style="overflow: inherit;">
+ <option value="1">One</option>
+ <option value="2">Two</option>
+ <option value="3">Three</option>
+ <option value="4">Four</option>
+ <option value="5">Five</option>
+ <option value="6">Six</option>
+ <option value="7">Seven</option>
+ <option value="8">Eight</option>
+ <option value="9">Nine</option>
+ <option value="10">Ten</option>
+ </select>
+</body>
+</html>
Added: trunk/LayoutTests/fast/forms/select-overflow-scroll.html (0 => 107072)
--- trunk/LayoutTests/fast/forms/select-overflow-scroll.html (rev 0)
+++ trunk/LayoutTests/fast/forms/select-overflow-scroll.html 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,16 @@
+<html>
+<body>
+<select id="wut" name="wut" size="8" style="overflow: scroll;">
+ <option value="1">One</option>
+ <option value="2">Two</option>
+ <option value="3">Three</option>
+ <option value="4">Four</option>
+ <option value="5">Five</option>
+ <option value="6">Six</option>
+ <option value="7">Seven</option>
+ <option value="8">Eight</option>
+ <option value="9">Nine</option>
+ <option value="10">Ten</option>
+</select>
+</body>
+</html>
Added: trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-expected.txt (0 => 107072)
--- trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-expected.txt 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+ RenderText {#text} at (0,0) size 0x0
+layer at (10,10) size 68x161 clip at (11,11) size 66x159
+ RenderListBox {SELECT} at (2,2) size 68x161 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
Added: trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-inherited-expected.txt (0 => 107072)
--- trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-inherited-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/gtk/fast/forms/select-overflow-scroll-inherited-expected.txt 2012-02-08 12:34:24 UTC (rev 107072)
@@ -0,0 +1,10 @@
+layer at (0,0) size 800x600
+ RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+ RenderBlock {HTML} at (0,0) size 800x600
+ RenderBody {BODY} at (8,8) size 784x584
+layer at (8,8) size 784x181 clip at (8,8) size 768x165
+ RenderBlock {DIV} at (0,0) size 784x181
+ RenderText {#text} at (0,0) size 0x0
+layer at (10,10) size 68x161 clip at (11,11) size 66x159
+ RenderListBox {SELECT} at (2,2) size 68x161 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
Modified: trunk/Source/WebCore/ChangeLog (107071 => 107072)
--- trunk/Source/WebCore/ChangeLog 2012-02-08 12:31:11 UTC (rev 107071)
+++ trunk/Source/WebCore/ChangeLog 2012-02-08 12:34:24 UTC (rev 107072)
@@ -1,3 +1,23 @@
+2012-02-08 Antaryami Pandia <antaryami.pan...@motorola.com>
+
+ CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
+ https://bugs.webkit.org/show_bug.cgi?id=69993
+
+ Reviewed by Simon Fraser.
+
+ The issue was that for overflow:scroll, currently webkit always places the horizontal
+ and vertical scrollbar. But Since the listbox renderer handles its scrolling,
+ we should not set scrollbar for list-box.
+
+ Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
+ fast/forms/select-overflow-scroll-inherited.html
+ fast/forms/select-overflow-scroll.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutBlock):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+
2012-02-08 Nikolas Zimmermann <nzimmerm...@rim.com>
feImage doesn't invalidate when its target SVG element is animated
Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (107071 => 107072)
--- trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-02-08 12:31:11 UTC (rev 107071)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp 2012-02-08 12:34:24 UTC (rev 107072)
@@ -1326,7 +1326,7 @@
}
// For overflow:scroll blocks, ensure we have both scrollbars in place always.
- if (scrollsOverflow()) {
+ if (scrollsOverflow() && style()->appearance() != ListboxPart) {
if (styleToUse->overflowX() == OSCROLL)
layer()->setHasHorizontalScrollbar(true);
if (styleToUse->overflowY() == OSCROLL)
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (107071 => 107072)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-02-08 12:31:11 UTC (rev 107071)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2012-02-08 12:34:24 UTC (rev 107072)
@@ -2337,9 +2337,9 @@
bool haveVerticalBar = m_vBar;
// overflow:scroll should just enable/disable.
- if (renderer()->style()->overflowX() == OSCROLL)
+ if (m_hBar && renderer()->style()->overflowX() == OSCROLL)
m_hBar->setEnabled(horizontalOverflow);
- if (renderer()->style()->overflowY() == OSCROLL)
+ if (m_vBar && renderer()->style()->overflowY() == OSCROLL)
m_vBar->setEnabled(verticalOverflow);
// A dynamic change from a scrolling overflow to overflow:hidden means we need to get rid of any