18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *           (C) 1999 Antti Koivisto (koivisto@kde.org)
4231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved.
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version.
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful,
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details.
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA.
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef HTMLEmbedElement_h
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define HTMLEmbedElement_h
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "HTMLPlugInImageElement.h"
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass HTMLEmbedElement : public HTMLPlugInImageElement {
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic:
325ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen    static PassRefPtr<HTMLEmbedElement> create(const QualifiedName&, Document*, bool createdByParser);
33231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
34231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockprivate:
355ddde30071f639962dd557c453f2ad01f8f0fd00Kristian Monsen    HTMLEmbedElement(const QualifiedName&, Document*, bool createdByParser);
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual bool mapToEntry(const QualifiedName& attrName, MappedAttributeEntry& result) const;
38e78cbe89e6f337f2f1fe40315be88f742b547151Steve Block    virtual void parseMappedAttribute(Attribute*);
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual bool rendererIsNeeded(RenderStyle*);
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual void insertedIntoDocument();
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual void removedFromDocument();
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual void attributeChanged(Attribute*, bool preserveDecls = false);
445abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual bool isURLAttribute(Attribute*) const;
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual const QualifiedName& imageSourceAttributeName() const;
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    virtual RenderWidget* renderWidgetForJSBindings() const;
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
502fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    virtual void updateWidget(PluginCreationOption);
515abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick
52635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    virtual void addSubresourceAttributeURLs(ListHashSet<KURL>&) const;
535abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick
545abb8606fa57c3ebfc8b3c3dbc3fa4a25d2ae306Iain Merrick    void parametersForPlugin(Vector<String>& paramNames, Vector<String>& paramValues);
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project};
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
60