#ifndef DOMPlugin_h
#define DOMPlugin_h
#include "FrameDestructionObserver.h"
#include "DOMMimeType.h"
#include "ScriptWrappable.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
namespace WebCore {
class Plugin;
class PluginData;
class DOMPlugin : public ScriptWrappable, public RefCounted<DOMPlugin>, public FrameDestructionObserver {
public:
static Ref<DOMPlugin> create(PluginData* pluginData, Frame* frame, PluginInfo pluginInfo) { return adoptRef(*new DOMPlugin(pluginData, frame, WTF::move(pluginInfo))); }
~DOMPlugin();
String name() const;
String filename() const;
String description() const;
unsigned length() const;
PassRefPtr<DOMMimeType> item(unsigned index);
bool canGetItemsForName(const AtomicString& propertyName);
PassRefPtr<DOMMimeType> namedItem(const AtomicString& propertyName);
private:
DOMPlugin(PluginData*, Frame*, PluginInfo);
RefPtr<PluginData> m_pluginData;
PluginInfo m_pluginInfo;
};
}
#endif // DOMPlugin_h