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

Issue 1381413003: [bindings] add support for integer-indexed @@iterator (Closed)

Created:
5 years, 2 months ago by caitp (gmail)
Modified:
5 years, 2 months ago
CC:
asanka, benjhayden+dwatch_chromium.org, blink-reviews, blink-reviews-api_chromium.org, blink-reviews-bindings_chromium.org, chromium-reviews, dglazkov+blink, Michael Hablich
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[bindings] add support for integer-indexed @@iterator Adds an @@iterator to interfaces containing an indexed property getter and an integer-typed "length" attribute, per WebIDL section 4.5.9 http://heycam.github.io/webidl/#es-iterators This change adds for-of iteration support, using the same behaviour as the builtin ECMAScript Array, so long as the behaviour is not overridden by using an alternative method of declaring an iterable interface. Supercedes https://codereview.chromium.org/1383093002/ BUG=538558 LOG=N R=jsbell@chromium.org, phillipj@opera.com, jl@opera.com, jochen@chromium.org Committed: https://crrev.com/1da1f0b3d7ab1ff625779e09c55c75b452888f7b Cr-Commit-Position: refs/heads/master@{#355541}

Patch Set 1 #

Total comments: 9

Patch Set 2 : Fix some bugs, put @@iterator on instance for [Global]/[PrimaryGlobal], more tests #

Total comments: 2

Patch Set 3 : Remove public API for flag #

Patch Set 4 : Re-add tests #

Patch Set 5 : Rebased ontop of 7390dfca947 #

Patch Set 6 : Rebase just in case #

Total comments: 2

Patch Set 7 : Use SetIntrinsicDataProperty() in new V8 roll #

