| Index: ppapi/cpp/image_data.cc
|
| diff --git a/ppapi/cpp/image_data.cc b/ppapi/cpp/image_data.cc
|
| index 5fcc4c3522c958e4acfd86fda12f9fe29036fec2..4ccbaba4cfe96934005a0c5a3c780fbff0f955cb 100644
|
| --- a/ppapi/cpp/image_data.cc
|
| +++ b/ppapi/cpp/image_data.cc
|
| @@ -8,7 +8,7 @@
|
|
|
| #include <algorithm>
|
|
|
| -#include "ppapi/cpp/instance.h"
|
| +#include "ppapi/cpp/instance_handle.h"
|
| #include "ppapi/cpp/module.h"
|
| #include "ppapi/cpp/module_impl.h"
|
|
|
| @@ -33,16 +33,13 @@ ImageData::ImageData(const ImageData& other)
|
| }
|
|
|
| ImageData::ImageData(PassRef, PP_Resource resource)
|
| - : data_(NULL) {
|
| + : Resource(PASS_REF, resource),
|
| + data_(NULL) {
|
| memset(&desc_, 0, sizeof(PP_ImageDataDesc));
|
| -
|
| - if (!has_interface<PPB_ImageData>())
|
| - return;
|
| -
|
| - PassRefAndInitData(resource);
|
| + InitData();
|
| }
|
|
|
| -ImageData::ImageData(Instance* instance,
|
| +ImageData::ImageData(const InstanceHandle& instance,
|
| PP_ImageDataFormat format,
|
| const Size& size,
|
| bool init_to_zero)
|
| @@ -52,9 +49,10 @@ ImageData::ImageData(Instance* instance,
|
| if (!has_interface<PPB_ImageData>())
|
| return;
|
|
|
| - PassRefAndInitData(get_interface<PPB_ImageData>()->Create(
|
| - instance->pp_instance(), format, &size.pp_size(),
|
| + PassRefFromConstructor(get_interface<PPB_ImageData>()->Create(
|
| + instance.pp_instance(), format, &size.pp_size(),
|
| PP_FromBool(init_to_zero)));
|
| + InitData();
|
| }
|
|
|
| ImageData& ImageData::operator=(const ImageData& other) {
|
| @@ -83,8 +81,9 @@ PP_ImageDataFormat ImageData::GetNativeImageDataFormat() {
|
| return get_interface<PPB_ImageData>()->GetNativeImageDataFormat();
|
| }
|
|
|
| -void ImageData::PassRefAndInitData(PP_Resource resource) {
|
| - PassRefFromConstructor(resource);
|
| +void ImageData::InitData() {
|
| + if (!has_interface<PPB_ImageData>())
|
| + return;
|
| if (!get_interface<PPB_ImageData>()->Describe(pp_resource(), &desc_) ||
|
| !(data_ = get_interface<PPB_ImageData>()->Map(pp_resource())))
|
| *this = ImageData();
|
|
|