#ifndef DOMMimeType_h
#define DOMMimeType_h
#include "bindings/v8/ScriptWrappable.h"
#include "core/frame/FrameDestructionObserver.h"
#include "heap/Handle.h"
#include "platform/plugins/PluginData.h"
#include "wtf/Forward.h"
#include "wtf/PassRefPtr.h"
#include "wtf/RefCounted.h"
#include "wtf/RefPtr.h"
namespace WebCore {
class DOMPlugin;
class LocalFrame;
class DOMMimeType FINAL : public RefCountedWillBeGarbageCollectedFinalized<DOMMimeType>, public ScriptWrappable, public FrameDestructionObserver {
public:
static PassRefPtrWillBeRawPtr<DOMMimeType> create(PassRefPtr<PluginData> pluginData, LocalFrame* frame, unsigned index)
{
return adoptRefWillBeNoop(new DOMMimeType(pluginData, frame, index));
}
virtual ~DOMMimeType();
const String& type() const;
String suffixes() const;
const String& description() const;
PassRefPtrWillBeRawPtr<DOMPlugin> enabledPlugin() const;
void trace(Visitor*) { }
private:
const MimeClassInfo& mimeClassInfo() const { return m_pluginData->mimes()[m_index]; }
DOMMimeType(PassRefPtr<PluginData>, LocalFrame*, unsigned index);
RefPtr<PluginData> m_pluginData;
unsigned m_index;
};
}
#endif