diff options
Diffstat (limited to 'ppapi/thunk')
-rw-r--r-- | ppapi/thunk/enter.h | 9 | ||||
-rw-r--r-- | ppapi/thunk/ppb_file_ref_api.h | 7 | ||||
-rw-r--r-- | ppapi/thunk/ppb_url_request_info_api.h | 6 | ||||
-rw-r--r-- | ppapi/thunk/ppb_url_request_info_thunk.cc | 4 | ||||
-rw-r--r-- | ppapi/thunk/resource_creation_api.h | 7 |
5 files changed, 27 insertions, 6 deletions
diff --git a/ppapi/thunk/enter.h b/ppapi/thunk/enter.h index e7f0d0f..e83a1a1 100644 --- a/ppapi/thunk/enter.h +++ b/ppapi/thunk/enter.h @@ -97,10 +97,9 @@ class EnterResource { public: EnterResource(PP_Resource resource, bool report_error) : object_(NULL) { - Resource* base = - TrackerBase::Get()->GetResourceTracker()->GetResource(resource); - if (base) - object_ = base->GetAs<ResourceT>(); + resource_ = TrackerBase::Get()->GetResourceTracker()->GetResource(resource); + if (resource_) + object_ = resource_->GetAs<ResourceT>(); // TODO(brettw) check error and if report_error is set, do something. } ~EnterResource() {} @@ -109,8 +108,10 @@ class EnterResource { bool failed() const { return !object_; } ResourceT* object() { return object_; } + Resource* resource() { return resource_; } private: + Resource* resource_; ResourceT* object_; DISALLOW_COPY_AND_ASSIGN(EnterResource); diff --git a/ppapi/thunk/ppb_file_ref_api.h b/ppapi/thunk/ppb_file_ref_api.h index be46cef..b2f0e9d 100644 --- a/ppapi/thunk/ppb_file_ref_api.h +++ b/ppapi/thunk/ppb_file_ref_api.h @@ -8,6 +8,9 @@ #include "ppapi/c/ppb_file_ref.h" namespace ppapi { + +struct PPB_FileRef_CreateInfo; + namespace thunk { class PPB_FileRef_API { @@ -26,6 +29,10 @@ class PPB_FileRef_API { virtual int32_t Delete(PP_CompletionCallback callback) = 0; virtual int32_t Rename(PP_Resource new_file_ref, PP_CompletionCallback callback) = 0; + + // Intermal function for use in proxying. Returns the internal CreateInfo + // (the contained resource does not carry a ref on behalf of the caller). + virtual const PPB_FileRef_CreateInfo& GetCreateInfo() const = 0; }; } // namespace thunk diff --git a/ppapi/thunk/ppb_url_request_info_api.h b/ppapi/thunk/ppb_url_request_info_api.h index 3f6d0ed..56634bc 100644 --- a/ppapi/thunk/ppb_url_request_info_api.h +++ b/ppapi/thunk/ppb_url_request_info_api.h @@ -8,6 +8,9 @@ #include "ppapi/c/ppb_url_request_info.h" namespace ppapi { + +struct PPB_URLRequestInfo_Data; + namespace thunk { class PPB_URLRequestInfo_API { @@ -21,6 +24,9 @@ class PPB_URLRequestInfo_API { int64_t start_offset, int64_t number_of_bytes, PP_Time expected_last_modified_time) = 0; + + // Internal-only function for retrieving the current config. + virtual const PPB_URLRequestInfo_Data& GetData() const = 0; }; } // namespace thunk diff --git a/ppapi/thunk/ppb_url_request_info_thunk.cc b/ppapi/thunk/ppb_url_request_info_thunk.cc index 5c99d18..4f41881 100644 --- a/ppapi/thunk/ppb_url_request_info_thunk.cc +++ b/ppapi/thunk/ppb_url_request_info_thunk.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "ppapi/shared_impl/url_request_info_impl.h" #include "ppapi/thunk/thunk.h" #include "ppapi/thunk/enter.h" #include "ppapi/thunk/ppb_url_request_info_api.h" @@ -16,7 +17,8 @@ PP_Resource Create(PP_Instance instance) { EnterFunction<ResourceCreationAPI> enter(instance, true); if (enter.failed()) return 0; - return enter.functions()->CreateURLRequestInfo(instance); + return enter.functions()->CreateURLRequestInfo( + instance, PPB_URLRequestInfo_Data()); } PP_Bool IsURLRequestInfo(PP_Resource resource) { diff --git a/ppapi/thunk/resource_creation_api.h b/ppapi/thunk/resource_creation_api.h index 948a1dd..5564eec 100644 --- a/ppapi/thunk/resource_creation_api.h +++ b/ppapi/thunk/resource_creation_api.h @@ -24,6 +24,9 @@ struct PP_VideoCaptureDeviceInfo_Dev; struct PP_Size; namespace ppapi { + +struct PPB_URLRequestInfo_Data; + namespace thunk { // A functional API for creating resource types. Separating out the creation @@ -108,7 +111,9 @@ class ResourceCreationAPI { const char* name, const char* proto) = 0; virtual PP_Resource CreateURLLoader(PP_Instance instance) = 0; - virtual PP_Resource CreateURLRequestInfo(PP_Instance instance) = 0; + virtual PP_Resource CreateURLRequestInfo( + PP_Instance instance, + const PPB_URLRequestInfo_Data& data) = 0; virtual PP_Resource CreateVideoCapture(PP_Instance instance) = 0; virtual PP_Resource CreateVideoDecoder( PP_Instance instance, |