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) 2011 Google Inc. All rights reserved. | 9 * Copyright (C) 2011 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 class Node; | 45 class Node; |
46 class StyleSheetContents; | 46 class StyleSheetContents; |
47 class StyleRuleFontFace; | 47 class StyleRuleFontFace; |
48 | 48 |
49 class CORE_EXPORT TreeScopeStyleSheetCollection : public StyleSheetCollection { | 49 class CORE_EXPORT TreeScopeStyleSheetCollection : public StyleSheetCollection { |
50 public: | 50 public: |
51 void addStyleSheetCandidateNode(Node*, bool createdByParser); | 51 void addStyleSheetCandidateNode(Node*, bool createdByParser); |
52 void removeStyleSheetCandidateNode(Node* node) { m_styleSheetCandidateNodes.
remove(node); } | 52 void removeStyleSheetCandidateNode(Node* node) { m_styleSheetCandidateNodes.
remove(node); } |
53 bool hasStyleSheetCandidateNodes() const { return !m_styleSheetCandidateNode
s.isEmpty(); } | 53 bool hasStyleSheetCandidateNodes() const { return !m_styleSheetCandidateNode
s.isEmpty(); } |
54 | 54 |
55 bool usesRemUnits() const { return m_usesRemUnits; } | |
56 | |
57 void clearMediaQueryRuleSetStyleSheets(); | 55 void clearMediaQueryRuleSetStyleSheets(); |
58 | 56 |
59 DECLARE_VIRTUAL_TRACE(); | 57 DECLARE_VIRTUAL_TRACE(); |
60 | 58 |
61 protected: | 59 protected: |
62 explicit TreeScopeStyleSheetCollection(TreeScope&); | 60 explicit TreeScopeStyleSheetCollection(TreeScope&); |
63 | 61 |
64 Document& document() const { return treeScope().document(); } | 62 Document& document() const { return treeScope().document(); } |
65 TreeScope& treeScope() const { return *m_treeScope; } | 63 TreeScope& treeScope() const { return *m_treeScope; } |
66 | 64 |
67 enum StyleResolverUpdateType { | 65 enum StyleResolverUpdateType { |
68 Reconstruct, | 66 Reconstruct, |
69 Reset, | 67 Reset, |
70 Additive | 68 Additive |
71 }; | 69 }; |
72 | 70 |
73 class StyleSheetChange { | 71 class StyleSheetChange { |
74 STACK_ALLOCATED(); | 72 STACK_ALLOCATED(); |
75 public: | 73 public: |
76 StyleResolverUpdateType styleResolverUpdateType; | 74 StyleResolverUpdateType styleResolverUpdateType; |
77 bool requiresFullStyleRecalc; | 75 bool requiresFullStyleRecalc; |
78 WillBeHeapVector<RawPtrWillBeMember<const StyleRuleFontFace>> fontFaceRu
lesToRemove; | 76 WillBeHeapVector<RawPtrWillBeMember<const StyleRuleFontFace>> fontFaceRu
lesToRemove; |
79 | 77 |
80 StyleSheetChange() | 78 StyleSheetChange() |
81 : styleResolverUpdateType(Reconstruct) | 79 : styleResolverUpdateType(Reconstruct) |
82 , requiresFullStyleRecalc(true) { } | 80 , requiresFullStyleRecalc(true) { } |
83 }; | 81 }; |
84 | 82 |
85 void analyzeStyleSheetChange(StyleResolverUpdateMode, const StyleSheetCollec
tion&, StyleSheetChange&); | 83 void analyzeStyleSheetChange(StyleResolverUpdateMode, const StyleSheetCollec
tion&, StyleSheetChange&); |
86 void updateUsesRemUnits(); | |
87 | 84 |
88 private: | 85 private: |
89 static StyleResolverUpdateType compareStyleSheets(const WillBeHeapVector<Ref
PtrWillBeMember<CSSStyleSheet>>& oldStyleSheets, const WillBeHeapVector<RefPtrWi
llBeMember<CSSStyleSheet>>& newStylesheets, WillBeHeapVector<RawPtrWillBeMember<
StyleSheetContents>>& addedSheets); | 86 static StyleResolverUpdateType compareStyleSheets(const WillBeHeapVector<Ref
PtrWillBeMember<CSSStyleSheet>>& oldStyleSheets, const WillBeHeapVector<RefPtrWi
llBeMember<CSSStyleSheet>>& newStylesheets, WillBeHeapVector<RawPtrWillBeMember<
StyleSheetContents>>& addedSheets); |
90 bool activeLoadingStyleSheetLoaded(const WillBeHeapVector<RefPtrWillBeMember
<CSSStyleSheet>>& newStyleSheets); | 87 bool activeLoadingStyleSheetLoaded(const WillBeHeapVector<RefPtrWillBeMember
<CSSStyleSheet>>& newStyleSheets); |
91 | 88 |
92 friend class TreeScopeStyleSheetCollectionTest; | 89 friend class TreeScopeStyleSheetCollectionTest; |
93 | 90 |
94 protected: | 91 protected: |
95 RawPtrWillBeMember<TreeScope> m_treeScope; | 92 RawPtrWillBeMember<TreeScope> m_treeScope; |
96 bool m_hadActiveLoadingStylesheet; | 93 bool m_hadActiveLoadingStylesheet; |
97 bool m_usesRemUnits; | |
98 | 94 |
99 DocumentOrderedList m_styleSheetCandidateNodes; | 95 DocumentOrderedList m_styleSheetCandidateNodes; |
100 }; | 96 }; |
101 | 97 |
102 } | 98 } |
103 | 99 |
104 #endif | 100 #endif |
OLD | NEW |