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

Issue 2624413002: ABANDONED CL: Script for getting a list of C++ methods implementing an IDL interface. (Closed)

Created:
3 years, 11 months ago by Łukasz Anforowicz
Modified:
3 years, 8 months ago
Reviewers:
dcheng, bashi
CC:
chromium-reviews, blink-reviews, blink-reviews-bindings_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

ABANDONED CL - We won't need this CL anymore, since the Great Blink Rename has already landed - yay! ================ Script for getting a list of C++ methods implementing an IDL interface. BUG=673039

Patch Set 1 #

Patch Set 2 : Added some tests + made sure they pass. #

Patch Set 3 : More tests and fixes. #

Patch Set 4 : More fixes and tests. #

Patch Set 5 : Oops - double instead of triple colon as a delimiter. #

Patch Set 6 : . #

Patch Set 7 : . #

Patch Set 8 : More fixes... #

Patch Set 9 : Generated bindings compile fine after rest of Blink is processed by rewrite_to_chrome_style. #

Patch Set 10 : Self-review + adding support for 2 more cases. #

Total comments: 4

Patch Set 11 : . #

Patch Set 12 : . #

Patch Set 13 : LocalDOMWindow fix/hack. #

Patch Set 14 : Add more explicit exceptions due to inheritance. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+625 lines, -0 lines) Patch
A third_party/WebKit/Source/bindings/scripts/extract_list_of_idl_methods.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +494 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/bindings/scripts/test_extract_list_of_idl_methods.py View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +131 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Łukasz Anforowicz
dcheng@, could you do a first review pass?
3 years, 11 months ago (2017-01-12 00:46:59 UTC) #2
Łukasz Anforowicz
bashi@, could you PTAL? Some high-level notes: 1. I don't have a strong opinion whether ...
3 years, 11 months ago (2017-01-19 00:03:14 UTC) #4
haraken
This may be a very stupid question but assuming that this script is used only ...
3 years, 11 months ago (2017-01-19 00:06:34 UTC) #5
Łukasz Anforowicz
On 2017/01/19 00:06:34, haraken wrote: > This may be a very stupid question but assuming ...
3 years, 11 months ago (2017-01-19 00:14:42 UTC) #6
bashi
out/Release/gen/blink/bindings/{core,modules}/*.pickle files have useful information which this script may want to use so following would ...
3 years, 11 months ago (2017-01-19 01:03:08 UTC) #7
haraken
If you plan to remove the scraping script in a reasonable timeline, I'm fine with ...
3 years, 11 months ago (2017-01-19 01:07:58 UTC) #8
Łukasz Anforowicz
3 years, 11 months ago (2017-01-24 00:19:28 UTC) #9
I think I owe everyone a status update on this CL - I've been slow to respond,
because

1. I had trouble figuring out how to hook up reading of the picked information
to BUILD.gn and my script.  One of the difficulties was with deciding whether I
need core-vs-modules pickled file.

2. I am considering (https://crrev.com/2655543002) blocking method renaming
based on just classname+methodname (i.e. ignoring number of parameters).
  - This seems to work well enough to unblock trying to discover and fix
remaining compilation blockers after the big rename.
  - This avoids much of the complexity of IDL scraping.

On 2017/01/19 01:03:08, bashi wrote:
> out/Release/gen/blink/bindings/{core,modules}/*.pickle files have useful
> information which this script may want to use so following would be an option.
> 
> 1. Putting this script under third_party/WebKit/Source/bindings/script
> 2. Adding a build target which depends on "interfaces_info_individual_modules"
> target and runs this script. The output will be in
> out/Release/gen/blink/bindings/somewhere.
> 
> After the rename, we can remove the script and the target. I think tentative
> submission is fine.
> 
>
https://codereview.chromium.org/2624413002/diff/180001/third_party/WebKit/Sou...
> File third_party/WebKit/Source/bindings/scripts/extract_list_of_idl_methods.py
> (right):
> 
>
https://codereview.chromium.org/2624413002/diff/180001/third_party/WebKit/Sou...
> third_party/WebKit/Source/bindings/scripts/extract_list_of_idl_methods.py:466:
> FormData:::get:::2
> On 2017/01/19 00:03:14, Łukasz Anforowicz wrote:
> > I've tried using IdlReader.read_idl_definitions (instead of
> > IdlReader.read_idl_file), but this didn't help - when entering an ad-hoc
REPL
> in
> > ExtractingVisitor.visit_operation, I would still unexpectedly see
> > operation.idl_type.is_dictionary=False.
> 
> Unfortunately IdlType has many dependencies to work properly. You need some
> pickle files generated by scripts in Source/bindings/scripts. See
>
https://docs.google.com/document/d/13yQkyEX0_y3n5Mgma6R1yEsKqPESddtzhjsvbArrE...
> for details.
> 
> To work |is_dictionary| correctly you need to read
> out/Release/gen/blink/bindings/modules/InterfacesInfoOverall.pickle then call
> IdlType.set_dictionaries() like CodeGeneratorBase.set_global_type_info().

Powered by Google App Engine
This is Rietveld 408576698