Chromium Code Reviews| Index: ppapi/proxy/host_resolver_private_resource.cc |
| diff --git a/ppapi/shared_impl/private/ppb_host_resolver_shared.cc b/ppapi/proxy/host_resolver_private_resource.cc |
| similarity index 50% |
| rename from ppapi/shared_impl/private/ppb_host_resolver_shared.cc |
| rename to ppapi/proxy/host_resolver_private_resource.cc |
| index ba026dcca9d7ce04aef51c228dc5f8cc2521f374..20f5224c31f23f392da7aa4ff1b06173e2ac4462 100644 |
| --- a/ppapi/shared_impl/private/ppb_host_resolver_shared.cc |
| +++ b/ppapi/proxy/host_resolver_private_resource.cc |
| @@ -2,39 +2,30 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "ppapi/shared_impl/private/ppb_host_resolver_shared.h" |
| +#include "ppapi/proxy/host_resolver_private_resource.h" |
| -#include <cstddef> |
| -#include <cstring> |
| - |
| -#include "base/memory/scoped_ptr.h" |
| #include "ppapi/c/pp_errors.h" |
| -#include "ppapi/shared_impl/private/net_address_private_impl.h" |
| +#include "ppapi/proxy/ppapi_messages.h" |
| #include "ppapi/shared_impl/var.h" |
| -#include "ppapi/thunk/thunk.h" |
| namespace ppapi { |
| +namespace proxy { |
| -PPB_HostResolver_Shared::PPB_HostResolver_Shared(PP_Instance instance) |
| - : Resource(OBJECT_IS_IMPL, instance), |
| - host_resolver_id_(GenerateHostResolverID()) { |
| -} |
| - |
| -PPB_HostResolver_Shared::PPB_HostResolver_Shared( |
| - const HostResource& resource) |
| - : Resource(OBJECT_IS_PROXY, resource), |
| - host_resolver_id_(GenerateHostResolverID()) { |
| +HostResolverPrivateResource::HostResolverPrivateResource(Connection connection, |
| + PP_Instance instance) |
| + : PluginResource(connection, instance) { |
| + SendCreate(BROWSER, PpapiHostMsg_HostResolverPrivate_Create()); |
| } |
| -PPB_HostResolver_Shared::~PPB_HostResolver_Shared() { |
| +HostResolverPrivateResource::~HostResolverPrivateResource() { |
| } |
| thunk::PPB_HostResolver_Private_API* |
| -PPB_HostResolver_Shared::AsPPB_HostResolver_Private_API() { |
| +HostResolverPrivateResource::AsPPB_HostResolver_Private_API() { |
| return this; |
| } |
| -int32_t PPB_HostResolver_Shared::Resolve( |
| +int32_t HostResolverPrivateResource::Resolve( |
| const char* host, |
| uint16_t port, |
| const PP_HostResolver_Private_Hint* hint, |
| @@ -54,28 +45,30 @@ int32_t PPB_HostResolver_Shared::Resolve( |
| return PP_OK_COMPLETIONPENDING; |
| } |
| -PP_Var PPB_HostResolver_Shared::GetCanonicalName() { |
| +PP_Var HostResolverPrivateResource::GetCanonicalName() { |
| return StringVar::StringToPPVar(canonical_name_); |
| } |
| -uint32_t PPB_HostResolver_Shared::GetSize() { |
| +uint32_t HostResolverPrivateResource::GetSize() { |
| if (ResolveInProgress()) |
| return 0; |
| return static_cast<uint32_t>(net_address_list_.size()); |
| } |
| -bool PPB_HostResolver_Shared::GetNetAddress(uint32 index, |
| - PP_NetAddress_Private* address) { |
| +bool HostResolverPrivateResource::GetNetAddress( |
| + uint32 index, |
| + PP_NetAddress_Private* address) { |
| if (ResolveInProgress() || index >= GetSize()) |
| return false; |
| *address = net_address_list_[index]; |
| return true; |
| } |
| -void PPB_HostResolver_Shared::OnResolveCompleted( |
| - bool succeeded, |
| +void HostResolverPrivateResource::OnPluginMsgResolveReply( |
| + const ResourceMessageReplyParams& params, |
| const std::string& canonical_name, |
| const std::vector<PP_NetAddress_Private>& net_address_list) { |
| + bool succeeded = (params.result() != 0); |
| if (succeeded) { |
|
yzshen1
2013/01/24 18:45:03
Please directly check whether params.result() == P
ygorshenin1
2013/02/05 12:45:31
Done.
|
| canonical_name_ = canonical_name; |
| net_address_list_ = net_address_list; |
| @@ -83,17 +76,23 @@ void PPB_HostResolver_Shared::OnResolveCompleted( |
| canonical_name_.clear(); |
| net_address_list_.clear(); |
| } |
| - |
| resolve_callback_->Run(succeeded ? PP_OK : PP_ERROR_FAILED); |
|
yzshen1
2013/01/24 18:45:03
You could directly return params.result().
ygorshenin1
2013/02/05 12:45:31
Done.
|
| } |
| -uint32 PPB_HostResolver_Shared::GenerateHostResolverID() { |
| - static uint32 host_resolver_id = 0; |
| - return host_resolver_id++; |
| +void HostResolverPrivateResource::SendResolve( |
| + const HostPortPair& host_port, |
| + const PP_HostResolver_Private_Hint* hint) { |
| + PpapiHostMsg_HostResolverPrivate_Resolve msg(host_port, *hint); |
| + Call<PpapiPluginMsg_HostResolverPrivate_ResolveReply>( |
| + BROWSER, |
| + msg, |
| + base::Bind(&HostResolverPrivateResource::OnPluginMsgResolveReply, |
| + base::Unretained(this))); |
| } |
| -bool PPB_HostResolver_Shared::ResolveInProgress() const { |
| +bool HostResolverPrivateResource::ResolveInProgress() const { |
| return TrackedCallback::IsPending(resolve_callback_); |
| } |
| +} // namespace proxy |
| } // namespace ppapi |