| Index: content/browser/renderer_host/render_message_filter.cc
|
| diff --git a/content/browser/renderer_host/render_message_filter.cc b/content/browser/renderer_host/render_message_filter.cc
|
| index ad28245826425187e7fbafddee97eba0d8233dee..34ece39210d75372bda50594ae411d9586d528d2 100644
|
| --- a/content/browser/renderer_host/render_message_filter.cc
|
| +++ b/content/browser/renderer_host/render_message_filter.cc
|
| @@ -40,6 +40,7 @@
|
| #include "content/browser/renderer_host/render_widget_helper.h"
|
| #include "content/common/desktop_notification_messages.h"
|
| #include "content/common/notification_service.h"
|
| +#include "content/common/url_constants.h"
|
| #include "content/common/view_messages.h"
|
| #include "ipc/ipc_channel_handle.h"
|
| #include "net/base/cookie_monster.h"
|
| @@ -365,6 +366,10 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message,
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_AllocateSharedMemoryBuffer,
|
| OnAllocateSharedMemoryBuffer)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_DidZoomURL, OnDidZoomURL)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardRead,
|
| + OnCanTriggerClipboardRead)
|
| + IPC_MESSAGE_HANDLER(ViewHostMsg_CanTriggerClipboardWrite,
|
| + OnCanTriggerClipboardWrite)
|
| #if defined(OS_MACOSX)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_AllocTransportDIB, OnAllocTransportDIB)
|
| IPC_MESSAGE_HANDLER(ViewHostMsg_FreeTransportDIB, OnFreeTransportDIB)
|
| @@ -706,6 +711,23 @@ void RenderMessageFilter::OnDidZoomURL(const IPC::Message& message,
|
| zoom_level, remember, url, render_process_id_, message.routing_id()));
|
| }
|
|
|
| +void RenderMessageFilter::OnCanTriggerClipboardRead(const GURL& url,
|
| + bool* allowed) {
|
| + ChromeURLRequestContext* context = GetRequestContextForURL(url);
|
| + *allowed = context->extension_info_map()->CheckURLAccessToExtensionPermission(
|
| + url, Extension::kClipboardReadPermission);
|
| +}
|
| +
|
| +void RenderMessageFilter::OnCanTriggerClipboardWrite(const GURL& url,
|
| + bool* allowed) {
|
| + ChromeURLRequestContext* context = GetRequestContextForURL(url);
|
| + // Since all extensions could historically write to the clipboard, preserve it
|
| + // for compatibility.
|
| + *allowed = url.SchemeIs(chrome::kExtensionScheme) ||
|
| + context->extension_info_map()->CheckURLAccessToExtensionPermission(
|
| + url, Extension::kClipboardWritePermission);
|
| +}
|
| +
|
| void RenderMessageFilter::UpdateHostZoomLevelsOnUIThread(
|
| double zoom_level,
|
| bool remember,
|
|
|