PasteboardHelper.h [plain text]
#ifndef PasteboardHelper_h
#define PasteboardHelper_h
#include "GRefPtrGtk.h"
#include <wtf/Function.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
namespace WebCore {
class SelectionData;
class PasteboardHelper {
WTF_MAKE_NONCOPYABLE(PasteboardHelper);
public:
static PasteboardHelper& singleton();
enum SmartPasteInclusion { IncludeSmartPaste, DoNotIncludeSmartPaste };
GtkTargetList* targetList() const;
GRefPtr<GtkTargetList> targetListForSelectionData(const SelectionData&);
void fillSelectionData(const SelectionData&, unsigned, GtkSelectionData*);
void fillSelectionData(GtkSelectionData*, unsigned, SelectionData&);
Vector<GdkAtom> dropAtomsForContext(GtkWidget*, GdkDragContext*);
void writeClipboardContents(GtkClipboard*, const SelectionData&, WTF::Function<void()>&& primarySelectionCleared = nullptr);
void getClipboardContents(GtkClipboard*, SelectionData&);
enum PasteboardTargetType { TargetTypeMarkup, TargetTypeText, TargetTypeImage, TargetTypeURIList, TargetTypeNetscapeURL, TargetTypeSmartPaste, TargetTypeUnknown };
private:
PasteboardHelper();
~PasteboardHelper();
GRefPtr<GtkTargetList> m_targetList;
};
}
#endif // PasteboardHelper_h