| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 5 #ifndef PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 
| 6 #define PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 6 #define PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 
| 7 | 7 | 
| 8 #include <vector> | 8 #include <vector> | 
| 9 | 9 | 
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" | 
| 11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" | 
| 12 #include "base/memory/shared_memory.h" | 12 #include "base/memory/shared_memory.h" | 
| 13 #include "ppapi/c/pp_instance.h" | 13 #include "ppapi/c/pp_instance.h" | 
| 14 #include "ppapi/c/pp_stdint.h" | 14 #include "ppapi/c/pp_stdint.h" | 
| 15 #include "ppapi/shared_impl/var.h" | 15 #include "ppapi/shared_impl/var.h" | 
| 16 | 16 | 
| 17 namespace ppapi { | 17 namespace ppapi { | 
| 18 | 18 | 
| 19 // Represents a plugin-side ArrayBufferVar. In the plugin process, it's | 19 // Represents a plugin-side ArrayBufferVar. In the plugin process, it's | 
| 20 // owned as a vector. | 20 // owned as a vector. | 
| 21 class PluginArrayBufferVar : public ArrayBufferVar { | 21 class PluginArrayBufferVar : public ArrayBufferVar { | 
| 22  public: | 22  public: | 
| 23   explicit PluginArrayBufferVar(uint32 size_in_bytes); | 23   explicit PluginArrayBufferVar(uint32 size_in_bytes); | 
| 24   PluginArrayBufferVar(uint32 size_in_bytes, | 24   PluginArrayBufferVar(uint32 size_in_bytes, | 
| 25                        base::SharedMemoryHandle plugin_handle); | 25                        base::SharedMemoryHandle plugin_handle); | 
| 26   virtual ~PluginArrayBufferVar(); | 26   virtual ~PluginArrayBufferVar(); | 
| 27 | 27 | 
| 28   // ArrayBufferVar implementation. | 28   // ArrayBufferVar implementation. | 
| 29   virtual void* Map() OVERRIDE; | 29   virtual void* Map() override; | 
| 30   virtual void Unmap() OVERRIDE; | 30   virtual void Unmap() override; | 
| 31   virtual uint32 ByteLength() OVERRIDE; | 31   virtual uint32 ByteLength() override; | 
| 32   virtual bool CopyToNewShmem( | 32   virtual bool CopyToNewShmem( | 
| 33       PP_Instance instance, | 33       PP_Instance instance, | 
| 34       int* host_handle, | 34       int* host_handle, | 
| 35       base::SharedMemoryHandle* plugin_handle) OVERRIDE; | 35       base::SharedMemoryHandle* plugin_handle) override; | 
| 36 | 36 | 
| 37  private: | 37  private: | 
| 38   // Non-shared memory | 38   // Non-shared memory | 
| 39   std::vector<uint8> buffer_; | 39   std::vector<uint8> buffer_; | 
| 40 | 40 | 
| 41   // Shared memory | 41   // Shared memory | 
| 42   base::SharedMemoryHandle plugin_handle_; | 42   base::SharedMemoryHandle plugin_handle_; | 
| 43   scoped_ptr<base::SharedMemory> shmem_; | 43   scoped_ptr<base::SharedMemory> shmem_; | 
| 44   uint32 size_in_bytes_; | 44   uint32 size_in_bytes_; | 
| 45 | 45 | 
| 46   DISALLOW_COPY_AND_ASSIGN(PluginArrayBufferVar); | 46   DISALLOW_COPY_AND_ASSIGN(PluginArrayBufferVar); | 
| 47 }; | 47 }; | 
| 48 | 48 | 
| 49 }  // namespace ppapi | 49 }  // namespace ppapi | 
| 50 | 50 | 
| 51 #endif  // PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 51 #endif  // PPAPI_PROXY_PLUGIN_ARRAY_BUFFER_VAR_H_ | 
| OLD | NEW | 
|---|