summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorsergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-06 20:14:51 +0000
committersergeyu@chromium.org <sergeyu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-06 20:14:51 +0000
commitce5effe4aa69ce57101824d12a3ba1b8155c9ca3 (patch)
tree8d7d44e6d4f6384df377ce41eee1ecf871ec0ac7 /content
parent990222767c6407f91804875827cdb7bb08929e9c (diff)
downloadchromium_src-ce5effe4aa69ce57101824d12a3ba1b8155c9ca3.zip
chromium_src-ce5effe4aa69ce57101824d12a3ba1b8155c9ca3.tar.gz
chromium_src-ce5effe4aa69ce57101824d12a3ba1b8155c9ca3.tar.bz2
Don't create PepperMessageFilter for renderer processes.
PepperMessageFilter is used for PPB_NetworkMonitor and PPB_X509Certificate. Neither of these APIs is supported for in-process plugins. TBR=sky@chromium.org, yzshen@chromium.org Review URL: https://codereview.chromium.org/23997002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221764 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r--content/browser/ppapi_plugin_process_host.cc2
-rw-r--r--content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc2
-rw-r--r--content/browser/renderer_host/pepper/pepper_message_filter.cc35
-rw-r--r--content/browser/renderer_host/pepper/pepper_message_filter.h31
-rw-r--r--content/browser/renderer_host/render_process_host_impl.cc2
-rw-r--r--content/content_renderer.gypi2
-rw-r--r--content/renderer/pepper/ppb_x509_certificate_private_impl.cc35
-rw-r--r--content/renderer/pepper/ppb_x509_certificate_private_impl.h35
-rw-r--r--content/renderer/pepper/resource_creation_impl.cc3
9 files changed, 10 insertions, 137 deletions
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index b85950a..3183a84 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -217,7 +217,7 @@ PpapiPluginProcessHost::PpapiPluginProcessHost(
info.path, profile_data_directory,
false));
- filter_ = PepperMessageFilter::CreateForPpapiPluginProcess(permissions_);
+ filter_ = new PepperMessageFilter(permissions_);
process_->GetHost()->AddFilter(filter_.get());
process_->GetHost()->AddFilter(host_impl_->message_filter().get());
diff --git a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
index f23965f..7368932 100644
--- a/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
+++ b/content/browser/renderer_host/pepper/browser_ppapi_host_impl.cc
@@ -29,7 +29,7 @@ BrowserPpapiHost* BrowserPpapiHost::CreateExternalPluginProcess(
browser_ppapi_host->set_plugin_process_handle(plugin_child_process);
scoped_refptr<PepperMessageFilter> pepper_message_filter(
- PepperMessageFilter::CreateForExternalPluginProcess(permissions));
+ new PepperMessageFilter(permissions));
channel->AddFilter(pepper_message_filter);
channel->AddFilter(browser_ppapi_host->message_filter().get());
channel->AddFilter(new TraceMessageFilter());
diff --git a/content/browser/renderer_host/pepper/pepper_message_filter.cc b/content/browser/renderer_host/pepper/pepper_message_filter.cc
index 698decf..197a303 100644
--- a/content/browser/renderer_host/pepper/pepper_message_filter.cc
+++ b/content/browser/renderer_host/pepper/pepper_message_filter.cc
@@ -20,26 +20,6 @@ using ppapi::NetAddressPrivateImpl;
namespace content {
-// static
-PepperMessageFilter* PepperMessageFilter::CreateForRendererProcess() {
- return new PepperMessageFilter(ppapi::PpapiPermissions(),
- PLUGIN_TYPE_IN_PROCESS);
-}
-
-// static
-PepperMessageFilter* PepperMessageFilter::CreateForPpapiPluginProcess(
- const ppapi::PpapiPermissions& permissions) {
- return new PepperMessageFilter(permissions,
- PLUGIN_TYPE_OUT_OF_PROCESS);
-}
-
-// static
-PepperMessageFilter* PepperMessageFilter::CreateForExternalPluginProcess(
- const ppapi::PpapiPermissions& permissions) {
- return new PepperMessageFilter(permissions,
- PLUGIN_TYPE_EXTERNAL_PLUGIN);
-}
-
bool PepperMessageFilter::OnMessageReceived(const IPC::Message& msg,
bool* message_was_ok) {
bool handled = true;
@@ -64,10 +44,8 @@ void PepperMessageFilter::OnIPAddressChanged() {
}
PepperMessageFilter::PepperMessageFilter(
- const ppapi::PpapiPermissions& permissions,
- PluginType plugin_type)
- : plugin_type_(plugin_type),
- permissions_(permissions) {
+ const ppapi::PpapiPermissions& permissions)
+ : permissions_(permissions) {
}
PepperMessageFilter::~PepperMessageFilter() {
@@ -77,10 +55,8 @@ PepperMessageFilter::~PepperMessageFilter() {
void PepperMessageFilter::OnNetworkMonitorStart(uint32 plugin_dispatcher_id) {
// Support all in-process plugins, and ones with "private" permissions.
- if (plugin_type_ != PLUGIN_TYPE_IN_PROCESS &&
- !permissions_.HasPermission(ppapi::PERMISSION_PRIVATE)) {
+ if (!permissions_.HasPermission(ppapi::PERMISSION_PRIVATE))
return;
- }
if (network_monitor_ids_.empty())
net::NetworkChangeNotifier::AddIPAddressObserver(this);
@@ -90,11 +66,8 @@ void PepperMessageFilter::OnNetworkMonitorStart(uint32 plugin_dispatcher_id) {
}
void PepperMessageFilter::OnNetworkMonitorStop(uint32 plugin_dispatcher_id) {
- // Support all in-process plugins, and ones with "private" permissions.
- if (plugin_type_ != PLUGIN_TYPE_IN_PROCESS &&
- !permissions_.HasPermission(ppapi::PERMISSION_PRIVATE)) {
+ if (!permissions_.HasPermission(ppapi::PERMISSION_PRIVATE))
return;
- }
network_monitor_ids_.erase(plugin_dispatcher_id);
if (network_monitor_ids_.empty())
diff --git a/content/browser/renderer_host/pepper/pepper_message_filter.h b/content/browser/renderer_host/pepper/pepper_message_filter.h
index 3d17193..a2aa226 100644
--- a/content/browser/renderer_host/pepper/pepper_message_filter.h
+++ b/content/browser/renderer_host/pepper/pepper_message_filter.h
@@ -23,25 +23,13 @@ class PPB_X509Certificate_Fields;
namespace content {
-// This class is used in two contexts, both supporting PPAPI plugins. The first
-// is on the renderer->browser channel, to handle requests from in-process
-// PPAPI plugins and any requests that the PPAPI implementation code in the
-// renderer needs to make. The second is on the plugin->browser channel to
-// handle requests that out-of-process plugins send directly to the browser.
+// Message filter that handles IPC for PPB_NetworkMonitor_Private and
+// PPB_X509Certificate_Private.
class PepperMessageFilter
: public BrowserMessageFilter,
public net::NetworkChangeNotifier::IPAddressObserver {
public:
- // Factory method used in the context of a renderer process.
- static PepperMessageFilter* CreateForRendererProcess();
-
- // Factory method used in the context of a PPAPI process.
- static PepperMessageFilter* CreateForPpapiPluginProcess(
- const ppapi::PpapiPermissions& permissions);
-
- // Factory method used in the context of an external plugin,
- static PepperMessageFilter* CreateForExternalPluginProcess(
- const ppapi::PpapiPermissions& permissions);
+ explicit PepperMessageFilter(const ppapi::PpapiPermissions& permissions);
// BrowserMessageFilter methods.
virtual bool OnMessageReceived(const IPC::Message& message,
@@ -58,17 +46,6 @@ class PepperMessageFilter
// notifications.
typedef std::set<uint32> NetworkMonitorIdSet;
- enum PluginType {
- PLUGIN_TYPE_IN_PROCESS,
- PLUGIN_TYPE_OUT_OF_PROCESS,
- // External plugin means it was created through
- // BrowserPpapiHost::CreateExternalPluginProcess.
- PLUGIN_TYPE_EXTERNAL_PLUGIN,
- };
-
- PepperMessageFilter(const ppapi::PpapiPermissions& permissions,
- PluginType plugin_type);
-
void OnNetworkMonitorStart(uint32 plugin_dispatcher_id);
void OnNetworkMonitorStop(uint32 plugin_dispatcher_id);
@@ -80,8 +57,6 @@ class PepperMessageFilter
void DoGetNetworkList();
void SendNetworkList(scoped_ptr<net::NetworkInterfaceList> list);
- PluginType plugin_type_;
-
// When attached to an out-of-process plugin (be it native or NaCl) this
// will have the Pepper permissions for the plugin. When attached to the
// renderer channel, this will have no permissions listed (since there may
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index e9ab929..f29affb 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -622,8 +622,6 @@ void RenderProcessHostImpl::CreateMessageFilters() {
new DeviceRequestMessageFilter(resource_context, media_stream_manager));
#endif
#if defined(ENABLE_PLUGINS)
- // TODO(raymes): PepperMessageFilter should be removed from here.
- channel_->AddFilter(PepperMessageFilter::CreateForRendererProcess());
channel_->AddFilter(new PepperRendererConnection(GetID()));
#endif
#if defined(ENABLE_INPUT_SPEECH)
diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi
index 2b45e31..3e06bf2 100644
--- a/content/content_renderer.gypi
+++ b/content/content_renderer.gypi
@@ -373,8 +373,6 @@
'renderer/pepper/ppb_video_decoder_impl.h',
'renderer/pepper/ppb_widget_impl.cc',
'renderer/pepper/ppb_widget_impl.h',
- 'renderer/pepper/ppb_x509_certificate_private_impl.cc',
- 'renderer/pepper/ppb_x509_certificate_private_impl.h',
'renderer/pepper/quota_file_io.cc',
'renderer/pepper/quota_file_io.h',
'renderer/pepper/renderer_ppapi_host_impl.cc',
diff --git a/content/renderer/pepper/ppb_x509_certificate_private_impl.cc b/content/renderer/pepper/ppb_x509_certificate_private_impl.cc
deleted file mode 100644
index c580e71..0000000
--- a/content/renderer/pepper/ppb_x509_certificate_private_impl.cc
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2012 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 "content/renderer/pepper/ppb_x509_certificate_private_impl.h"
-
-#include "content/renderer/render_thread_impl.h"
-#include "ppapi/proxy/ppapi_messages.h"
-
-namespace content {
-
-PPB_X509Certificate_Private_Impl::PPB_X509Certificate_Private_Impl(
- PP_Instance instance) :
- PPB_X509Certificate_Private_Shared(ppapi::OBJECT_IS_IMPL, instance) {
-}
-
-// static
-PP_Resource PPB_X509Certificate_Private_Impl::CreateResource(
- PP_Instance instance) {
- return (new PPB_X509Certificate_Private_Impl(instance))->GetReference();
-}
-
-bool PPB_X509Certificate_Private_Impl::ParseDER(
- const std::vector<char>& der,
- ppapi::PPB_X509Certificate_Fields* result) {
- bool succeeded = false;
- RenderThreadImpl::current()->Send(
- new PpapiHostMsg_PPBX509Certificate_ParseDER(der, &succeeded, result));
- return succeeded;
-}
-
-PPB_X509Certificate_Private_Impl::~PPB_X509Certificate_Private_Impl() {
-}
-
-} // namespace content
diff --git a/content/renderer/pepper/ppb_x509_certificate_private_impl.h b/content/renderer/pepper/ppb_x509_certificate_private_impl.h
deleted file mode 100644
index 0f10ec0..0000000
--- a/content/renderer/pepper/ppb_x509_certificate_private_impl.h
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright (c) 2012 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.
-
-#ifndef CONTENT_RENDERER_PEPPER_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_
-#define CONTENT_RENDERER_PEPPER_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_
-
-#include "base/basictypes.h"
-#include "base/compiler_specific.h"
-#include "ppapi/shared_impl/private/ppb_x509_certificate_private_shared.h"
-#include "ppapi/shared_impl/resource.h"
-
-namespace ppapi {
-class PPB_X509Certificate_Fields;
-}
-
-namespace content {
-
-class PPB_X509Certificate_Private_Impl :
- public ppapi::PPB_X509Certificate_Private_Shared {
- public:
- PPB_X509Certificate_Private_Impl(PP_Instance instance);
- static PP_Resource CreateResource(PP_Instance instance);
- virtual bool ParseDER(const std::vector<char>& der,
- ppapi::PPB_X509Certificate_Fields* result) OVERRIDE;
-
- private:
- virtual ~PPB_X509Certificate_Private_Impl();
-
- DISALLOW_COPY_AND_ASSIGN(PPB_X509Certificate_Private_Impl);
-};
-
-} // namespace content
-
-#endif // CONTENT_RENDERER_PEPPER_PPB_X509_CERTIFICATE_PRIVATE_IMPL_H_
diff --git a/content/renderer/pepper/resource_creation_impl.cc b/content/renderer/pepper/resource_creation_impl.cc
index 3f25b2a..f554e410 100644
--- a/content/renderer/pepper/resource_creation_impl.cc
+++ b/content/renderer/pepper/resource_creation_impl.cc
@@ -14,7 +14,6 @@
#include "content/renderer/pepper/ppb_image_data_impl.h"
#include "content/renderer/pepper/ppb_scrollbar_impl.h"
#include "content/renderer/pepper/ppb_video_decoder_impl.h"
-#include "content/renderer/pepper/ppb_x509_certificate_private_impl.h"
#include "ppapi/c/pp_size.h"
#include "ppapi/shared_impl/ppb_audio_config_shared.h"
#include "ppapi/shared_impl/ppb_image_data_shared.h"
@@ -297,7 +296,7 @@ PP_Resource ResourceCreationImpl::CreateWheelInputEvent(
PP_Resource ResourceCreationImpl::CreateX509CertificatePrivate(
PP_Instance instance) {
- return PPB_X509Certificate_Private_Impl::CreateResource(instance);
+ return 0; // Not supported in-process.
}
} // namespace content