[Blink API]: Support generation from EventTarget.idl |
|||||
Issue descriptionNeeds support for: * methods * Optional types * nullable types * callback interface (EventListener) * union types (AddEventListenerOptions or boolean) * dictionaries (AddEventListenerOptions + EventListenerOptions)
,
Feb 12 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/feab6985ba849044d3acc1d6fa7d5904c6db3f8a commit feab6985ba849044d3acc1d6fa7d5904c6db3f8a Author: dglazkov <dglazkov@chromium.org> Date: Sun Feb 12 02:19:09 2017 [Web Agents API]: Start fleshing out generated code. A whole bunch of small tweaks: * Started using proper paths in includes. * Added constructor/factory methods. * Modified the handling of inheritance to fit reality. * Made all paths and macro guards ready to build. This almost compiles into something :) R=bashi,yuki,haraken BUG= 683743 Review-Url: https://codereview.chromium.org/2688933003 Cr-Commit-Position: refs/heads/master@{#449882} [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/DEPS [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module.py [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/scripts/code_generator_web_module_test.py [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/templates/web_module_interface.cc.tmpl [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/templates/web_module_interface.h.tmpl [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/tests/results/core/test_interface_3.cc [modify] https://crrev.com/feab6985ba849044d3acc1d6fa7d5904c6db3f8a/third_party/WebKit/Source/bindings/tests/results/core/test_interface_3.h
,
Feb 24 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dded9758efbb26c683ca211a4e74b1b085537fc1 commit dded9758efbb26c683ca211a4e74b1b085537fc1 Author: dglazkov <dglazkov@chromium.org> Date: Fri Feb 24 05:21:46 2017 [WebAgentsAPI]: Split overload set functions into their own module. This is a part of adapting common overload set resolution for both JS and C++ bindings. BUG= 683743 R=bashi,yuki,haraken Review-Url: https://codereview.chromium.org/2712913002 Cr-Commit-Position: refs/heads/master@{#452759} [add] https://crrev.com/dded9758efbb26c683ca211a4e74b1b085537fc1/third_party/WebKit/Source/bindings/scripts/overload_set_algorithm.py [modify] https://crrev.com/dded9758efbb26c683ca211a4e74b1b085537fc1/third_party/WebKit/Source/bindings/scripts/v8_interface.py
,
Mar 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/321806ab7acbd5756ed30659d0b916a7af54f13a commit 321806ab7acbd5756ed30659d0b916a7af54f13a Author: dglazkov <dglazkov@chromium.org> Date: Fri Mar 03 15:07:10 2017 [WebAgentsAPI]: Fix the spurios file mis-name. I accidentally named the test file incorrectly. Whoopsie. BUG= 683743 R=yukishiino@chromium.org,bashi,haraken Review-Url: https://codereview.chromium.org/2729493005 Cr-Commit-Position: refs/heads/master@{#454582} [rename] https://crrev.com/321806ab7acbd5756ed30659d0b916a7af54f13a/third_party/WebKit/Source/bindings/scripts/code_generator_web_agent_api_test.py
,
Mar 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d2b4f8955d1733666dfc7a0d0309b65566fa20d commit 6d2b4f8955d1733666dfc7a0d0309b65566fa20d Author: dglazkov <dglazkov@chromium.org> Date: Fri Mar 03 15:09:42 2017 [WebAgentsAPI]: Introduce OverloadSetAdapter. Currently, effective_overload_set takes a list of Jinja2 method contexts. This is fairly easy to replicate in Web Agent API generator, but I would prefer to rely on idl_definition types (that is, taking a list of IdlOperations as arguments). I tried a couple of ways to refactor effective_overload_set to use them directly, but all of them were rather expensive, so I settled on a simple adapter pattern. BUG= 683743 R=bashi,yukishiino,haraken Review-Url: https://codereview.chromium.org/2731683002 Cr-Commit-Position: refs/heads/master@{#454584} [modify] https://crrev.com/6d2b4f8955d1733666dfc7a0d0309b65566fa20d/third_party/WebKit/Source/bindings/scripts/overload_set_algorithm.py [add] https://crrev.com/6d2b4f8955d1733666dfc7a0d0309b65566fa20d/third_party/WebKit/Source/bindings/scripts/overload_set_algorithm_test.py
,
Mar 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8ad9fcbb9107bf9c945c8eaa6a0124124a4956f7 commit 8ad9fcbb9107bf9c945c8eaa6a0124124a4956f7 Author: dglazkov <dglazkov@chromium.org> Date: Sun Mar 19 17:12:27 2017 Remove OverloadSetAdapter. Despite potential promise of code reuse, the effective overload set algorithm isn't useful for C++-based bindings: the primary purpose of the algorithm is to build a set that is later used by the overload resolution algorithm: https://heycam.github.io/webidl/#dfn-overload-resolution-algorithm The purpose of this algorithm is to identify the overloaded operation based on the arguments given. In case of C++, the compiler does the work of identification and the task is diminished to generating sufficient number of overloads to express the intent in WebIDL. That work is something that is more efficiently done with a different algorithm. Also added another unit test based on the spec example. R=bashi@chromium.org,yukishiino@chromium.org BUG= 683743 Review-Url: https://codereview.chromium.org/2756993003 Cr-Commit-Position: refs/heads/master@{#457997} [modify] https://crrev.com/8ad9fcbb9107bf9c945c8eaa6a0124124a4956f7/third_party/WebKit/Source/bindings/scripts/overload_set_algorithm.py [modify] https://crrev.com/8ad9fcbb9107bf9c945c8eaa6a0124124a4956f7/third_party/WebKit/Source/bindings/scripts/overload_set_algorithm_test.py
,
Mar 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/912f7ad6383cc7aa987c66cee8bb23c75c45685c commit 912f7ad6383cc7aa987c66cee8bb23c75c45685c Author: dglazkov <dglazkov@chromium.org> Date: Mon Mar 20 14:26:12 2017 [WebAgentsAPI]: Start adding support for method arguments. To make the C++ API more natural/elegant to use, I decided to rely on method overloads to handle union and optional types, thus generating more than one C++ function for each IDL operation. Includes: * Basic handling of optional and union types in arguments. * Plumbing for template contexts to include arguments. * Minor reshufflings of related code. BUG= 683743 R=bashi,yuki,haraken Review-Url: https://codereview.chromium.org/2703653004 Cr-Commit-Position: refs/heads/master@{#458057} [modify] https://crrev.com/912f7ad6383cc7aa987c66cee8bb23c75c45685c/third_party/WebKit/Source/bindings/scripts/code_generator_web_agent_api.py [modify] https://crrev.com/912f7ad6383cc7aa987c66cee8bb23c75c45685c/third_party/WebKit/Source/bindings/scripts/code_generator_web_agent_api_test.py [modify] https://crrev.com/912f7ad6383cc7aa987c66cee8bb23c75c45685c/third_party/WebKit/Source/bindings/templates/web_agent_api_interface.cc.tmpl [modify] https://crrev.com/912f7ad6383cc7aa987c66cee8bb23c75c45685c/third_party/WebKit/Source/bindings/tests/results/core/test_interface_3.cc
,
Aug 14 2017
,
Aug 14 2017
slangley@, these are the bugs I owned around Web Agents. Please triage/close as you see fit.
,
Aug 14 2017
,
Aug 15
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 16
Feel free to reopen and/or triage this issue. It seems to me that no one is actively working on this and the requested feature may be no longer needed. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dglazkov@chromium.org
, Jan 27 2017