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 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Appl
e Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Appl
e Inc. All rights reserved. |
6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 6 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
7 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 7 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
203 Node* node = current.lastChild(); | 203 Node* node = current.lastChild(); |
204 while (node && !isElementOfType<const ElementType>(*node)) | 204 while (node && !isElementOfType<const ElementType>(*node)) |
205 node = node->previousSibling(); | 205 node = node->previousSibling(); |
206 return toElement<ElementType>(node); | 206 return toElement<ElementType>(node); |
207 } | 207 } |
208 | 208 |
209 template <class ElementType> | 209 template <class ElementType> |
210 template <class NodeType> | 210 template <class NodeType> |
211 inline ElementType* Traversal<ElementType>::firstWithinTemplate(NodeType& curren
t) | 211 inline ElementType* Traversal<ElementType>::firstWithinTemplate(NodeType& curren
t) |
212 { | 212 { |
213 Element* element = Traversal<Element>::firstWithin(current); | 213 Node* node = current.firstChild(); |
214 while (element && !isElementOfType<const ElementType>(*element)) | 214 while (node && !isElementOfType<const ElementType>(*node)) |
215 element = Traversal<Element>::next(*element, ¤t); | 215 node = NodeTraversal::next(*node, ¤t); |
216 return toElement<ElementType>(element); | 216 return toElement<ElementType>(node); |
217 } | 217 } |
218 | 218 |
219 template <class ElementType> | 219 template <class ElementType> |
220 template <class NodeType> | 220 template <class NodeType> |
221 inline ElementType* Traversal<ElementType>::lastWithinTemplate(NodeType& current
) | 221 inline ElementType* Traversal<ElementType>::lastWithinTemplate(NodeType& current
) |
222 { | 222 { |
223 Element* element = Traversal<Element>::lastWithin(current); | 223 Node* node = current.lastChild(); |
224 while (element && !isElementOfType<const ElementType>(*element)) | 224 while (node && !isElementOfType<const ElementType>(*node)) |
225 element = Traversal<Element>::previous(element, ¤t); | 225 node = NodeTraversal::previous(node, ¤t); |
226 return toElement<ElementType>(element); | 226 return toElement<ElementType>(node); |
227 } | 227 } |
228 | 228 |
229 template <class ElementType> | 229 template <class ElementType> |
230 template <class NodeType> | 230 template <class NodeType> |
231 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current) | 231 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current) |
232 { | 232 { |
233 Element* element = Traversal<Element>::next(current); | 233 Node* node = NodeTraversal::next(current); |
234 while (element && !isElementOfType<const ElementType>(*element)) | 234 while (node && !isElementOfType<const ElementType>(*node)) |
235 element = Traversal<Element>::next(*element); | 235 node = NodeTraversal::next(*node); |
236 return toElement<ElementType>(element); | 236 return toElement<ElementType>(node); |
237 } | 237 } |
238 | 238 |
239 template <class ElementType> | 239 template <class ElementType> |
240 template <class NodeType> | 240 template <class NodeType> |
241 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current, cons
t Node* stayWithin) | 241 inline ElementType* Traversal<ElementType>::nextTemplate(NodeType& current, cons
t Node* stayWithin) |
242 { | 242 { |
243 Element* element = Traversal<Element>::next(current, stayWithin); | 243 Node* node = NodeTraversal::next(current, stayWithin); |
244 while (element && !isElementOfType<const ElementType>(*element)) | 244 while (node && !isElementOfType<const ElementType>(*node)) |
245 element = Traversal<Element>::next(*element, stayWithin); | 245 node = NodeTraversal::next(*node, stayWithin); |
246 return toElement<ElementType>(element); | 246 return toElement<ElementType>(node); |
247 } | 247 } |
248 | 248 |
249 template <class ElementType> | 249 template <class ElementType> |
250 template <class NodeType> | 250 template <class NodeType> |
251 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current) | 251 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current) |
252 { | 252 { |
253 Element* element = Traversal<Element>::previous(current); | 253 Node* node = NodeTraversal::previous(current); |
254 while (element && !isElementOfType<const ElementType>(*element)) | 254 while (node && !isElementOfType<const ElementType>(*node)) |
255 element = Traversal<Element>::previous(*element); | 255 node = NodeTraversal::previous(*node); |
256 return toElement<ElementType>(element); | 256 return toElement<ElementType>(node); |
257 } | 257 } |
258 | 258 |
259 template <class ElementType> | 259 template <class ElementType> |
260 template <class NodeType> | 260 template <class NodeType> |
261 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current,
const Node* stayWithin) | 261 inline ElementType* Traversal<ElementType>::previousTemplate(NodeType& current,
const Node* stayWithin) |
262 { | 262 { |
263 Element* element = Traversal<Element>::previous(current, stayWithin); | 263 Node* node = NodeTraversal::previous(current, stayWithin); |
264 while (element && !isElementOfType<const ElementType>(*element)) | 264 while (node && !isElementOfType<const ElementType>(*node)) |
265 element = Traversal<Element>::previous(*element, stayWithin); | 265 node = NodeTraversal::previous(*node, stayWithin); |
266 return toElement<ElementType>(element); | 266 return toElement<ElementType>(node); |
267 } | 267 } |
268 | 268 |
269 template <class ElementType> | 269 template <class ElementType> |
270 template <class NodeType> | 270 template <class NodeType> |
271 inline ElementType* Traversal<ElementType>::nextSkippingChildrenTemplate(NodeTyp
e& current) | 271 inline ElementType* Traversal<ElementType>::nextSkippingChildrenTemplate(NodeTyp
e& current) |
272 { | 272 { |
273 Node* node = NodeTraversal::nextSkippingChildren(current); | 273 Node* node = NodeTraversal::nextSkippingChildren(current); |
274 while (node && !isElementOfType<const ElementType>(*node)) | 274 while (node && !isElementOfType<const ElementType>(*node)) |
275 node = NodeTraversal::nextSkippingChildren(*node); | 275 node = NodeTraversal::nextSkippingChildren(*node); |
276 return toElement<ElementType>(node); | 276 return toElement<ElementType>(node); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 { | 336 { |
337 Node* node = current.nextSibling(); | 337 Node* node = current.nextSibling(); |
338 while (node && !isElementOfType<const ElementType>(*node)) | 338 while (node && !isElementOfType<const ElementType>(*node)) |
339 node = node->nextSibling(); | 339 node = node->nextSibling(); |
340 return toElement<ElementType>(node); | 340 return toElement<ElementType>(node); |
341 } | 341 } |
342 | 342 |
343 } // namespace blink | 343 } // namespace blink |
344 | 344 |
345 #endif | 345 #endif |
OLD | NEW |