2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Simon Fraser.

        SHOULD NEVER BE REACHED assertion loading forbes.com
        https://bugs.webkit.org/show_bug.cgi?id=38272

        * printing/pseudo-class-outside-page-expected.txt: Added.
        * printing/pseudo-class-outside-page.html: Added.
2010-04-30  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Simon Fraser.

        SHOULD NEVER BE REACHED assertion loading forbes.com
        https://bugs.webkit.org/show_bug.cgi?id=38272

        Ignore page media related pseudo classes.

        Test: printing/pseudo-class-outside-page.html

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@58578 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/printing/pseudo-class-outside-page.html b/LayoutTests/printing/pseudo-class-outside-page.html
new file mode 100644
index 0000000..9d88a03
--- /dev/null
+++ b/LayoutTests/printing/pseudo-class-outside-page.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+<head>
+
+<style type="text/css" media="screen">
+    #green {
+        background-color: green;
+    }
+    #test {
+        width: 100px;
+        height: 100px;
+        background-color: green;
+    }
+    /* These selectors should be ignored */
+    #test:first {
+        background-color: red;
+    }
+    #test:left {
+        background-color: red;
+    }
+    #test:right {
+        background-color: red;
+    }
+</style>
+<script>
+    if (window.layoutTestController)
+        layoutTestController.dumpAsText();
+
+    function test()
+    {
+        var expected = getComputedStyle(document.getElementById("green"), null).backgroundColor;
+        var actual = getComputedStyle(document.getElementById("test"), null).backgroundColor;
+        var result = "PASS";
+        if (actual != expected)
+            result = "Expected " + expected + ", but comes " + actual;
+        document.getElementById("result").innerHTML = result;
+    }
+</script>
+</head>
+<body onload="test()">
+
+<p>
+Test case for <a href="https://bugs.webkit.org/show_bug.cgi?id=38272">SHOULD NEVER BE REACHED assertion loading forbes.com</a>.
+Paged media related pseudo-classes should be ignored outside of @page.
+
+<p>
+You should see a green box.
+
+<div id="green"></div>
+<div id="test"></div>
+<div id="result"></div>
+
+</body>
+</html>