1 // Copyright (c) 2012 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/url_response_info.h" 6 7 #include "ppapi/cpp/file_ref.h" 8 #include "ppapi/cpp/module.h" 9 #include "ppapi/cpp/module_impl.h" 10 11 namespace pp { 12 13 namespace { 14 15 template <> const char* interface_name<PPB_URLResponseInfo_1_0>() { 16 return PPB_URLRESPONSEINFO_INTERFACE_1_0; 17 } 18 19 } // namespace 20 21 URLResponseInfo::URLResponseInfo(const URLResponseInfo& other) 22 : Resource(other) { 23 } 24 25 URLResponseInfo::URLResponseInfo(PassRef, PP_Resource resource) 26 : Resource(PASS_REF, resource) { 27 } 28 29 Var URLResponseInfo::GetProperty(PP_URLResponseProperty property) const { 30 if (!has_interface<PPB_URLResponseInfo_1_0>()) 31 return Var(); 32 return Var(PASS_REF, 33 get_interface<PPB_URLResponseInfo_1_0>()->GetProperty(pp_resource(), 34 property)); 35 } 36 37 FileRef URLResponseInfo::GetBodyAsFileRef() const { 38 if (!has_interface<PPB_URLResponseInfo_1_0>()) 39 return FileRef(); 40 return FileRef(PASS_REF, 41 get_interface<PPB_URLResponseInfo_1_0>()->GetBodyAsFileRef( 42 pp_resource())); 43 } 44 45 } // namespace pp 46