Kristian Monsen | 72a454c | 2011-05-31 20:30:28 +0100 | [diff] [blame] | 1 | // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 4 | |
| 5 | #ifndef WEBCLIPBOARD_IMPL_H_ |
| 6 | #define WEBCLIPBOARD_IMPL_H_ |
| 7 | |
Kristian Monsen | 72a454c | 2011-05-31 20:30:28 +0100 | [diff] [blame] | 8 | #include "third_party/WebKit/Source/WebKit/chromium/public/WebClipboard.h" |
| 9 | #include "ui/base/clipboard/clipboard.h" |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 10 | |
| 11 | #include <string> |
| 12 | |
| 13 | namespace webkit_glue { |
| 14 | |
| 15 | class WebClipboardImpl : public WebKit::WebClipboard { |
| 16 | public: |
| 17 | static std::string URLToMarkup(const WebKit::WebURL& url, |
| 18 | const WebKit::WebString& title); |
| 19 | static std::string URLToImageMarkup(const WebKit::WebURL& url, |
| 20 | const WebKit::WebString& title); |
| 21 | |
Iain Merrick | 3345a68 | 2010-10-19 14:37:37 +0100 | [diff] [blame] | 22 | virtual ~WebClipboardImpl(); |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 23 | |
| 24 | // WebClipboard methods: |
| 25 | virtual bool isFormatAvailable(Format, Buffer); |
| 26 | virtual WebKit::WebString readPlainText(Buffer); |
| 27 | virtual WebKit::WebString readHTML(Buffer, WebKit::WebURL* source_url); |
Kristian Monsen | ddb351d | 2011-06-28 21:49:31 +0100 | [diff] [blame] | 28 | virtual WebKit::WebData readImage(Buffer); |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 29 | virtual void writeHTML( |
| 30 | const WebKit::WebString& html_text, |
| 31 | const WebKit::WebURL& source_url, |
| 32 | const WebKit::WebString& plain_text, |
| 33 | bool write_smart_paste); |
| 34 | virtual void writePlainText(const WebKit::WebString& plain_text); |
| 35 | virtual void writeURL( |
| 36 | const WebKit::WebURL&, |
| 37 | const WebKit::WebString& title); |
| 38 | virtual void writeImage( |
| 39 | const WebKit::WebImage&, |
| 40 | const WebKit::WebURL& source_url, |
| 41 | const WebKit::WebString& title); |
Kristian Monsen | 72a454c | 2011-05-31 20:30:28 +0100 | [diff] [blame] | 42 | virtual void writeData( |
| 43 | const WebKit::WebString& type, |
| 44 | const WebKit::WebString& data, |
| 45 | const WebKit::WebString& metadata); |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 46 | |
| 47 | virtual WebKit::WebVector<WebKit::WebString> readAvailableTypes( |
| 48 | Buffer, bool* contains_filenames); |
| 49 | virtual bool readData(Buffer, const WebKit::WebString& type, |
| 50 | WebKit::WebString* data, WebKit::WebString* metadata); |
| 51 | virtual WebKit::WebVector<WebKit::WebString> readFilenames(Buffer); |
| 52 | |
| 53 | private: |
Kristian Monsen | 72a454c | 2011-05-31 20:30:28 +0100 | [diff] [blame] | 54 | bool ConvertBufferType(Buffer, ui::Clipboard::Buffer*); |
Ben Murdoch | c407dc5 | 2010-07-29 17:14:53 +0100 | [diff] [blame] | 55 | }; |
| 56 | |
| 57 | } // namespace webkit_glue |
| 58 | |
| 59 | #endif // WEBCLIPBOARD_IMPL_H_ |