Commit 1e61ca1a authored by gman@google.com's avatar gman@google.com

These files were meant to be checked in with

http://codereview.chromium.org/149236

The change SourceBuffer to use scoped_array
and they add a test for Class::unqualified_name.

Review URL: http://codereview.chromium.org/149300

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20115 0039d316-1c4b-4281-b951-d872f2087c98
parent 7624db8e
...@@ -491,7 +491,7 @@ ObjectBase::Ref VertexBuffer::Create(ServiceLocator* service_locator) { ...@@ -491,7 +491,7 @@ ObjectBase::Ref VertexBuffer::Create(ServiceLocator* service_locator) {
SourceBuffer::SourceBuffer(ServiceLocator* service_locator) SourceBuffer::SourceBuffer(ServiceLocator* service_locator)
: VertexBufferBase(service_locator), : VertexBufferBase(service_locator),
buffer_(NULL) { buffer_() {
} }
SourceBuffer::~SourceBuffer() { SourceBuffer::~SourceBuffer() {
...@@ -499,31 +499,28 @@ SourceBuffer::~SourceBuffer() { ...@@ -499,31 +499,28 @@ SourceBuffer::~SourceBuffer() {
} }
void SourceBuffer::ConcreteFree() { void SourceBuffer::ConcreteFree() {
if (buffer_) { buffer_.reset();
delete [] buffer_;
buffer_ = NULL;
}
} }
bool SourceBuffer::ConcreteAllocate(size_t size_in_bytes) { bool SourceBuffer::ConcreteAllocate(size_t size_in_bytes) {
ConcreteFree(); ConcreteFree();
buffer_ = new char[size_in_bytes]; buffer_.reset(new char[size_in_bytes]);
return true; return true;
} }
bool SourceBuffer::ConcreteLock(AccessMode access_mode, void **buffer_data) { bool SourceBuffer::ConcreteLock(AccessMode access_mode, void **buffer_data) {
if (!buffer_) { if (!buffer_.get()) {
return false; return false;
} }
*buffer_data = reinterpret_cast<void*>(buffer_); *buffer_data = reinterpret_cast<void*>(buffer_.get());
return true; return true;
} }
bool SourceBuffer::ConcreteUnlock() { bool SourceBuffer::ConcreteUnlock() {
return buffer_ != NULL; return buffer_.get() != NULL;
} }
ObjectBase::Ref SourceBuffer::Create(ServiceLocator* service_locator) { ObjectBase::Ref SourceBuffer::Create(ServiceLocator* service_locator) {
......
...@@ -306,7 +306,7 @@ class SourceBuffer : public VertexBufferBase { ...@@ -306,7 +306,7 @@ class SourceBuffer : public VertexBufferBase {
friend class IClassManager; friend class IClassManager;
static ObjectBase::Ref Create(ServiceLocator* service_locator); static ObjectBase::Ref Create(ServiceLocator* service_locator);
char* buffer_; // The actual data for this buffer. scoped_array<char> buffer_; // The actual data for this buffer.
O3D_DECL_CLASS(SourceBuffer, VertexBufferBase); O3D_DECL_CLASS(SourceBuffer, VertexBufferBase);
DISALLOW_COPY_AND_ASSIGN(SourceBuffer); DISALLOW_COPY_AND_ASSIGN(SourceBuffer);
......
...@@ -70,4 +70,14 @@ TEST_F(ObjectBaseTest, ObjectIdOfNullIsZero) { ...@@ -70,4 +70,14 @@ TEST_F(ObjectBaseTest, ObjectIdOfNullIsZero) {
TEST_F(ObjectBaseTest, ObjectIdOfObjectIsReturned) { TEST_F(ObjectBaseTest, ObjectIdOfObjectIsReturned) {
ASSERT_EQ(pack_->id(), GetObjectId(pack_)); ASSERT_EQ(pack_->id(), GetObjectId(pack_));
} }
TEST_F(ObjectBaseTest, ObjectClassName) {
ASSERT_EQ(0,
strcmp(ObjectBase::GetApparentClass()->name(),
"o3d.ObjectBase"));
ASSERT_EQ(0,
strcmp(ObjectBase::GetApparentClass()->unqualified_name(),
"ObjectBase"));
}
} // namespace o3d } // namespace o3d
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment