| 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 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All r
ights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All r
ights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 case TRCells: | 61 case TRCells: |
| 62 case TSectionRows: | 62 case TSectionRows: |
| 63 case TableTBodies: | 63 case TableTBodies: |
| 64 return true; | 64 return true; |
| 65 case ChildNodeListType: | 65 case ChildNodeListType: |
| 66 case ClassNodeListType: | 66 case ClassNodeListType: |
| 67 case NameNodeListType: | 67 case NameNodeListType: |
| 68 case TagNodeListType: | 68 case TagNodeListType: |
| 69 case HTMLTagNodeListType: | 69 case HTMLTagNodeListType: |
| 70 case RadioNodeListType: | 70 case RadioNodeListType: |
| 71 case RadioImgNodeListType: |
| 71 case LabelsNodeListType: | 72 case LabelsNodeListType: |
| 72 break; | 73 break; |
| 73 } | 74 } |
| 74 ASSERT_NOT_REACHED(); | 75 ASSERT_NOT_REACHED(); |
| 75 return false; | 76 return false; |
| 76 } | 77 } |
| 77 | 78 |
| 78 static NodeListRootType rootTypeFromCollectionType(CollectionType type) | 79 static NodeListRootType rootTypeFromCollectionType(CollectionType type) |
| 79 { | 80 { |
| 80 switch (type) { | 81 switch (type) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 99 case SelectedOptions: | 100 case SelectedOptions: |
| 100 case DataListOptions: | 101 case DataListOptions: |
| 101 case MapAreas: | 102 case MapAreas: |
| 102 return NodeListIsRootedAtNode; | 103 return NodeListIsRootedAtNode; |
| 103 case ChildNodeListType: | 104 case ChildNodeListType: |
| 104 case ClassNodeListType: | 105 case ClassNodeListType: |
| 105 case NameNodeListType: | 106 case NameNodeListType: |
| 106 case TagNodeListType: | 107 case TagNodeListType: |
| 107 case HTMLTagNodeListType: | 108 case HTMLTagNodeListType: |
| 108 case RadioNodeListType: | 109 case RadioNodeListType: |
| 110 case RadioImgNodeListType: |
| 109 case LabelsNodeListType: | 111 case LabelsNodeListType: |
| 110 break; | 112 break; |
| 111 } | 113 } |
| 112 ASSERT_NOT_REACHED(); | 114 ASSERT_NOT_REACHED(); |
| 113 return NodeListIsRootedAtNode; | 115 return NodeListIsRootedAtNode; |
| 114 } | 116 } |
| 115 | 117 |
| 116 static NodeListInvalidationType invalidationTypeExcludingIdAndNameAttributes(Col
lectionType type) | 118 static NodeListInvalidationType invalidationTypeExcludingIdAndNameAttributes(Col
lectionType type) |
| 117 { | 119 { |
| 118 switch (type) { | 120 switch (type) { |
| (...skipping 24 matching lines...) Expand all Loading... |
| 143 case DocumentNamedItems: | 145 case DocumentNamedItems: |
| 144 return InvalidateOnIdNameAttrChange; | 146 return InvalidateOnIdNameAttrChange; |
| 145 case FormControls: | 147 case FormControls: |
| 146 return InvalidateForFormControls; | 148 return InvalidateForFormControls; |
| 147 case ChildNodeListType: | 149 case ChildNodeListType: |
| 148 case ClassNodeListType: | 150 case ClassNodeListType: |
| 149 case NameNodeListType: | 151 case NameNodeListType: |
| 150 case TagNodeListType: | 152 case TagNodeListType: |
| 151 case HTMLTagNodeListType: | 153 case HTMLTagNodeListType: |
| 152 case RadioNodeListType: | 154 case RadioNodeListType: |
| 155 case RadioImgNodeListType: |
| 153 case LabelsNodeListType: | 156 case LabelsNodeListType: |
| 154 break; | 157 break; |
| 155 } | 158 } |
| 156 ASSERT_NOT_REACHED(); | 159 ASSERT_NOT_REACHED(); |
| 157 return DoNotInvalidateOnAttributeChanges; | 160 return DoNotInvalidateOnAttributeChanges; |
| 158 } | 161 } |
| 159 | 162 |
| 160 HTMLCollection::HTMLCollection(Node* ownerNode, CollectionType type, ItemAfterOv
errideType itemAfterOverrideType) | 163 HTMLCollection::HTMLCollection(Node* ownerNode, CollectionType type, ItemAfterOv
errideType itemAfterOverrideType) |
| 161 : LiveNodeListBase(ownerNode, rootTypeFromCollectionType(type), invalidation
TypeExcludingIdAndNameAttributes(type), | 164 : LiveNodeListBase(ownerNode, rootTypeFromCollectionType(type), invalidation
TypeExcludingIdAndNameAttributes(type), |
| 162 WebCore::shouldOnlyIncludeDirectChildren(type), type, itemAfterOverrideT
ype) | 165 WebCore::shouldOnlyIncludeDirectChildren(type), type, itemAfterOverrideT
ype) |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 225 case FormControls: | 228 case FormControls: |
| 226 case DocumentNamedItems: | 229 case DocumentNamedItems: |
| 227 case TableRows: | 230 case TableRows: |
| 228 case WindowNamedItems: | 231 case WindowNamedItems: |
| 229 case ChildNodeListType: | 232 case ChildNodeListType: |
| 230 case ClassNodeListType: | 233 case ClassNodeListType: |
| 231 case NameNodeListType: | 234 case NameNodeListType: |
| 232 case TagNodeListType: | 235 case TagNodeListType: |
| 233 case HTMLTagNodeListType: | 236 case HTMLTagNodeListType: |
| 234 case RadioNodeListType: | 237 case RadioNodeListType: |
| 238 case RadioImgNodeListType: |
| 235 case LabelsNodeListType: | 239 case LabelsNodeListType: |
| 236 ASSERT_NOT_REACHED(); | 240 ASSERT_NOT_REACHED(); |
| 237 } | 241 } |
| 238 return false; | 242 return false; |
| 239 } | 243 } |
| 240 | 244 |
| 241 template <> inline bool isMatchingElement(const LiveNodeList* nodeList, Element*
element) | 245 template <> inline bool isMatchingElement(const LiveNodeList* nodeList, Element*
element) |
| 242 { | 246 { |
| 243 return nodeList->nodeMatches(element); | 247 return nodeList->nodeMatches(element); |
| 244 } | 248 } |
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 | 687 |
| 684 void HTMLCollection::append(NodeCacheMap& map, const AtomicString& key, Element*
element) | 688 void HTMLCollection::append(NodeCacheMap& map, const AtomicString& key, Element*
element) |
| 685 { | 689 { |
| 686 OwnPtr<Vector<Element*> >& vector = map.add(key.impl(), nullptr).iterator->v
alue; | 690 OwnPtr<Vector<Element*> >& vector = map.add(key.impl(), nullptr).iterator->v
alue; |
| 687 if (!vector) | 691 if (!vector) |
| 688 vector = adoptPtr(new Vector<Element*>); | 692 vector = adoptPtr(new Vector<Element*>); |
| 689 vector->append(element); | 693 vector->append(element); |
| 690 } | 694 } |
| 691 | 695 |
| 692 } // namespace WebCore | 696 } // namespace WebCore |
| OLD | NEW |