| Index: extensions/renderer/guest_view/guest_view_container.cc
|
| diff --git a/chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.cc b/extensions/renderer/guest_view/guest_view_container.cc
|
| similarity index 59%
|
| rename from chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.cc
|
| rename to extensions/renderer/guest_view/guest_view_container.cc
|
| index fe5fd0c06fa98b68564885e46f628411e416372f..05ccf68bbe376603f3e6da4da2f67a6bf688da2e 100644
|
| --- a/chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.cc
|
| +++ b/extensions/renderer/guest_view/guest_view_container.cc
|
| @@ -2,49 +2,52 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.h"
|
| +#include "extensions/renderer/guest_view/guest_view_container.h"
|
|
|
| #include "content/public/renderer/browser_plugin_delegate.h"
|
| #include "content/public/renderer/render_frame.h"
|
| #include "extensions/common/extension_messages.h"
|
| +#include "extensions/common/guest_view/guest_view_constants.h"
|
|
|
| -ChromeBrowserPluginDelegate::ChromeBrowserPluginDelegate(
|
| +namespace extensions {
|
| +
|
| +GuestViewContainer::GuestViewContainer(
|
| content::RenderFrame* render_frame,
|
| const std::string& mime_type)
|
| : content::BrowserPluginDelegate(render_frame, mime_type),
|
| content::RenderFrameObserver(render_frame),
|
| mime_type_(mime_type),
|
| - // TODO(lazyboy): Use browser_plugin::kInstanceIDNone.
|
| - element_instance_id_(0) {
|
| + element_instance_id_(guestview::kInstanceIDNone) {
|
| }
|
|
|
| -ChromeBrowserPluginDelegate::~ChromeBrowserPluginDelegate() {
|
| +GuestViewContainer::~GuestViewContainer() {
|
| }
|
|
|
| -void ChromeBrowserPluginDelegate::SetElementInstanceID(
|
| +void GuestViewContainer::SetElementInstanceID(
|
| int element_instance_id) {
|
| element_instance_id_ = element_instance_id;
|
| }
|
|
|
| -void ChromeBrowserPluginDelegate::DidFinishLoading() {
|
| - DCHECK_NE(element_instance_id_, 0);
|
| +void GuestViewContainer::DidFinishLoading() {
|
| + if (mime_type_.empty())
|
| + return;
|
| +
|
| + DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone);
|
| render_frame()->Send(new ExtensionHostMsg_CreateMimeHandlerViewGuest(
|
| routing_id(), html_string_, mime_type_, element_instance_id_));
|
| }
|
|
|
| -void ChromeBrowserPluginDelegate::DidReceiveData(const char* data,
|
| - int data_length) {
|
| +void GuestViewContainer::DidReceiveData(const char* data, int data_length) {
|
| std::string value(data, data_length);
|
| html_string_ += value;
|
| }
|
|
|
| -bool ChromeBrowserPluginDelegate::OnMessageReceived(
|
| - const IPC::Message& message) {
|
| +bool GuestViewContainer::OnMessageReceived(const IPC::Message& message) {
|
| if (message.type() != ExtensionMsg_CreateMimeHandlerViewGuestACK::ID)
|
| return false;
|
|
|
| - DCHECK_NE(element_instance_id_, 0);
|
| - int element_instance_id = 0;
|
| + 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);
|
| @@ -52,7 +55,7 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived(
|
| return false;
|
|
|
| bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP(ChromeBrowserPluginDelegate, message)
|
| + IPC_BEGIN_MESSAGE_MAP(GuestViewContainer, message)
|
| IPC_MESSAGE_HANDLER(ExtensionMsg_CreateMimeHandlerViewGuestACK,
|
| OnCreateMimeHandlerViewGuestACK)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| @@ -60,9 +63,12 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived(
|
| return handled;
|
| }
|
|
|
| -void ChromeBrowserPluginDelegate::OnCreateMimeHandlerViewGuestACK(
|
| +void GuestViewContainer::OnCreateMimeHandlerViewGuestACK(
|
| int element_instance_id) {
|
| - DCHECK_NE(element_instance_id_, 0);
|
| + DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone);
|
| DCHECK_EQ(element_instance_id_, element_instance_id);
|
| + DCHECK(!mime_type_.empty());
|
| render_frame()->AttachGuest(element_instance_id);
|
| }
|
| +
|
| +} // namespace extensions
|
|
|