[Webkit-unassigned] [Bug 64900] New: `Function.prototype.apply` is non-ECMAScript 5 conformant

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jul 20 16:05:49 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=64900

           Summary: `Function.prototype.apply` is non-ECMAScript 5
                    conformant
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: ksgoncharov at gmail.com


Overview
========
According to section 15.3.4.3 of the spec, `Function.prototype.apply` should accept an array-like object as its second argument. See steps 2 and 3:

> 2. If Type(argArray) is not Object, then throw a TypeError exception.
> 3. Let len be the result of calling the [[Get]] internal method of argArray with argument "length".

As of the latest WebKit nightly, invocations such as `(function(){}).apply(null, {length: 0})` throw a `TypeError`. This is inconsistent with the above algorithm.

Steps to Reproduce
==================

1) Open the Web Inspector.
2) Enter `(function(){ return [].slice.call(arguments); }).apply(null, {0: 1, 1: 2, length: 2})`.

Actual Results
==============

A `TypeError` is thrown.

Expected Results
================

The function should return `[1, 2]`.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list