JSValue JSArrayBufferView::slice(ExecState* exec) { ArrayBufferView* array = reinterpret_cast<ArrayBufferView*>(impl()); int start, end; switch (exec->argumentCount()) { case 0: start = 0; end = array->length(); break; case 1: start = exec->argument(0).toInt32(exec); end = array->length(); break; default: start = exec->argument(0).toInt32(exec); end = exec->argument(1).toInt32(exec); } return toJS(exec, globalObject(), array->slice(start, end)); }
v8::Handle<v8::Value> V8ArrayBufferView::sliceCallback(const v8::Arguments& args) { INC_STATS("DOM.ArrayBufferView.slice"); // Forms: // * slice(long start, long end); ArrayBufferView* imp = V8ArrayBufferView::toNative(args.Holder()); int start, end; switch (args.Length()) { case 0: start = 0; end = imp->length(); break; case 1: start = toInt32(args[0]); end = imp->length(); break; default: start = toInt32(args[0]); end = toInt32(args[1]); } return toV8(imp->slice(start, end)); }