summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorapavlov@chromium.org <apavlov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-25 10:54:22 +0000
committerapavlov@chromium.org <apavlov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-25 10:54:22 +0000
commit8c95a751e863e2db3ddebff6971674cf627b4285 (patch)
tree6034dc8506312c3f36e97caee6266138ae0d209d
parent59b923cc29b6b680a4d60114a3ce50665c0c0cb9 (diff)
downloadchromium_src-8c95a751e863e2db3ddebff6971674cf627b4285.zip
chromium_src-8c95a751e863e2db3ddebff6971674cf627b4285.tar.gz
chromium_src-8c95a751e863e2db3ddebff6971674cf627b4285.tar.bz2
This is an implementation of the bridge method for copying arbitrary plaintext onto a clipboard in Chromium. The method is declared upstream, in a patch associated with
https://bugs.webkit.org/show_bug.cgi?id=29634 Review URL: http://codereview.chromium.org/211052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27176 0039d316-1c4b-4281-b951-d872f2087c98
-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);