Home | History | Annotate | Download | only in fake_ppapi
      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 "fake_ppapi/fake_var_array_buffer_interface.h"
      6 
      7 #include "fake_ppapi/fake_var_manager.h"
      8 #include "gtest/gtest.h"
      9 
     10 FakeVarArrayBufferInterface::FakeVarArrayBufferInterface(
     11     FakeVarManager* manager) : manager_(manager) {}
     12 
     13 struct PP_Var FakeVarArrayBufferInterface::Create(uint32_t size_in_bytes) {
     14   FakeVarData* var_data = manager_->CreateVarData();
     15   var_data->type = PP_VARTYPE_ARRAY_BUFFER;
     16   var_data->buffer_value.length = size_in_bytes;
     17   var_data->buffer_value.ptr = malloc(size_in_bytes);
     18 
     19   struct PP_Var result = {PP_VARTYPE_ARRAY_BUFFER, 0, {PP_FALSE}};
     20   result.value.as_id = var_data->id;
     21   return result;
     22 }
     23 
     24 PP_Bool FakeVarArrayBufferInterface::ByteLength(struct PP_Var var,
     25                                                 uint32_t* byte_length) {
     26   EXPECT_EQ(PP_VARTYPE_ARRAY_BUFFER, var.type);
     27   FakeVarData* data = manager_->GetVarData(var);
     28   EXPECT_NE(static_cast<FakeVarData*>(NULL), data);
     29   *byte_length = data->buffer_value.length;
     30   return PP_TRUE;
     31 }
     32 
     33 void* FakeVarArrayBufferInterface::Map(struct PP_Var var) {
     34   EXPECT_EQ(PP_VARTYPE_ARRAY_BUFFER, var.type);
     35   FakeVarData* data = manager_->GetVarData(var);
     36   EXPECT_NE(static_cast<FakeVarData*>(NULL), data);
     37   return data->buffer_value.ptr;
     38 }
     39 
     40 void FakeVarArrayBufferInterface::Unmap(struct PP_Var var) {
     41   ASSERT_EQ(PP_VARTYPE_ARRAY_BUFFER, var.type);
     42 }
     43