summaryrefslogtreecommitdiff
path: root/Source/WTF/wtf/Float32Array.h
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:37:48 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-07-30 11:38:52 +0200
commit89e2486a48b739f8d771d69ede5a6a1b244a10fc (patch)
tree503b1a7812cf97d93704c32437eb5f62dc1a1ff9 /Source/WTF/wtf/Float32Array.h
parent625f028249cb37c55bbbd153f3902afd0b0756d9 (diff)
downloadqtwebkit-89e2486a48b739f8d771d69ede5a6a1b244a10fc.tar.gz
Imported WebKit commit 0282df8ca7c11d8c8a66ea18543695c69f545a27 (http://svn.webkit.org/repository/webkit/trunk@124002)
New snapshot with prospective Mountain Lion build fix
Diffstat (limited to 'Source/WTF/wtf/Float32Array.h')
-rw-r--r--Source/WTF/wtf/Float32Array.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/Source/WTF/wtf/Float32Array.h b/Source/WTF/wtf/Float32Array.h
index 55e61e006..47204ec78 100644
--- a/Source/WTF/wtf/Float32Array.h
+++ b/Source/WTF/wtf/Float32Array.h
@@ -38,6 +38,10 @@ public:
static inline PassRefPtr<Float32Array> create(const float* array, unsigned length);
static inline PassRefPtr<Float32Array> create(PassRefPtr<ArrayBuffer>, unsigned byteOffset, unsigned length);
+ // Should only be used when it is known the entire array will be filled. Do
+ // not return these results directly to JavaScript without filling first.
+ static inline PassRefPtr<Float32Array> createUninitialized(unsigned length);
+
// Can’t use "using" here due to a bug in the RVCT compiler.
bool set(TypedArrayBase<float>* array, unsigned offset) { return TypedArrayBase<float>::set(array, offset); }
@@ -48,27 +52,20 @@ public:
TypedArrayBase<float>::data()[index] = static_cast<float>(value);
}
- // Invoked by the indexed getter. Does not perform range checks; caller
- // is responsible for doing so and returning undefined as necessary.
- float item(unsigned index) const
- {
- ASSERT(index < TypedArrayBase<float>::m_length);
- float result = TypedArrayBase<float>::data()[index];
- return result;
- }
-
inline PassRefPtr<Float32Array> subarray(int start) const;
inline PassRefPtr<Float32Array> subarray(int start, int end) const;
+ virtual ViewType getType() const
+ {
+ return TypeFloat32;
+ }
+
private:
inline Float32Array(PassRefPtr<ArrayBuffer>,
unsigned byteOffset,
unsigned length);
// Make constructor visible to superclass.
friend class TypedArrayBase<float>;
-
- // Overridden from ArrayBufferView.
- virtual bool isFloatArray() const { return true; }
};
PassRefPtr<Float32Array> Float32Array::create(unsigned length)
@@ -86,6 +83,11 @@ PassRefPtr<Float32Array> Float32Array::create(PassRefPtr<ArrayBuffer> buffer, un
return TypedArrayBase<float>::create<Float32Array>(buffer, byteOffset, length);
}
+PassRefPtr<Float32Array> Float32Array::createUninitialized(unsigned length)
+{
+ return TypedArrayBase<float>::createUninitialized<Float32Array>(length);
+}
+
Float32Array::Float32Array(PassRefPtr<ArrayBuffer> buffer, unsigned byteOffset, unsigned length)
: TypedArrayBase<float>(buffer, byteOffset, length)
{