Unified diffs Side-by-side diffs Delta from patch set Stats (+799 lines, -37 lines) Patch
M third_party/WebKit/Source/bindings/scripts/idl_definitions.py View 1 4 chunks +15 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/scripts/v8_interface.py View 1 2 3 4 3 chunks +8 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/bindings/templates/interface_base.cpp View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/idls/core/TestIntegerIndexed.idl View 3 1 chunk +16 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/idls/core/TestIntegerIndexedGlobal.idl View 1 3 1 chunk +17 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/idls/core/TestIntegerIndexedPrimaryGlobal.idl View 1 3 1 chunk +17 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.h View 1 2 3 4 3 chunks +11 lines, -11 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexed.cpp View 1 2 3 4 5 6 1 chunk +217 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.h View 1 2 3 4 5 3 chunks +12 lines, -11 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedGlobal.cpp View 1 2 3 4 5 6 1 chunk +232 lines, -0 lines 0 comments Download
A + third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.h View 1 2 3 4 5 3 chunks +12 lines, -11 lines 0 comments Download
A third_party/WebKit/Source/bindings/tests/results/core/V8TestIntegerIndexedPrimaryGlobal.cpp View 1 2 3 4 5 6 1 chunk +232 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/RuntimeEnabledFeatures.in View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 48 (9 generated)
caitp (gmail)
PTAL, more @@iterator support for the DOM. https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/templates/interface_base.cpp File third_party/WebKit/Source/bindings/templates/interface_base.cpp (right): https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/templates/interface_base.cpp#newcode351 third_party/WebKit/Source/bindings/templates/interface_base.cpp:351: prototypeTemplate->Set(v8::Symbol::GetIterator(isolate), v8::Array::GetValuesIterator(isolate), ...
5 years, 2 months ago (2015-10-04 23:10:47 UTC) #1
Jens Widell
https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/scripts/idl_definitions.py File third_party/WebKit/Source/bindings/scripts/idl_definitions.py (right): https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/scripts/idl_definitions.py#newcode313 third_party/WebKit/Source/bindings/scripts/idl_definitions.py:313: if attr.idl_type.is_integer_type: Shouldn't we also check that the name ...
5 years, 2 months ago (2015-10-05 05:57:12 UTC) #2
Yuki
+bashi@ just in case. https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/templates/interface_base.cpp File third_party/WebKit/Source/bindings/templates/interface_base.cpp (right): https://codereview.chromium.org/1381413003/diff/1/third_party/WebKit/Source/bindings/templates/interface_base.cpp#newcode350 third_party/WebKit/Source/bindings/templates/interface_base.cpp:350: if (RuntimeEnabledFeatures::iterableCollectionsEnabled()) { Could you ...
5 years, 2 months ago (2015-10-05 07:08:26 UTC) #4
caitp (gmail)
Fixed up to put @@iterator on the instance for [Global] and [PrimaryGlobal] I'd like to ...
5 years, 2 months ago (2015-10-05 11:30:23 UTC) #5
Yuki
lgtm. Please wait for jl@'s lgtm.
5 years, 2 months ago (2015-10-05 11:43:22 UTC) #6
Jens Widell
LGTM We probably don't need to add three new test IDL files (and thus six ...
5 years, 2 months ago (2015-10-05 12:35:04 UTC) #7
caitp (gmail)
On 2015/10/05 12:35:04, Jens Widell wrote: > LGTM > > We probably don't need to ...
5 years, 2 months ago (2015-10-05 14:13:59 UTC) #8
jochen (gone - plz use gerrit)
https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h File third_party/WebKit/public/web/WebRuntimeFeatures.h (right): https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h#newcode90 third_party/WebKit/public/web/WebRuntimeFeatures.h:90: BLINK_EXPORT static void enableIterableCollections(bool); why do you need this?
5 years, 2 months ago (2015-10-05 15:23:22 UTC) #9
caitp (gmail)
https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h File third_party/WebKit/public/web/WebRuntimeFeatures.h (right): https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h#newcode90 third_party/WebKit/public/web/WebRuntimeFeatures.h:90: BLINK_EXPORT static void enableIterableCollections(bool); On 2015/10/05 15:23:22, jochen wrote: ...
5 years, 2 months ago (2015-10-05 15:24:51 UTC) #10
jochen (gone - plz use gerrit)
On 2015/10/05 at 15:24:51, caitpotter88 wrote: > https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h > File third_party/WebKit/public/web/WebRuntimeFeatures.h (right): > > https://codereview.chromium.org/1381413003/diff/20001/third_party/WebKit/public/web/WebRuntimeFeatures.h#newcode90 ...
5 years, 2 months ago (2015-10-05 15:32:12 UTC) #11
caitp (gmail)
On 2015/10/05 15:32:12, jochen wrote: > On 2015/10/05 at 15:24:51, caitpotter88 wrote: > > > ...
5 years, 2 months ago (2015-10-05 15:39:09 UTC) #12
jochen (gone - plz use gerrit)
lgtm
5 years, 2 months ago (2015-10-07 09:34:34 UTC) #14
caitp (gmail)
On 2015/10/07 09:34:34, jochen wrote: > lgtm Thanks --- This can probably land after the ...
5 years, 2 months ago (2015-10-07 11:45:18 UTC) #15
haraken
LGTM
5 years, 2 months ago (2015-10-07 12:09:51 UTC) #16
caitp (gmail)
The API changes needed were rolled, so CQing now. I may need to fix up ...
5 years, 2 months ago (2015-10-08 12:47:14 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1381413003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1381413003/120001
5 years, 2 months ago (2015-10-08 12:47:32 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/113353)
5 years, 2 months ago (2015-10-08 13:27:58 UTC) #22
caitp (gmail)
On 2015/10/08 12:47:14, caitp wrote: > The API changes needed were rolled, so CQing now. ...
5 years, 2 months ago (2015-10-08 14:26:41 UTC) #23
caitp (gmail)
On 2015/10/08 14:26:41, caitp wrote: > On 2015/10/08 12:47:14, caitp wrote: > > The API ...
5 years, 2 months ago (2015-10-08 17:09:15 UTC) #24
caitp (gmail)
On 2015/10/08 17:09:15, caitp wrote: > On 2015/10/08 14:26:41, caitp wrote: > > On 2015/10/08 ...
5 years, 2 months ago (2015-10-08 17:11:10 UTC) #25
jochen (gone - plz use gerrit)
On 2015/10/08 at 14:26:41, caitpotter88 wrote: > On 2015/10/08 12:47:14, caitp wrote: > > The ...
5 years, 2 months ago (2015-10-08 17:12:00 UTC) #26
caitp (gmail)
On 2015/10/08 17:12:00, jochen wrote: > On 2015/10/08 at 14:26:41, caitpotter88 wrote: > > On ...
5 years, 2 months ago (2015-10-08 17:16:30 UTC) #27
jochen (gone - plz use gerrit)
On 2015/10/08 at 17:16:30, caitpotter88 wrote: > On 2015/10/08 17:12:00, jochen wrote: > > On ...
5 years, 2 months ago (2015-10-08 17:22:11 UTC) #28
caitp (gmail)
On 2015/10/08 17:22:11, jochen wrote: > On 2015/10/08 at 17:16:30, caitpotter88 wrote: > > On ...
5 years, 2 months ago (2015-10-08 18:31:28 UTC) #29
jochen (gone - plz use gerrit)
On 2015/10/08 at 18:31:28, caitpotter88 wrote: > On 2015/10/08 17:22:11, jochen wrote: > > On ...
5 years, 2 months ago (2015-10-08 18:39:37 UTC) #30
caitp (gmail)
On 2015/10/08 18:39:37, jochen wrote: > On 2015/10/08 at 18:31:28, caitpotter88 wrote: > > On ...
5 years, 2 months ago (2015-10-09 16:15:38 UTC) #31
jochen (gone - plz use gerrit)
the getter / setter function on a global object really should be created in that ...
5 years, 2 months ago (2015-10-12 11:25:29 UTC) #33
Toon Verwaest
https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp File third_party/WebKit/Source/bindings/templates/interface_base.cpp (right): https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp#newcode354 third_party/WebKit/Source/bindings/templates/interface_base.cpp:354: instanceTemplate->Set(v8::Symbol::GetIterator(isolate), v8::Array::GetValuesIterator(isolate), v8::DontEnum); Instance templates that are supposed to ...
5 years, 2 months ago (2015-10-14 10:59:42 UTC) #34
caitp (gmail)
https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp File third_party/WebKit/Source/bindings/templates/interface_base.cpp (right): https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp#newcode354 third_party/WebKit/Source/bindings/templates/interface_base.cpp:354: instanceTemplate->Set(v8::Symbol::GetIterator(isolate), v8::Array::GetValuesIterator(isolate), v8::DontEnum); On 2015/10/14 10:59:42, Toon Verwaest wrote: ...
5 years, 2 months ago (2015-10-14 12:32:03 UTC) #35
caitp (gmail)
On 2015/10/14 12:32:03, caitp wrote: > https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp > File third_party/WebKit/Source/bindings/templates/interface_base.cpp (right): > > https://codereview.chromium.org/1381413003/diff/120001/third_party/WebKit/Source/bindings/templates/interface_base.cpp#newcode354 > ...
5 years, 2 months ago (2015-10-16 10:55:09 UTC) #36
jochen (gone - plz use gerrit)
btw, since you apparently rebased the tracing patch for v8, would you mind uploading it?
5 years, 2 months ago (2015-10-21 15:27:10 UTC) #37
caitp (gmail)
On 2015/10/21 15:27:10, jochen wrote: > btw, since you apparently rebased the tracing patch for ...
5 years, 2 months ago (2015-10-21 16:01:34 UTC) #38
jochen (gone - plz use gerrit)
On 2015/10/21 at 16:01:34, caitpotter88 wrote: > On 2015/10/21 15:27:10, jochen wrote: > > btw, ...
5 years, 2 months ago (2015-10-21 16:03:39 UTC) #39
caitp (gmail)
This should work now, going to try a CQ after running browsertests locally
5 years, 2 months ago (2015-10-22 14:10:34 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1381413003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1381413003/140001
5 years, 2 months ago (2015-10-22 14:24:35 UTC) #43
commit-bot: I haz the power
Committed patchset #7 (id:140001)
5 years, 2 months ago (2015-10-22 15:22:29 UTC) #44
commit-bot: I haz the power
Patchset 7 (id:??) landed as https://crrev.com/1da1f0b3d7ab1ff625779e09c55c75b452888f7b Cr-Commit-Position: refs/heads/master@{#355541}
5 years, 2 months ago (2015-10-22 15:23:20 UTC) #45
Michael Achenbach
FYI (no action required now): This breaks the api stability checker: http://build.chromium.org/p/chromium.fyi/builders/Linux%20V8%20API%20Stability/builds/7105 That means, the ...
5 years, 2 months ago (2015-10-22 19:22:21 UTC) #47
caitp (gmail)
5 years, 2 months ago (2015-10-22 19:24:27 UTC) #48
Message was sent while issue was closed.
On 2015/10/22 19:22:21, Michael Achenbach wrote:
> FYI (no action required now): This breaks the api stability checker:
>
http://build.chromium.org/p/chromium.fyi/builders/Linux%20V8%20API%20Stabilit...
> 
> That means, the CL depended on code very recently submitted to v8. In rare
> cases, we want to be able to revert v8 for the current canary. Therefore, the
> chromium code needs to stay compatible with the v8 code from the last canary.
> 
> Please leave enough time in the future between v8 CLs and dependent chromium
CLs
> (several days).
> 
> Please object if I'm wrong - the api checker is still in beta.

My bad, the API change landed yesterday.

Powered by Google App Engine
This is Rietveld 408576698