Chromium Code Reviews| Index: src/arraybuffer.js |
| diff --git a/src/arraybuffer.js b/src/arraybuffer.js |
| index 2b0c3dd85b1107bc2f5a98d355a24ad7a974e9fe..1ad470079d64b0e8faa4af0790c82beacaaeb235 100644 |
| --- a/src/arraybuffer.js |
| +++ b/src/arraybuffer.js |
| @@ -31,12 +31,14 @@ var $ArrayBuffer = global.ArrayBuffer; |
| // ------------------------------------------------------------------- |
| -function ArrayBufferConstructor(byteLength) { // length = 1 |
| +function ArrayBufferConstructor(length) { // length = 1 |
| if (%_IsConstructCall()) { |
| - var l = TO_POSITIVE_INTEGER(byteLength); |
| - %ArrayBufferInitialize(this, l); |
| + var byteLength = IS_UNDEFINED(length) ? 0 : TO_INTEGER(length); |
|
rossberg
2013/06/24 12:36:03
Doesn't TO_INTEGER(undefined) yield 0 anyway?
|
| + if (byteLength < 0) |
| + throw MakeRangeError("invalid_array_buffer_length"); |
| + %ArrayBufferInitialize(this, byteLength); |
| } else { |
| - return new $ArrayBuffer(byteLength); |
| + return new $ArrayBuffer(length); |
| } |
| } |