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 Apple Inc. All rights reserv
ed. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. |
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 24 matching lines...) Expand all Loading... |
35 class RadioNodeListOrElement; | 35 class RadioNodeListOrElement; |
36 | 36 |
37 // This class is just a big hack to find form elements even in malformed HTML el
ements. | 37 // This class is just a big hack to find form elements even in malformed HTML el
ements. |
38 // The famous <table><tr><form><td> problem. | 38 // The famous <table><tr><form><td> problem. |
39 | 39 |
40 class HTMLFormControlsCollection final : public HTMLCollection { | 40 class HTMLFormControlsCollection final : public HTMLCollection { |
41 DEFINE_WRAPPERTYPEINFO(); | 41 DEFINE_WRAPPERTYPEINFO(); |
42 public: | 42 public: |
43 static PassRefPtrWillBeRawPtr<HTMLFormControlsCollection> create(ContainerNo
de&, CollectionType); | 43 static PassRefPtrWillBeRawPtr<HTMLFormControlsCollection> create(ContainerNo
de&, CollectionType); |
44 | 44 |
45 virtual ~HTMLFormControlsCollection(); | 45 ~HTMLFormControlsCollection() override; |
46 | 46 |
47 HTMLElement* item(unsigned offset) const { return toHTMLElement(HTMLCollecti
on::item(offset)); } | 47 HTMLElement* item(unsigned offset) const { return toHTMLElement(HTMLCollecti
on::item(offset)); } |
48 | 48 |
49 virtual HTMLElement* namedItem(const AtomicString& name) const override; | 49 HTMLElement* namedItem(const AtomicString& name) const override; |
50 void namedGetter(const AtomicString& name, RadioNodeListOrElement&); | 50 void namedGetter(const AtomicString& name, RadioNodeListOrElement&); |
51 | 51 |
52 DECLARE_VIRTUAL_TRACE(); | 52 DECLARE_VIRTUAL_TRACE(); |
53 | 53 |
54 private: | 54 private: |
55 explicit HTMLFormControlsCollection(ContainerNode&); | 55 explicit HTMLFormControlsCollection(ContainerNode&); |
56 | 56 |
57 virtual void updateIdNameCache() const override; | 57 void updateIdNameCache() const override; |
58 virtual void supportedPropertyNames(Vector<String>& names) override; | 58 void supportedPropertyNames(Vector<String>& names) override; |
59 | 59 |
60 const FormAssociatedElement::List& formControlElements() const; | 60 const FormAssociatedElement::List& formControlElements() const; |
61 const WillBeHeapVector<RawPtrWillBeMember<HTMLImageElement>>& formImageEleme
nts() const; | 61 const WillBeHeapVector<RawPtrWillBeMember<HTMLImageElement>>& formImageEleme
nts() const; |
62 virtual HTMLElement* virtualItemAfter(Element*) const override; | 62 HTMLElement* virtualItemAfter(Element*) const override; |
63 virtual void invalidateCache(Document* oldDocument = 0) const override; | 63 void invalidateCache(Document* oldDocument = 0) const override; |
64 | 64 |
65 mutable RawPtrWillBeMember<HTMLElement> m_cachedElement; | 65 mutable RawPtrWillBeMember<HTMLElement> m_cachedElement; |
66 mutable unsigned m_cachedElementOffsetInArray; | 66 mutable unsigned m_cachedElementOffsetInArray; |
67 }; | 67 }; |
68 DEFINE_TYPE_CASTS(HTMLFormControlsCollection, LiveNodeListBase, collection, coll
ection->type() == FormControls, collection.type() == FormControls); | 68 DEFINE_TYPE_CASTS(HTMLFormControlsCollection, LiveNodeListBase, collection, coll
ection->type() == FormControls, collection.type() == FormControls); |
69 | 69 |
70 } // namespace blink | 70 } // namespace blink |
71 | 71 |
72 #endif // HTMLFormControlsCollection_h | 72 #endif // HTMLFormControlsCollection_h |
OLD | NEW |