Home | History | Annotate | Download | only in html
      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
     34