| Index: webkit/glue/webclipboard_impl.cc
|
| diff --git a/webkit/glue/webclipboard_impl.cc b/webkit/glue/webclipboard_impl.cc
|
| index 80b2ae90220613ffb9896a39cdac272b380260fd..42b76cf54ee9512dc56b0547340985714c0bc281 100644
|
| --- a/webkit/glue/webclipboard_impl.cc
|
| +++ b/webkit/glue/webclipboard_impl.cc
|
| @@ -62,6 +62,10 @@ std::string WebClipboardImpl::URLToImageMarkup(const WebURL& url,
|
| return markup;
|
| }
|
|
|
| +WebClipboardImpl::WebClipboardImpl(ClipboardClient* client)
|
| + : client_(client) {
|
| +}
|
| +
|
| WebClipboardImpl::~WebClipboardImpl() {
|
| }
|
|
|
| @@ -74,7 +78,7 @@ uint64 WebClipboardImpl::sequenceNumber(Buffer buffer) {
|
| if (!ConvertBufferType(buffer, &buffer_type))
|
| return 0;
|
|
|
| - return ClipboardGetSequenceNumber(buffer_type);
|
| + return client_->GetSequenceNumber(buffer_type);
|
| }
|
|
|
| bool WebClipboardImpl::isFormatAvailable(Format format, Buffer buffer) {
|
| @@ -86,9 +90,9 @@ bool WebClipboardImpl::isFormatAvailable(Format format, Buffer buffer) {
|
|
|
| switch (format) {
|
| case FormatPlainText:
|
| - return ClipboardIsFormatAvailable(ui::Clipboard::GetPlainTextFormatType(),
|
| + return client_->IsFormatAvailable(ui::Clipboard::GetPlainTextFormatType(),
|
| buffer_type) ||
|
| - ClipboardIsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
|
| + client_->IsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
|
| buffer_type);
|
| case FormatHTML:
|
| format_type = ui::Clipboard::GetHtmlFormatType();
|
| @@ -106,7 +110,7 @@ bool WebClipboardImpl::isFormatAvailable(Format format, Buffer buffer) {
|
| return false;
|
| }
|
|
|
| - return ClipboardIsFormatAvailable(format_type, buffer_type);
|
| + return client_->IsFormatAvailable(format_type, buffer_type);
|
| }
|
|
|
| WebVector<WebString> WebClipboardImpl::readAvailableTypes(
|
| @@ -114,7 +118,7 @@ WebVector<WebString> WebClipboardImpl::readAvailableTypes(
|
| ui::Clipboard::Buffer buffer_type;
|
| std::vector<string16> types;
|
| if (ConvertBufferType(buffer, &buffer_type)) {
|
| - ClipboardReadAvailableTypes(buffer_type, &types, contains_filenames);
|
| + client_->ReadAvailableTypes(buffer_type, &types, contains_filenames);
|
| }
|
| return types;
|
| }
|
| @@ -124,18 +128,18 @@ WebString WebClipboardImpl::readPlainText(Buffer buffer) {
|
| if (!ConvertBufferType(buffer, &buffer_type))
|
| return WebString();
|
|
|
| - if (ClipboardIsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
|
| + if (client_->IsFormatAvailable(ui::Clipboard::GetPlainTextWFormatType(),
|
| buffer_type)) {
|
| string16 text;
|
| - ClipboardReadText(buffer_type, &text);
|
| + client_->ReadText(buffer_type, &text);
|
| if (!text.empty())
|
| return text;
|
| }
|
|
|
| - if (ClipboardIsFormatAvailable(ui::Clipboard::GetPlainTextFormatType(),
|
| + if (client_->IsFormatAvailable(ui::Clipboard::GetPlainTextFormatType(),
|
| buffer_type)) {
|
| std::string text;
|
| - ClipboardReadAsciiText(buffer_type, &text);
|
| + client_->ReadAsciiText(buffer_type, &text);
|
| if (!text.empty())
|
| return ASCIIToUTF16(text);
|
| }
|
| @@ -152,7 +156,7 @@ WebString WebClipboardImpl::readHTML(Buffer buffer, WebURL* source_url,
|
|
|
| string16 html_stdstr;
|
| GURL gurl;
|
| - ClipboardReadHTML(buffer_type, &html_stdstr, &gurl,
|
| + client_->ReadHTML(buffer_type, &html_stdstr, &gurl,
|
| static_cast<uint32*>(fragment_start),
|
| static_cast<uint32*>(fragment_end));
|
| *source_url = gurl;
|
| @@ -165,14 +169,14 @@ WebData WebClipboardImpl::readImage(Buffer buffer) {
|
| return WebData();
|
|
|
| std::string png_data;
|
| - ClipboardReadImage(buffer_type, &png_data);
|
| + client_->ReadImage(buffer_type, &png_data);
|
| return WebData(png_data);
|
| }
|
|
|
| void WebClipboardImpl::writeHTML(
|
| const WebString& html_text, const WebURL& source_url,
|
| const WebString& plain_text, bool write_smart_paste) {
|
| - ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
|
| + ScopedClipboardWriterGlue scw(client_);
|
| scw.WriteHTML(html_text, source_url.spec());
|
| scw.WriteText(plain_text);
|
|
|
| @@ -181,12 +185,12 @@ void WebClipboardImpl::writeHTML(
|
| }
|
|
|
| void WebClipboardImpl::writePlainText(const WebString& plain_text) {
|
| - ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
|
| + ScopedClipboardWriterGlue scw(client_);
|
| scw.WriteText(plain_text);
|
| }
|
|
|
| void WebClipboardImpl::writeURL(const WebURL& url, const WebString& title) {
|
| - ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
|
| + ScopedClipboardWriterGlue scw(client_);
|
|
|
| scw.WriteBookmark(title, url.spec());
|
| scw.WriteHTML(UTF8ToUTF16(URLToMarkup(url, title)), "");
|
| @@ -195,7 +199,7 @@ void WebClipboardImpl::writeURL(const WebURL& url, const WebString& title) {
|
|
|
| void WebClipboardImpl::writeImage(
|
| const WebImage& image, const WebURL& url, const WebString& title) {
|
| - ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
|
| + ScopedClipboardWriterGlue scw(client_);
|
|
|
| if (!image.isNull()) {
|
| #if WEBKIT_USING_SKIA
|
| @@ -226,7 +230,7 @@ void WebClipboardImpl::writeDataObject(const WebDragData& data) {
|
| // TODO(dcheng): This actually results in a double clear of the clipboard.
|
| // Once in WebKit, and once here when the clipboard writer goes out of scope.
|
| // The same is true of the other WebClipboard::write* methods.
|
| - ScopedClipboardWriterGlue scw(ClipboardGetClipboard());
|
| + ScopedClipboardWriterGlue scw(client_);
|
|
|
| // TODO(dcheng): Properly support text/uri-list here.
|
| scw.WriteText(data.plainText());
|
|
|