summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webkit/api/public/WebClipboard.h1
-rw-r--r--webkit/api/src/ChromiumBridge.cpp5
-rw-r--r--webkit/glue/webclipboard_impl.cc5
-rw-r--r--webkit/glue/webclipboard_impl.h1
-rw-r--r--webkit/tools/test_shell/mock_webclipboard_impl.cc6
-rw-r--r--webkit/tools/test_shell/mock_webclipboard_impl.h1
6 files changed, 19 insertions, 0 deletions
diff --git a/webkit/api/public/WebClipboard.h b/webkit/api/public/WebClipboard.h
index d995680..ce317ff 100644
--- a/webkit/api/public/WebClipboard.h
+++ b/webkit/api/public/WebClipboard.h
@@ -58,6 +58,7 @@ namespace WebKit {
virtual WebString readPlainText(Buffer) = 0;
virtual WebString readHTML(Buffer, WebURL*) = 0;
+ virtual void writePlainText(const WebString&) = 0;
virtual void writeHTML(
const WebString& htmlText, const WebURL&,
const WebString& plainText, bool writeSmartPaste) = 0;
diff --git a/webkit/api/src/ChromiumBridge.cpp b/webkit/api/src/ChromiumBridge.cpp
index d153ded..6ef8d76 100644
--- a/webkit/api/src/ChromiumBridge.cpp
+++ b/webkit/api/src/ChromiumBridge.cpp
@@ -108,6 +108,11 @@ void ChromiumBridge::clipboardWriteSelection(const String& htmlText,
htmlText, sourceURL, plainText, writeSmartPaste);
}
+void ChromiumBridge::clipboardWritePlainText(const String& plainText)
+{
+ webKitClient()->clipboard()->writePlainText(plainText);
+}
+
void ChromiumBridge::clipboardWriteURL(const KURL& url, const String& title)
{
webKitClient()->clipboard()->writeURL(url, title);
diff --git a/webkit/glue/webclipboard_impl.cc b/webkit/glue/webclipboard_impl.cc
index 4798eff..d9aed7a 100644
--- a/webkit/glue/webclipboard_impl.cc
+++ b/webkit/glue/webclipboard_impl.cc
@@ -129,6 +129,11 @@ void WebClipboardImpl::writeHTML(
scw.WriteWebSmartPaste();
}
+void WebClipboardImpl::writePlainText(const WebString& plain_text) {
+ ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
+ scw.WriteText(plain_text);
+}
+
void WebClipboardImpl::writeURL(const WebURL& url, const WebString& title) {
ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
diff --git a/webkit/glue/webclipboard_impl.h b/webkit/glue/webclipboard_impl.h
index cc86505..6612d8e 100644
--- a/webkit/glue/webclipboard_impl.h
+++ b/webkit/glue/webclipboard_impl.h
@@ -30,6 +30,7 @@ class WebClipboardImpl : public WebKit::WebClipboard {
const WebKit::WebURL& source_url,
const WebKit::WebString& plain_text,
bool write_smart_paste);
+ virtual void writePlainText(const WebKit::WebString& plain_text);
virtual void writeURL(
const WebKit::WebURL&,
const WebKit::WebString& title);
diff --git a/webkit/tools/test_shell/mock_webclipboard_impl.cc b/webkit/tools/test_shell/mock_webclipboard_impl.cc
index 7a428be..6cbf829 100644
--- a/webkit/tools/test_shell/mock_webclipboard_impl.cc
+++ b/webkit/tools/test_shell/mock_webclipboard_impl.cc
@@ -63,6 +63,12 @@ void MockWebClipboardImpl::writeHTML(
m_writeSmartPaste = writeSmartPaste;
}
+void MockWebClipboardImpl::writePlainText(const WebKit::WebString& plain_text) {
+ m_htmlText = WebKit::WebString();
+ m_plainText = plain_text;
+ m_writeSmartPaste = false;
+}
+
void MockWebClipboardImpl::writeURL(
const WebKit::WebURL& url, const WebKit::WebString& title) {
m_htmlText = WebString::fromUTF8(
diff --git a/webkit/tools/test_shell/mock_webclipboard_impl.h b/webkit/tools/test_shell/mock_webclipboard_impl.h
index 4aa616f..8491768 100644
--- a/webkit/tools/test_shell/mock_webclipboard_impl.h
+++ b/webkit/tools/test_shell/mock_webclipboard_impl.h
@@ -22,6 +22,7 @@ class MockWebClipboardImpl : public WebKit::WebClipboard {
virtual WebKit::WebString readHTML(WebKit::WebClipboard::Buffer,
WebKit::WebURL*);
+ virtual void writePlainText(const WebKit::WebString& plain_text);
virtual void writeHTML(
const WebKit::WebString& htmlText, const WebKit::WebURL&,
const WebKit::WebString& plainText, bool writeSmartPaste);