| Index: content/browser/renderer_host/clipboard_message_filter.cc
|
| diff --git a/content/browser/renderer_host/clipboard_message_filter.cc b/content/browser/renderer_host/clipboard_message_filter.cc
|
| index 8cb3b9d620a11d2857b09d2d7a8248e52d927a52..ca71e5dcb6cd956745547e653b4e1a139e0c4add 100644
|
| --- a/content/browser/renderer_host/clipboard_message_filter.cc
|
| +++ b/content/browser/renderer_host/clipboard_message_filter.cc
|
| @@ -38,7 +38,9 @@ ClipboardMessageFilter::ClipboardMessageFilter() {
|
| void ClipboardMessageFilter::OverrideThreadForMessage(
|
| const IPC::Message& message, BrowserThread::ID* thread) {
|
| #if defined(USE_X11)
|
| - if (IPC_MESSAGE_CLASS(message) == ClipboardMsgStart)
|
| + if (message.type() == ClipboardHostMsg_ReadImage::ID)
|
| + *thread = BrowserThread::BACKGROUND_X11;
|
| + else if (IPC_MESSAGE_CLASS(message) == ClipboardMsgStart)
|
| *thread = BrowserThread::UI;
|
| #endif
|
| }
|
| @@ -53,6 +55,7 @@ bool ClipboardMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| IPC_MESSAGE_HANDLER(ClipboardHostMsg_ReadText, OnReadText)
|
| IPC_MESSAGE_HANDLER(ClipboardHostMsg_ReadAsciiText, OnReadAsciiText)
|
| IPC_MESSAGE_HANDLER(ClipboardHostMsg_ReadHTML, OnReadHTML)
|
| + IPC_MESSAGE_HANDLER(ClipboardHostMsg_ReadImage, OnReadImage)
|
| #if defined(OS_MACOSX)
|
| IPC_MESSAGE_HANDLER(ClipboardHostMsg_FindPboardWriteStringAsync,
|
| OnFindPboardWriteString)
|
| @@ -132,6 +135,11 @@ void ClipboardMessageFilter::OnReadHTML(
|
| *url = GURL(src_url_str);
|
| }
|
|
|
| +void ClipboardMessageFilter::OnReadImage(
|
| + ui::Clipboard::Buffer buffer, std::string* data) {
|
| + GetClipboard()->ReadImage(buffer, data);
|
| +}
|
| +
|
| void ClipboardMessageFilter::OnReadAvailableTypes(
|
| ui::Clipboard::Buffer buffer, bool* succeeded, std::vector<string16>* types,
|
| bool* contains_filenames) {
|
|
|