Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2824)

Unified Diff: content/renderer/pepper/pepper_helper_impl.cc

Issue 20777009: A few more cleanups to the pepper code. Dispatch IPCs in the sockets implementations directly by ha… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix browsertest Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/pepper/pepper_helper_impl.h ('k') | content/renderer/pepper/ppb_audio_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/pepper/pepper_helper_impl.cc
===================================================================
--- content/renderer/pepper/pepper_helper_impl.cc (revision 215615)
+++ content/renderer/pepper/pepper_helper_impl.cc (working copy)
@@ -13,7 +13,6 @@
#include "base/callback.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
-#include "base/files/file_util_proxy.h"
#include "base/logging.h"
#include "base/platform_file.h"
#include "base/strings/string_split.h"
@@ -38,6 +37,7 @@
#include "content/renderer/p2p/socket_dispatcher.h"
#include "content/renderer/pepper/content_renderer_pepper_host_factory.h"
#include "content/renderer/pepper/host_dispatcher_wrapper.h"
+#include "content/renderer/pepper/host_globals.h"
#include "content/renderer/pepper/pepper_broker.h"
#include "content/renderer/pepper/pepper_browser_connection.h"
#include "content/renderer/pepper/pepper_file_system_host.h"
@@ -52,7 +52,6 @@
#include "content/renderer/pepper/plugin_module.h"
#include "content/renderer/pepper/ppb_tcp_socket_private_impl.h"
#include "content/renderer/pepper/renderer_ppapi_host_impl.h"
-#include "content/renderer/pepper/resource_helper.h"
#include "content/renderer/pepper/url_response_info_util.h"
#include "content/renderer/render_thread_impl.h"
#include "content/renderer/render_view_impl.h"
@@ -117,9 +116,9 @@
PepperHelperImpl::PepperHelperImpl(RenderViewImpl* render_view)
: RenderViewObserver(render_view),
render_view_(render_view),
- pepper_browser_connection_(this),
focused_plugin_(NULL),
last_mouse_event_target_(NULL) {
+ new PepperBrowserConnection(render_view);
}
PepperHelperImpl::~PepperHelperImpl() {
@@ -495,7 +494,9 @@
instance->SetContentAreaFocus(render_view_->has_focus());
if (!instance->module()->IsProxied()) {
- pepper_browser_connection_.DidCreateInProcessInstance(
+ PepperBrowserConnection* browser_connection =
+ PepperBrowserConnection::Get(render_view_);
+ browser_connection->DidCreateInProcessInstance(
instance->pp_instance(),
render_view_->GetRoutingID(),
instance->container()->element().document().url(),
@@ -513,7 +514,9 @@
PluginFocusChanged(instance, false);
if (!instance->module()->IsProxied()) {
- pepper_browser_connection_.DidDeleteInProcessInstance(
+ PepperBrowserConnection* browser_connection =
+ PepperBrowserConnection::Get(render_view_);
+ browser_connection->DidDeleteInProcessInstance(
instance->pp_instance());
}
}
@@ -523,7 +526,8 @@
PPB_Broker_Impl* client) {
DCHECK(client);
- PluginModule* plugin_module = ResourceHelper::GetPluginModule(client);
+ PluginModule* plugin_module =
+ HostGlobals::Get()->GetInstance(client->pp_instance())->module();
if (!plugin_module)
return NULL;
@@ -557,7 +561,8 @@
if (!client.get())
return;
- PluginModule* plugin_module = ResourceHelper::GetPluginModule(client.get());
+ PluginModule* plugin_module =
+ HostGlobals::Get()->GetInstance(client->pp_instance())->module();
if (!plugin_module)
return;
@@ -565,37 +570,6 @@
broker->OnBrokerPermissionResult(client.get(), result);
}
-bool PepperHelperImpl::AsyncOpenFile(const base::FilePath& path,
- int pp_open_flags,
- const AsyncOpenFileCallback& callback) {
- int message_id = pending_async_open_files_.Add(
- new AsyncOpenFileCallback(callback));
- return Send(new ViewHostMsg_AsyncOpenPepperFile(
- routing_id(), path, pp_open_flags, message_id));
-}
-
-void PepperHelperImpl::OnAsyncFileOpened(
- base::PlatformFileError error_code,
- IPC::PlatformFileForTransit file_for_transit,
- int message_id) {
- AsyncOpenFileCallback* callback =
- pending_async_open_files_.Lookup(message_id);
- DCHECK(callback);
- pending_async_open_files_.Remove(message_id);
-
- base::PlatformFile file =
- IPC::PlatformFileForTransitToPlatformFile(file_for_transit);
- callback->Run(error_code, base::PassPlatformFile(&file));
- // Make sure we won't leak file handle if the requester has died.
- if (file != base::kInvalidPlatformFileValue) {
- base::FileUtilProxy::Close(
- RenderThreadImpl::current()->GetFileThreadMessageLoopProxy().get(),
- file,
- base::FileUtilProxy::StatusCallback());
- }
- delete callback;
-}
-
void PepperHelperImpl::OnSetFocus(bool has_focus) {
for (std::set<PepperPluginInstanceImpl*>::iterator i =
active_instances_.begin();
@@ -625,19 +599,6 @@
last_mouse_event_target_ = NULL;
}
-void PepperHelperImpl::RegisterTCPSocket(
- PPB_TCPSocket_Private_Impl* socket,
- uint32 socket_id) {
- tcp_sockets_.AddWithID(socket, socket_id);
-}
-
-void PepperHelperImpl::UnregisterTCPSocket(uint32 socket_id) {
- // There is no DCHECK(tcp_sockets_.Lookup(socket_id)) because this method
- // can be called before TCPSocketConnect or TCPSocketConnectWithNetAddress.
- if (tcp_sockets_.Lookup(socket_id))
- tcp_sockets_.Remove(socket_id);
-}
-
void PepperHelperImpl::HandleDocumentLoad(
PepperPluginInstanceImpl* instance,
const WebKit::WebURLResponse& response) {
@@ -714,22 +675,10 @@
}
bool PepperHelperImpl::OnMessageReceived(const IPC::Message& message) {
- if (pepper_browser_connection_.OnMessageReceived(message))
- return true;
-
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(PepperHelperImpl, message)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK,
- OnTCPSocketConnectACK)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK,
- OnTCPSocketSSLHandshakeACK)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SetOptionACK,
- OnTCPSocketSetOptionACK)
IPC_MESSAGE_HANDLER(ViewMsg_PpapiBrokerChannelCreated,
OnPpapiBrokerChannelCreated)
- IPC_MESSAGE_HANDLER(ViewMsg_AsyncOpenPepperFile_ACK, OnAsyncFileOpened)
IPC_MESSAGE_HANDLER(ViewMsg_PpapiBrokerPermissionResult,
OnPpapiBrokerPermissionResult)
IPC_MESSAGE_UNHANDLED(handled = false)
@@ -743,62 +692,13 @@
// it's non-pointer member in RenderViewImpl.
}
-void PepperHelperImpl::OnTCPSocketConnectACK(
- uint32 plugin_dispatcher_id,
- uint32 socket_id,
- int32_t result,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr) {
- PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
- if (socket)
- socket->OnConnectCompleted(result, local_addr, remote_addr);
- if (result != PP_OK)
- tcp_sockets_.Remove(socket_id);
-}
-
-void PepperHelperImpl::OnTCPSocketSSLHandshakeACK(
- uint32 plugin_dispatcher_id,
- uint32 socket_id,
- bool succeeded,
- const ppapi::PPB_X509Certificate_Fields& certificate_fields) {
- PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
- if (socket)
- socket->OnSSLHandshakeCompleted(succeeded, certificate_fields);
-}
-
-void PepperHelperImpl::OnTCPSocketReadACK(uint32 plugin_dispatcher_id,
- uint32 socket_id,
- int32_t result,
- const std::string& data) {
- PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
- if (socket)
- socket->OnReadCompleted(result, data);
-}
-
-void PepperHelperImpl::OnTCPSocketWriteACK(uint32 plugin_dispatcher_id,
- uint32 socket_id,
- int32_t result) {
- PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
- if (socket)
- socket->OnWriteCompleted(result);
-}
-
-void PepperHelperImpl::OnTCPSocketSetOptionACK(
- uint32 plugin_dispatcher_id,
- uint32 socket_id,
- int32_t result) {
- PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
- if (socket)
- socket->OnSetOptionCompleted(result);
-}
-
void PepperHelperImpl::DidDataFromWebURLResponse(
PP_Instance pp_instance,
const WebKit::WebURLResponse& response,
int pending_host_id,
const ppapi::URLResponseInfoData& data) {
PepperPluginInstanceImpl* instance =
- ResourceHelper::PPInstanceToPluginInstance(pp_instance);
+ HostGlobals::Get()->GetInstance(pp_instance);
if (!instance)
return;
« no previous file with comments | « content/renderer/pepper/pepper_helper_impl.h ('k') | content/renderer/pepper/ppb_audio_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698