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>