#ifndef ClipboardIOS_h
#define ClipboardIOS_h
#include "CachedResourceClient.h"
#include "Clipboard.h"
#include <wtf/RetainPtr.h>
namespace WebCore {
class Frame;
class FileList;
class ClipboardIOS : public Clipboard, public CachedResourceClient {
WTF_MAKE_FAST_ALLOCATED;
public:
static PassRefPtr<ClipboardIOS> create(ClipboardType clipboardType, ClipboardAccessPolicy policy, Frame* frame)
{
return adoptRef(new ClipboardIOS(clipboardType, policy, frame));
}
virtual ~ClipboardIOS();
virtual void clearData(const String& type) OVERRIDE;
virtual void clearAllData() OVERRIDE;
virtual String getData(const String& type) const OVERRIDE;
virtual bool setData(const String& type, const String& data) OVERRIDE;
virtual bool hasData() OVERRIDE;
virtual HashSet<String> types() const OVERRIDE;
virtual PassRefPtr<FileList> files() const OVERRIDE;
virtual void setDragImage(CachedImage*, const IntPoint&) OVERRIDE;
virtual void setDragImageElement(Node *, const IntPoint&) OVERRIDE;
virtual DragImageRef createDragImage(IntPoint& dragLoc) const OVERRIDE;
#if ENABLE(DRAG_SUPPORT)
virtual void declareAndWriteDragImage(Element*, const KURL&, const String& title, Frame*) OVERRIDE;
#endif
virtual void writeRange(Range*, Frame* frame) OVERRIDE;
virtual void writeURL(const KURL&, const String&, Frame* frame) OVERRIDE;
virtual void writePlainText(const String&) OVERRIDE;
private:
ClipboardIOS(ClipboardType, ClipboardAccessPolicy, Frame*);
int m_changeCount;
Frame* m_frame; };
}
#endif