ClipboardBlackBerry.cpp [plain text]
#include "config.h"
#include "ClipboardBlackBerry.h"
#include "FileList.h"
#include "NotImplemented.h"
#include <BlackBerryPlatformClipboard.h>
namespace WebCore {
PassRefPtr<Clipboard> Clipboard::create(ClipboardAccessPolicy policy, DragData*, Frame*)
{
return ClipboardBlackBerry::create(policy, DragAndDrop);
}
ClipboardBlackBerry::ClipboardBlackBerry(ClipboardAccessPolicy policy, ClipboardType type)
: Clipboard(policy, type)
{
}
ClipboardBlackBerry::~ClipboardBlackBerry()
{
}
void ClipboardBlackBerry::clearData(const String& type)
{
if (policy() != ClipboardWritable)
return;
BlackBerry::Platform::Clipboard::clearClipboardByType(type.utf8().data());
}
void ClipboardBlackBerry::clearAllData()
{
if (policy() != ClipboardWritable)
return;
BlackBerry::Platform::Clipboard::clearClipboard();
}
String ClipboardBlackBerry::getData(const String& type) const
{
if (policy() != ClipboardReadable)
return String();
return String::fromUTF8(BlackBerry::Platform::Clipboard::readClipboardByType(type.utf8().data()).c_str());
}
bool ClipboardBlackBerry::setData(const String& type, const String& text)
{
if (policy() != ClipboardWritable)
return false;
if (type == "text/plain")
BlackBerry::Platform::Clipboard::writePlainText(text.utf8().data());
else if (type == "text/html")
BlackBerry::Platform::Clipboard::writeHTML(text.utf8().data());
else if (type == "text/url")
BlackBerry::Platform::Clipboard::writeURL(text.utf8().data());
return true;
}
HashSet<String> ClipboardBlackBerry::types() const
{
if (policy() != ClipboardReadable && policy() != ClipboardTypesReadable)
return HashSet<String>();
HashSet<String> ret;
ret.add("text/plain");
ret.add("text/html");
ret.add("text/url");
return ret;
}
PassRefPtr<FileList> ClipboardBlackBerry::files() const
{
notImplemented();
return 0;
}
DragImageRef ClipboardBlackBerry::createDragImage(IntPoint&) const
{
notImplemented();
return 0;
}
void ClipboardBlackBerry::declareAndWriteDragImage(Element*, const KURL&, const String&, Frame*)
{
notImplemented();
}
void ClipboardBlackBerry::writeURL(const KURL& url, const String&, Frame*)
{
ASSERT(!url.isEmpty());
BlackBerry::Platform::Clipboard::writeURL(url.string().utf8().data());
}
void ClipboardBlackBerry::writeRange(Range*, Frame*)
{
notImplemented();
}
void ClipboardBlackBerry::writePlainText(const String& text)
{
BlackBerry::Platform::Clipboard::writePlainText(text.utf8().data());
}
bool ClipboardBlackBerry::hasData()
{
return BlackBerry::Platform::Clipboard::hasPlainText() || BlackBerry::Platform::Clipboard::hasHTML()
|| BlackBerry::Platform::Clipboard::hasURL();
}
void ClipboardBlackBerry::setDragImage(CachedImage*, const IntPoint&)
{
notImplemented();
}
void ClipboardBlackBerry::setDragImageElement(Node*, const IntPoint&)
{
notImplemented();
}
}