| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 return TypedArrayTraits<TypedArray>::IsInstance(value); | 52 return TypedArrayTraits<TypedArray>::IsInstance(value); |
| 53 } | 53 } |
| 54 | 54 |
| 55 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value> value, v8::Isolate*) | 55 static bool HasInstanceInAnyWorld(v8::Handle<v8::Value> value, v8::Isolate*) |
| 56 { | 56 { |
| 57 return TypedArrayTraits<TypedArray>::IsInstance(value); | 57 return TypedArrayTraits<TypedArray>::IsInstance(value); |
| 58 } | 58 } |
| 59 | 59 |
| 60 static TypedArray* toNative(v8::Handle<v8::Object>); | 60 static TypedArray* toNative(v8::Handle<v8::Object>); |
| 61 static void derefObject(void*); | 61 static void derefObject(void*); |
| 62 static WrapperTypeInfo wrapperTypeInfo; | 62 static const WrapperTypeInfo wrapperTypeInfo; |
| 63 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount; | 63 static const int internalFieldCount = v8DefaultWrapperInternalFieldCount; |
| 64 | 64 |
| 65 static v8::Handle<v8::Object> wrap(TypedArray* impl, v8::Handle<v8::Object>
creationContext, v8::Isolate* isolate) | 65 static v8::Handle<v8::Object> wrap(TypedArray* impl, v8::Handle<v8::Object>
creationContext, v8::Isolate* isolate) |
| 66 { | 66 { |
| 67 ASSERT(impl); | 67 ASSERT(impl); |
| 68 ASSERT(!DOMDataStore::containsWrapper<Binding>(impl, isolate)); | 68 ASSERT(!DOMDataStore::containsWrapper<Binding>(impl, isolate)); |
| 69 return V8TypedArray<TypedArray>::createWrapper(impl, creationContext, is
olate); | 69 return V8TypedArray<TypedArray>::createWrapper(impl, creationContext, is
olate); |
| 70 } | 70 } |
| 71 | 71 |
| 72 static v8::Handle<v8::Value> toV8(TypedArray* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) | 72 static v8::Handle<v8::Value> toV8(TypedArray* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 typedef TypedArrayTraits<TypedArray> Traits; | 127 typedef TypedArrayTraits<TypedArray> Traits; |
| 128 typedef typename Traits::V8Type V8Type; | 128 typedef typename Traits::V8Type V8Type; |
| 129 typedef V8TypedArray<TypedArray> Binding; | 129 typedef V8TypedArray<TypedArray> Binding; |
| 130 | 130 |
| 131 static v8::Handle<v8::Object> createWrapper(PassRefPtr<TypedArray>, v8::Hand
le<v8::Object> creationContext, v8::Isolate*); | 131 static v8::Handle<v8::Object> createWrapper(PassRefPtr<TypedArray>, v8::Hand
le<v8::Object> creationContext, v8::Isolate*); |
| 132 }; | 132 }; |
| 133 | 133 |
| 134 template<typename TypedArray> | 134 template<typename TypedArray> |
| 135 class TypedArrayWrapperTraits { | 135 class TypedArrayWrapperTraits { |
| 136 public: | 136 public: |
| 137 static WrapperTypeInfo* info() { return &V8TypedArray<TypedArray>::wrapperTy
peInfo; } | 137 static const WrapperTypeInfo* info() { return &V8TypedArray<TypedArray>::wra
pperTypeInfo; } |
| 138 }; | 138 }; |
| 139 | 139 |
| 140 | 140 |
| 141 template <typename TypedArray> | 141 template <typename TypedArray> |
| 142 v8::Handle<v8::Object> V8TypedArray<TypedArray>::createWrapper(PassRefPtr<TypedA
rray> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) | 142 v8::Handle<v8::Object> V8TypedArray<TypedArray>::createWrapper(PassRefPtr<TypedA
rray> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| 143 { | 143 { |
| 144 ASSERT(impl.get()); | 144 ASSERT(impl.get()); |
| 145 ASSERT(!DOMDataStore::containsWrapper<Binding>(impl.get(), isolate)); | 145 ASSERT(!DOMDataStore::containsWrapper<Binding>(impl.get(), isolate)); |
| 146 | 146 |
| 147 RefPtr<ArrayBuffer> buffer = impl->buffer(); | 147 RefPtr<ArrayBuffer> buffer = impl->buffer(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 169 ASSERT(typedArray.get()); | 169 ASSERT(typedArray.get()); |
| 170 V8DOMWrapper::associateObjectWithWrapper<Binding>(typedArray.release(), &wra
pperTypeInfo, object, v8::Isolate::GetCurrent(), WrapperConfiguration::Independe
nt); | 170 V8DOMWrapper::associateObjectWithWrapper<Binding>(typedArray.release(), &wra
pperTypeInfo, object, v8::Isolate::GetCurrent(), WrapperConfiguration::Independe
nt); |
| 171 | 171 |
| 172 typedarrayPtr = object->GetAlignedPointerFromInternalField(v8DOMWrapperObjec
tIndex); | 172 typedarrayPtr = object->GetAlignedPointerFromInternalField(v8DOMWrapperObjec
tIndex); |
| 173 ASSERT(typedarrayPtr); | 173 ASSERT(typedarrayPtr); |
| 174 return reinterpret_cast<TypedArray*>(typedarrayPtr); | 174 return reinterpret_cast<TypedArray*>(typedarrayPtr); |
| 175 } | 175 } |
| 176 | 176 |
| 177 | 177 |
| 178 template <typename TypedArray> | 178 template <typename TypedArray> |
| 179 WrapperTypeInfo V8TypedArray<TypedArray>::wrapperTypeInfo = { | 179 const WrapperTypeInfo V8TypedArray<TypedArray>::wrapperTypeInfo = { |
| 180 0, V8TypedArray<TypedArray>::derefObject, | 180 0, V8TypedArray<TypedArray>::derefObject, |
| 181 0, 0, 0, 0, 0, WrapperTypeObjectPrototype | 181 0, 0, 0, 0, 0, WrapperTypeObjectPrototype |
| 182 }; | 182 }; |
| 183 | 183 |
| 184 template <typename TypedArray> | 184 template <typename TypedArray> |
| 185 void V8TypedArray<TypedArray>::derefObject(void* object) | 185 void V8TypedArray<TypedArray>::derefObject(void* object) |
| 186 { | 186 { |
| 187 static_cast<TypedArray*>(object)->deref(); | 187 static_cast<TypedArray*>(object)->deref(); |
| 188 } | 188 } |
| 189 | 189 |
| 190 | 190 |
| 191 } // namespace WebCode | 191 } // namespace WebCode |
| 192 | 192 |
| 193 #endif // V8TypedArrayCustom_h | 193 #endif // V8TypedArrayCustom_h |
| OLD | NEW |