1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "ppapi/cpp/network_proxy.h" 6 7 #include "ppapi/c/ppb_network_proxy.h" 8 #include "ppapi/cpp/module_impl.h" 9 10 namespace pp { 11 12 namespace { 13 interface_name()14template <> const char* interface_name<PPB_NetworkProxy_1_0>() { 15 return PPB_NETWORKPROXY_INTERFACE_1_0; 16 } 17 18 } // namespace 19 20 // static IsAvailable()21bool NetworkProxy::IsAvailable() { 22 return has_interface<PPB_NetworkProxy_1_0>(); 23 } 24 25 // static GetProxyForURL(const InstanceHandle & instance,const Var & url,const CompletionCallbackWithOutput<Var> & callback)26int32_t NetworkProxy::GetProxyForURL( 27 const InstanceHandle& instance, 28 const Var& url, 29 const CompletionCallbackWithOutput<Var>& callback) { 30 if (!has_interface<PPB_NetworkProxy_1_0>()) 31 return callback.MayForce(PP_ERROR_NOINTERFACE); 32 33 return get_interface<PPB_NetworkProxy_1_0>()->GetProxyForURL( 34 instance.pp_instance(), url.pp_var(), 35 callback.output(), callback.pp_completion_callback()); 36 } 37 38 } // namespace pp 39