| Index: content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.cc b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| index c2041e7c978e9dfb900d0742b64d8089174efe20..a68ab1cce802edea26ca826df8b4a45f677f401a 100644
|
| --- a/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| +++ b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
|
| @@ -5,6 +5,7 @@
|
| #include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
|
|
|
| #include <cmath>
|
| +#include <cstddef>
|
| #include <map>
|
| #include <queue>
|
|
|
| @@ -60,9 +61,9 @@
|
| #include "ppapi/c/private/ppb_flash_net_connector.h"
|
| #include "ppapi/proxy/host_dispatcher.h"
|
| #include "ppapi/proxy/ppapi_messages.h"
|
| -#include "ppapi/shared_impl/ppb_device_ref_shared.h"
|
| #include "ppapi/shared_impl/platform_file.h"
|
| #include "ppapi/shared_impl/ppapi_preferences.h"
|
| +#include "ppapi/shared_impl/ppb_device_ref_shared.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebCursorInfo.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebFileChooserCompletion.h"
|
| @@ -1090,6 +1091,44 @@ void PepperPluginDelegateImpl::TCPServerSocketStopListening(
|
| }
|
| }
|
|
|
| +void PepperPluginDelegateImpl::RegisterHostResolver(
|
| + ppapi::PPB_HostResolver_Shared* host_resolver,
|
| + uint32 host_resolver_id) {
|
| + host_resolvers_.AddWithID(host_resolver, host_resolver_id);
|
| +}
|
| +
|
| +void PepperPluginDelegateImpl::HostResolverResolve(
|
| + uint32 host_resolver_id,
|
| + const ::ppapi::HostPortPair& host_port,
|
| + const PP_HostResolver_Private_Hint* hint) {
|
| + DCHECK(host_resolvers_.Lookup(host_resolver_id));
|
| + if (!hint) {
|
| + PP_HostResolver_Private_Hint empty_hint;
|
| + empty_hint.family = PP_NETADDRESSFAMILY_UNSPECIFIED;
|
| + empty_hint.flags = static_cast<PP_HostResolver_Private_Flags>(0);
|
| + render_view_->Send(
|
| + new PpapiHostMsg_PPBHostResolver_Resolve(
|
| + GetRoutingID(),
|
| + 0,
|
| + host_resolver_id,
|
| + host_port,
|
| + empty_hint));
|
| + } else {
|
| + render_view_->Send(
|
| + new PpapiHostMsg_PPBHostResolver_Resolve(
|
| + GetRoutingID(),
|
| + 0,
|
| + host_resolver_id,
|
| + host_port,
|
| + *hint));
|
| + }
|
| +}
|
| +
|
| +void PepperPluginDelegateImpl::UnregisterHostResolver(
|
| + uint32 host_resolver_id) {
|
| + host_resolvers_.Remove(host_resolver_id);
|
| +}
|
| +
|
| bool PepperPluginDelegateImpl::AddNetworkListObserver(
|
| webkit_glue::NetworkListObserver* observer) {
|
| #if defined(ENABLE_P2P_APIS)
|
| @@ -1371,6 +1410,8 @@ bool PepperPluginDelegateImpl::OnMessageReceived(const IPC::Message& message) {
|
| OnTCPServerSocketListenACK)
|
| IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPServerSocket_AcceptACK,
|
| OnTCPServerSocketAcceptACK)
|
| + IPC_MESSAGE_HANDLER(PpapiMsg_PPBHostResolver_ResolveACK,
|
| + OnHostResolverResolveACK)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -1498,6 +1539,21 @@ void PepperPluginDelegateImpl::OnTCPServerSocketAcceptACK(
|
| }
|
| }
|
|
|
| +void PepperPluginDelegateImpl::OnHostResolverResolveACK(
|
| + uint32 plugin_dispatcher_id,
|
| + uint32 host_resolver_id,
|
| + bool succeeded,
|
| + const std::string& canonical_name,
|
| + const ppapi::NetAddressList& net_address_list) {
|
| + ppapi::PPB_HostResolver_Shared* host_resolver =
|
| + host_resolvers_.Lookup(host_resolver_id);
|
| + if (host_resolver) {
|
| + host_resolver->OnResolveCompleted(succeeded,
|
| + canonical_name,
|
| + net_address_list);
|
| + }
|
| +}
|
| +
|
| int PepperPluginDelegateImpl::GetRoutingID() const {
|
| return render_view_->routing_id();
|
| }
|
|
|