Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a71a33b9e2231e6721b8398946acc01896ff24f
      
https://github.com/WebKit/WebKit/commit/5a71a33b9e2231e6721b8398946acc01896ff24f
  Author: Alexey Shvayka <[email protected]>
  Date:   2024-10-08 (Tue, 08 Oct 2024)

  Changed paths:
    A JSTests/stress/regress-281037.js
    M Source/JavaScriptCore/builtins/ArrayConstructor.js
    M Source/JavaScriptCore/builtins/TypedArrayConstructor.js

  Log Message:
  -----------
  [JSC] Array.from() and friends should invoke `document.all` passed as a mapper
https://bugs.webkit.org/show_bug.cgi?id=281037
<rdar://problem/137490201>

Reviewed by Yijia Huang.

After the parameter validation, Array.from() and friends deal with either 
callable `mapFn` or `undefined`.
However, the assumption that all callable objects are truthy is incorrect 
because of `document.all` [1].
This patch tightens the checks to use strict equality, aligning JSC with the 
spec, V8, and SpiderMonkey.

[1]: https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-to-boolean

* JSTests/stress/regress-281037.js: Added.
* Source/JavaScriptCore/builtins/ArrayConstructor.js:
(from):
(linkTimeConstant.visibility.PrivateRecursive.async 
defaultAsyncFromAsyncIterator):
(linkTimeConstant.visibility.PrivateRecursive.async 
defaultAsyncFromAsyncArrayLike):
* Source/JavaScriptCore/builtins/TypedArrayConstructor.js:
(from):

Canonical link: https://commits.webkit.org/284868@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to