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

Issue 429853002: IDL: Add build target for IDL dictionary impl generation in core (Closed)

Created:
6 years, 4 months ago by bashi
Modified:
6 years, 3 months ago
CC:
blink-reviews, arv+blink, blink-reviews-css, ed+blinkwatch_opera.com, abarth-chromium, dglazkov+blink, blink-reviews-bindings_chromium.org, Inactive, darktears, apavlov+blink_chromium.org, rwlbuis, rune+blink
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

IDL: Add build target for IDL dictionary impl generation in core This CL adds a build target named 'bindings_core_dictionary_impl_generated', which generaets IDL dictionary impl files for core component. We have to list generated impl files explicitly in gypi file because (1) we don't want to use 'aggregated' build (unlike what we are doing for v8 bindings), and (2) we want to generate impl files in corresponding directories(e.g. core/css). It seems there is no easy way to make GYP (or GN) workable satisfying both (1) and (2). - Added "--generate-dictionary-impl" option flag to idl_compiler.py. If this option is specified, the compiler assumes that the passed argument is a file which contains paths of IDL dictionary files. The compiler generates DOM impl classes for each IDL dictionary files. - Refactored IdlCompiler and CodeGenerator. - Added a test for IDL dictionary. In layout tests, window.internals.dictionaryTest() returns an InternalDictionary instance. This instance has two methods: set() takes InternalDictionary as the argument and stores each value of all members. get() returns an InternalDictionary instance that contains values which were set via set(). BUG=321462 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=180969

Patch Set 1 : #

Total comments: 13

Patch Set 2 : GYP #

Total comments: 5

Patch Set 3 : #

Total comments: 2

Patch Set 4 : gyp fix (depends on gyp r1964) #

Total comments: 4

Patch Set 5 : #

Total comments: 4

Patch Set 6 : #

Patch Set 7 : rebase #

Total comments: 27

Patch Set 8 : #

Total comments: 5

Patch Set 9 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+555 lines, -80 lines) Patch
A LayoutTests/fast/dom/idl-dictionary-unittest.html View 1 2 3 4 5 6 7 1 chunk +62 lines, -0 lines 0 comments Download
A LayoutTests/fast/dom/idl-dictionary-unittest-expected.txt View 1 2 3 4 5 6 7 8 1 chunk +33 lines, -0 lines 0 comments Download
M Source/bindings/core/idl.gni View 1 2 3 1 chunk +6 lines, -2 lines 0 comments Download
M Source/bindings/core/idl.gypi View 1 2 3 2 chunks +8 lines, -2 lines 0 comments Download
M Source/bindings/core/v8/BUILD.gn View 1 2 3 4 2 chunks +11 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/generated.gyp View 1 2 3 4 2 chunks +55 lines, -3 lines 0 comments Download
M Source/bindings/modules/v8/generated.gyp View 1 2 3 4 1 chunk +1 line, -3 lines 0 comments Download
M Source/bindings/scripts/aggregate_generated_bindings.py View 1 2 3 4 5 6 3 chunks +2 lines, -26 lines 0 comments Download
M Source/bindings/scripts/code_generator_v8.py View 1 2 3 4 5 6 7 5 chunks +49 lines, -27 lines 0 comments Download
M Source/bindings/scripts/compute_interfaces_info_individual.py View 1 2 3 4 3 chunks +11 lines, -4 lines 0 comments Download
M Source/bindings/scripts/idl_compiler.py View 1 2 3 4 5 6 7 2 chunks +39 lines, -5 lines 0 comments Download
M Source/bindings/scripts/scripts.gni View 1 2 1 chunk +39 lines, -0 lines 0 comments Download
M Source/bindings/scripts/scripts.gypi View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M Source/bindings/scripts/utilities.py View 1 2 3 3 chunks +32 lines, -0 lines 0 comments Download
M Source/bindings/scripts/v8_methods.py View 1 2 3 4 5 6 2 chunks +6 lines, -2 lines 0 comments Download
M Source/bindings/tests/results/V8TestObject.cpp View 1 2 3 4 5 6 7 1 chunk +5 lines, -1 line 0 comments Download
M Source/core/BUILD.gn View 1 2 3 4 5 6 7 8 2 chunks +6 lines, -1 line 0 comments Download
M Source/core/core.gni View 1 2 3 4 5 2 chunks +7 lines, -1 line 0 comments Download
M Source/core/core.gyp View 1 2 3 4 5 6 7 8 4 chunks +10 lines, -0 lines 0 comments Download
M Source/core/core.gypi View 1 2 3 4 5 6 7 8 2 chunks +22 lines, -0 lines 0 comments Download
A Source/core/testing/DictionaryTest.h View 1 2 3 4 5 6 7 8 1 chunk +49 lines, -0 lines 0 comments Download
A Source/core/testing/DictionaryTest.cpp View 1 2 3 4 5 6 7 8 1 chunk +63 lines, -0 lines 0 comments Download
A + Source/core/testing/DictionaryTest.idl View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -2 lines 0 comments Download
A Source/core/testing/InternalDictionary.idl View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download
M Source/core/testing/Internals.h View 1 2 3 4 5 6 2 chunks +2 lines, -0 lines 0 comments Download
M Source/core/testing/Internals.cpp View 1 2 3 4 5 6 2 chunks +6 lines, -0 lines 0 comments Download
M Source/core/testing/Internals.idl View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -0 lines 0 comments Download
M Tools/Scripts/webkitpy/bindings/main.py View 1 2 3 4 5 6 7 3 chunks +8 lines, -1 line 0 comments Download

