| 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 28 matching lines...) Expand all Loading... |
| 39 return node && !node->parentNode(); | 39 return node && !node->parentNode(); |
| 40 } | 40 } |
| 41 | 41 |
| 42 String stringValue(Node* node) | 42 String stringValue(Node* node) |
| 43 { | 43 { |
| 44 switch (node->nodeType()) { | 44 switch (node->nodeType()) { |
| 45 case Node::ATTRIBUTE_NODE: | 45 case Node::ATTRIBUTE_NODE: |
| 46 case Node::PROCESSING_INSTRUCTION_NODE: | 46 case Node::PROCESSING_INSTRUCTION_NODE: |
| 47 case Node::COMMENT_NODE: | 47 case Node::COMMENT_NODE: |
| 48 case Node::TEXT_NODE: | 48 case Node::TEXT_NODE: |
| 49 case Node::CDATA_SECTION_NODE: | |
| 50 return node->nodeValue(); | 49 return node->nodeValue(); |
| 51 default: | 50 default: |
| 52 if (isRootDomNode(node) || node->isElementNode()) { | 51 if (isRootDomNode(node) || node->isElementNode()) { |
| 53 StringBuilder result; | 52 StringBuilder result; |
| 54 result.reserveCapacity(1024); | 53 result.reserveCapacity(1024); |
| 55 | 54 |
| 56 for (Node& n : NodeTraversal::descendantsOf(*node)) { | 55 for (Node& n : NodeTraversal::descendantsOf(*node)) { |
| 57 if (n.isTextNode()) { | 56 if (n.isTextNode()) { |
| 58 const String& nodeValue = n.nodeValue(); | 57 const String& nodeValue = n.nodeValue(); |
| 59 result.append(nodeValue); | 58 result.append(nodeValue); |
| 60 } | 59 } |
| 61 } | 60 } |
| 62 | 61 |
| 63 return result.toString(); | 62 return result.toString(); |
| 64 } | 63 } |
| 65 } | 64 } |
| 66 | 65 |
| 67 return String(); | 66 return String(); |
| 68 } | 67 } |
| 69 | 68 |
| 70 bool isValidContextNode(Node* node) | 69 bool isValidContextNode(Node* node) |
| 71 { | 70 { |
| 72 if (!node) | 71 if (!node) |
| 73 return false; | 72 return false; |
| 74 switch (node->nodeType()) { | 73 switch (node->nodeType()) { |
| 75 case Node::ATTRIBUTE_NODE: | 74 case Node::ATTRIBUTE_NODE: |
| 76 case Node::CDATA_SECTION_NODE: | |
| 77 case Node::COMMENT_NODE: | 75 case Node::COMMENT_NODE: |
| 78 case Node::DOCUMENT_NODE: | 76 case Node::DOCUMENT_NODE: |
| 79 case Node::ELEMENT_NODE: | 77 case Node::ELEMENT_NODE: |
| 80 case Node::PROCESSING_INSTRUCTION_NODE: | 78 case Node::PROCESSING_INSTRUCTION_NODE: |
| 81 return true; | 79 return true; |
| 82 case Node::DOCUMENT_FRAGMENT_NODE: | 80 case Node::DOCUMENT_FRAGMENT_NODE: |
| 83 case Node::DOCUMENT_TYPE_NODE: | 81 case Node::DOCUMENT_TYPE_NODE: |
| 84 return false; | 82 return false; |
| 85 case Node::TEXT_NODE: | 83 case Node::TEXT_NODE: |
| 86 return !(node->parentNode() && node->parentNode()->isAttributeNode()); | 84 return !(node->parentNode() && node->parentNode()->isAttributeNode()); |
| 87 } | 85 } |
| 88 ASSERT_NOT_REACHED(); | 86 ASSERT_NOT_REACHED(); |
| 89 return false; | 87 return false; |
| 90 } | 88 } |
| 91 | 89 |
| 92 } | 90 } |
| 93 } | 91 } |
| OLD | NEW |