[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

rwlbuis at webkit.org rwlbuis at webkit.org
Wed Dec 22 16:07:02 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 5021d4849d83b44e36be4b98c69ac4af6b91beca
Author: rwlbuis at webkit.org <rwlbuis at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Nov 18 20:01:10 2010 +0000

    2010-11-18  Rob Buis  <rwlbuis at gmail.com>
    
            Reviewed by Simon Fraser.
    
            Only inject fullscreen.css when in fullscreen
            https://bugs.webkit.org/show_bug.cgi?id=49510
    
            Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
    
            * css/CSSStyleSelector.cpp:
            (WebCore::CSSStyleSelector::CSSStyleSelector):
            (WebCore::loadFullDefaultStyle):
            (WebCore::loadFullScreenRulesIfNeeded):
            (WebCore::CSSStyleSelector::styleForElement):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72321 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index dfd264c..bb7babd 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-11-18  Rob Buis  <rwlbuis at gmail.com>
+
+        Reviewed by Simon Fraser.
+
+        Only inject fullscreen.css when in fullscreen
+        https://bugs.webkit.org/show_bug.cgi?id=49510
+
+        Refactor to only add fullscreen sheet rules when document is in fullscreen mode.
+
+        * css/CSSStyleSelector.cpp:
+        (WebCore::CSSStyleSelector::CSSStyleSelector):
+        (WebCore::loadFullDefaultStyle):
+        (WebCore::loadFullScreenRulesIfNeeded):
+        (WebCore::CSSStyleSelector::styleForElement):
+
 2010-11-18  Steve Falkenburg  <sfalken at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/WebCore/css/CSSStyleSelector.cpp b/WebCore/css/CSSStyleSelector.cpp
index af67fb3..1ff3bd5 100644
--- a/WebCore/css/CSSStyleSelector.cpp
+++ b/WebCore/css/CSSStyleSelector.cpp
@@ -389,6 +389,9 @@ static CSSStyleSheet* simpleDefaultStyleSheet;
 RenderStyle* CSSStyleSelector::s_styleNotYetAvailable;
 
 static void loadFullDefaultStyle();
+#if ENABLE(FULLSCREEN_API)
+static void loadFullScreenRulesIfNeeded(Document*);
+#endif
 static void loadSimpleDefaultStyle();
 // FIXME: It would be nice to use some mechanism that guarantees this is in sync with the real UA stylesheet.
 static const char* simpleUserAgentStyleSheet = "html,body,div{display:block}body{margin:8px}div:focus,span:focus{outline:auto 5px -webkit-focus-ring-color}a:-webkit-any-link{color:-webkit-link;text-decoration:underline}a:-webkit-any-link:active{color:-webkit-activelink}";
@@ -427,8 +430,12 @@ CSSStyleSelector::CSSStyleSelector(Document* document, StyleSheetList* styleShee
     if (!defaultStyle) {
         if (!root || elementCanUseSimpleDefaultStyle(root))
             loadSimpleDefaultStyle();
-        else
+        else {
             loadFullDefaultStyle();
+#if ENABLE(FULLSCREEN_API)
+            loadFullScreenRulesIfNeeded(document);
+#endif
+        }
     }
 
     // construct document root element default style. this is needed
@@ -534,15 +541,20 @@ static void loadFullDefaultStyle()
     String quirksRules = String(quirksUserAgentStyleSheet, sizeof(quirksUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraQuirksStyleSheet();
     CSSStyleSheet* quirksSheet = parseUASheet(quirksRules);
     defaultQuirksStyle->addRulesFromSheet(quirksSheet, screenEval());
-    
+}
+
 #if ENABLE(FULLSCREEN_API)
+static void loadFullScreenRulesIfNeeded(Document* document)
+{
+    if (!document->webkitFullScreen())
+        return;
     // Full-screen rules.
     String fullscreenRules = String(fullscreenUserAgentStyleSheet, sizeof(fullscreenUserAgentStyleSheet)) + RenderTheme::defaultTheme()->extraDefaultStyleSheet();
     CSSStyleSheet* fullscreenSheet = parseUASheet(fullscreenRules);
     defaultStyle->addRulesFromSheet(fullscreenSheet, screenEval());
     defaultQuirksStyle->addRulesFromSheet(fullscreenSheet, screenEval());
-#endif
 }
+#endif
 
 static void loadSimpleDefaultStyle()
 {
@@ -1141,8 +1153,12 @@ PassRefPtr<RenderStyle> CSSStyleSelector::styleForElement(Element* e, RenderStyl
         m_style->setInsideLink(m_elementLinkState);
     }
     
-    if (simpleDefaultStyleSheet && !elementCanUseSimpleDefaultStyle(e))
+    if (simpleDefaultStyleSheet && !elementCanUseSimpleDefaultStyle(e)) {
         loadFullDefaultStyle();
+#if ENABLE(FULLSCREEN_API)
+        loadFullScreenRulesIfNeeded(e->document());
+#endif
+    }
 
 #if ENABLE(SVG)
     static bool loadedSVGUserAgentSheet;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list