OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org> | 2 * Copyright (C) 2005 Frerich Raabe <raabe@kde.org> |
3 * Copyright (C) 2006, 2009 Apple Inc. | 3 * Copyright (C) 2006, 2009 Apple Inc. |
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 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 22 matching lines...) Expand all Loading... |
33 namespace blink { | 33 namespace blink { |
34 namespace XPath { | 34 namespace XPath { |
35 | 35 |
36 bool isRootDomNode(Node* node) | 36 bool isRootDomNode(Node* node) |
37 { | 37 { |
38 return node && !node->parentNode(); | 38 return node && !node->parentNode(); |
39 } | 39 } |
40 | 40 |
41 String stringValue(Node* node) | 41 String stringValue(Node* node) |
42 { | 42 { |
43 switch (node->nodeType()) { | 43 switch (node->getNodeType()) { |
44 case Node::ATTRIBUTE_NODE: | 44 case Node::ATTRIBUTE_NODE: |
45 case Node::PROCESSING_INSTRUCTION_NODE: | 45 case Node::PROCESSING_INSTRUCTION_NODE: |
46 case Node::COMMENT_NODE: | 46 case Node::COMMENT_NODE: |
47 case Node::TEXT_NODE: | 47 case Node::TEXT_NODE: |
48 case Node::CDATA_SECTION_NODE: | 48 case Node::CDATA_SECTION_NODE: |
49 return node->nodeValue(); | 49 return node->nodeValue(); |
50 default: | 50 default: |
51 if (isRootDomNode(node) || node->isElementNode()) { | 51 if (isRootDomNode(node) || node->isElementNode()) { |
52 StringBuilder result; | 52 StringBuilder result; |
53 result.reserveCapacity(1024); | 53 result.reserveCapacity(1024); |
54 | 54 |
55 for (Node& n : NodeTraversal::descendantsOf(*node)) { | 55 for (Node& n : NodeTraversal::descendantsOf(*node)) { |
56 if (n.isTextNode()) { | 56 if (n.isTextNode()) { |
57 const String& nodeValue = n.nodeValue(); | 57 const String& nodeValue = n.nodeValue(); |
58 result.append(nodeValue); | 58 result.append(nodeValue); |
59 } | 59 } |
60 } | 60 } |
61 | 61 |
62 return result.toString(); | 62 return result.toString(); |
63 } | 63 } |
64 } | 64 } |
65 | 65 |
66 return String(); | 66 return String(); |
67 } | 67 } |
68 | 68 |
69 bool isValidContextNode(Node* node) | 69 bool isValidContextNode(Node* node) |
70 { | 70 { |
71 if (!node) | 71 if (!node) |
72 return false; | 72 return false; |
73 switch (node->nodeType()) { | 73 switch (node->getNodeType()) { |
74 case Node::ATTRIBUTE_NODE: | 74 case Node::ATTRIBUTE_NODE: |
75 case Node::CDATA_SECTION_NODE: | 75 case Node::CDATA_SECTION_NODE: |
76 case Node::COMMENT_NODE: | 76 case Node::COMMENT_NODE: |
77 case Node::DOCUMENT_NODE: | 77 case Node::DOCUMENT_NODE: |
78 case Node::ELEMENT_NODE: | 78 case Node::ELEMENT_NODE: |
79 case Node::PROCESSING_INSTRUCTION_NODE: | 79 case Node::PROCESSING_INSTRUCTION_NODE: |
80 return true; | 80 return true; |
81 case Node::DOCUMENT_FRAGMENT_NODE: | 81 case Node::DOCUMENT_FRAGMENT_NODE: |
82 case Node::DOCUMENT_TYPE_NODE: | 82 case Node::DOCUMENT_TYPE_NODE: |
83 return false; | 83 return false; |
84 case Node::TEXT_NODE: | 84 case Node::TEXT_NODE: |
85 return !(node->parentNode() && node->parentNode()->isAttributeNode()); | 85 return !(node->parentNode() && node->parentNode()->isAttributeNode()); |
86 } | 86 } |
87 ASSERT_NOT_REACHED(); | 87 ASSERT_NOT_REACHED(); |
88 return false; | 88 return false; |
89 } | 89 } |
90 | 90 |
91 } // namespace XPath | 91 } // namespace XPath |
92 } // namespace blink | 92 } // namespace blink |
OLD | NEW |