OLD | NEW |
---|---|
(Empty) | |
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 #ifndef DOMArrayBuffer_h | |
6 #define DOMArrayBuffer_h | |
7 | |
8 #include "bindings/core/v8/ScriptWrappable.h" | |
9 #include "wtf/ArrayBuffer.h" | |
10 #include "wtf/RefCounted.h" | |
11 | |
12 namespace blink { | |
13 | |
14 class DOMArrayBuffer : public RefCounted<DOMArrayBuffer>, public ScriptWrappable { | |
15 DEFINE_WRAPPERTYPEINFO(); | |
16 public: | |
17 static PassRefPtr<DOMArrayBuffer> create(PassRefPtr<WTF::ArrayBuffer> buffer ) | |
18 { | |
19 if (!buffer.get()) | |
haraken
2014/10/14 15:11:19
if (!buffer)
Yuki
2014/10/15 09:35:23
Done.
| |
20 return nullptr; | |
21 return adoptRef(new DOMArrayBuffer(buffer)); | |
22 } | |
23 static PassRefPtr<DOMArrayBuffer> create(unsigned numElements, unsigned elem entByteSize) | |
24 { | |
25 return adoptRef(new DOMArrayBuffer(WTF::ArrayBuffer::create(numElements, elementByteSize))); | |
26 } | |
27 static PassRefPtr<DOMArrayBuffer> create(const void* source, unsigned byteLe ngth) | |
28 { | |
29 return adoptRef(new DOMArrayBuffer(WTF::ArrayBuffer::create(source, byte Length))); | |
30 } | |
31 static PassRefPtr<DOMArrayBuffer> create(WTF::ArrayBufferContents& contents) | |
32 { | |
33 return adoptRef(new DOMArrayBuffer(WTF::ArrayBuffer::create(contents))); | |
34 } | |
35 | |
36 const WTF::ArrayBuffer* buffer() const { return m_buffer.get(); } | |
37 WTF::ArrayBuffer* buffer() { return m_buffer.get(); } | |
38 | |
39 const void* data() const { return buffer()->data(); } | |
40 unsigned long byteLength() const { return buffer()->byteLength(); } | |
41 void* data() { return buffer()->data(); } | |
42 bool transfer(WTF::ArrayBufferContents& result) { return buffer()->transfer( result); } | |
43 bool isNeutered() { return buffer()->isNeutered(); } | |
44 void setDeallocationObserver(WTF::ArrayBufferDeallocationObserver* observer) | |
45 { | |
46 buffer()->setDeallocationObserver(observer); | |
47 } | |
48 | |
49 virtual v8::Handle<v8::Object> wrap(v8::Handle<v8::Object> creationContext, v8::Isolate*) OVERRIDE; | |
haraken
2014/10/14 15:11:19
OVERRIDE => override
Yuki
2014/10/15 09:35:23
Done.
| |
50 virtual v8::Handle<v8::Object> associateWithWrapper(const WrapperTypeInfo*, v8::Handle<v8::Object> wrapper, v8::Isolate*) OVERRIDE; | |
51 | |
52 protected: | |
53 explicit DOMArrayBuffer(PassRefPtr<WTF::ArrayBuffer> buffer) | |
54 : m_buffer(buffer) | |
55 { | |
56 ASSERT(m_buffer.get()); | |
haraken
2014/10/14 15:11:19
ASSERT(m_buffer)
Yuki
2014/10/15 09:35:23
Done.
| |
57 } | |
58 | |
59 private: | |
60 RefPtr<WTF::ArrayBuffer> m_buffer; | |
61 }; | |
62 | |
63 } // namespace blink | |
64 | |
65 #endif // DOMArrayBuffer_h | |
OLD | NEW |