summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/image_data.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-27 20:23:19 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-27 20:23:19 +0000
commit09af0f7661d6a5971804c9a8ec47bbd038a5de78 (patch)
treef2c56e46b629df59a3a1781ac54a7d43d170ea31 /ppapi/cpp/image_data.cc
parent7e26ac973ede2fd0576d40086a437a3177668ea1 (diff)
downloadchromium_src-09af0f7661d6a5971804c9a8ec47bbd038a5de78.zip
chromium_src-09af0f7661d6a5971804c9a8ec47bbd038a5de78.tar.gz
chromium_src-09af0f7661d6a5971804c9a8ec47bbd038a5de78.tar.bz2
Convert resources to take an instance key instead of an Instance*.
Review URL: https://chromiumcodereview.appspot.com/9381010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123795 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/image_data.cc')
-rw-r--r--ppapi/cpp/image_data.cc23
1 files changed, 11 insertions, 12 deletions
diff --git a/ppapi/cpp/image_data.cc b/ppapi/cpp/image_data.cc
index 5fcc4c3..4ccbaba 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();