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#include "config.h"
6#include "core/html/WindowNameCollection.h"
7
8#include "core/html/HTMLImageElement.h"
9
10namespace blink {
11
12WindowNameCollection::WindowNameCollection(ContainerNode& document, const AtomicString& name)
13    : HTMLNameCollection(document, WindowNamedItems, name)
14{
15}
16
17bool WindowNameCollection::elementMatches(const Element& element) const
18{
19    // Match only images, forms, applets, embeds and objects by name,
20    // but anything by id
21    if (isHTMLImageElement(element)
22        || isHTMLFormElement(element)
23        || isHTMLAppletElement(element)
24        || isHTMLEmbedElement(element)
25        || isHTMLObjectElement(element)) {
26        if (element.getNameAttribute() == m_name)
27            return true;
28    }
29    return element.getIdAttribute() == m_name;
30}
31
32} // namespace blink
33