Home | History | Annotate | Download | only in gl
      1 // Copyright 2014 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 "ui/gl/gl_image_ref_counted_memory.h"
      6 
      7 #include "base/logging.h"
      8 #include "base/memory/ref_counted_memory.h"
      9 
     10 namespace gfx {
     11 
     12 GLImageRefCountedMemory::GLImageRefCountedMemory(const gfx::Size& size,
     13                                                  unsigned internalformat)
     14     : GLImageMemory(size, internalformat) {
     15 }
     16 
     17 GLImageRefCountedMemory::~GLImageRefCountedMemory() {
     18   DCHECK(!ref_counted_memory_.get());
     19 }
     20 
     21 bool GLImageRefCountedMemory::Initialize(
     22     base::RefCountedMemory* ref_counted_memory) {
     23   if (!HasValidFormat())
     24     return false;
     25 
     26   DCHECK(!ref_counted_memory_.get());
     27   ref_counted_memory_ = ref_counted_memory;
     28   GLImageMemory::Initialize(ref_counted_memory_->front());
     29   return true;
     30 }
     31 
     32 void GLImageRefCountedMemory::Destroy(bool have_context) {
     33   GLImageMemory::Destroy(have_context);
     34   ref_counted_memory_ = NULL;
     35 }
     36 
     37 }  // namespace gfx
     38