Commit 3a3d128e authored by fsamuel's avatar fsamuel Committed by Commit bot

Rename ChromeBrowserPluginDelegate to GuestViewContainer

This CL renames ChromeBrowserPluginDelegate to GuestViewContainer and moves it to extensions

This CL moves guest_view_constants to extensions/common/*

This CL also attaches a GuestViewContainer to all GuestViews.

BUG=330264, 352290

Review URL: https://codereview.chromium.org/577453002

Cr-Commit-Position: refs/heads/master@{#295034}
parent 352f1537
...@@ -217,7 +217,6 @@ ...@@ -217,7 +217,6 @@
#include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h"
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/browser/guest_view/guest_view_base.h" #include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h" #include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h" #include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
......
...@@ -7,8 +7,6 @@ ...@@ -7,8 +7,6 @@
'chrome_renderer_sources': [ 'chrome_renderer_sources': [
'renderer/benchmarking_extension.cc', 'renderer/benchmarking_extension.cc',
'renderer/benchmarking_extension.h', 'renderer/benchmarking_extension.h',
'renderer/browser_plugin/chrome_browser_plugin_delegate.cc',
'renderer/browser_plugin/chrome_browser_plugin_delegate.h',
'renderer/isolated_world_ids.h', 'renderer/isolated_world_ids.h',
'renderer/loadtimes_extension_bindings.cc', 'renderer/loadtimes_extension_bindings.cc',
'renderer/loadtimes_extension_bindings.h', 'renderer/loadtimes_extension_bindings.h',
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include "chrome/grit/locale_settings.h" #include "chrome/grit/locale_settings.h"
#include "chrome/grit/renderer_resources.h" #include "chrome/grit/renderer_resources.h"
#include "chrome/renderer/benchmarking_extension.h" #include "chrome/renderer/benchmarking_extension.h"
#include "chrome/renderer/browser_plugin/chrome_browser_plugin_delegate.h"
#include "chrome/renderer/chrome_render_frame_observer.h" #include "chrome/renderer/chrome_render_frame_observer.h"
#include "chrome/renderer/chrome_render_process_observer.h" #include "chrome/renderer/chrome_render_process_observer.h"
#include "chrome/renderer/chrome_render_view_observer.h" #include "chrome/renderer/chrome_render_view_observer.h"
...@@ -122,6 +121,7 @@ ...@@ -122,6 +121,7 @@
#include "extensions/renderer/dispatcher.h" #include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/extension_helper.h" #include "extensions/renderer/extension_helper.h"
#include "extensions/renderer/extensions_render_frame_observer.h" #include "extensions/renderer/extensions_render_frame_observer.h"
#include "extensions/renderer/guest_view/guest_view_container.h"
#include "extensions/renderer/script_context.h" #include "extensions/renderer/script_context.h"
#endif #endif
...@@ -1573,5 +1573,9 @@ content::BrowserPluginDelegate* ...@@ -1573,5 +1573,9 @@ content::BrowserPluginDelegate*
ChromeContentRendererClient::CreateBrowserPluginDelegate( ChromeContentRendererClient::CreateBrowserPluginDelegate(
content::RenderFrame* render_frame, content::RenderFrame* render_frame,
const std::string& mime_type) { const std::string& mime_type) {
return new ChromeBrowserPluginDelegate(render_frame, mime_type); #if defined(ENABLE_EXTENSIONS)
return new extensions::GuestViewContainer(render_frame, mime_type);
#else
return NULL;
#endif
} }
...@@ -1552,8 +1552,11 @@ blink::WebPlugin* RenderFrameImpl::createPlugin( ...@@ -1552,8 +1552,11 @@ blink::WebPlugin* RenderFrameImpl::createPlugin(
} }
if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) { if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) {
scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
GetContentClient()->renderer()->CreateBrowserPluginDelegate(
this, std::string()));
return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
render_view_.get(), frame, scoped_ptr<BrowserPluginDelegate>()); render_view_.get(), frame, browser_plugin_delegate.Pass());
} }
#if defined(ENABLE_PLUGINS) #if defined(ENABLE_PLUGINS)
......
...@@ -330,8 +330,6 @@ source_set("browser") { ...@@ -330,8 +330,6 @@ source_set("browser") {
"guest_view/extension_options/extension_options_guest_delegate.h", "guest_view/extension_options/extension_options_guest_delegate.h",
"guest_view/guest_view_base.cc", "guest_view/guest_view_base.cc",
"guest_view/guest_view_base.h", "guest_view/guest_view_base.h",
"guest_view/guest_view_constants.cc",
"guest_view/guest_view_constants.h",
"guest_view/guest_view_manager_factory.h", "guest_view/guest_view_manager_factory.h",
"guest_view/guest_view_manager.cc", "guest_view/guest_view_manager.cc",
"guest_view/guest_view_manager.h", "guest_view/guest_view_manager.h",
......
...@@ -16,13 +16,13 @@ ...@@ -16,13 +16,13 @@
#include "extensions/browser/extension_registry.h" #include "extensions/browser/extension_registry.h"
#include "extensions/browser/guest_view/app_view/app_view_guest.h" #include "extensions/browser/guest_view/app_view/app_view_guest.h"
#include "extensions/browser/guest_view/extension_options/extension_options_guest.h" #include "extensions/browser/guest_view/extension_options/extension_options_guest.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h" #include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h" #include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/process_map.h" #include "extensions/browser/process_map.h"
#include "extensions/common/features/feature.h" #include "extensions/common/features/feature.h"
#include "extensions/common/features/feature_provider.h" #include "extensions/common/features/feature_provider.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "third_party/WebKit/public/web/WebInputEvent.h" #include "third_party/WebKit/public/web/WebInputEvent.h"
using content::WebContents; using content::WebContents;
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
#include "content/public/common/url_constants.h" #include "content/public/common/url_constants.h"
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/browser/guest_view/guest_view_base.h" #include "extensions/browser/guest_view/guest_view_base.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager_factory.h" #include "extensions/browser/guest_view/guest_view_manager_factory.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "net/base/escape.h" #include "net/base/escape.h"
#include "url/gurl.h" #include "url/gurl.h"
......
...@@ -9,11 +9,11 @@ ...@@ -9,11 +9,11 @@
#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_process_host.h"
#include "content/public/common/url_constants.h" #include "content/public/common/url_constants.h"
#include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h" #include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_constants.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_constants.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h" #include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h"
#include "extensions/common/feature_switch.h" #include "extensions/common/feature_switch.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/strings/grit/extensions_strings.h" #include "extensions/strings/grit/extensions_strings.h"
#include "net/base/url_util.h" #include "net/base/url_util.h"
......
...@@ -6,11 +6,11 @@ ...@@ -6,11 +6,11 @@
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/values.h" #include "base/values.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/web_view/web_view_constants.h" #include "extensions/browser/guest_view/web_view/web_view_constants.h"
#include "extensions/browser/guest_view/web_view/web_view_guest.h" #include "extensions/browser/guest_view/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_types.h" #include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
#include "extensions/common/guest_view/guest_view_constants.h"
namespace extensions { namespace extensions {
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
#include "content/public/common/url_constants.h" #include "content/public/common/url_constants.h"
#include "extensions/browser/api/extensions_api_client.h" #include "extensions/browser/api/extensions_api_client.h"
#include "extensions/browser/extension_system.h" #include "extensions/browser/extension_system.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/guest_view_manager.h" #include "extensions/browser/guest_view/guest_view_manager.h"
#include "extensions/browser/guest_view/web_view/web_view_constants.h" #include "extensions/browser/guest_view/web_view/web_view_constants.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h" #include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
...@@ -39,6 +38,7 @@ ...@@ -39,6 +38,7 @@
#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h" #include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/common/constants.h" #include "extensions/common/constants.h"
#include "extensions/common/extension_messages.h" #include "extensions/common/extension_messages.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/strings/grit/extensions_strings.h" #include "extensions/strings/grit/extensions_strings.h"
#include "ipc/ipc_message_macros.h" #include "ipc/ipc_message_macros.h"
#include "net/base/escape.h" #include "net/base/escape.h"
......
...@@ -10,8 +10,8 @@ ...@@ -10,8 +10,8 @@
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.h" #include "content/public/browser/web_contents_observer.h"
#include "content/public/common/media_stream_request.h" #include "content/public/common/media_stream_request.h"
#include "extensions/browser/guest_view/guest_view_constants.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_types.h" #include "extensions/browser/guest_view/web_view/web_view_permission_types.h"
#include "extensions/common/guest_view/guest_view_constants.h"
using base::UserMetricsAction; using base::UserMetricsAction;
......
...@@ -84,6 +84,8 @@ source_set("common") { ...@@ -84,6 +84,8 @@ source_set("common") {
"features/simple_feature_filter.h", "features/simple_feature_filter.h",
"file_util.cc", "file_util.cc",
"file_util.h", "file_util.h",
"guest_view/guest_view_constants.cc",
"guest_view/guest_view_constants.h",
"install_warning.cc", "install_warning.cc",
"install_warning.h", "install_warning.h",
"manifest.cc", "manifest.cc",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include "extensions/browser/guest_view/guest_view_constants.h" #include "extensions/common/guest_view/guest_view_constants.h"
namespace guestview { namespace guestview {
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
// Constants used for the WebView API. // Constants used for the WebView API.
#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_ #ifndef EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
#define EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_ #define EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
namespace guestview { namespace guestview {
...@@ -25,5 +25,5 @@ extern const int kInstanceIDNone; ...@@ -25,5 +25,5 @@ extern const int kInstanceIDNone;
} // namespace guestview } // namespace guestview
#endif // EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_ #endif // EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
...@@ -114,6 +114,8 @@ ...@@ -114,6 +114,8 @@
'common/features/simple_feature_filter.h', 'common/features/simple_feature_filter.h',
'common/file_util.cc', 'common/file_util.cc',
'common/file_util.h', 'common/file_util.h',
'common/guest_view/guest_view_constants.cc',
'common/guest_view/guest_view_constants.h',
'common/install_warning.cc', 'common/install_warning.cc',
'common/install_warning.h', 'common/install_warning.h',
'common/manifest.cc', 'common/manifest.cc',
...@@ -594,8 +596,6 @@ ...@@ -594,8 +596,6 @@
'browser/guest_view/extension_options/extension_options_guest_delegate.h', 'browser/guest_view/extension_options/extension_options_guest_delegate.h',
'browser/guest_view/guest_view_base.cc', 'browser/guest_view/guest_view_base.cc',
'browser/guest_view/guest_view_base.h', 'browser/guest_view/guest_view_base.h',
'browser/guest_view/guest_view_constants.cc',
'browser/guest_view/guest_view_constants.h',
'browser/guest_view/guest_view_manager_factory.h', 'browser/guest_view/guest_view_manager_factory.h',
'browser/guest_view/guest_view_manager.cc', 'browser/guest_view/guest_view_manager.cc',
'browser/guest_view/guest_view_manager.h', 'browser/guest_view/guest_view_manager.h',
...@@ -788,6 +788,8 @@ ...@@ -788,6 +788,8 @@
'renderer/extensions_renderer_client.h', 'renderer/extensions_renderer_client.h',
'renderer/file_system_natives.cc', 'renderer/file_system_natives.cc',
'renderer/file_system_natives.h', 'renderer/file_system_natives.h',
'renderer/guest_view/guest_view_container.cc',
'renderer/guest_view/guest_view_container.h',
'renderer/guest_view/guest_view_internal_custom_bindings.cc', 'renderer/guest_view/guest_view_internal_custom_bindings.cc',
'renderer/guest_view/guest_view_internal_custom_bindings.h', 'renderer/guest_view/guest_view_internal_custom_bindings.h',
'renderer/i18n_custom_bindings.cc', 'renderer/i18n_custom_bindings.cc',
......
...@@ -47,6 +47,8 @@ source_set("renderer") { ...@@ -47,6 +47,8 @@ source_set("renderer") {
"extensions_renderer_client.h", "extensions_renderer_client.h",
"file_system_natives.cc", "file_system_natives.cc",
"file_system_natives.h", "file_system_natives.h",
"guest_view/guest_view_container.cc",
"guest_view/guest_view_container.h",
"guest_view/guest_view_internal_custom_bindings.cc", "guest_view/guest_view_internal_custom_bindings.cc",
"guest_view/guest_view_internal_custom_bindings.h", "guest_view/guest_view_internal_custom_bindings.h",
"i18n_custom_bindings.cc", "i18n_custom_bindings.cc",
......
...@@ -2,49 +2,52 @@ ...@@ -2,49 +2,52 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // 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/browser_plugin_delegate.h"
#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_frame.h"
#include "extensions/common/extension_messages.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, content::RenderFrame* render_frame,
const std::string& mime_type) const std::string& mime_type)
: content::BrowserPluginDelegate(render_frame, mime_type), : content::BrowserPluginDelegate(render_frame, mime_type),
content::RenderFrameObserver(render_frame), content::RenderFrameObserver(render_frame),
mime_type_(mime_type), mime_type_(mime_type),
// TODO(lazyboy): Use browser_plugin::kInstanceIDNone. element_instance_id_(guestview::kInstanceIDNone) {
element_instance_id_(0) {
} }
ChromeBrowserPluginDelegate::~ChromeBrowserPluginDelegate() { GuestViewContainer::~GuestViewContainer() {
} }
void ChromeBrowserPluginDelegate::SetElementInstanceID( void GuestViewContainer::SetElementInstanceID(
int element_instance_id) { int element_instance_id) {
element_instance_id_ = element_instance_id; element_instance_id_ = element_instance_id;
} }
void ChromeBrowserPluginDelegate::DidFinishLoading() { void GuestViewContainer::DidFinishLoading() {
DCHECK_NE(element_instance_id_, 0); if (mime_type_.empty())
return;
DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone);
render_frame()->Send(new ExtensionHostMsg_CreateMimeHandlerViewGuest( render_frame()->Send(new ExtensionHostMsg_CreateMimeHandlerViewGuest(
routing_id(), html_string_, mime_type_, element_instance_id_)); routing_id(), html_string_, mime_type_, element_instance_id_));
} }
void ChromeBrowserPluginDelegate::DidReceiveData(const char* data, void GuestViewContainer::DidReceiveData(const char* data, int data_length) {
int data_length) {
std::string value(data, data_length); std::string value(data, data_length);
html_string_ += value; html_string_ += value;
} }
bool ChromeBrowserPluginDelegate::OnMessageReceived( bool GuestViewContainer::OnMessageReceived(const IPC::Message& message) {
const IPC::Message& message) {
if (message.type() != ExtensionMsg_CreateMimeHandlerViewGuestACK::ID) if (message.type() != ExtensionMsg_CreateMimeHandlerViewGuestACK::ID)
return false; return false;
DCHECK_NE(element_instance_id_, 0); DCHECK_NE(element_instance_id_, guestview::kInstanceIDNone);
int element_instance_id = 0; int element_instance_id = guestview::kInstanceIDNone;
PickleIterator iter(message); PickleIterator iter(message);
bool success = iter.ReadInt(&element_instance_id); bool success = iter.ReadInt(&element_instance_id);
DCHECK(success); DCHECK(success);
...@@ -52,7 +55,7 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived( ...@@ -52,7 +55,7 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived(
return false; return false;
bool handled = true; bool handled = true;
IPC_BEGIN_MESSAGE_MAP(ChromeBrowserPluginDelegate, message) IPC_BEGIN_MESSAGE_MAP(GuestViewContainer, message)
IPC_MESSAGE_HANDLER(ExtensionMsg_CreateMimeHandlerViewGuestACK, IPC_MESSAGE_HANDLER(ExtensionMsg_CreateMimeHandlerViewGuestACK,
OnCreateMimeHandlerViewGuestACK) OnCreateMimeHandlerViewGuestACK)
IPC_MESSAGE_UNHANDLED(handled = false) IPC_MESSAGE_UNHANDLED(handled = false)
...@@ -60,9 +63,12 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived( ...@@ -60,9 +63,12 @@ bool ChromeBrowserPluginDelegate::OnMessageReceived(
return handled; return handled;
} }
void ChromeBrowserPluginDelegate::OnCreateMimeHandlerViewGuestACK( void GuestViewContainer::OnCreateMimeHandlerViewGuestACK(
int element_instance_id) { 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_EQ(element_instance_id_, element_instance_id);
DCHECK(!mime_type_.empty());
render_frame()->AttachGuest(element_instance_id); render_frame()->AttachGuest(element_instance_id);
} }
} // namespace extensions
...@@ -2,21 +2,23 @@ ...@@ -2,21 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#ifndef CHROME_RENDERER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_DELEGATE_H_ #ifndef CHROME_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
#define CHROME_RENDERER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_DELEGATE_H_ #define CHROME_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
#include "content/public/renderer/browser_plugin_delegate.h" #include "content/public/renderer/browser_plugin_delegate.h"
#include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_frame_observer.h"
#include "ipc/ipc_listener.h" #include "ipc/ipc_listener.h"
namespace extensions {
// TODO(lazyboy): This should live under /extensions. // TODO(lazyboy): This should live under /extensions.
class ChromeBrowserPluginDelegate : public content::BrowserPluginDelegate, class GuestViewContainer : public content::BrowserPluginDelegate,
public content::RenderFrameObserver { public content::RenderFrameObserver {
public: public:
ChromeBrowserPluginDelegate(content::RenderFrame* render_frame, GuestViewContainer(content::RenderFrame* render_frame,
const std::string& mime_type); const std::string& mime_type);
virtual ~ChromeBrowserPluginDelegate(); virtual ~GuestViewContainer();
// BrowserPluginDelegate implementation. // BrowserPluginDelegate implementation.
virtual void SetElementInstanceID(int element_instance_id) OVERRIDE; virtual void SetElementInstanceID(int element_instance_id) OVERRIDE;
...@@ -27,13 +29,15 @@ class ChromeBrowserPluginDelegate : public content::BrowserPluginDelegate, ...@@ -27,13 +29,15 @@ class ChromeBrowserPluginDelegate : public content::BrowserPluginDelegate,
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
private: private:
void OnCreateMimeHandlerViewGuestACK(int browser_plugin_delegate); void OnCreateMimeHandlerViewGuestACK(int element_instance_id);
const std::string mime_type_; const std::string mime_type_;
int element_instance_id_; int element_instance_id_;
std::string html_string_; std::string html_string_;
DISALLOW_COPY_AND_ASSIGN(ChromeBrowserPluginDelegate); DISALLOW_COPY_AND_ASSIGN(GuestViewContainer);
}; };
#endif // CHROME_RENDERER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_DELEGATE_H_ } // namespace extensions
#endif // CHROME_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include "extensions/renderer/default_dispatcher_delegate.h" #include "extensions/renderer/default_dispatcher_delegate.h"
#include "extensions/renderer/dispatcher.h" #include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/extension_helper.h" #include "extensions/renderer/extension_helper.h"
#include "extensions/renderer/guest_view/guest_view_container.h"
#include "extensions/shell/common/shell_extensions_client.h" #include "extensions/shell/common/shell_extensions_client.h"
#include "extensions/shell/renderer/shell_extensions_renderer_client.h" #include "extensions/shell/renderer/shell_extensions_renderer_client.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h" #include "third_party/WebKit/public/web/WebLocalFrame.h"
...@@ -173,4 +174,11 @@ bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const { ...@@ -173,4 +174,11 @@ bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const {
return false; return false;
} }
content::BrowserPluginDelegate*
ShellContentRendererClient::CreateBrowserPluginDelegate(
content::RenderFrame* render_frame,
const std::string& mime_type) {
return new extensions::GuestViewContainer(render_frame, mime_type);
}
} // namespace extensions } // namespace extensions
...@@ -48,6 +48,9 @@ class ShellContentRendererClient : public content::ContentRendererClient { ...@@ -48,6 +48,9 @@ class ShellContentRendererClient : public content::ContentRendererClient {
const std::string& interface_name) OVERRIDE; const std::string& interface_name) OVERRIDE;
virtual bool IsExternalPepperPlugin(const std::string& module_name) OVERRIDE; virtual bool IsExternalPepperPlugin(const std::string& module_name) OVERRIDE;
virtual bool ShouldEnableSiteIsolationPolicy() const OVERRIDE; virtual bool ShouldEnableSiteIsolationPolicy() const OVERRIDE;
virtual content::BrowserPluginDelegate* CreateBrowserPluginDelegate(
content::RenderFrame* render_frame,
const std::string& mime_type) OVERRIDE;
private: private:
scoped_ptr<ShellExtensionsClient> extensions_client_; scoped_ptr<ShellExtensionsClient> extensions_client_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment