Title: [139267] trunk
Revision
139267
Author
shin...@chromium.org
Date
2013-01-09 18:24:43 -0800 (Wed, 09 Jan 2013)

Log Message

Assert triggered in SelectorChecker::checkOneSelector when scrollbar (e.g. :horizontal) selector is specified.
https://bugs.webkit.org/show_bug.cgi?id=106414

Reviewed by Dimitri Glazkov.

Source/WebCore:

In SelectorChecker::checkOneSelector, scrollbar related pseudoType (e.g. :horizontal) is not handled anywhere.
This caused ASSERT triggered. We have to check them.

Test: fast/css/scrollbar-crash.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):

LayoutTests:

* fast/css/scrollbar-crash-expected.txt: Added.
* fast/css/scrollbar-crash.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (139266 => 139267)


--- trunk/LayoutTests/ChangeLog	2013-01-10 02:16:15 UTC (rev 139266)
+++ trunk/LayoutTests/ChangeLog	2013-01-10 02:24:43 UTC (rev 139267)
@@ -1,3 +1,13 @@
+2013-01-09  Shinya Kawanaka  <shin...@chromium.org>
+
+        Assert triggered in SelectorChecker::checkOneSelector when scrollbar (e.g. :horizontal) selector is specified.
+        https://bugs.webkit.org/show_bug.cgi?id=106414
+
+        Reviewed by Dimitri Glazkov.
+
+        * fast/css/scrollbar-crash-expected.txt: Added.
+        * fast/css/scrollbar-crash.html: Added.
+
 2013-01-09  Takashi Sakamoto  <ta...@google.com>
 
         border-radius with box-shadow is not rendered correctly

Added: trunk/LayoutTests/fast/css/scrollbar-crash-expected.txt (0 => 139267)


--- trunk/LayoutTests/fast/css/scrollbar-crash-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/css/scrollbar-crash-expected.txt	2013-01-10 02:24:43 UTC (rev 139267)
@@ -0,0 +1,3 @@
+When scrollbar related pseudo types are specified, ASSERT should not be triggered.
+
+PASS unless crash.

Added: trunk/LayoutTests/fast/css/scrollbar-crash.html (0 => 139267)


--- trunk/LayoutTests/fast/css/scrollbar-crash.html	                        (rev 0)
+++ trunk/LayoutTests/fast/css/scrollbar-crash.html	2013-01-10 02:24:43 UTC (rev 139267)
@@ -0,0 +1,19 @@
+<style>
+:horizontal {}
+:vertical {}
+:double-button {}
+:single-button {}
+:no-button {}
+:corner-present {}
+:increment {}
+:decrement {}
+:start {}
+:end {}
+</style>
+
+<script>
+if (window.testRunner)
+   testRunner.dumpAsText();
+</script>
+<p>When scrollbar related pseudo types are specified, ASSERT should not be triggered.</p>
+<p>PASS unless crash.</p>

Modified: trunk/Source/WebCore/ChangeLog (139266 => 139267)


--- trunk/Source/WebCore/ChangeLog	2013-01-10 02:16:15 UTC (rev 139266)
+++ trunk/Source/WebCore/ChangeLog	2013-01-10 02:24:43 UTC (rev 139267)
@@ -1,3 +1,18 @@
+2013-01-09  Shinya Kawanaka  <shin...@chromium.org>
+
+        Assert triggered in SelectorChecker::checkOneSelector when scrollbar (e.g. :horizontal) selector is specified.
+        https://bugs.webkit.org/show_bug.cgi?id=106414
+
+        Reviewed by Dimitri Glazkov.
+
+        In SelectorChecker::checkOneSelector, scrollbar related pseudoType (e.g. :horizontal) is not handled anywhere.
+        This caused ASSERT triggered. We have to check them.
+
+        Test: fast/css/scrollbar-crash.html
+
+        * css/SelectorChecker.cpp:
+        (WebCore::SelectorChecker::checkOneSelector):
+
 2013-01-09  Filip Pizlo  <fpi...@apple.com>
 
         Unreviewed, fix build after http://trac.webkit.org/changeset/139262

Modified: trunk/Source/WebCore/css/SelectorChecker.cpp (139266 => 139267)


--- trunk/Source/WebCore/css/SelectorChecker.cpp	2013-01-10 02:16:15 UTC (rev 139266)
+++ trunk/Source/WebCore/css/SelectorChecker.cpp	2013-01-10 02:24:43 UTC (rev 139267)
@@ -945,6 +945,19 @@
                 return true;
             return false;
 #endif
+
+        case CSSSelector::PseudoHorizontal:
+        case CSSSelector::PseudoVertical:
+        case CSSSelector::PseudoDecrement:
+        case CSSSelector::PseudoIncrement:
+        case CSSSelector::PseudoStart:
+        case CSSSelector::PseudoEnd:
+        case CSSSelector::PseudoDoubleButton:
+        case CSSSelector::PseudoSingleButton:
+        case CSSSelector::PseudoNoButton:
+        case CSSSelector::PseudoCornerPresent:
+            return false;
+
         case CSSSelector::PseudoUnknown:
         case CSSSelector::PseudoNotParsed:
         default:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to