Index: chrome/browser/renderer_host/chrome_extension_message_filter.cc |
diff --git a/chrome/browser/renderer_host/chrome_extension_message_filter.cc b/chrome/browser/renderer_host/chrome_extension_message_filter.cc |
index ae531912c1f34d9101b88bf3c562156c0d3c2a63..69d952711d5c2c30302e9554da2ca862c13533cc 100644 |
--- a/chrome/browser/renderer_host/chrome_extension_message_filter.cc |
+++ b/chrome/browser/renderer_host/chrome_extension_message_filter.cc |
@@ -15,6 +15,8 @@ |
#include "chrome/browser/extensions/activity_log/activity_log.h" |
#include "chrome/browser/extensions/api/activity_log_private/activity_log_private_api.h" |
#include "chrome/browser/extensions/api/messaging/message_service.h" |
+#include "chrome/browser/guest_view/guest_view_base.h" |
+#include "chrome/browser/guest_view/guest_view_manager.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/profiles/profile_manager.h" |
#include "chrome/common/extensions/api/i18n/default_locale_handler.h" |
@@ -88,6 +90,8 @@ bool ChromeExtensionMessageFilter::OnMessageReceived( |
const IPC::Message& message) { |
bool handled = true; |
IPC_BEGIN_MESSAGE_MAP(ChromeExtensionMessageFilter, message) |
+ IPC_MESSAGE_HANDLER(ChromeExtensionHostMsg_GuestViewSetAttachParams, |
+ OnGuestViewSetAttachParams) |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardRead, |
OnCanTriggerClipboardRead) |
IPC_MESSAGE_HANDLER(ChromeViewHostMsg_CanTriggerClipboardWrite, |
@@ -116,6 +120,7 @@ bool ChromeExtensionMessageFilter::OnMessageReceived( |
void ChromeExtensionMessageFilter::OverrideThreadForMessage( |
const IPC::Message& message, BrowserThread::ID* thread) { |
switch (message.type()) { |
+ case ChromeExtensionHostMsg_GuestViewSetAttachParams::ID: |
case ExtensionHostMsg_PostMessage::ID: |
case ExtensionHostMsg_CloseChannel::ID: |
*thread = BrowserThread::UI; |
@@ -148,6 +153,24 @@ void ChromeExtensionMessageFilter::OnCanTriggerClipboardWrite( |
origin, render_process_id_, APIPermission::kClipboardWrite)); |
} |
+void ChromeExtensionMessageFilter::OnGuestViewSetAttachParams( |
+ int routing_id, |
+ int element_instance_id, |
+ int guest_instance_id, |
+ const base::DictionaryValue& params) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ GuestViewManager* manager = GuestViewManager::FromBrowserContext(profile_); |
+ if (!manager) |
+ return; |
+ |
+ manager->SetAttachParamsForGuest( |
+ render_process_id_, |
+ routing_id, |
+ element_instance_id, |
+ guest_instance_id, |
+ params); |
+} |
+ |
void ChromeExtensionMessageFilter::OnOpenChannelToExtension( |
int routing_id, |
const ExtensionMsg_ExternalConnectionInfo& info, |