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

Issue 740453004: IDL: Basic dictionary inheritance support (Closed)

Created:
6 years, 1 month ago by bashi
Modified:
6 years, 1 month ago
Reviewers:
haraken, Jens Widell
CC:
blink-reviews, blink-reviews-bindings_chromium.org, arv+blink, Inactive
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Project:
blink
Visibility:
Public.

Description

IDL: Basic dictionary inheritance support There are some specs that use dictionary inheritance. This CL is the first step to add dictionary inheritance support. Suppose we have following definitions: dictionary Base { long baseMember; }; dictionary Derived : Base { DOMString derivedMember; }; The code generator will create "Derived" impl class which inherits from "Base". "Derived" class has accessor methods for "baseMember" along with those of "derivedMember". Blink developers can use derived dictionaries as method arguments and can upcast them. However, there is no way to downcast a base dictionary to a derived dictionary for now. Following CLs should support downcasting. BUG=321462 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185600

Patch Set 1 : #

Total comments: 5

Patch Set 2 : #

Total comments: 16

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+353 lines, -44 lines) Patch
M LayoutTests/fast/dom/idl-dictionary-unittest.html View 1 chunk +41 lines, -0 lines 0 comments Download
M LayoutTests/fast/dom/idl-dictionary-unittest-expected.txt View 1 chunk +28 lines, -0 lines 0 comments Download
M Source/bindings/scripts/code_generator_v8.py View 1 chunk +2 lines, -1 line 0 comments Download
M Source/bindings/scripts/v8_dictionary.py View 1 2 3 chunks +24 lines, -5 lines 0 comments Download
M Source/bindings/scripts/v8_utilities.py View 1 chunk +4 lines, -0 lines 0 comments Download
M Source/bindings/templates/dictionary_impl.h View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M Source/bindings/templates/dictionary_impl.cpp View 1 2 1 chunk +3 lines, -0 lines 0 comments Download
M Source/bindings/templates/dictionary_v8.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/templates/dictionary_v8.cpp View 1 2 2 chunks +17 lines, -3 lines 0 comments Download
A Source/bindings/tests/idls/core/TestDictionaryDerived.idl View 1 chunk +10 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/TestDictionary.h View 2 chunks +2 lines, -2 lines 0 comments Download
A Source/bindings/tests/results/core/TestDictionaryDerived.h View 1 chunk +40 lines, -0 lines 0 comments Download
A Source/bindings/tests/results/core/TestDictionaryDerived.cpp View 1 chunk +23 lines, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestDictionary.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M Source/bindings/tests/results/core/V8TestDictionary.cpp View 1 2 1 chunk +28 lines, -23 lines 0 comments Download
A + Source/bindings/tests/results/core/V8TestDictionaryDerived.h View 1 2 1 chunk +9 lines, -8 lines 0 comments Download
A Source/bindings/tests/results/core/V8TestDictionaryDerived.cpp View 1 2 1 chunk +75 lines, -0 lines 0 comments Download
M Source/core/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/core.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/core.gypi View 2 chunks +3 lines, -0 lines 0 comments Download
M Source/core/testing/DictionaryTest.h View 3 chunks +6 lines, -0 lines 0 comments Download
M Source/core/testing/DictionaryTest.cpp View 3 chunks +18 lines, -0 lines 0 comments Download
M Source/core/testing/DictionaryTest.idl View 1 chunk +3 lines, -0 lines 0 comments Download
A Source/core/testing/InternalDictionaryDerived.idl View 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (3 generated)
bashi
PTAL?
6 years, 1 month ago (2014-11-19 01:59:07 UTC) #3
Jens Widell
LGTM https://codereview.chromium.org/740453004/diff/20001/Source/bindings/scripts/v8_utilities.py File Source/bindings/scripts/v8_utilities.py (right): https://codereview.chromium.org/740453004/diff/20001/Source/bindings/scripts/v8_utilities.py#newcode307 Source/bindings/scripts/v8_utilities.py:307: return interfaces_info.get(name, {}).get('implemented_as') or name Pass 'name' as ...
6 years, 1 month ago (2014-11-19 06:41:47 UTC) #4
bashi
Thank you for review! We (bindings team in Tokyo) discussed offline how to support downcast. ...
6 years, 1 month ago (2014-11-19 07:35:22 UTC) #5
Jens Widell
https://codereview.chromium.org/740453004/diff/20001/Source/bindings/scripts/v8_utilities.py File Source/bindings/scripts/v8_utilities.py (right): https://codereview.chromium.org/740453004/diff/20001/Source/bindings/scripts/v8_utilities.py#newcode307 Source/bindings/scripts/v8_utilities.py:307: return interfaces_info.get(name, {}).get('implemented_as') or name On 2014/11/19 07:35:22, bashi1 ...
6 years, 1 month ago (2014-11-19 07:38:53 UTC) #6
haraken
LGTM https://codereview.chromium.org/740453004/diff/40001/Source/bindings/scripts/v8_dictionary.py File Source/bindings/scripts/v8_dictionary.py (right): https://codereview.chromium.org/740453004/diff/40001/Source/bindings/scripts/v8_dictionary.py#newcode56 Source/bindings/scripts/v8_dictionary.py:56: 'v8_class': 'V8' + cpp_class, v8_types.v8_type(cpp_class) ? https://codereview.chromium.org/740453004/diff/40001/Source/bindings/scripts/v8_dictionary.py#newcode64 Source/bindings/scripts/v8_dictionary.py:64: ...
6 years, 1 month ago (2014-11-19 09:11:27 UTC) #7
bashi
Thank you for review! https://codereview.chromium.org/740453004/diff/40001/Source/bindings/scripts/v8_dictionary.py File Source/bindings/scripts/v8_dictionary.py (right): https://codereview.chromium.org/740453004/diff/40001/Source/bindings/scripts/v8_dictionary.py#newcode56 Source/bindings/scripts/v8_dictionary.py:56: 'v8_class': 'V8' + cpp_class, On ...
6 years, 1 month ago (2014-11-19 11:04:43 UTC) #8
haraken
https://codereview.chromium.org/740453004/diff/40001/Source/bindings/tests/results/core/TestDictionaryDerived.h File Source/bindings/tests/results/core/TestDictionaryDerived.h (right): https://codereview.chromium.org/740453004/diff/40001/Source/bindings/tests/results/core/TestDictionaryDerived.h#newcode16 Source/bindings/tests/results/core/TestDictionaryDerived.h:16: class TestDictionaryDerivedImplementedAs : public TestDictionary { On 2014/11/19 11:04:43, ...
6 years, 1 month ago (2014-11-19 11:50:33 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/740453004/60001
6 years, 1 month ago (2014-11-19 13:19:29 UTC) #11
commit-bot: I haz the power
6 years, 1 month ago (2014-11-19 15:04:02 UTC) #12
Message was sent while issue was closed.
Committed patchset #3 (id:60001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=185600

Powered by Google App Engine
This is Rietveld 408576698