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 @@
#include "chrome/browser/speech/extension_api/tts_engine_extension_api.h"
#include "extensions/browser/extension_system.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/web_view/web_view_guest.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
......
......@@ -7,8 +7,6 @@
'chrome_renderer_sources': [
'renderer/benchmarking_extension.cc',
'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/loadtimes_extension_bindings.cc',
'renderer/loadtimes_extension_bindings.h',
......
......@@ -30,7 +30,6 @@
#include "chrome/grit/locale_settings.h"
#include "chrome/grit/renderer_resources.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_process_observer.h"
#include "chrome/renderer/chrome_render_view_observer.h"
......@@ -122,6 +121,7 @@
#include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/extension_helper.h"
#include "extensions/renderer/extensions_render_frame_observer.h"
#include "extensions/renderer/guest_view/guest_view_container.h"
#include "extensions/renderer/script_context.h"
#endif
......@@ -1573,5 +1573,9 @@ content::BrowserPluginDelegate*
ChromeContentRendererClient::CreateBrowserPluginDelegate(
content::RenderFrame* render_frame,
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(
}
if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) {
scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
GetContentClient()->renderer()->CreateBrowserPluginDelegate(
this, std::string()));
return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
render_view_.get(), frame, scoped_ptr<BrowserPluginDelegate>());
render_view_.get(), frame, browser_plugin_delegate.Pass());
}
#if defined(ENABLE_PLUGINS)
......
......@@ -330,8 +330,6 @@ source_set("browser") {
"guest_view/extension_options/extension_options_guest_delegate.h",
"guest_view/guest_view_base.cc",
"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.cc",
"guest_view/guest_view_manager.h",
......
......@@ -16,13 +16,13 @@
#include "extensions/browser/extension_registry.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/guest_view_constants.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/web_view/web_view_guest.h"
#include "extensions/browser/process_map.h"
#include "extensions/common/features/feature.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"
using content::WebContents;
......
......@@ -14,8 +14,8 @@
#include "content/public/common/url_constants.h"
#include "extensions/browser/extension_system.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/common/guest_view/guest_view_constants.h"
#include "net/base/escape.h"
#include "url/gurl.h"
......
......@@ -9,11 +9,11 @@
#include "content/public/browser/render_process_host.h"
#include "content/public/common/url_constants.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/mime_handler_view/mime_handler_view_constants.h"
#include "extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h"
#include "extensions/common/feature_switch.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/strings/grit/extensions_strings.h"
#include "net/base/url_util.h"
......
......@@ -6,11 +6,11 @@
#include "base/strings/utf_string_conversions.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_guest.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/common/guest_view/guest_view_constants.h"
namespace extensions {
......
......@@ -31,7 +31,6 @@
#include "content/public/common/url_constants.h"
#include "extensions/browser/api/extensions_api_client.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/web_view/web_view_constants.h"
#include "extensions/browser/guest_view/web_view/web_view_permission_helper.h"
......@@ -39,6 +38,7 @@
#include "extensions/browser/guest_view/web_view/web_view_renderer_state.h"
#include "extensions/common/constants.h"
#include "extensions/common/extension_messages.h"
#include "extensions/common/guest_view/guest_view_constants.h"
#include "extensions/strings/grit/extensions_strings.h"
#include "ipc/ipc_message_macros.h"
#include "net/base/escape.h"
......
......@@ -10,8 +10,8 @@
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_observer.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/common/guest_view/guest_view_constants.h"
using base::UserMetricsAction;
......
......@@ -84,6 +84,8 @@ source_set("common") {
"features/simple_feature_filter.h",
"file_util.cc",
"file_util.h",
"guest_view/guest_view_constants.cc",
"guest_view/guest_view_constants.h",
"install_warning.cc",
"install_warning.h",
"manifest.cc",
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// 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 {
......
......@@ -4,8 +4,8 @@
// Constants used for the WebView API.
#ifndef EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
#define EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
#ifndef EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
#define EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
namespace guestview {
......@@ -25,5 +25,5 @@ extern const int kInstanceIDNone;
} // namespace guestview
#endif // EXTENSIONS_BROWSER_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
#endif // EXTENSIONS_COMMON_GUEST_VIEW_GUEST_VIEW_CONSTANTS_H_
......@@ -114,6 +114,8 @@
'common/features/simple_feature_filter.h',
'common/file_util.cc',
'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.h',
'common/manifest.cc',
......@@ -594,8 +596,6 @@
'browser/guest_view/extension_options/extension_options_guest_delegate.h',
'browser/guest_view/guest_view_base.cc',
'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.cc',
'browser/guest_view/guest_view_manager.h',
......@@ -788,6 +788,8 @@
'renderer/extensions_renderer_client.h',
'renderer/file_system_natives.cc',
'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.h',
'renderer/i18n_custom_bindings.cc',
......
......@@ -47,6 +47,8 @@ source_set("renderer") {
"extensions_renderer_client.h",
"file_system_natives.cc",
"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.h",
"i18n_custom_bindings.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
......@@ -2,21 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_RENDERER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_DELEGATE_H_
#define CHROME_RENDERER_BROWSER_PLUGIN_CHROME_BROWSER_PLUGIN_DELEGATE_H_
#ifndef CHROME_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
#define CHROME_RENDERER_GUEST_VIEW_GUEST_VIEW_CONTAINER_H_
#include "content/public/renderer/browser_plugin_delegate.h"
#include "content/public/renderer/render_frame_observer.h"
#include "ipc/ipc_listener.h"
namespace extensions {
// TODO(lazyboy): This should live under /extensions.
class ChromeBrowserPluginDelegate : public content::BrowserPluginDelegate,
public content::RenderFrameObserver {
class GuestViewContainer : public content::BrowserPluginDelegate,
public content::RenderFrameObserver {
public:
ChromeBrowserPluginDelegate(content::RenderFrame* render_frame,
const std::string& mime_type);
virtual ~ChromeBrowserPluginDelegate();
GuestViewContainer(content::RenderFrame* render_frame,
const std::string& mime_type);
virtual ~GuestViewContainer();
// BrowserPluginDelegate implementation.
virtual void SetElementInstanceID(int element_instance_id) OVERRIDE;
......@@ -27,13 +29,15 @@ class ChromeBrowserPluginDelegate : public content::BrowserPluginDelegate,
virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
private:
void OnCreateMimeHandlerViewGuestACK(int browser_plugin_delegate);
void OnCreateMimeHandlerViewGuestACK(int element_instance_id);
const std::string mime_type_;
int element_instance_id_;
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 @@
#include "extensions/renderer/default_dispatcher_delegate.h"
#include "extensions/renderer/dispatcher.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/renderer/shell_extensions_renderer_client.h"
#include "third_party/WebKit/public/web/WebLocalFrame.h"
......@@ -173,4 +174,11 @@ bool ShellContentRendererClient::ShouldEnableSiteIsolationPolicy() const {
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
......@@ -48,6 +48,9 @@ class ShellContentRendererClient : public content::ContentRendererClient {
const std::string& interface_name) OVERRIDE;
virtual bool IsExternalPepperPlugin(const std::string& module_name) OVERRIDE;
virtual bool ShouldEnableSiteIsolationPolicy() const OVERRIDE;
virtual content::BrowserPluginDelegate* CreateBrowserPluginDelegate(
content::RenderFrame* render_frame,
const std::string& mime_type) OVERRIDE;
private:
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