| Index: content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
|
| diff --git a/content/browser/renderer_host/pepper/pepper_host_resolver_private_message_filter.cc b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
|
| similarity index 78%
|
| rename from content/browser/renderer_host/pepper/pepper_host_resolver_private_message_filter.cc
|
| rename to content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
|
| index 416da3ea47b7ccb8ba2cac14ea145e312e10d97c..f32df68882b04ff3b062b6d620d1f96bc20a0c7e 100644
|
| --- a/content/browser/renderer_host/pepper/pepper_host_resolver_private_message_filter.cc
|
| +++ b/content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.cc
|
| @@ -1,8 +1,8 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2013 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/browser/renderer_host/pepper/pepper_host_resolver_private_message_filter.h"
|
| +#include "content/browser/renderer_host/pepper/pepper_host_resolver_message_filter.h"
|
|
|
| #include "base/logging.h"
|
| #include "base/memory/scoped_ptr.h"
|
| @@ -20,10 +20,12 @@
|
| #include "ppapi/c/private/ppb_host_resolver_private.h"
|
| #include "ppapi/c/private/ppb_net_address_private.h"
|
| #include "ppapi/host/dispatch_host_message.h"
|
| +#include "ppapi/host/error_conversion.h"
|
| #include "ppapi/host/host_message_context.h"
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| #include "ppapi/shared_impl/private/net_address_private_impl.h"
|
|
|
| +using ppapi::host::NetErrorToPepperError;
|
| using ppapi::host::ReplyMessageContext;
|
|
|
| namespace content {
|
| @@ -77,9 +79,12 @@ void CreateNetAddressListFromAddressList(
|
|
|
| } // namespace
|
|
|
| -PepperHostResolverPrivateMessageFilter::PepperHostResolverPrivateMessageFilter(
|
| - BrowserPpapiHostImpl* host, PP_Instance instance)
|
| +PepperHostResolverMessageFilter::PepperHostResolverMessageFilter(
|
| + BrowserPpapiHostImpl* host,
|
| + PP_Instance instance,
|
| + bool private_api)
|
| : external_plugin_(host->external_plugin()),
|
| + private_api_(private_api),
|
| render_process_id_(0),
|
| render_view_id_(0) {
|
| DCHECK(host);
|
| @@ -92,29 +97,28 @@ PepperHostResolverPrivateMessageFilter::PepperHostResolverPrivateMessageFilter(
|
| }
|
| }
|
|
|
| -PepperHostResolverPrivateMessageFilter::
|
| -~PepperHostResolverPrivateMessageFilter() {
|
| +PepperHostResolverMessageFilter::~PepperHostResolverMessageFilter() {
|
| }
|
|
|
| scoped_refptr<base::TaskRunner>
|
| -PepperHostResolverPrivateMessageFilter::OverrideTaskRunnerForMessage(
|
| +PepperHostResolverMessageFilter::OverrideTaskRunnerForMessage(
|
| const IPC::Message& message) {
|
| - if (message.type() == PpapiHostMsg_HostResolverPrivate_Resolve::ID)
|
| + if (message.type() == PpapiHostMsg_HostResolver_Resolve::ID)
|
| return BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
|
| return NULL;
|
| }
|
|
|
| -int32_t PepperHostResolverPrivateMessageFilter::OnResourceMessageReceived(
|
| +int32_t PepperHostResolverMessageFilter::OnResourceMessageReceived(
|
| const IPC::Message& msg,
|
| ppapi::host::HostMessageContext* context) {
|
| - IPC_BEGIN_MESSAGE_MAP(PepperHostResolverPrivateMessageFilter, msg)
|
| + IPC_BEGIN_MESSAGE_MAP(PepperHostResolverMessageFilter, msg)
|
| PPAPI_DISPATCH_HOST_RESOURCE_CALL(
|
| - PpapiHostMsg_HostResolverPrivate_Resolve, OnMsgResolve)
|
| + PpapiHostMsg_HostResolver_Resolve, OnMsgResolve)
|
| IPC_END_MESSAGE_MAP()
|
| return PP_ERROR_FAILED;
|
| }
|
|
|
| -int32_t PepperHostResolverPrivateMessageFilter::OnMsgResolve(
|
| +int32_t PepperHostResolverMessageFilter::OnMsgResolve(
|
| const ppapi::host::HostMessageContext* context,
|
| const ppapi::HostPortPair& host_port,
|
| const PP_HostResolver_Private_Hint& hint) {
|
| @@ -122,15 +126,15 @@ int32_t PepperHostResolverPrivateMessageFilter::OnMsgResolve(
|
|
|
| // Check plugin permissions.
|
| SocketPermissionRequest request(
|
| - content::SocketPermissionRequest::TCP_CONNECT, std::string(), 0);
|
| + SocketPermissionRequest::RESOLVE_HOST, host_port.host, host_port.port);
|
| RenderViewHost* render_view_host =
|
| RenderViewHost::FromID(render_process_id_, render_view_id_);
|
| if (!render_view_host ||
|
| !pepper_socket_utils::CanUseSocketAPIs(external_plugin_,
|
| - true,
|
| + private_api_,
|
| request,
|
| render_view_host)) {
|
| - return PP_ERROR_FAILED;
|
| + return PP_ERROR_NOACCESS;
|
| }
|
|
|
| RenderProcessHost* render_process_host =
|
| @@ -143,7 +147,7 @@ int32_t PepperHostResolverPrivateMessageFilter::OnMsgResolve(
|
|
|
| BrowserThread::PostTask(
|
| BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&PepperHostResolverPrivateMessageFilter::DoResolve, this,
|
| + base::Bind(&PepperHostResolverMessageFilter::DoResolve, this,
|
| context->MakeReplyMessageContext(),
|
| host_port,
|
| hint,
|
| @@ -151,7 +155,7 @@ int32_t PepperHostResolverPrivateMessageFilter::OnMsgResolve(
|
| return PP_OK_COMPLETIONPENDING;
|
| }
|
|
|
| -void PepperHostResolverPrivateMessageFilter::DoResolve(
|
| +void PepperHostResolverMessageFilter::DoResolve(
|
| const ReplyMessageContext& context,
|
| const ppapi::HostPortPair& host_port,
|
| const PP_HostResolver_Private_Hint& hint,
|
| @@ -160,7 +164,7 @@ void PepperHostResolverPrivateMessageFilter::DoResolve(
|
|
|
| net::HostResolver* host_resolver = resource_context->GetHostResolver();
|
| if (!host_resolver) {
|
| - SendResolveError(context);
|
| + SendResolveError(PP_ERROR_FAILED, context);
|
| return;
|
| }
|
|
|
| @@ -176,43 +180,43 @@ void PepperHostResolverPrivateMessageFilter::DoResolve(
|
| host_resolver,
|
| request_info,
|
| bound_info.release(),
|
| - base::Bind(&PepperHostResolverPrivateMessageFilter::OnLookupFinished,
|
| - this));
|
| + base::Bind(&PepperHostResolverMessageFilter::OnLookupFinished, this));
|
| lookup_request->Start();
|
| }
|
|
|
| -void PepperHostResolverPrivateMessageFilter::OnLookupFinished(
|
| - int result,
|
| +void PepperHostResolverMessageFilter::OnLookupFinished(
|
| + int net_result,
|
| const net::AddressList& addresses,
|
| const ReplyMessageContext& context) {
|
| - if (result != net::OK) {
|
| - SendResolveError(context);
|
| + if (net_result != net::OK) {
|
| + SendResolveError(NetErrorToPepperError(net_result), context);
|
| } else {
|
| const std::string& canonical_name = addresses.canonical_name();
|
| NetAddressList net_address_list;
|
| CreateNetAddressListFromAddressList(addresses, &net_address_list);
|
| if (net_address_list.empty())
|
| - SendResolveError(context);
|
| + SendResolveError(PP_ERROR_FAILED, context);
|
| else
|
| SendResolveReply(PP_OK, canonical_name, net_address_list, context);
|
| }
|
| }
|
|
|
| -void PepperHostResolverPrivateMessageFilter::SendResolveReply(
|
| - int result,
|
| +void PepperHostResolverMessageFilter::SendResolveReply(
|
| + int32_t result,
|
| const std::string& canonical_name,
|
| const NetAddressList& net_address_list,
|
| const ReplyMessageContext& context) {
|
| ReplyMessageContext reply_context = context;
|
| reply_context.params.set_result(result);
|
| SendReply(reply_context,
|
| - PpapiPluginMsg_HostResolverPrivate_ResolveReply(
|
| + PpapiPluginMsg_HostResolver_ResolveReply(
|
| canonical_name, net_address_list));
|
| }
|
|
|
| -void PepperHostResolverPrivateMessageFilter::SendResolveError(
|
| +void PepperHostResolverMessageFilter::SendResolveError(
|
| + int32_t error,
|
| const ReplyMessageContext& context) {
|
| - SendResolveReply(PP_ERROR_FAILED, std::string(), NetAddressList(), context);
|
| + SendResolveReply(error, std::string(), NetAddressList(), context);
|
| }
|
|
|
| } // namespace content
|
|
|