1f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)// found in the LICENSE file. 4f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 5f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)#include "config.h" 6f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)#include "core/html/WindowNameCollection.h" 7f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 8f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)#include "core/html/HTMLImageElement.h" 9f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 10c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)namespace blink { 11f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 12f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)WindowNameCollection::WindowNameCollection(ContainerNode& document, const AtomicString& name) 13f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) : HTMLNameCollection(document, WindowNamedItems, name) 14f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles){ 15f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)} 16f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 17f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)bool WindowNameCollection::elementMatches(const Element& element) const 18f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles){ 19f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) // Match only images, forms, applets, embeds and objects by name, 20f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) // but anything by id 21f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) if (isHTMLImageElement(element) 22f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) || isHTMLFormElement(element) 23f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) || isHTMLAppletElement(element) 24f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) || isHTMLEmbedElement(element) 25f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) || isHTMLObjectElement(element)) { 26f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) if (element.getNameAttribute() == m_name) 27f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) return true; 28f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) } 29f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) return element.getIdAttribute() == m_name; 30f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles)} 31f6b7aed3f7ce69aca0d7a032d144cbd088b04393Torne (Richard Coles) 32c1847b1379d12d0e05df27436bf19a9b1bf12deaTorne (Richard Coles)} // namespace blink 33