| 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, 2010, 2011, 2012 Apple Inc. All r
ights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2012 Apple Inc. All r
ights reserved. |
| 5 * Copyright (C) 2014 Samsung Electronics. All rights reserved. | 5 * Copyright (C) 2014 Samsung Electronics. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 22 matching lines...) Expand all Loading... |
| 33 | 33 |
| 34 namespace WebCore { | 34 namespace WebCore { |
| 35 | 35 |
| 36 using namespace HTMLNames; | 36 using namespace HTMLNames; |
| 37 | 37 |
| 38 // Since the collections are to be "live", we have to do the | 38 // Since the collections are to be "live", we have to do the |
| 39 // calculation every time if anything has changed. | 39 // calculation every time if anything has changed. |
| 40 | 40 |
| 41 HTMLFormControlsCollection::HTMLFormControlsCollection(ContainerNode& ownerNode) | 41 HTMLFormControlsCollection::HTMLFormControlsCollection(ContainerNode& ownerNode) |
| 42 : HTMLCollection(ownerNode, FormControls, OverridesItemAfter) | 42 : HTMLCollection(ownerNode, FormControls, OverridesItemAfter) |
| 43 , m_cachedElement(0) | 43 , m_cachedElement(nullptr) |
| 44 , m_cachedElementOffsetInArray(0) | 44 , m_cachedElementOffsetInArray(0) |
| 45 { | 45 { |
| 46 ASSERT(isHTMLFormElement(ownerNode) || isHTMLFieldSetElement(ownerNode)); | 46 ASSERT(isHTMLFormElement(ownerNode) || isHTMLFieldSetElement(ownerNode)); |
| 47 ScriptWrappable::init(this); | 47 ScriptWrappable::init(this); |
| 48 } | 48 } |
| 49 | 49 |
| 50 PassRefPtrWillBeRawPtr<HTMLFormControlsCollection> HTMLFormControlsCollection::c
reate(ContainerNode& ownerNode, CollectionType) | 50 PassRefPtrWillBeRawPtr<HTMLFormControlsCollection> HTMLFormControlsCollection::c
reate(ContainerNode& ownerNode, CollectionType) |
| 51 { | 51 { |
| 52 return adoptRefWillBeNoop(new HTMLFormControlsCollection(ownerNode)); | 52 return adoptRefWillBeNoop(new HTMLFormControlsCollection(ownerNode)); |
| 53 } | 53 } |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 m_cachedElementOffsetInArray = i; | 98 m_cachedElementOffsetInArray = i; |
| 99 return m_cachedElement; | 99 return m_cachedElement; |
| 100 } | 100 } |
| 101 } | 101 } |
| 102 return 0; | 102 return 0; |
| 103 } | 103 } |
| 104 | 104 |
| 105 void HTMLFormControlsCollection::invalidateCache(Document* oldDocument) const | 105 void HTMLFormControlsCollection::invalidateCache(Document* oldDocument) const |
| 106 { | 106 { |
| 107 HTMLCollection::invalidateCache(oldDocument); | 107 HTMLCollection::invalidateCache(oldDocument); |
| 108 m_cachedElement = 0; | 108 m_cachedElement = nullptr; |
| 109 m_cachedElementOffsetInArray = 0; | 109 m_cachedElementOffsetInArray = 0; |
| 110 } | 110 } |
| 111 | 111 |
| 112 static HTMLElement* firstNamedItem(const FormAssociatedElement::List& elementsAr
ray, | 112 static HTMLElement* firstNamedItem(const FormAssociatedElement::List& elementsAr
ray, |
| 113 const WillBeHeapVector<RawPtrWillBeMember<HTMLImageElement> >* imageElements
Array, const QualifiedName& attrName, const String& name) | 113 const WillBeHeapVector<RawPtrWillBeMember<HTMLImageElement> >* imageElements
Array, const QualifiedName& attrName, const String& name) |
| 114 { | 114 { |
| 115 ASSERT(attrName == idAttr || attrName == nameAttr); | 115 ASSERT(attrName == idAttr || attrName == nameAttr); |
| 116 | 116 |
| 117 for (unsigned i = 0; i < elementsArray.size(); ++i) { | 117 for (unsigned i = 0; i < elementsArray.size(); ++i) { |
| 118 HTMLElement* element = toHTMLElement(elementsArray[i]); | 118 HTMLElement* element = toHTMLElement(elementsArray[i]); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 } | 230 } |
| 231 const AtomicString& nameAttribute = element->getNameAttribute(); | 231 const AtomicString& nameAttribute = element->getNameAttribute(); |
| 232 if (!nameAttribute.isEmpty()) { | 232 if (!nameAttribute.isEmpty()) { |
| 233 HashSet<AtomicString>::AddResult addResult = existingNames.add(nameA
ttribute); | 233 HashSet<AtomicString>::AddResult addResult = existingNames.add(nameA
ttribute); |
| 234 if (addResult.isNewEntry) | 234 if (addResult.isNewEntry) |
| 235 names.append(nameAttribute); | 235 names.append(nameAttribute); |
| 236 } | 236 } |
| 237 } | 237 } |
| 238 } | 238 } |
| 239 | 239 |
| 240 void HTMLFormControlsCollection::trace(Visitor* visitor) |
| 241 { |
| 242 visitor->trace(m_cachedElement); |
| 243 HTMLCollection::trace(visitor); |
| 240 } | 244 } |
| 245 |
| 246 } |
| OLD | NEW |