diff options
author | apavlov@chromium.org <apavlov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-25 10:54:22 +0000 |
---|---|---|
committer | apavlov@chromium.org <apavlov@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-25 10:54:22 +0000 |
commit | 8c95a751e863e2db3ddebff6971674cf627b4285 (patch) | |
tree | 6034dc8506312c3f36e97caee6266138ae0d209d | |
parent | 59b923cc29b6b680a4d60114a3ce50665c0c0cb9 (diff) | |
download | chromium_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.h | 1 | ||||
-rw-r--r-- | webkit/api/src/ChromiumBridge.cpp | 5 | ||||
-rw-r--r-- | webkit/glue/webclipboard_impl.cc | 5 | ||||
-rw-r--r-- | webkit/glue/webclipboard_impl.h | 1 | ||||
-rw-r--r-- | webkit/tools/test_shell/mock_webclipboard_impl.cc | 6 | ||||
-rw-r--r-- | webkit/tools/test_shell/mock_webclipboard_impl.h | 1 |
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); |