Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / core / html / DocumentNameCollection.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef DocumentNameCollection_h
6 #define DocumentNameCollection_h
7
8 #include "core/html/HTMLElement.h"
9 #include "core/html/HTMLNameCollection.h"
10
11 namespace blink {
12
13 class DocumentNameCollection FINAL : public HTMLNameCollection {
14 public:
15     static PassRefPtrWillBeRawPtr<DocumentNameCollection> create(ContainerNode& document, CollectionType type, const AtomicString& name)
16     {
17         ASSERT_UNUSED(type, type == DocumentNamedItems);
18         return adoptRefWillBeNoop(new DocumentNameCollection(document, name));
19     }
20
21     HTMLElement* item(unsigned offset) const { return toHTMLElement(HTMLNameCollection::item(offset)); }
22
23     bool elementMatches(const HTMLElement&) const;
24
25 private:
26     DocumentNameCollection(ContainerNode& document, const AtomicString& name);
27 };
28
29 DEFINE_TYPE_CASTS(DocumentNameCollection, LiveNodeListBase, collection, collection->type() == DocumentNamedItems, collection.type() == DocumentNamedItems);
30
31 } // namespace blink
32
33 #endif // DocumentNameCollection_h