OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 v8::V8::AdjustAmountOfExternalAllocatedMemory(static_cast<int>(sizeInByt
es)); | 48 v8::V8::AdjustAmountOfExternalAllocatedMemory(static_cast<int>(sizeInByt
es)); |
49 } | 49 } |
50 }; | 50 }; |
51 | 51 |
52 class V8ArrayBuffer { | 52 class V8ArrayBuffer { |
53 public: | 53 public: |
54 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldTyp
e); | 54 static bool HasInstance(v8::Handle<v8::Value>, v8::Isolate*, WrapperWorldTyp
e); |
55 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value>, v8::Isolate*); | 55 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value>, v8::Isolate*); |
56 static ArrayBuffer* toNative(v8::Handle<v8::Object>); | 56 static ArrayBuffer* toNative(v8::Handle<v8::Object>); |
57 static void derefObject(void*); | 57 static void derefObject(void*); |
58 static WrapperTypeInfo wrapperTypeInfo; | 58 static const WrapperTypeInfo wrapperTypeInfo; |
59 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount; | 59 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount; |
60 static void installPerContextEnabledProperties(v8::Handle<v8::Object>, Array
Buffer*, v8::Isolate*) { } | 60 static void installPerContextEnabledProperties(v8::Handle<v8::Object>, Array
Buffer*, v8::Isolate*) { } |
61 static void installPerContextEnabledPrototypeProperties(v8::Handle<v8::Objec
t>, v8::Isolate*) { } | 61 static void installPerContextEnabledPrototypeProperties(v8::Handle<v8::Objec
t>, v8::Isolate*) { } |
62 | 62 |
63 static inline void* toInternalPointer(ArrayBuffer* impl) | 63 static inline void* toInternalPointer(ArrayBuffer* impl) |
64 { | 64 { |
65 return impl; | 65 return impl; |
66 } | 66 } |
67 | 67 |
68 static inline ArrayBuffer* fromInternalPointer(void* impl) | 68 static inline ArrayBuffer* fromInternalPointer(void* impl) |
69 { | 69 { |
70 return static_cast<ArrayBuffer*>(impl); | 70 return static_cast<ArrayBuffer*>(impl); |
71 } | 71 } |
72 | 72 |
73 private: | 73 private: |
74 friend v8::Handle<v8::Object> wrap(ArrayBuffer*, v8::Handle<v8::Object> crea
tionContext, v8::Isolate*); | 74 friend v8::Handle<v8::Object> wrap(ArrayBuffer*, v8::Handle<v8::Object> crea
tionContext, v8::Isolate*); |
75 static v8::Handle<v8::Object> createWrapper(PassRefPtr<ArrayBuffer>, v8::Han
dle<v8::Object> creationContext, v8::Isolate*); | 75 static v8::Handle<v8::Object> createWrapper(PassRefPtr<ArrayBuffer>, v8::Han
dle<v8::Object> creationContext, v8::Isolate*); |
76 }; | 76 }; |
77 | 77 |
78 template<> | 78 template<> |
79 class WrapperTypeTraits<ArrayBuffer > { | 79 class WrapperTypeTraits<ArrayBuffer > { |
80 public: | 80 public: |
81 static WrapperTypeInfo* wrapperTypeInfo() { return &V8ArrayBuffer::wrapperTy
peInfo; } | 81 static const WrapperTypeInfo* wrapperTypeInfo() { return &V8ArrayBuffer::wra
pperTypeInfo; } |
82 }; | 82 }; |
83 | 83 |
84 | 84 |
85 inline v8::Handle<v8::Object> wrap(ArrayBuffer* impl, v8::Handle<v8::Object> cre
ationContext, v8::Isolate* isolate) | 85 inline v8::Handle<v8::Object> wrap(ArrayBuffer* impl, v8::Handle<v8::Object> cre
ationContext, v8::Isolate* isolate) |
86 { | 86 { |
87 ASSERT(impl); | 87 ASSERT(impl); |
88 ASSERT(!DOMDataStore::containsWrapper<V8ArrayBuffer>(impl, isolate)); | 88 ASSERT(!DOMDataStore::containsWrapper<V8ArrayBuffer>(impl, isolate)); |
89 return V8ArrayBuffer::createWrapper(impl, creationContext, isolate); | 89 return V8ArrayBuffer::createWrapper(impl, creationContext, isolate); |
90 } | 90 } |
91 | 91 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 | 158 |
159 template<class CallbackInfo, class Wrappable> | 159 template<class CallbackInfo, class Wrappable> |
160 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr< A
rrayBuffer > impl, Wrappable* wrappable) | 160 inline void v8SetReturnValueFast(const CallbackInfo& callbackInfo, PassRefPtr< A
rrayBuffer > impl, Wrappable* wrappable) |
161 { | 161 { |
162 v8SetReturnValueFast(callbackInfo, impl.get(), wrappable); | 162 v8SetReturnValueFast(callbackInfo, impl.get(), wrappable); |
163 } | 163 } |
164 | 164 |
165 } // namespace WebCore | 165 } // namespace WebCore |
166 | 166 |
167 #endif // V8ArrayBufferCustom_h | 167 #endif // V8ArrayBufferCustom_h |
OLD | NEW |