diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/runtime/JSDataView.cpp | |
parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSDataView.cpp')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSDataView.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/Source/JavaScriptCore/runtime/JSDataView.cpp b/Source/JavaScriptCore/runtime/JSDataView.cpp index 513d4c6b3..77640cdaf 100644 --- a/Source/JavaScriptCore/runtime/JSDataView.cpp +++ b/Source/JavaScriptCore/runtime/JSDataView.cpp @@ -29,12 +29,12 @@ #include "ArrayBufferView.h" #include "DataView.h" #include "Error.h" -#include "JSCInlines.h" +#include "Operations.h" namespace JSC { const ClassInfo JSDataView::s_info = { - "DataView", &Base::s_info, 0, CREATE_METHOD_TABLE(JSDataView)}; + "DataView", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSDataView)}; JSDataView::JSDataView(VM& vm, ConstructionContext& context, ArrayBuffer* buffer) : Base(vm, context) @@ -47,13 +47,10 @@ JSDataView* JSDataView::create( unsigned byteOffset, unsigned byteLength) { RefPtr<ArrayBuffer> buffer = passedBuffer; - if (!ArrayBufferView::verifySubRangeLength(buffer, byteOffset, byteLength, sizeof(uint8_t))) { - throwVMError(exec, createRangeError(exec, ASCIILiteral("Length out of range of buffer"))); - return nullptr; - } - if (!ArrayBufferView::verifyByteOffsetAlignment(byteOffset, sizeof(uint8_t))) { - exec->vm().throwException(exec, createRangeError(exec, ASCIILiteral("Byte offset is not aligned"))); - return nullptr; + if (!ArrayBufferView::verifySubRange<uint8_t>(buffer, byteOffset, byteLength)) { + throwVMError( + exec, createRangeError(exec, "Byte offset and length out of range of buffer")); + return 0; } VM& vm = exec->vm(); ConstructionContext context( @@ -116,7 +113,7 @@ Structure* JSDataView::createStructure( VM& vm, JSGlobalObject* globalObject, JSValue prototype) { return Structure::create( - vm, globalObject, prototype, TypeInfo(DataViewType, StructureFlags), info(), + vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info(), NonArray); } |