Index: extensions/renderer/guest_view/guest_view_container.cc |
diff --git a/extensions/renderer/guest_view/guest_view_container.cc b/extensions/renderer/guest_view/guest_view_container.cc |
index 44ef046739d95fba7337f9199d9d4468c760a110..cc3e333385bb0ae67545144c6605801711abbb17 100644 |
--- a/extensions/renderer/guest_view/guest_view_container.cc |
+++ b/extensions/renderer/guest_view/guest_view_container.cc |
@@ -6,42 +6,34 @@ |
#include "content/public/renderer/render_frame.h" |
#include "content/public/renderer/render_view.h" |
+#include "extensions/common/extension_messages.h" |
#include "extensions/common/guest_view/guest_view_constants.h" |
namespace extensions { |
GuestViewContainer::GuestViewContainer(content::RenderFrame* render_frame) |
- : content::RenderFrameObserver(render_frame), |
- element_instance_id_(guestview::kInstanceIDNone), |
- render_view_routing_id_(render_frame->GetRenderView()->GetRoutingID()) { |
+ : element_instance_id_(guestview::kInstanceIDNone), |
+ render_view_routing_id_(render_frame->GetRenderView()->GetRoutingID()), |
+ render_frame_(render_frame) { |
} |
GuestViewContainer::~GuestViewContainer() {} |
+// static. |
+bool GuestViewContainer::HandlesMessage(const IPC::Message& msg) { |
+ switch (msg.type()) { |
+ case ExtensionMsg_GuestAttached::ID: |
+ case ExtensionMsg_GuestDetached::ID: |
+ case ExtensionMsg_CreateMimeHandlerViewGuestACK::ID: |
+ return true; |
+ default: |
+ return false; |
+ } |
+} |
+ |
void GuestViewContainer::SetElementInstanceID(int element_instance_id) { |
DCHECK_EQ(element_instance_id_, guestview::kInstanceIDNone); |
element_instance_id_ = element_instance_id; |
} |
-void GuestViewContainer::OnDestruct() { |
- // GuestViewContainer's lifetime is managed by BrowserPlugin so don't let |
- // RenderFrameObserver self-destruct here. |
-} |
- |
-bool GuestViewContainer::OnMessageReceived( |
- const IPC::Message& message) { |
- if (!HandlesMessage(message)) |
- return false; |
- |
- DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone); |
- int element_instance_id = guestview::kInstanceIDNone; |
- PickleIterator iter(message); |
- bool success = iter.ReadInt(&element_instance_id); |
- DCHECK(success); |
- if (element_instance_id != element_instance_id_) |
- return false; |
- |
- return OnMessage(message); |
-} |
- |
} // namespace extensions |