New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 632305 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug



Sign in to add a comment

[Regression] Chrome 52 shows non enumerable variables on proxy objects. 51 was ok

Reported by denis.mi...@gmail.com, Jul 28 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36

Steps to reproduce the problem:
1. Open the attacched file into chrome 52 and look at console logs. A message will show up if test pass or not
2. All arrays must be empty to be ok

What is the expected behavior?
a proxy object should not return non enumerable properties when Object.keys() is called.

What went wrong?
a proxy object return also non enumerable properties when Object.keys() is called.

Did this work before? Yes Chrome 51 was ok. Issue begin on Chrome 52

Chrome version: 52.0.2743.82  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 22.0 r0

I've got 4 applications stop working due to this. It's very serius to me.
 
test_wrong_enum_on_proxy_obj.html
1.2 KB View Download

Comment 1 by neis@chromium.org, Jul 28 2016

 Issue 632287  has been merged into this issue.

Comment 2 by neis@chromium.org, Jul 28 2016

Cc: neis@chromium.org littledan@chromium.org
This has been fixed in V8 (see https://bugs.chromium.org/p/v8/issues/detail?id=5174) and merged back to 5.3 but not (yet?) 5.2.

Comment 3 by neis@chromium.org, Jul 28 2016

Components: -Blink Blink>JavaScript

Comment 4 by neis@chromium.org, Jul 28 2016

Cc: cbruni@chromium.org

Comment 5 by neis@chromium.org, Jul 28 2016

Cc: ca...@igalia.com

Comment 6 by neis@chromium.org, Jul 28 2016

Status: Untriaged (was: Unconfirmed)

Comment 7 by ca...@igalia.com, Jul 28 2016

The fix depends on 4-5 (or more) CLs which occurred since 5.2, and may be too much to merge back to 5.2. I've asked cbruni's opinion on the V8 bug

Comment 8 by cbruni@chromium.org, Jul 28 2016

I feel uncomfortable backmerging the 4-ish CLs.

The original cause for this issue was the discrepancy in the spec between how Object.keys and how for-in treated enumerable keys of proxies.
Compared to the newer Key-Accumulator it's rather tricky to get it right in V8 5.2.

This is fixed though in the current beta M53.

What I will try is to make M52 behave like M51, aka not breaking the Object.keys case.

Components: -Blink>JavaScript Blink>JavaScript>Language
Labels: -Pri-2 Pri-1
Owner: cbruni@chromium.org
Status: Assigned (was: Untriaged)
Labels: -OS-Windows OS-All
Can you add also a unit test to avoid this regression in next releases?
See comment 2, we've detected this issue and added already a test accordingly.
CL to fix the issue in M52 is on the way.
Are there an estimated release date for this?
This is a show stopper for me and I've to know what to do to fix
(if wait for chrome fix or re-engeneering on my side).

Tks
Status: WontFix (was: Assigned)
Sorry, I was on vacation.

The original fix was ready but there is now no time to make it into M52 as the next release (M53 which is fixed) is going to happen within a week from now.

Hence I have to mark this as WontFix as there is nothing we can do at this point.

Sign in to add a comment