PSA: Web IDL compiler v2 will launch

120 views
Skip to first unread message

Yuki Shiino

unread,
Jul 30, 2020, 2:35:31 AM7/30/20
to blink-dev, Hitoshi Yoshida, Kentaro Hara

tl;dr: Blink-V8 bindings team is going to upgrade the Web IDL compiler.  Please report any suspicious issues to yukishiino@.


Blink-V8 bindings team has been developing Web IDL compiler v2 in order to improve the spec conformance and flexibility to support more features.  Finally its Web IDL interface version is ready for use, and we're going to land https://crrev.com/c/2081633 soon to enable it.  Note that other IDL definitions (such as IDL callback functions, IDL dictionaries, etc.) are not yet ready as of now and will be upgraded later separately.


The patch includes the following changes.


JS-observable behavioral changes:

- Cross origin attributes were data properties; become accessor properties.

- Indexed/named properties behaviors are updated to better conform to Web IDL.

- Legacy platform objects with indexed properties support @@iterator property.

- IDL interfaces declared with maplike support size() operation.

- IDL interfaces annotated with [NoInterfaceObject] no longer have 'constructor' property.

For all these changes, the new behaviors better conform to Web IDL specification.  Not a few WPTs are fixed.


JS-observable non-behavioral changes:

- Some error messages are updated.


JS-unobservable changes:

- So-called "Keep-alive-GC" optimization is no longer supported (deprecated).


Changes that affect Blink developers:

Since we're migrating to the new bindings system step-by-step (per IDL definition), we're running both the current and new Web IDL compilers for the time being.  When you make a change in *.idl files, the following actions are required.


1) When you add a new *.idl file, please update both the current (core, modules) and new (core, modules) lists of IDL files.

2) When you add a new IDL interface, please update the new list of generated files of IDL interfaces (core, modules).  (There is no list for the current Web IDL compiler because it assumes that the file paths of IDL files and generated files match.)


Should you have any issues, please report them to yukishiino@.


Yuki Shiino on behalf of Blink-V8 bindings team


Yuki Shiino

unread,
Jul 30, 2020, 11:12:34 AM7/30/20
to Yuki Shiino, blink-dev, Hitoshi Yoshida, Kentaro Hara
Just as an update, the patch has landed.

Please let me know whenever you see an issue.


2020年7月30日(木) 15:34 Yuki Shiino <yukis...@chromium.org>:

Domenic Denicola

unread,
Jul 30, 2020, 11:52:42 AM7/30/20
to Yuki Shiino, blink-dev, Hitoshi Yoshida, Kentaro Hara

Congratulations!! This is a huge milestone. Web IDL is foundational to literally all of the public web APIs that we expose, and improving our ability to iterate on it will be a big velocity boost. And fixing these long-standing spec conformance issues is great, especially around cross-origin properties! I really enjoyed reading the CL to see all the deleted -expected.txt files.

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN0uC_QOdSX_LQEf25B4Ja4p1Vngq8f7QrH3rgRdEt2qO6x_Tg%40mail.gmail.com.

Kentaro Hara

unread,
Jul 30, 2020, 12:06:30 PM7/30/20
to Domenic Denicola, Yuki Shiino, blink-dev, Hitoshi Yoshida
It was a 1+ year journey to get here -- one more congrats! The new IDL compiler is not only more correct but also 100x more extensible and maintainable :D


--
Kentaro Hara, Tokyo, Japan

Yuki Shiino

unread,
Aug 3, 2020, 12:21:10 PM8/3/20
to Kentaro Hara, Domenic Denicola, Yuki Shiino, blink-dev, Hitoshi Yoshida
It's sad news and I'm sorry for supporters to tell this news.  I've reverted the patch due to some crash issues and perf regressions.  I'm going to fix them and land the patch again.


2020年7月31日(金) 1:06 Kentaro Hara <har...@chromium.org>:

Yuki Shiino

unread,
Aug 13, 2020, 3:44:31 AM8/13/20
to Yuki Shiino, Kentaro Hara, Domenic Denicola, blink-dev, Hitoshi Yoshida
Another update: We're planning to enable the new Web IDL compiler again (maybe this Friday).

I'll update this thread when the patch lands.  Please report any issues to yukishiino@.  Thank you all for the reports the last time.

Cheers,
Yuki Shiino


2020年8月4日(火) 1:20 Yuki Shiino <yukis...@chromium.org>:

Yuki Shiino

unread,
Aug 14, 2020, 5:32:55 PM8/14/20
to Yuki Shiino, Kentaro Hara, Domenic Denicola, blink-dev, Hitoshi Yoshida
Update: We've landed the patch and enabled the new Web IDL compiler again.


2020年8月13日(木) 16:43 Yuki Shiino <yukis...@chromium.org>:
Reply all
Reply to author
Forward
0 new messages