Chromium Code Reviews| Index: extensions/renderer/guest_view/mime_handler_view_container.cc |
| diff --git a/extensions/renderer/guest_view/mime_handler_view_container.cc b/extensions/renderer/guest_view/mime_handler_view_container.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0303a814585d4e5e46a0bf5bda394c73d507b075 |
| --- /dev/null |
| +++ b/extensions/renderer/guest_view/mime_handler_view_container.cc |
| @@ -0,0 +1,63 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "extensions/renderer/guest_view/mime_handler_view_container.h" |
| + |
| +#include "content/public/renderer/render_frame.h" |
| +#include "extensions/common/extension_messages.h" |
| +#include "extensions/common/guest_view/guest_view_constants.h" |
| + |
| +namespace extensions { |
| + |
| +MimeHandlerViewContainer::MimeHandlerViewContainer( |
| + content::RenderFrame* render_frame, |
| + const std::string& mime_type) |
| + : GuestViewContainer(render_frame), |
| + mime_type_(mime_type) { |
| + DCHECK(!mime_type_.empty()); |
| +} |
| + |
| +MimeHandlerViewContainer::~MimeHandlerViewContainer() {} |
| + |
| +void MimeHandlerViewContainer::DidFinishLoading() { |
| + DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone); |
| + render_frame()->Send(new ExtensionHostMsg_CreateMimeHandlerViewGuest( |
| + routing_id(), html_string_, mime_type_, element_instance_id_)); |
| +} |
| + |
| +void MimeHandlerViewContainer::DidReceiveData(const char* data, |
| + int data_length) { |
| + std::string value(data, data_length); |
| + html_string_ += value; |
| +} |
| + |
| +void MimeHandlerViewContainer::Ready() {} |
|
Fady Samuel
2014/11/04 11:47:50
If you're not using this you can get rid of it.
raymes
2014/11/04 22:56:09
I'm about to use it in a followup CL, but I've rem
|
| + |
| +bool MimeHandlerViewContainer::HandlesMessage(const IPC::Message& message) { |
| + return message.type() == ExtensionMsg_CreateMimeHandlerViewGuestACK::ID || |
| + message.type() == ExtensionMsg_GuestAttached::ID; |
| +} |
| + |
| +bool MimeHandlerViewContainer::OnMessage(const IPC::Message& message) { |
| + bool handled = true; |
| + IPC_BEGIN_MESSAGE_MAP(MimeHandlerViewContainer, message) |
| + IPC_MESSAGE_HANDLER(ExtensionMsg_CreateMimeHandlerViewGuestACK, |
| + OnCreateMimeHandlerViewGuestACK) |
| + IPC_MESSAGE_HANDLER(ExtensionMsg_GuestAttached, OnGuestAttached) |
| + IPC_MESSAGE_UNHANDLED(handled = false) |
| + IPC_END_MESSAGE_MAP() |
| + return handled; |
| +} |
| + |
| +void MimeHandlerViewContainer::OnCreateMimeHandlerViewGuestACK( |
| + int element_instance_id) { |
| + DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone); |
| + DCHECK_EQ(element_instance_id_, element_instance_id); |
| + render_frame()->AttachGuest(element_instance_id); |
| +} |
| + |
| +void MimeHandlerViewContainer::OnGuestAttached(int guest_proxy_routing_id) { |
| +} |
|
Fady Samuel
2014/11/04 11:47:50
If you're not using this, you can get rid of it.
raymes
2014/11/04 22:56:09
Done.
|
| + |
| +} // namespace extensions |