Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Issue 2832923003: v8binding: Don't allow author script to define indexed accessor prop. (Closed)

Created:
3 years, 8 months ago by Yuki
Modified:
3 years, 5 months ago
Reviewers:
haraken, domenic
CC:
blink-reviews, blink-reviews-bindings_chromium.org, blink-reviews-frames_chromium.org, chromium-reviews, jeffcarp, qyearsley
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

v8binding: Don't allow author script to define indexed accessor prop. Author script is not allowed to define an accessor property with an array index property name if the object supports indexed properties. This CL disallows it. BUG=695385 Review-Url: https://codereview.chromium.org/2832923003 Cr-Commit-Position: refs/heads/master@{#484871} Committed: https://chromium.googlesource.com/chromium/src/+/58ab4a971b06dec13e4edf9de8382ca6847f6190

Patch Set 1 #

Patch Set 2 : Addressed Domenic's review comments. #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : Added a test as WebIDL/ecmascript-binding/legacy-platform-object.html #

Patch Set 6 : Updated test expectations. #

Total comments: 6

Patch Set 7 : Fixed typo. #

Total comments: 4

Patch Set 8 : Updated the new WPT according to Domenic's comments. #

Patch Set 9 : Added the test expectation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+517 lines, -76 lines) Patch
A third_party/WebKit/LayoutTests/external/wpt/WebIDL/ecmascript-binding/legacy-platform-object.html View 1 2 3 4 5 6 7 1 chunk +113 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/external/wpt/WebIDL/ecmascript-binding/legacy-platform-object-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/external/wpt/dom/collections/HTMLCollection-supported-property-indices-expected.txt View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Document-getElementsByTagName-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/external/wpt/dom/nodes/Element-getElementsByTagName-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -5 lines 0 comments Download
M third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/window-indexed-properties-expected.txt View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M third_party/WebKit/LayoutTests/external/wpt/html/browsers/the-window-object/window-indexed-properties-strict-expected.txt View 1 2 3 4 5 1 chunk +2 lines, -6 lines 0 comments Download
D third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/getter-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
D third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/getter-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
D third_party/WebKit/LayoutTests/media/track/opera/interfaces/TextTrackCueList/getter-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
D third_party/WebKit/LayoutTests/media/track/opera/interfaces/TextTrackList/getter-expected.txt View 1 2 3 4 5 1 chunk +0 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl View 1 2 3 4 5 6 5 chunks +76 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface.h.tmpl View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp.tmpl View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface2.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface3.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperations.cpp View 1 1 chunk +9 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/core/V8TestSpecialOperationsNotEnumerable.cpp View 1 2 2 chunks +42 lines, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/tests/results/modules/V8TestInterface5.cpp View 1 2 3 4 5 6 2 chunks +31 lines, -1 line 0 comments Download
M third_party/WebKit/Source/core/frame/DOMWindow.h View 1 2 chunks +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/core/frame/DOMWindow.cpp View 1 1 chunk +0 lines, -12 lines 0 comments Download
M third_party/WebKit/Source/core/frame/Window.idl View 1 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 51 (34 generated)
Yuki
domenic@, could you tell me if I understand the spec correctly or I'm misunderstanding? My ...
3 years, 8 months ago (2017-04-21 09:06:43 UTC) #2
domenic
On 2017/04/21 at 09:06:43, yukishiino wrote: > domenic@, could you tell me if I understand ...
3 years, 8 months ago (2017-04-22 00:09:46 UTC) #3
Yuki
On 2017/04/22 00:09:46, domenic wrote: > The spec for platform objects with indexed getters/setters is ...
3 years, 8 months ago (2017-04-26 11:19:17 UTC) #4
Yuki
On 2017/04/22 00:09:46, domenic wrote: > I hope you can add tests in external/wpt somewhere. ...
3 years, 8 months ago (2017-04-26 11:48:19 UTC) #5
domenic
On 2017/04/26 at 11:48:19, yukishiino wrote: > On 2017/04/22 00:09:46, domenic wrote: > > I ...
3 years, 8 months ago (2017-04-26 17:20:57 UTC) #6
jeffcarp
On 2017/04/26 at 17:20:57, domenic wrote: > On 2017/04/26 at 11:48:19, yukishiino wrote: > > ...
3 years, 8 months ago (2017-04-26 17:28:01 UTC) #7
jeffcarp
3 years, 7 months ago (2017-05-04 18:49:05 UTC) #8
Yuki
I'm sorry for not working on this CL for a long time. I'm finally back. ...
3 years, 5 months ago (2017-07-05 07:40:03 UTC) #27
haraken
https://codereview.chromium.org/2832923003/diff/100001/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl File third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl (right): https://codereview.chromium.org/2832923003/diff/100001/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl#newcode144 third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl:144: if (info.ShouldThrowOnError()) { What is info.ShouldThrowOnError()? I saw this ...
3 years, 5 months ago (2017-07-05 11:51:13 UTC) #30
Yuki
https://codereview.chromium.org/2832923003/diff/100001/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl File third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl (right): https://codereview.chromium.org/2832923003/diff/100001/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl#newcode144 third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl:144: if (info.ShouldThrowOnError()) { On 2017/07/05 11:51:13, haraken wrote: > ...
3 years, 5 months ago (2017-07-05 12:37:42 UTC) #33
domenic
Some minor suggestions for additional things to test, but the tests written look great. https://codereview.chromium.org/2832923003/diff/120001/third_party/WebKit/LayoutTests/external/wpt/WebIDL/ecmascript-binding/legacy-platform-object.html ...
3 years, 5 months ago (2017-07-05 20:12:26 UTC) #36
haraken
LGTM
3 years, 5 months ago (2017-07-06 01:13:19 UTC) #37
Yuki
domenic@, your comments totally make sense. I've updated the test. Could you take another look? ...
3 years, 5 months ago (2017-07-06 09:14:46 UTC) #41
domenic
Really awesome test coverage; lgtm. I guess it needs some -expected.txt files to pass CI ...
3 years, 5 months ago (2017-07-06 18:42:19 UTC) #44
Yuki
Oops, I forgot to do "git add". Done.
3 years, 5 months ago (2017-07-07 07:55:09 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2832923003/180001
3 years, 5 months ago (2017-07-07 07:55:27 UTC) #48
commit-bot: I haz the power
3 years, 5 months ago (2017-07-07 10:00:10 UTC) #51
Message was sent while issue was closed.
Committed patchset #9 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/58ab4a971b06dec13e4edf9de838...

Powered by Google App Engine
This is Rietveld 408576698