| Index: third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp b/third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp
|
| index 3d30b471961b3827f1c031edab3f0c40e6c73532..51dbf5f34a8f91915adfff8c5641d85314ec7456 100644
|
| --- a/third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp
|
| +++ b/third_party/WebKit/Source/core/css/CSSDefaultStyleSheets.cpp
|
| @@ -72,21 +72,6 @@ static StyleSheetContents* parseUASheet(const String& str)
|
| }
|
|
|
| CSSDefaultStyleSheets::CSSDefaultStyleSheets()
|
| - : m_defaultStyle(nullptr)
|
| - , m_defaultMobileViewportStyle(nullptr)
|
| - , m_defaultTelevisionViewportStyle(nullptr)
|
| - , m_defaultQuirksStyle(nullptr)
|
| - , m_defaultPrintStyle(nullptr)
|
| - , m_defaultViewSourceStyle(nullptr)
|
| - , m_defaultXHTMLMobileProfileStyle(nullptr)
|
| - , m_defaultStyleSheet(nullptr)
|
| - , m_mobileViewportStyleSheet(nullptr)
|
| - , m_televisionViewportStyleSheet(nullptr)
|
| - , m_quirksStyleSheet(nullptr)
|
| - , m_svgStyleSheet(nullptr)
|
| - , m_mathmlStyleSheet(nullptr)
|
| - , m_mediaControlsStyleSheet(nullptr)
|
| - , m_fullscreenStyleSheet(nullptr)
|
| {
|
| m_defaultStyle = RuleSet::create();
|
| m_defaultPrintStyle = RuleSet::create();
|
| @@ -115,39 +100,31 @@ RuleSet* CSSDefaultStyleSheets::defaultViewSourceStyle()
|
| return m_defaultViewSourceStyle.get();
|
| }
|
|
|
| -RuleSet* CSSDefaultStyleSheets::defaultXHTMLMobileProfileStyle()
|
| +StyleSheetContents* CSSDefaultStyleSheets::ensureXHTMLMobileProfileStyleSheet()
|
| {
|
| - if (!m_defaultXHTMLMobileProfileStyle) {
|
| - m_defaultXHTMLMobileProfileStyle = RuleSet::create();
|
| - // Loaded stylesheet is leaked on purpose.
|
| - StyleSheetContents* stylesheet = parseUASheet(loadResourceAsASCIIString("xhtmlmp.css"));
|
| - m_defaultXHTMLMobileProfileStyle->addRulesFromSheet(stylesheet, screenEval());
|
| - }
|
| - return m_defaultXHTMLMobileProfileStyle.get();
|
| + if (!m_xhtmlMobileProfileStyleSheet)
|
| + m_xhtmlMobileProfileStyleSheet = parseUASheet(loadResourceAsASCIIString("xhtmlmp.css"));
|
| + return m_xhtmlMobileProfileStyleSheet.get();
|
| }
|
|
|
| -RuleSet* CSSDefaultStyleSheets::defaultMobileViewportStyle()
|
| +StyleSheetContents* CSSDefaultStyleSheets::ensureMobileViewportStyleSheet()
|
| {
|
| - if (!m_defaultMobileViewportStyle) {
|
| - m_defaultMobileViewportStyle = RuleSet::create();
|
| + if (!m_mobileViewportStyleSheet)
|
| m_mobileViewportStyleSheet = parseUASheet(loadResourceAsASCIIString("viewportAndroid.css"));
|
| - m_defaultMobileViewportStyle->addRulesFromSheet(m_mobileViewportStyleSheet.get(), screenEval());
|
| - }
|
| - return m_defaultMobileViewportStyle.get();
|
| + return m_mobileViewportStyleSheet.get();
|
| }
|
|
|
| -RuleSet* CSSDefaultStyleSheets::defaultTelevisionViewportStyle()
|
| +StyleSheetContents* CSSDefaultStyleSheets::ensureTelevisionViewportStyleSheet()
|
| {
|
| - if (!m_defaultTelevisionViewportStyle) {
|
| - m_defaultTelevisionViewportStyle = RuleSet::create();
|
| + if (!m_televisionViewportStyleSheet)
|
| m_televisionViewportStyleSheet = parseUASheet(loadResourceAsASCIIString("viewportTelevision.css"));
|
| - m_defaultTelevisionViewportStyle->addRulesFromSheet(m_televisionViewportStyleSheet.get(), screenEval());
|
| - }
|
| - return m_defaultTelevisionViewportStyle.get();
|
| + return m_televisionViewportStyleSheet.get();
|
| }
|
|
|
| -void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(const Element& element, bool& changedDefaultStyle)
|
| +bool CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(const Element& element)
|
| {
|
| + bool changedDefaultStyle = false;
|
| +
|
| // FIXME: We should assert that the sheet only styles SVG elements.
|
| if (element.isSVGElement() && !m_svgStyleSheet) {
|
| m_svgStyleSheet = parseUASheet(loadResourceAsASCIIString("svg.css"));
|
| @@ -179,31 +156,32 @@ void CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement(const Element& el
|
|
|
| ASSERT(!m_defaultStyle->features().hasIdsInSelectors());
|
| ASSERT(m_defaultStyle->features().siblingRules.isEmpty());
|
| +
|
| + return changedDefaultStyle;
|
| }
|
|
|
| -void CSSDefaultStyleSheets::ensureDefaultStyleSheetForFullscreen()
|
| +bool CSSDefaultStyleSheets::ensureDefaultStyleSheetForFullscreen()
|
| {
|
| if (m_fullscreenStyleSheet)
|
| - return;
|
| + return false;
|
|
|
| String fullscreenRules = loadResourceAsASCIIString("fullscreen.css") + LayoutTheme::theme().extraFullScreenStyleSheet();
|
| m_fullscreenStyleSheet = parseUASheet(fullscreenRules);
|
| m_defaultStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval());
|
| m_defaultQuirksStyle->addRulesFromSheet(fullscreenStyleSheet(), screenEval());
|
| + return true;
|
| }
|
|
|
| DEFINE_TRACE(CSSDefaultStyleSheets)
|
| {
|
| visitor->trace(m_defaultStyle);
|
| - visitor->trace(m_defaultMobileViewportStyle);
|
| - visitor->trace(m_defaultTelevisionViewportStyle);
|
| visitor->trace(m_defaultQuirksStyle);
|
| visitor->trace(m_defaultPrintStyle);
|
| visitor->trace(m_defaultViewSourceStyle);
|
| - visitor->trace(m_defaultXHTMLMobileProfileStyle);
|
| visitor->trace(m_defaultStyleSheet);
|
| visitor->trace(m_mobileViewportStyleSheet);
|
| visitor->trace(m_televisionViewportStyleSheet);
|
| + visitor->trace(m_xhtmlMobileProfileStyleSheet);
|
| visitor->trace(m_quirksStyleSheet);
|
| visitor->trace(m_svgStyleSheet);
|
| visitor->trace(m_mathmlStyleSheet);
|
|
|