PasteboardWriterData.h [plain text]
#pragma once
#include <wtf/Optional.h>
#include <wtf/URL.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class SharedBuffer;
class PasteboardWriterData final {
public:
WEBCORE_EXPORT PasteboardWriterData();
WEBCORE_EXPORT ~PasteboardWriterData();
WEBCORE_EXPORT bool isEmpty() const;
struct PlainText {
bool canSmartCopyOrDelete;
String text;
};
struct WebContent {
WebContent();
~WebContent();
#if PLATFORM(COCOA)
String contentOrigin;
bool canSmartCopyOrDelete;
RefPtr<SharedBuffer> dataInWebArchiveFormat;
RefPtr<SharedBuffer> dataInRTFDFormat;
RefPtr<SharedBuffer> dataInRTFFormat;
RefPtr<SharedBuffer> dataInAttributedStringFormat;
String dataInHTMLFormat;
String dataInStringFormat;
Vector<String> clientTypes;
Vector<RefPtr<SharedBuffer>> clientData;
#endif
};
const Optional<PlainText>& plainText() const { return m_plainText; }
void setPlainText(PlainText);
struct URLData {
URL url;
String title;
#if PLATFORM(MAC)
String userVisibleForm;
#elif PLATFORM(GTK)
String markup;
#endif
};
const Optional<URLData>& urlData() const { return m_url; }
void setURLData(URLData);
const Optional<WebContent>& webContent() const { return m_webContent; }
void setWebContent(WebContent);
private:
Optional<PlainText> m_plainText;
Optional<URLData> m_url;
Optional<WebContent> m_webContent;
};
}