Skip to content

Commit 58d7539

Browse files
committed
Transition to new IDL pre-processor.
1 parent e857640 commit 58d7539

28 files changed

Lines changed: 4050 additions & 4142 deletions

cssom/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11

22
ANOLIS = anolis
33
PYTHON = python
4+
NODE = node
45

56
XREFS = data/xrefs/css/cssom.json
67
EDFILE = Overview.html
78
TRFILE = TR/Overview.html
89

910
all: $(EDFILE)
1011

11-
Overview.src.html: cssom-source cssom-generate.py
12-
$(PYTHON) cssom-generate.py
12+
Overview.src.html: cssom-generate.js idl/cssom.json cssom-source
13+
$(NODE) cssom-generate.js > $@
1314

1415
$(XREFS): Overview.src.html Makefile
1516
$(ANOLIS) --dump-xrefs=$@ $< /tmp/spec; $(RM) /tmp/spec

cssom/Overview.html

Lines changed: 809 additions & 1524 deletions
Large diffs are not rendered by default.

cssom/Overview.src.html

Lines changed: 959 additions & 1673 deletions
Large diffs are not rendered by default.

cssom/README

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
SUMMARY
2+
3+
The CSSOM specifications are in the process of being transitioned from a
4+
predominantly ANOLIS based processing tool to a combination of (1) a custom
5+
pre-processor tool that uses WebIDL.js and (2) ANOLIS as a post-processor.
6+
The goal of this change is to shift from using WebIDL embedded in HTML to HTML
7+
embedded in WebIDL for the purpose of defining the source IDL specification
8+
content. In the editors' opinion, this change permits better (automatic)
9+
verification of IDL correctness along with subsequent HTML correctness.
10+
11+
More documentation on this custom tool will be provided before publishing a
12+
new WD of the CSSOM specifications. So please remain patient if you are
13+
looking for more details.
14+
15+
Note that substantial changes to the custom tool (organization, processing,
16+
and syntax usage) are expected before concluding the above transition.
17+
18+
NOTES FOR EDITORS
19+
20+
1. At the current time, the pre-processor tool requires a modified version of
21+
WebIDL.js in order to support (1) string valued extended attributes and (2)
22+
extended attributes on typedefs and other extended attributes, e.g.,
23+
Constructor.
24+
25+
2. At the current time, due to use of the C pre-processor to aggregate IDL
26+
file definitions, the value of 'Documentation' extended attributes must not
27+
contain an unescaped NEWLINE, meaning that values composed of multiple lines
28+
must use C pre-processor style continuation lines, i.e., end in a backslash
29+
character. This requirement is temporary and expected to go away in the
30+
near future.
31+
32+
TO DO
33+
34+
1. IDL Pre-Processor Related
35+
36+
* Enumerate constructors in a manner similar to attributes/operations.
37+
* Perform keyword substitution in constructor documentation.
38+
* Enumerate constant members.
39+
* Generate typedef and implements definitions.
40+
* Generate extended attributes, e.g., PutForwards, NoInterfaceObject, etc.
41+
* Generate setters, getters (not presently used in CSSOM IDL definitions).
42+
* Remove coded-in file names (e.g., cssom.json), accepting on command line.
43+
44+
2. Content Related
45+
46+
* Substitute correct W3C copyright notice.
47+
* Restore named properties (i.e., CSS2Properties) on CSSStyleDeclaration.
48+
* Reorganize content sections, reordering aggregating/dividing as needed.
49+
* Fill in implicit TBDs.
50+
* Address outstanding bugs.
51+
52+
3. Miscellaneous
53+
54+
* Push WebIDL.js patch to DAP; push editor's working version to github.
55+
* Ensure any necessary changes to HTML5 parser or ANOLIS are posted.
56+
* Document custom build tools/process.
57+
* Integrate child (IDL) and parent (Overview.html) makefiles.

0 commit comments

Comments
 (0)