| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r
ights reserved. |
| 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 DocumentStyleSheetCollection::~DocumentStyleSheetCollection() | 74 DocumentStyleSheetCollection::~DocumentStyleSheetCollection() |
| 75 { | 75 { |
| 76 if (m_pageUserSheet) | 76 if (m_pageUserSheet) |
| 77 m_pageUserSheet->clearOwnerNode(); | 77 m_pageUserSheet->clearOwnerNode(); |
| 78 for (unsigned i = 0; i < m_injectedUserStyleSheets.size(); ++i) | 78 for (unsigned i = 0; i < m_injectedUserStyleSheets.size(); ++i) |
| 79 m_injectedUserStyleSheets[i]->clearOwnerNode(); | 79 m_injectedUserStyleSheets[i]->clearOwnerNode(); |
| 80 for (unsigned i = 0; i < m_injectedAuthorStyleSheets.size(); ++i) | 80 for (unsigned i = 0; i < m_injectedAuthorStyleSheets.size(); ++i) |
| 81 m_injectedAuthorStyleSheets[i]->clearOwnerNode(); | 81 m_injectedAuthorStyleSheets[i]->clearOwnerNode(); |
| 82 for (unsigned i = 0; i < m_userStyleSheets.size(); ++i) | 82 for (unsigned i = 0; i < m_userStyleSheets.size(); ++i) |
| 83 m_userStyleSheets[i]->clearOwnerNode(); | 83 m_userStyleSheets[i]->clearOwnerNode(); |
| 84 for (unsigned i = 0; i < m_authorStyleSheets.size(); ++i) |
| 85 m_authorStyleSheets[i]->clearOwnerNode(); |
| 84 } | 86 } |
| 85 | 87 |
| 86 void DocumentStyleSheetCollection::combineCSSFeatureFlags() | 88 void DocumentStyleSheetCollection::combineCSSFeatureFlags() |
| 87 { | 89 { |
| 88 // Delay resetting the flags until after next style recalc since unapplying
the style may not work without these set (this is true at least with before/afte
r). | 90 // Delay resetting the flags until after next style recalc since unapplying
the style may not work without these set (this is true at least with before/afte
r). |
| 89 StyleResolver* styleResolver = m_document->styleResolver(); | 91 StyleResolver* styleResolver = m_document->styleResolver(); |
| 90 m_usesSiblingRules = m_usesSiblingRules || styleResolver->usesSiblingRules()
; | 92 m_usesSiblingRules = m_usesSiblingRules || styleResolver->usesSiblingRules()
; |
| 91 m_usesFirstLineRules = m_usesFirstLineRules || styleResolver->usesFirstLineR
ules(); | 93 m_usesFirstLineRules = m_usesFirstLineRules || styleResolver->usesFirstLineR
ules(); |
| 92 m_usesBeforeAfterRules = m_usesBeforeAfterRules || styleResolver->usesBefore
AfterRules(); | 94 m_usesBeforeAfterRules = m_usesBeforeAfterRules || styleResolver->usesBefore
AfterRules(); |
| 93 } | 95 } |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 } | 186 } |
| 185 } | 187 } |
| 186 } | 188 } |
| 187 | 189 |
| 188 void DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache() | 190 void DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache() |
| 189 { | 191 { |
| 190 m_injectedStyleSheetCacheValid = false; | 192 m_injectedStyleSheetCacheValid = false; |
| 191 m_document->styleResolverChanged(DeferRecalcStyle); | 193 m_document->styleResolverChanged(DeferRecalcStyle); |
| 192 } | 194 } |
| 193 | 195 |
| 196 void DocumentStyleSheetCollection::addAuthorSheet(PassRefPtr<StyleSheetContents>
authorSheet) |
| 197 { |
| 198 ASSERT(!authorSheet->isUserStyleSheet()); |
| 199 m_authorStyleSheets.append(CSSStyleSheet::create(authorSheet, m_document)); |
| 200 m_document->styleResolverChanged(RecalcStyleImmediately); |
| 201 } |
| 202 |
| 194 void DocumentStyleSheetCollection::addUserSheet(PassRefPtr<StyleSheetContents> u
serSheet) | 203 void DocumentStyleSheetCollection::addUserSheet(PassRefPtr<StyleSheetContents> u
serSheet) |
| 195 { | 204 { |
| 196 ASSERT(userSheet->isUserStyleSheet()); | 205 ASSERT(userSheet->isUserStyleSheet()); |
| 197 m_userStyleSheets.append(CSSStyleSheet::create(userSheet, m_document)); | 206 m_userStyleSheets.append(CSSStyleSheet::create(userSheet, m_document)); |
| 198 m_document->styleResolverChanged(RecalcStyleImmediately); | 207 m_document->styleResolverChanged(RecalcStyleImmediately); |
| 199 } | 208 } |
| 200 | 209 |
| 201 // This method is called whenever a top-level stylesheet has finished loading. | 210 // This method is called whenever a top-level stylesheet has finished loading. |
| 202 void DocumentStyleSheetCollection::removePendingSheet(RemovePendingSheetNotifica
tionType notification) | 211 void DocumentStyleSheetCollection::removePendingSheet(RemovePendingSheetNotifica
tionType notification) |
| 203 { | 212 { |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 | 458 |
| 450 } | 459 } |
| 451 if (!m_document->renderer() || !m_document->attached()) | 460 if (!m_document->renderer() || !m_document->attached()) |
| 452 return false; | 461 return false; |
| 453 | 462 |
| 454 Vector<RefPtr<StyleSheet> > activeStyleSheets; | 463 Vector<RefPtr<StyleSheet> > activeStyleSheets; |
| 455 collectActiveStyleSheets(activeStyleSheets); | 464 collectActiveStyleSheets(activeStyleSheets); |
| 456 | 465 |
| 457 Vector<RefPtr<CSSStyleSheet> > activeCSSStyleSheets; | 466 Vector<RefPtr<CSSStyleSheet> > activeCSSStyleSheets; |
| 458 activeCSSStyleSheets.append(injectedAuthorStyleSheets()); | 467 activeCSSStyleSheets.append(injectedAuthorStyleSheets()); |
| 468 activeCSSStyleSheets.append(documentAuthorStyleSheets()); |
| 459 collectActiveCSSStyleSheetsFromSeamlessParents(activeCSSStyleSheets, m_docum
ent); | 469 collectActiveCSSStyleSheetsFromSeamlessParents(activeCSSStyleSheets, m_docum
ent); |
| 460 filterEnabledCSSStyleSheets(activeCSSStyleSheets, activeStyleSheets); | 470 filterEnabledCSSStyleSheets(activeCSSStyleSheets, activeStyleSheets); |
| 461 | 471 |
| 462 StyleResolverUpdateType styleResolverUpdateType; | 472 StyleResolverUpdateType styleResolverUpdateType; |
| 463 bool requiresFullStyleRecalc; | 473 bool requiresFullStyleRecalc; |
| 464 analyzeStyleSheetChange(updateFlag, activeCSSStyleSheets, styleResolverUpdat
eType, requiresFullStyleRecalc); | 474 analyzeStyleSheetChange(updateFlag, activeCSSStyleSheets, styleResolverUpdat
eType, requiresFullStyleRecalc); |
| 465 | 475 |
| 466 if (styleResolverUpdateType == Reconstruct) | 476 if (styleResolverUpdateType == Reconstruct) |
| 467 m_document->clearStyleResolver(); | 477 m_document->clearStyleResolver(); |
| 468 else { | 478 else { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 487 return requiresFullStyleRecalc; | 497 return requiresFullStyleRecalc; |
| 488 } | 498 } |
| 489 | 499 |
| 490 void DocumentStyleSheetCollection::reportMemoryUsage(MemoryObjectInfo* memoryObj
ectInfo) const | 500 void DocumentStyleSheetCollection::reportMemoryUsage(MemoryObjectInfo* memoryObj
ectInfo) const |
| 491 { | 501 { |
| 492 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM); | 502 MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM); |
| 493 info.addMember(m_pageUserSheet); | 503 info.addMember(m_pageUserSheet); |
| 494 info.addMember(m_injectedUserStyleSheets); | 504 info.addMember(m_injectedUserStyleSheets); |
| 495 info.addMember(m_injectedAuthorStyleSheets); | 505 info.addMember(m_injectedAuthorStyleSheets); |
| 496 info.addMember(m_userStyleSheets); | 506 info.addMember(m_userStyleSheets); |
| 507 info.addMember(m_authorStyleSheets); |
| 497 info.addMember(m_activeAuthorStyleSheets); | 508 info.addMember(m_activeAuthorStyleSheets); |
| 498 info.addMember(m_styleSheetsForStyleSheetList); | 509 info.addMember(m_styleSheetsForStyleSheetList); |
| 499 info.addMember(m_styleSheetCandidateNodes); | 510 info.addMember(m_styleSheetCandidateNodes); |
| 500 info.addMember(m_preferredStylesheetSetName); | 511 info.addMember(m_preferredStylesheetSetName); |
| 501 info.addMember(m_selectedStylesheetSetName); | 512 info.addMember(m_selectedStylesheetSetName); |
| 502 } | 513 } |
| 503 | 514 |
| 504 } | 515 } |
| OLD | NEW |