#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, WTFMove(pluginInfo))); }
~DOMPlugin();
String name() const;
String filename() const;
String description() const;
unsigned length() const;
RefPtr<DOMMimeType> item(unsigned index);
RefPtr<DOMMimeType> namedItem(const AtomicString& propertyName);
Vector<AtomicString> supportedPropertyNames();
private:
DOMPlugin(PluginData*, Frame*, PluginInfo);
RefPtr<PluginData> m_pluginData;
PluginInfo m_pluginInfo;
};
}
#endif // DOMPlugin_h