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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 { | 90 { |
91 StyleSheetCollection collection; | 91 StyleSheetCollection collection; |
92 ActiveDocumentStyleSheetCollector collector(collection); | 92 ActiveDocumentStyleSheetCollector collector(collection); |
93 collectStyleSheets(engine, collector); | 93 collectStyleSheets(engine, collector); |
94 | 94 |
95 StyleSheetChange change; | 95 StyleSheetChange change; |
96 analyzeStyleSheetChange(updateMode, collection, change); | 96 analyzeStyleSheetChange(updateMode, collection, change); |
97 | 97 |
98 if (change.styleResolverUpdateType == Reconstruct) { | 98 if (change.styleResolverUpdateType == Reconstruct) { |
99 engine.clearMasterResolver(); | 99 engine.clearMasterResolver(); |
100 // FIMXE: The following depends on whether StyleRuleFontFace was modifie
d or not. | 100 // TODO(rune@opera.com): The following depends on whether StyleRuleFontF
ace was modified or not. |
101 // No need to always-clear font cache. | 101 // We should only remove modified/removed @font-face rules, or @font-fac
e rules from removed |
102 engine.clearFontCache(); | 102 // stylesheets. We currently avoid clearing the font cache when we have
had an analyzed update |
| 103 // and no @font-face rules were removed, in which case requiresFullStyle
Recalc will be false. |
| 104 if (change.requiresFullStyleRecalc) |
| 105 engine.clearFontCache(); |
103 } else if (StyleResolver* styleResolver = engine.resolver()) { | 106 } else if (StyleResolver* styleResolver = engine.resolver()) { |
104 if (change.styleResolverUpdateType != Additive) { | 107 if (change.styleResolverUpdateType != Additive) { |
105 ASSERT(change.styleResolverUpdateType == Reset); | 108 ASSERT(change.styleResolverUpdateType == Reset); |
106 styleResolver->resetAuthorStyle(treeScope()); | 109 styleResolver->resetAuthorStyle(treeScope()); |
107 engine.removeFontFaceRules(change.fontFaceRulesToRemove); | 110 engine.removeFontFaceRules(change.fontFaceRulesToRemove); |
108 styleResolver->removePendingAuthorStyleSheets(m_activeAuthorStyleShe
ets); | 111 styleResolver->removePendingAuthorStyleSheets(m_activeAuthorStyleShe
ets); |
109 styleResolver->lazyAppendAuthorStyleSheets(0, collection.activeAutho
rStyleSheets()); | 112 styleResolver->lazyAppendAuthorStyleSheets(0, collection.activeAutho
rStyleSheets()); |
110 } else { | 113 } else { |
111 styleResolver->lazyAppendAuthorStyleSheets(m_activeAuthorStyleSheets
.size(), collection.activeAuthorStyleSheets()); | 114 styleResolver->lazyAppendAuthorStyleSheets(m_activeAuthorStyleSheets
.size(), collection.activeAuthorStyleSheets()); |
112 } | 115 } |
113 } | 116 } |
114 if (change.requiresFullStyleRecalc) | 117 if (change.requiresFullStyleRecalc) |
115 document().setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForT
racing::create(StyleChangeReason::ActiveStylesheetsUpdate)); | 118 document().setNeedsStyleRecalc(SubtreeStyleChange, StyleChangeReasonForT
racing::create(StyleChangeReason::ActiveStylesheetsUpdate)); |
116 | 119 |
117 collection.swap(*this); | 120 collection.swap(*this); |
118 | 121 |
119 updateUsesRemUnits(); | 122 updateUsesRemUnits(); |
120 } | 123 } |
121 | 124 |
122 } | 125 } |
OLD | NEW |