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, 2010, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 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) 2010 Nokia Corporation and/or its subsidiary(-ies) | 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
9 * Copyright (C) 2013 Google Inc. All rights reserved. | 9 * Copyright (C) 2013 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 if (rel.contains("alternate") && title.isEmpty()) | 83 if (rel.contains("alternate") && title.isEmpty()) |
84 activeSheet = 0; | 84 activeSheet = 0; |
85 | 85 |
86 if (sheet) | 86 if (sheet) |
87 collection.appendSheetForList(sheet); | 87 collection.appendSheetForList(sheet); |
88 if (activeSheet) | 88 if (activeSheet) |
89 collection.appendActiveStyleSheet(activeSheet); | 89 collection.appendActiveStyleSheet(activeSheet); |
90 } | 90 } |
91 } | 91 } |
92 | 92 |
93 bool ShadowTreeStyleSheetCollection::updateActiveStyleSheets(StyleEngine* engine
, StyleResolverUpdateMode updateMode) | |
94 { | |
95 StyleSheetCollectionBase collection; | |
96 collectStyleSheets(engine, collection); | |
97 | |
98 StyleSheetChange change; | |
99 analyzeStyleSheetChange(updateMode, collection, change); | |
100 | |
101 if (StyleResolver* styleResolver = engine->resolverIfExists()) { | |
102 // FIXME: We might have already had styles in child treescope. In this c
ase, we cannot use buildScopedStyleTreeInDocumentOrder. | |
103 // Need to change "false" to some valid condition. | |
104 styleResolver->setBuildScopedStyleTreeInDocumentOrder(false); | |
105 if (change.styleResolverUpdateType != Additive) { | |
106 // We should not destroy StyleResolver when we find any stylesheet u
pdate in a shadow tree. | |
107 // In this case, we will reset rulesets created from style elements
in the shadow tree. | |
108 resetAllRuleSetsInTreeScope(styleResolver); | |
109 styleResolver->removePendingAuthorStyleSheets(m_activeAuthorStyleShe
ets); | |
110 styleResolver->lazyAppendAuthorStyleSheets(0, collection.activeAutho
rStyleSheets()); | |
111 } else { | |
112 styleResolver->lazyAppendAuthorStyleSheets(m_activeAuthorStyleSheets
.size(), collection.activeAuthorStyleSheets()); | |
113 } | |
114 } | |
115 if (change.requiresFullStyleRecalc) | |
116 toShadowRoot(m_treeScope.rootNode())->host()->setNeedsStyleRecalc(); | |
117 | |
118 m_scopingNodesForStyleScoped.didRemoveScopingNodes(); | |
119 collection.swap(*this); | |
120 updateUsesRemUnits(); | |
121 | |
122 return change.requiresFullStyleRecalc; | |
123 } | 93 } |
124 | |
125 } | |
OLD | NEW |