Messages

Total messages: 35 (0 generated)
bashi
Haraken-san, I'm not asking for actual review but I want to ask your opinion about ...
6 years, 4 months ago (2014-07-30 11:32:26 UTC) #1
haraken
Added some comments although we'll probably need help from Nils at some point :) https://codereview.chromium.org/429853002/diff/20001/Source/bindings/scripts/code_generator_v8.py ...
6 years, 4 months ago (2014-07-30 19:57:36 UTC) #2
bashi
https://codereview.chromium.org/429853002/diff/20001/Source/core/core.gyp File Source/core/core.gyp (right): https://codereview.chromium.org/429853002/diff/20001/Source/core/core.gyp#newcode284 Source/core/core.gyp:284: '<(blink_core_output_dir)/css/FontFaceDescriptors.h', On 2014/07/30 19:57:36, haraken wrote: > On 2014/07/30 ...
6 years, 4 months ago (2014-07-31 02:34:05 UTC) #3
bashi
Uploaded Patch Set #1. Diffs are: - Removed generated.gyp from core/css - Added bindings_core_dictionary_impl_generated target ...
6 years, 4 months ago (2014-08-01 02:12:30 UTC) #4
bashi
On 2014/08/01 02:12:30, bashi1 wrote: > Uploaded Patch Set #1. Diffs are: > - Removed ...
6 years, 4 months ago (2014-08-01 02:13:32 UTC) #5
haraken
Overall, looks good to me! https://codereview.chromium.org/429853002/diff/40001/Source/bindings/scripts/code_generator_v8.py File Source/bindings/scripts/code_generator_v8.py (right): https://codereview.chromium.org/429853002/diff/40001/Source/bindings/scripts/code_generator_v8.py#newcode86 Source/bindings/scripts/code_generator_v8.py:86: MODE_ALL = MODE_BINDINGS | ...
6 years, 4 months ago (2014-08-01 02:37:45 UTC) #6
bashi
Thanks! I'll upload new patch set for actual review. BTW, these changes won't get running ...
6 years, 4 months ago (2014-08-01 02:49:47 UTC) #7
haraken
> BTW, these changes won't get running unless we actually add an IDL dictionary in ...
6 years, 4 months ago (2014-08-01 03:55:54 UTC) #8
bashi
Added a layout test and updated the description. Build files becomes a bit messy, given ...
6 years, 4 months ago (2014-08-05 05:36:23 UTC) #9
Nico
On 2014/08/05 05:36:23, bashi1 wrote: > Added a layout test and updated the description. Build ...
6 years, 4 months ago (2014-08-05 15:37:30 UTC) #10
haraken
On 2014/08/05 15:37:30, Nico (away) wrote: > On 2014/08/05 05:36:23, bashi1 wrote: > > Added ...
6 years, 4 months ago (2014-08-05 15:41:32 UTC) #11
Nico
On Tue, Aug 5, 2014 at 8:41 AM, <haraken@chromium.org> wrote: > On 2014/08/05 15:37:30, Nico ...
6 years, 4 months ago (2014-08-05 15:44:52 UTC) #12
haraken
I see... Let me ask one more question. https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp File Source/bindings/core/v8/generated.gyp (right): https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp#newcode46 Source/bindings/core/v8/generated.gyp:46: '<@(core_interface_idl_files)', ...
6 years, 4 months ago (2014-08-05 15:51:37 UTC) #13
Nico
https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp File Source/bindings/core/v8/generated.gyp (right): https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp#newcode46 Source/bindings/core/v8/generated.gyp:46: '<@(core_interface_idl_files)', On 2014/08/05 15:51:37, haraken wrote: > > These ...
6 years, 4 months ago (2014-08-05 17:49:03 UTC) #14
bashi
On 2014/08/05 17:49:03, Nico (away) wrote: > https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp > File Source/bindings/core/v8/generated.gyp (right): > > https://codereview.chromium.org/429853002/diff/160001/Source/bindings/core/v8/generated.gyp#newcode46 ...
6 years, 4 months ago (2014-08-05 23:54:28 UTC) #15
haraken
On 2014/08/05 23:54:28, bashi1 wrote: > On 2014/08/05 17:49:03, Nico (away) wrote: > > > ...
6 years, 4 months ago (2014-08-06 00:48:24 UTC) #16
bashi
On 2014/08/06 00:48:24, haraken wrote: > On 2014/08/05 23:54:28, bashi1 wrote: > > On 2014/08/05 ...
6 years, 4 months ago (2014-08-12 13:21:29 UTC) #17
bashi
-nbarth@ +brettw@ brettw@, could you review GN stuff?
6 years, 4 months ago (2014-08-12 13:23:06 UTC) #18
Jens Widell
https://codereview.chromium.org/429853002/diff/180001/Source/bindings/core/v8/generated.gyp File Source/bindings/core/v8/generated.gyp (right): https://codereview.chromium.org/429853002/diff/180001/Source/bindings/core/v8/generated.gyp#newcode149 Source/bindings/core/v8/generated.gyp:149: '<(bindings_scripts_output_dir)/lextab.py', It would be somewhat nice to store lextab.py, ...
6 years, 4 months ago (2014-08-12 15:18:01 UTC) #19
brettw
I find the FIXMEs in this patch confusing. It isn't clear whether this is something ...
6 years, 4 months ago (2014-08-12 16:27:54 UTC) #20
bashi
Thank you for review, Jens! > I find the FIXMEs in this patch confusing. It ...
6 years, 4 months ago (2014-08-13 00:51:20 UTC) #21
brettw
https://codereview.chromium.org/429853002/diff/220001/Source/core/core.gni File Source/core/core.gni (right): https://codereview.chromium.org/429853002/diff/220001/Source/core/core.gni#newcode21 Source/core/core.gni:21: core_testing_dictionary_idl_files = get_path_info(_gypi.core_testing_dictionary_idl_files, "abspath") Can you wrap to 80 ...
6 years, 4 months ago (2014-08-14 22:26:29 UTC) #22
bashi
https://codereview.chromium.org/429853002/diff/220001/Source/core/core.gni File Source/core/core.gni (right): https://codereview.chromium.org/429853002/diff/220001/Source/core/core.gni#newcode21 Source/core/core.gni:21: core_testing_dictionary_idl_files = get_path_info(_gypi.core_testing_dictionary_idl_files, "abspath") On 2014/08/14 22:26:29, brettw wrote: ...
6 years, 4 months ago (2014-08-15 00:14:54 UTC) #23
brettw
lgtm
6 years, 4 months ago (2014-08-15 00:16:19 UTC) #24
bashi
Haraken-san, friendly remainder. Could you take a look when you have time?
6 years, 3 months ago (2014-08-26 00:24:35 UTC) #25
haraken
On 2014/08/26 00:24:35, bashi1 wrote: > Haraken-san, friendly remainder. Could you take a look when ...
6 years, 3 months ago (2014-08-26 00:54:53 UTC) #26
haraken
https://codereview.chromium.org/429853002/diff/260001/LayoutTests/TestExpectations File LayoutTests/TestExpectations (right): https://codereview.chromium.org/429853002/diff/260001/LayoutTests/TestExpectations#newcode758 LayoutTests/TestExpectations:758: crbug.com/321462 [ Release ] fast/dom/idl-dictionary-unittest.html [ Skip ] Why ...
6 years, 3 months ago (2014-08-26 04:00:41 UTC) #27
bashi
Patchset #8 (id:280001) has been deleted
6 years, 3 months ago (2014-08-27 03:32:51 UTC) #28
bashi
Thank you for review! I added tests and noticed there are bugs when a member ...
6 years, 3 months ago (2014-08-27 05:06:32 UTC) #29
haraken
LGTM https://codereview.chromium.org/429853002/diff/260001/Source/bindings/scripts/code_generator_v8.py File Source/bindings/scripts/code_generator_v8.py (right): https://codereview.chromium.org/429853002/diff/260001/Source/bindings/scripts/code_generator_v8.py#newcode218 Source/bindings/scripts/code_generator_v8.py:218: use_relative_output_path=True): On 2014/08/27 05:06:32, bashi1 wrote: > On ...
6 years, 3 months ago (2014-08-27 08:37:40 UTC) #30
bashi
https://codereview.chromium.org/429853002/diff/300001/Source/core/core.gypi File Source/core/core.gypi (right): https://codereview.chromium.org/429853002/diff/300001/Source/core/core.gypi#newcode3340 Source/core/core.gypi:3340: 'testing/TestingDictionary.idl', On 2014/08/27 08:37:39, haraken wrote: > > Probably ...
6 years, 3 months ago (2014-08-27 10:54:02 UTC) #31
haraken
https://codereview.chromium.org/429853002/diff/300001/Source/core/core.gypi File Source/core/core.gypi (right): https://codereview.chromium.org/429853002/diff/300001/Source/core/core.gypi#newcode3340 Source/core/core.gypi:3340: 'testing/TestingDictionary.idl', On 2014/08/27 10:54:01, bashi1 wrote: > On 2014/08/27 ...
6 years, 3 months ago (2014-08-27 10:54:45 UTC) #32
bashi
The CQ bit was checked by bashi@chromium.org
6 years, 3 months ago (2014-08-27 11:55:52 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bashi@chromium.org/429853002/320001
6 years, 3 months ago (2014-08-27 11:56:21 UTC) #34
commit-bot: I haz the power
6 years, 3 months ago (2014-08-27 12:25:33 UTC) #35
Message was sent while issue was closed.
Committed patchset #9 (320001) as 180969

Powered by Google App Engine
This is Rietveld 408576698