OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All Rights Reserved. | 2 * Copyright (C) 2011 Google Inc. All Rights Reserved. |
3 * Copyright (C) 2012 Apple Inc. All Rights Reserved. | 3 * Copyright (C) 2012 Apple Inc. All Rights Reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 bool isInclusiveOlderSiblingShadowRootOrAncestorTreeScopeOf(const TreeScope&
) const; | 57 bool isInclusiveOlderSiblingShadowRootOrAncestorTreeScopeOf(const TreeScope&
) const; |
58 | 58 |
59 Element* adjustedFocusedElement() const; | 59 Element* adjustedFocusedElement() const; |
60 Element* getElementById(const AtomicString&) const; | 60 Element* getElementById(const AtomicString&) const; |
61 const WillBeHeapVector<RawPtrWillBeMember<Element>>& getAllElementsById(cons
t AtomicString&) const; | 61 const WillBeHeapVector<RawPtrWillBeMember<Element>>& getAllElementsById(cons
t AtomicString&) const; |
62 bool hasElementWithId(const AtomicString& id) const; | 62 bool hasElementWithId(const AtomicString& id) const; |
63 bool containsMultipleElementsWithId(const AtomicString& id) const; | 63 bool containsMultipleElementsWithId(const AtomicString& id) const; |
64 void addElementById(const AtomicString& elementId, Element*); | 64 void addElementById(const AtomicString& elementId, Element*); |
65 void removeElementById(const AtomicString& elementId, Element*); | 65 void removeElementById(const AtomicString& elementId, Element*); |
66 | 66 |
67 Document& document() const | 67 Document& document() const; |
68 { | |
69 ASSERT(m_document); | |
70 return *m_document; | |
71 } | |
72 | 68 |
73 Node* ancestorInThisScope(Node*) const; | 69 Node* ancestorInThisScope(Node*) const; |
74 | 70 |
75 void addImageMap(HTMLMapElement*); | 71 void addImageMap(HTMLMapElement*); |
76 void removeImageMap(HTMLMapElement*); | 72 void removeImageMap(HTMLMapElement*); |
77 HTMLMapElement* getImageMap(const String& url) const; | 73 HTMLMapElement* getImageMap(const String& url) const; |
78 | 74 |
79 Element* elementFromPoint(int x, int y) const; | 75 Element* elementFromPoint(int x, int y) const; |
80 Element* hitTestPoint(int x, int y, const HitTestRequest&) const; | 76 Element* hitTestPoint(int x, int y, const HitTestRequest&) const; |
81 WillBeHeapVector<RawPtrWillBeMember<Element>> elementsFromPoint(int x, int y
) const; | 77 WillBeHeapVector<RawPtrWillBeMember<Element>> elementsFromPoint(int x, int y
) const; |
(...skipping 12 matching lines...) Expand all Loading... |
94 // for an anchor with the given name. ID matching is always case sensitive,
but | 90 // for an anchor with the given name. ID matching is always case sensitive,
but |
95 // Anchor name matching is case sensitive in strict mode and not case sensit
ive in | 91 // Anchor name matching is case sensitive in strict mode and not case sensit
ive in |
96 // quirks mode for historical compatibility reasons. | 92 // quirks mode for historical compatibility reasons. |
97 Element* findAnchor(const String& name); | 93 Element* findAnchor(const String& name); |
98 | 94 |
99 // Used by the basic DOM mutation methods (e.g., appendChild()). | 95 // Used by the basic DOM mutation methods (e.g., appendChild()). |
100 void adoptIfNeeded(Node&); | 96 void adoptIfNeeded(Node&); |
101 | 97 |
102 ContainerNode& rootNode() const { return *m_rootNode; } | 98 ContainerNode& rootNode() const { return *m_rootNode; } |
103 | 99 |
104 IdTargetObserverRegistry& idTargetObserverRegistry() const { return *m_idTar
getObserverRegistry.get(); } | 100 IdTargetObserverRegistry& idTargetObserverRegistry() const; |
105 | 101 |
106 #if !ENABLE(OILPAN) | 102 #if !ENABLE(OILPAN) |
107 // Nodes belonging to this scope hold guard references - | 103 // Nodes belonging to this scope hold guard references - |
108 // these are enough to keep the scope from being destroyed, but | 104 // these are enough to keep the scope from being destroyed, but |
109 // not enough to keep it from removing its children. This allows a | 105 // not enough to keep it from removing its children. This allows a |
110 // node that outlives its scope to still have a valid document | 106 // node that outlives its scope to still have a valid document |
111 // pointer without introducing reference cycles. | 107 // pointer without introducing reference cycles. |
112 void guardRef() | 108 void guardRef() |
113 { | 109 { |
114 ASSERT(!deletionHasBegun()); | 110 ASSERT(!deletionHasBegun()); |
(...skipping 17 matching lines...) Expand all Loading... |
132 bool isInclusiveAncestorOf(const TreeScope&) const; | 128 bool isInclusiveAncestorOf(const TreeScope&) const; |
133 unsigned short comparePosition(const TreeScope&) const; | 129 unsigned short comparePosition(const TreeScope&) const; |
134 | 130 |
135 const TreeScope* commonAncestorTreeScope(const TreeScope& other) const; | 131 const TreeScope* commonAncestorTreeScope(const TreeScope& other) const; |
136 TreeScope* commonAncestorTreeScope(TreeScope& other); | 132 TreeScope* commonAncestorTreeScope(TreeScope& other); |
137 | 133 |
138 Element* getElementByAccessKey(const String& key) const; | 134 Element* getElementByAccessKey(const String& key) const; |
139 | 135 |
140 DECLARE_VIRTUAL_TRACE(); | 136 DECLARE_VIRTUAL_TRACE(); |
141 | 137 |
142 ScopedStyleResolver* scopedStyleResolver() const { return m_scopedStyleResol
ver.get(); } | 138 ScopedStyleResolver* scopedStyleResolver() const; |
143 ScopedStyleResolver& ensureScopedStyleResolver(); | 139 ScopedStyleResolver& ensureScopedStyleResolver(); |
144 void clearScopedStyleResolver(); | 140 void clearScopedStyleResolver(); |
145 | 141 |
146 protected: | 142 protected: |
147 TreeScope(ContainerNode&, Document&); | 143 TreeScope(ContainerNode&, Document&); |
148 TreeScope(Document&); | 144 TreeScope(Document&); |
149 virtual ~TreeScope(); | 145 virtual ~TreeScope(); |
150 | 146 |
151 #if !ENABLE(OILPAN) | 147 #if !ENABLE(OILPAN) |
152 void destroyTreeScopeData(); | 148 void destroyTreeScopeData(); |
153 #endif | 149 #endif |
154 | 150 |
155 void setDocument(Document& document) { m_document = &document; } | 151 void setDocument(Document&); |
156 void setParentTreeScope(TreeScope&); | 152 void setParentTreeScope(TreeScope&); |
157 | 153 |
158 #if !ENABLE(OILPAN) | 154 #if !ENABLE(OILPAN) |
159 bool hasGuardRefCount() const { return m_guardRefCount; } | 155 bool hasGuardRefCount() const { return m_guardRefCount; } |
160 #endif | 156 #endif |
161 | 157 |
162 void setNeedsStyleRecalcForViewportUnits(); | 158 void setNeedsStyleRecalcForViewportUnits(); |
163 | 159 |
164 private: | 160 private: |
165 #if !ENABLE(OILPAN) | 161 #if !ENABLE(OILPAN) |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 return m_elementsById && m_elementsById->containsMultiple(id); | 204 return m_elementsById && m_elementsById->containsMultiple(id); |
209 } | 205 } |
210 | 206 |
211 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES(TreeScope) | 207 DEFINE_COMPARISON_OPERATORS_WITH_REFERENCES(TreeScope) |
212 | 208 |
213 HitTestResult hitTestInDocument(const Document*, int x, int y, const HitTestRequ
est& = HitTestRequest::ReadOnly | HitTestRequest::Active); | 209 HitTestResult hitTestInDocument(const Document*, int x, int y, const HitTestRequ
est& = HitTestRequest::ReadOnly | HitTestRequest::Active); |
214 | 210 |
215 } // namespace blink | 211 } // namespace blink |
216 | 212 |
217 #endif // TreeScope_h | 213 #endif // TreeScope_h |
OLD | NEW |