#include "config.h"
#include "Pasteboard.h"
#include "NotImplemented.h"
#include "PasteboardStrategy.h"
#include "PlatformStrategies.h"
namespace WebCore {
std::unique_ptr<Pasteboard> Pasteboard::createForCopyAndPaste()
{
return std::make_unique<Pasteboard>();
}
Pasteboard::Pasteboard()
{
}
bool Pasteboard::hasData()
{
Vector<String> types;
platformStrategies()->pasteboardStrategy()->getTypes(types);
return !types.isEmpty();
}
Vector<String> Pasteboard::typesSafeForBindings(const String&)
{
notImplemented();
return { };
}
Vector<String> Pasteboard::typesForLegacyUnsafeBindings()
{
Vector<String> types;
platformStrategies()->pasteboardStrategy()->getTypes(types);
return types;
}
String Pasteboard::readOrigin()
{
notImplemented(); return { };
}
String Pasteboard::readString(const String& type)
{
return platformStrategies()->pasteboardStrategy()->readStringFromPasteboard(0, type);
}
String Pasteboard::readStringInCustomData(const String&)
{
notImplemented();
return { };
}
void Pasteboard::writeString(const String& type, const String& text)
{
platformStrategies()->pasteboardStrategy()->writeToPasteboard(type, text);
}
void Pasteboard::clear()
{
}
void Pasteboard::clear(const String&)
{
}
void Pasteboard::read(PasteboardPlainText& text)
{
text.text = platformStrategies()->pasteboardStrategy()->readStringFromPasteboard(0, "text/plain;charset=utf-8");
}
void Pasteboard::read(PasteboardWebContentReader&, WebContentReadingPolicy)
{
notImplemented();
}
void Pasteboard::read(PasteboardFileReader&)
{
}
void Pasteboard::write(const PasteboardURL& url)
{
platformStrategies()->pasteboardStrategy()->writeToPasteboard("text/plain;charset=utf-8", url.url.string());
}
void Pasteboard::writeTrustworthyWebURLsPboardType(const PasteboardURL&)
{
notImplemented();
}
void Pasteboard::write(const PasteboardImage&)
{
}
void Pasteboard::write(const PasteboardWebContent& content)
{
platformStrategies()->pasteboardStrategy()->writeToPasteboard(content);
}
bool Pasteboard::containsFiles()
{
notImplemented();
return false;
}
bool Pasteboard::canSmartReplace()
{
return false;
}
void Pasteboard::writeMarkup(const String&)
{
}
void Pasteboard::writePlainText(const String& text, SmartReplaceOption)
{
writeString("text/plain;charset=utf-8", text);
}
void Pasteboard::writeCustomData(const PasteboardCustomData&)
{
}
}