summaryrefslogtreecommitdiffstats
path: root/content/browser
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-15 20:56:19 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-15 20:56:19 +0000
commit3d4a691b9495479f49eaac0b2ff9411e34208b3a (patch)
tree46b193a3855ca14bacc14d57408d283d75abfd81 /content/browser
parent78600f488d65bd1e5c64e590a4e20c1bceebbe59 (diff)
downloadchromium_src-3d4a691b9495479f49eaac0b2ff9411e34208b3a.zip
chromium_src-3d4a691b9495479f49eaac0b2ff9411e34208b3a.tar.gz
chromium_src-3d4a691b9495479f49eaac0b2ff9411e34208b3a.tar.bz2
Add stubs and glue for routing a request for an image from the clipboard.
BUG=75237 TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=78134 Review URL: http://codereview.chromium.org/6625075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78283 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r--content/browser/renderer_host/clipboard_message_filter.cc10
-rw-r--r--content/browser/renderer_host/clipboard_message_filter.h1
2 files changed, 10 insertions, 1 deletions
diff --git a/content/browser/renderer_host/clipboard_message_filter.cc b/content/browser/renderer_host/clipboard_message_filter.cc
index 8cb3b9d..ca71e5d 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) {
diff --git a/content/browser/renderer_host/clipboard_message_filter.h b/content/browser/renderer_host/clipboard_message_filter.h
index f755d91..682e241e 100644
--- a/content/browser/renderer_host/clipboard_message_filter.h
+++ b/content/browser/renderer_host/clipboard_message_filter.h
@@ -35,6 +35,7 @@ class ClipboardMessageFilter : public BrowserMessageFilter {
void OnReadText(ui::Clipboard::Buffer buffer, string16* result);
void OnReadAsciiText(ui::Clipboard::Buffer buffer, std::string* result);
void OnReadHTML(ui::Clipboard::Buffer buffer, string16* markup, GURL* url);
+ void OnReadImage(ui::Clipboard::Buffer buffer, std::string* data);
#if defined(OS_MACOSX)
void OnFindPboardWriteString(const string16& text);
#endif