Incorrect UA style when printing a simple document
authormitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Jun 2011 07:21:12 +0000 (07:21 +0000)
committermitz@apple.com <mitz@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Jun 2011 07:21:12 +0000 (07:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=61900

Reviewed by Anders Carlsson.

This is not testable in run-webkit-tests because unless the test is the first to run in an instance
of DumpRenderTree, it is not guaranteed that the full default style sheet has not been initialized.

* css/CSSStyleSelector.cpp:
(WebCore::loadFullDefaultStyle): Replace the simple default print style, which is now equal to the
simple default style, with a new RuleSet before adding the style rules from the full default sheet.
(WebCore::loadSimpleDefaultStyle): Set defaultPrintStyle to point to the default style. They are
equal in the simple case.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@87882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/css/CSSStyleSelector.cpp

index 4e86ac9..ae8aae1 100644 (file)
@@ -1,3 +1,19 @@
+2011-06-01  Dan Bernstein  <mitz@apple.com>
+
+        Reviewed by Anders Carlsson.
+
+        Incorrect UA style when printing a simple document
+        https://bugs.webkit.org/show_bug.cgi?id=61900
+
+        This is not testable in run-webkit-tests because unless the test is the first to run in an instance
+        of DumpRenderTree, it is not guaranteed that the full default style sheet has not been initialized.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::loadFullDefaultStyle): Replace the simple default print style, which is now equal to the
+        simple default style, with a new RuleSet before adding the style rules from the full default sheet.
+        (WebCore::loadSimpleDefaultStyle): Set defaultPrintStyle to point to the default style. They are
+        equal in the simple case.
+
 2011-06-01  Kent Tamura  <tkent@chromium.org>
 
         Reviewed by Dimitri Glazkov.
index 96a74af..1d37f50 100644 (file)
@@ -558,9 +558,11 @@ static void loadFullDefaultStyle()
 {
     if (simpleDefaultStyleSheet) {
         ASSERT(defaultStyle);
+        ASSERT(defaultPrintStyle == defaultStyle);
         delete defaultStyle;
         simpleDefaultStyleSheet->deref();
         defaultStyle = new RuleSet;
+        defaultPrintStyle = new RuleSet;
         simpleDefaultStyleSheet = 0;
     } else {
         ASSERT(!defaultStyle);
@@ -587,7 +589,8 @@ static void loadSimpleDefaultStyle()
     ASSERT(!simpleDefaultStyleSheet);
     
     defaultStyle = new RuleSet;
-    defaultPrintStyle = new RuleSet;
+    // There are no media-specific rules in the simple default style.
+    defaultPrintStyle = defaultStyle;
     defaultQuirksStyle = new RuleSet;
 
     simpleDefaultStyleSheet = parseUASheet(simpleUserAgentStyleSheet, strlen(simpleUserAgentStyleSheet));