RESOLVED FIXED184267
Array.prototype.concat with Proxy
https://bugs.webkit.org/show_bug.cgi?id=184267
Summary Array.prototype.concat with Proxy
Pierre-Marie Dartus
Reported 2018-04-03 10:00:04 PDT
**Step to reproduce:** const proxy = new Proxy([3, 4], {}); const res = [1, 2].concat(proxy); console.log(res[0]); console.log(res[1]); console.log(res[2]); console.log(res[3]); **Expected output:** 1 2 3 4 **Actual output:** 1 2 Proxy {0: 3, 1: 4} undefined **Observation:** Works in Chrome 65 and Firefox 58
Attachments
Patch (4.85 KB, patch)
2018-05-28 15:34 PDT, Caitlin Potter (:caitp)
no flags
Patch for landing (4.45 KB, patch)
2018-05-29 09:17 PDT, Caitlin Potter (:caitp)
no flags
Patch (1.90 KB, patch)
2018-05-29 14:49 PDT, Caitlin Potter (:caitp)
no flags
Patch for landing (1.90 KB, patch)
2018-05-29 17:02 PDT, Caitlin Potter (:caitp)
no flags
Radar WebKit Bug Importer
Comment 1 2018-04-06 20:58:13 PDT
Caitlin Potter (:caitp)
Comment 2 2018-05-28 15:34:53 PDT
Saam Barati
Comment 3 2018-05-29 08:59:57 PDT
Comment on attachment 341460 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341460&action=review > Source/JavaScriptCore/ChangeLog:11 > + This incorrectly treated prevented Proxy objects from being spread when “treated prevented” => prevented > Source/JavaScriptCore/ChangeLog:12 > + they were the only argument passed to A.p.concat(), violating ECMA-262. Nit: I’d just spell out Array.prototype.concat > JSTests/ChangeLog:8 > + Before this patch, the fast case for Array.prototype.concat was taken if Don’t think you need to repeat the same text in this changelog here
Caitlin Potter (:caitp)
Comment 4 2018-05-29 09:17:43 PDT
Created attachment 341489 [details] Patch for landing
Caitlin Potter (:caitp)
Comment 5 2018-05-29 09:24:04 PDT
Comment on attachment 341489 [details] Patch for landing I think this patch is still slightly wrong, going to verify a bit..
Caitlin Potter (:caitp)
Comment 6 2018-05-29 09:26:47 PDT
Comment on attachment 341489 [details] Patch for landing nevermind, I guess it was ok after all..
WebKit Commit Bot
Comment 7 2018-05-29 09:56:35 PDT
Comment on attachment 341489 [details] Patch for landing Clearing flags on attachment: 341489 Committed r232261: <https://trac.webkit.org/changeset/232261>
WebKit Commit Bot
Comment 8 2018-05-29 09:56:36 PDT
All reviewed patches have been landed. Closing bug.
Caitlin Potter (:caitp)
Comment 9 2018-05-29 14:49:16 PDT
Reopening to attach new patch.
Caitlin Potter (:caitp)
Comment 10 2018-05-29 14:49:17 PDT
Caitlin Potter (:caitp)
Comment 11 2018-05-29 14:50:05 PDT
I didn't know we had a new test262 runner in the tree. This patch fixed some failures, so here's another patch to fix the test262 expectations.
Saam Barati
Comment 12 2018-05-29 15:13:02 PDT
Comment on attachment 341520 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=341520&action=review > JSTests/ChangeLog:3 > + > + Only need one new line here
Caitlin Potter (:caitp)
Comment 13 2018-05-29 17:02:08 PDT
Created attachment 341538 [details] Patch for landing
WebKit Commit Bot
Comment 14 2018-05-29 17:40:33 PDT
Comment on attachment 341538 [details] Patch for landing Clearing flags on attachment: 341538 Committed r232282: <https://trac.webkit.org/changeset/232282>
WebKit Commit Bot
Comment 15 2018-05-29 17:40:35 PDT
All reviewed patches have been landed. Closing bug.
Alexey Shvayka
Comment 16 2020-05-07 15:11:25 PDT
*** Bug 186991 has been marked as a duplicate of this bug. ***
Alexey Shvayka
Comment 17 2020-05-07 15:20:06 PDT
*** Bug 186993 has been marked as a duplicate of this bug. ***
Alexey Shvayka
Comment 18 2020-05-07 15:40:13 PDT
*** Bug 186992 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.