[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