PasteboardHelper.h [plain text]
#ifndef PasteboardHelper_h
#define PasteboardHelper_h
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
#include <wtf/glib/GRefPtr.h>
namespace WebCore {
class DataObjectGtk;
class PasteboardHelper {
WTF_MAKE_NONCOPYABLE(PasteboardHelper);
public:
static PasteboardHelper& singleton();
enum SmartPasteInclusion { IncludeSmartPaste, DoNotIncludeSmartPaste };
GtkTargetList* targetList() const;
GtkTargetList* targetListForDataObject(DataObjectGtk*, SmartPasteInclusion = DoNotIncludeSmartPaste);
void fillSelectionData(GtkSelectionData*, guint, DataObjectGtk*);
void fillDataObjectFromDropData(GtkSelectionData*, guint, DataObjectGtk*);
Vector<GdkAtom> dropAtomsForContext(GtkWidget*, GdkDragContext*);
void writeClipboardContents(GtkClipboard*, SmartPasteInclusion = DoNotIncludeSmartPaste, GClosure* = 0);
void getClipboardContents(GtkClipboard*);
enum PasteboardTargetType { TargetTypeMarkup, TargetTypeText, TargetTypeImage, TargetTypeURIList, TargetTypeNetscapeURL, TargetTypeSmartPaste, TargetTypeUnknown };
bool clipboardContentSupportsSmartReplace(GtkClipboard*);
void registerClipboard(GtkClipboard*);
private:
PasteboardHelper();
~PasteboardHelper();
GRefPtr<GtkTargetList> m_targetList;
HashSet<GtkClipboard*> m_gtkClipboards;
};
}
#endif // PasteboardHelper_h