-
Notifications
You must be signed in to change notification settings - Fork 40
Switch to automatic cross-references #486
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
Conversation
Since the specification was written, authoring tools have made a lot of progress on cross-references support, and groups have become better at differentiating between definitions that should remain internal to a given specification (think "private" in object oriented languages) and those that the group commits to maintain over time and that can be referenced by other specifications (think "public"). This update uses the `xref` feature of Respec throughout the spec, and drops all indirect definitions that were in the Terminology section that can now be taken care of automatically by Respec. Some of them cannot be because the underlying specifications are not known to Respec. Some of the definitions no longer existed (for instance the concept of user activation was modified in HTML), or specs are no longer the right ones (reference to Web Storage should now be a reference to HTML). The exercise also reveals cases where the definitions exist but are not yet exported. Most of them are linked to the creation of the receiving browsing context algorithm. This is not surprising since this part cherry-picks algorithms in different specifications to define an "incognito mode". In any case, these remaining errors signal the need to exchange with the groups responsible for these specs to ask them whether they can flag the definitions we need as "exported". The definitions that the Presentation API references but that are not exported by the underlying specs are: In HTML: - [parse a URL](https://html.spec.whatwg.org/multipage/urls-and-fetching.html#parse-a-url) - [list of descendant browsing contexts](https://html.spec.whatwg.org/multipage/browsers.html#list-of-the-descendant-browsing-contexts) - [creating a new browsing context](https://html.spec.whatwg.org/multipage/browsers.html#creating-a-new-browsing-context) - [session history](https://html.spec.whatwg.org/multipage/history.html#session-history) - [allowed to navigate](https://html.spec.whatwg.org/multipage/browsers.html#allowed-to-navigate) - [navigating to a fragment identifier](https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigate-fragid) In IndexedDB: - [databases](https://www.w3.org/TR/IndexedDB/#database) Note this update also adds the IDL index and the index appendices that Respec generates automatically.
New respec profile is needed to support Process 2020 Using autolinks instead of local definition proxies help identify potentially problematic links (a number of which have been left as errors in this branch)
We could:
I vote for #4 for now, I think we need more input before deciding how to proceed. |
I would split the list into two. First, the terms that the spec needs in other algorithms:
For these, I think that we should reach out to the WHATWG and request that they get an Second, the list of terms that the spec needs to define the "incognito" mode. Ideally, that definition would rather be in HTML and it does not make a lot of sense to export these terms from HTML. It may be worth checking whether there is interest in upstreaming the definition. |
The cross-ref database only contains terms that specifications choose to export. The Presentation API needs to reference a few additional terms that are not yet exported by the relevant specs (mostly HTML). While the group figures out a way to have these terms exported, this update creates explicit local definitions for these terms in the terminology section.
I adjusted the PR to work around ReSpec's errors. The terminology section now contains:
|
This looks good to me, thank you @tidoust for making these extensive cross reference fixes to the spec. It would have taken me a long time to track down all of them! |
[This PR cannot be merged as-is. Some discussion needed on the treatment of the remaining errors]
Since the specification was written, authoring tools have made a lot of progress on cross-references support, and groups have become better at differentiating between definitions that should remain internal to a given specification (think "private" in object oriented languages) and those that the group commits to maintain over time and that can be referenced by other specifications (think "public").
This update uses the
xref
feature of Respec throughout the spec, and drops all indirect definitions that were in the Terminology section that can now be taken care of automatically by Respec. Some of them cannot be because the underlying specifications are not known to Respec.Some of the definitions no longer existed (for instance the concept of user activation was modified in HTML), or specs are no longer the right ones (reference to Web Storage should now be a reference to HTML).
The exercise also reveals cases where the definitions exist but are not yet exported. Most of them are linked to the creation of the receiving browsing context algorithm. This is not surprising since this part cherry-picks algorithms in different specifications to define an "incognito mode".
In any case, these remaining errors signal the need to exchange with the groups responsible for these specs to ask them whether they can flag the definitions we need as "exported".
The definitions that the Presentation API references but that are not exported by the underlying specs are:
In HTML:
In IndexedDB:
Note this update also adds the IDL index and the index appendices that Respec generates automatically.
Preview | Diff