Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Unified Diff: extensions/renderer/dispatcher.cc

Issue 972313002: Make <webview> use out-of-process iframe architecture. (Closed) Base URL: ssh://saopaulo.wat/mnt/dev/shared/src@testoopif2z-better-chrome
Patch Set: address all comments from Nasko and Charlie, minus is_loading Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/renderer/dispatcher.cc
diff --git a/extensions/renderer/dispatcher.cc b/extensions/renderer/dispatcher.cc
index f210e27e2b0f290c16be549822ba72fb78076561..223920b159d20df7adba3144b35ecb59d7d519ff 100644
--- a/extensions/renderer/dispatcher.cc
+++ b/extensions/renderer/dispatcher.cc
@@ -30,6 +30,7 @@
#include "extensions/common/feature_switch.h"
#include "extensions/common/features/feature.h"
#include "extensions/common/features/feature_provider.h"
+#include "extensions/common/guest_view/extensions_guest_view_messages.h"
#include "extensions/common/manifest.h"
#include "extensions/common/manifest_constants.h"
#include "extensions/common/manifest_handlers/background_info.h"
@@ -57,6 +58,7 @@
#include "extensions/renderer/extension_helper.h"
#include "extensions/renderer/extensions_renderer_client.h"
#include "extensions/renderer/file_system_natives.h"
+#include "extensions/renderer/guest_view/extensions_guest_view_container.h"
#include "extensions/renderer/guest_view/guest_view_internal_custom_bindings.h"
#include "extensions/renderer/i18n_custom_bindings.h"
#include "extensions/renderer/id_generator_custom_bindings.h"
@@ -709,6 +711,8 @@ bool Dispatcher::OnControlMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ExtensionMsg_ClearTabSpecificPermissions,
OnClearTabSpecificPermissions)
IPC_MESSAGE_HANDLER(ExtensionMsg_UsingWebRequestAPI, OnUsingWebRequestAPI)
+ IPC_MESSAGE_HANDLER_GENERIC(ExtensionsGuestViewMsg_GuestReady,
+ OnGuestReady(message))
IPC_MESSAGE_FORWARD(ExtensionMsg_WatchPages,
content_watcher_.get(),
ContentWatcher::OnWatchPages)
@@ -1033,6 +1037,21 @@ void Dispatcher::OnUsingWebRequestAPI(bool webrequest_used) {
webrequest_used_ = webrequest_used;
}
+// We do not have a BrowserPluginManager to route this message, so we
+// handle the message here.
+// TODO(lazyboy): dispatcher.cc is too generic to handle this message, find
+// a better way to route the message.
+void Dispatcher::OnGuestReady(const IPC::Message& message) {
+ ExtensionsGuestViewMsg_GuestReady::Param param;
+ bool read_status = ExtensionsGuestViewMsg_GuestReady::Read(&message, &param);
+ DCHECK(read_status);
+ int element_instance_id = get<0>(param);
+ auto container = static_cast<ExtensionsGuestViewContainer*>(
+ GuestViewContainer::FromID(element_instance_id));
+ DCHECK(container);
+ container->OnMessage(message);
+}
+
void Dispatcher::OnUserScriptsUpdated(const std::set<HostID>& changed_hosts,
const std::vector<UserScript*>& scripts) {
UpdateActiveExtensions();

Powered by Google App Engine
This is Rietveld 408576698