Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOM generation: support WebKit [Supplemental=Foo] and [Supplemented] attributes #1047

Closed
rakudrama opened this issue Jan 4, 2012 · 2 comments

Comments

@rakudrama
Copy link
Member

There is a comment in WebCore/bindings/scripts/generate-bindings.pl that describes these new attributes.

This work item is to support the new attributes directly.

To support the attributes, databasebuilder.py needs to:

(1) Be able to rename the target in Supplemental=Target Remove members with a [Supplemented] attribute
(3) Apply existing supplementation logic to the 'target'
(4) Omit the supplemental idl from the database.

Only (4) is needed immediately.

From generate-bindings.pl:

FIXME(haraken): Remove this if-else statement.

This if-else statement is temporary and will be removed

after build scripts for all platforms support [Supplemental] IDL.

The motivation for the [Supplemented] IDL is as follows:

In order to support the [Supplemental] IDL, we need to

(1) run resolve-supplemental.pl and generate supplemental_dependency.tmp

(2) and run generate-bindings.pl with the supplemental_dependency.tmp.

This build flow requires a change on the following build scripts,

but changing all the build scripts all at once without any regression is too difficult:

- DerivedSources.make

- DerivedSources.pri

- GNUmakefile.am

- PlatformBlackBerry.cmake

- UseJSC.cmake

- UseV8.cmake

- WebCore.vcproj/MigrateScripts

- WebCore.vcproj/WebCore.vcproj

- bindings/gobject/GNUmakefile.am

- WebCore.gyp/WebCore.gyp

Thus, we are planning to change the build scripts one by one, which implies that

we need to allow the temporary state in which some build scripts support [Supplemental] IDL

but others do not. To accomplish this, we introduce a temporal IDL, [Supplemented].

The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]

in another IDL file somewhere, like this:

DOMWindowWebAudio.idl:

interface [

Supplemental=DOMWindow

] DOMWindowWebAudio {

attribute attr1;

attribute attr2;

};

DOMWindow.idl:

interface [

] DOMWindow {

attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [SupplementalL.

attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [SupplementalL.

attribute attr3;

attribute attr4;

};

Assuming these IDL files, the below code is doing the following logic:

- If a given build script supports the [Supplemental] IDL (i.e. --supplementalDependencyFile is specified),

we ignore all attributes with the [Supplemented] IDL.

- Otherwise (i.e. --supplementalDependencyFile is not specified),

we treat all attributes with the [Supplemented] IDL as normal attributes

and instead ignore all attributes with the [Supplemental] IDL

(i.e. we generate nothing from the idl file with the [Supplemental] IDL).

@vsmenon
Copy link
Member

vsmenon commented Apr 12, 2012

Removed Area-UI label.
Added Area-DOM label.

@vsmenon
Copy link
Member

vsmenon commented Jun 22, 2012

Added Fixed label.

dart-bot pushed a commit that referenced this issue Apr 7, 2021
2021-04-07 [email protected] Fixes #535: more nnbd tests for constant evaluation added.
2021-04-07 [email protected] Fixes #1068. Remove excessive - in a SharedOptions
2021-04-05 [email protected] Fixes #535: more nnbd tests for constant evaluation added.
2021-04-05 [email protected] Fixes #996: more tests added.
2021-04-05 [email protected] Fixes #996: more tests added.
2021-04-05 [email protected] Fixes #1067: added checks for old and new dart versions.
2021-04-05 [email protected] Fixes #1066: added @Dart=2.12 to the initial version of the test, new test which checks recent dart behavior added.
2021-04-05 [email protected] Fixes #1057: Expected result doe the tests with mailformed types updated.
2021-04-02 [email protected] Fixes #1062. Remove unnecessary assignment
2021-04-01 [email protected] Fixes #1057: Expected result doe the tests with mailformed types updated.
2021-04-01 [email protected] Expected error code is fixed for Windows
2021-04-01 [email protected] Fixes #1060. Expected error message position updated
2021-04-01 [email protected] Fixes #1059. Expected error message updated
2021-04-01 [email protected] Fixes #1024. Adjust expected results for web platforms
2021-04-01 [email protected] #993. More Array tests added
2021-03-31 [email protected] Update LICENSE
2021-03-31 [email protected] #993. Array tests added
2021-03-31 [email protected] Issue #1053: Missing Issue tag added, test expectation updated.
2021-03-30 [email protected] Fixes #1054: Updated expectations for mailformed raw type variables.
2021-03-30 [email protected] Fixes #1050: Updated expectations for mailformed raw type variables.
2021-03-30 [email protected] Fixes #1050: Got rid of mailformed row type variable usage in i-2-b- tests.
2021-03-29 [email protected] Fixes #1043. Remove static warning as an expected result
2021-03-29 [email protected] Fixes #1049: Correct expectation adjusted
2021-03-29 [email protected] Fixes #1048. Move tests to correct folder and change the description
2021-03-29 [email protected] Fixes #1046: Test adjusted to work with the generic metadata feature enabled.
2021-03-29 [email protected] Fixes #1047. Change expected result to not to fail on JavaScript configurations
2021-03-29 [email protected] Fixes #1044. Change expected result to not to fail on JavaScript configurations
2021-03-26 [email protected] Fixes #1029: Missing Issue tag added to the test.
2021-03-26 [email protected] Fixes #1042. Add check that produces different results for triple and double shifts
2021-03-26 [email protected] Fixes #1042. Fix built-in_types_t11.dart to expect correct results
2021-03-25 [email protected] Fixes #1019. Don't use type aliases in legacy libraries
2021-03-25 [email protected] Fixes #1039: Old-style aliases corrected.
2021-03-25 [email protected] Fixes #988. Expect static type warning in a right way
2021-03-24 [email protected] Issues #1029: Static expectation corrected.
2021-03-24 [email protected] Issues #1035: Issue tag for the bug 45443 added.
2021-03-24 [email protected] Merge branch 'master' of https://github.com/dart-lang/co19
2021-03-24 [email protected] #1023. Change SplayTreeMap and SplayTreeSet tests according to the new behavior
2021-03-23 [email protected] #1021. Remove expecting errors on web configurations for some negative numbers
2021-03-23 [email protected] Fixes #1034. Missed experimental flag added
2021-03-23 [email protected] #1033. Perform runtime check on big values for non-JavaScript configurations only
2021-03-23 [email protected] Issues #1029: co19/Language/Generics/Superbounded_types/typedef3_A01_t06/02 corrected and does not expect a compile error now.

Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-release-simarm64-try,vm-kernel-precomp-nnbd-linux-release-x64-try
Change-Id: I5fae01c7b48aba502da04638430f4f6de79ac745
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194241
Reviewed-by: William Hesse <[email protected]>
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants