Skip to content

Commit

Permalink
Shorten abstract and remove historical discussions
Browse files Browse the repository at this point in the history
Closes #1035.
  • Loading branch information
domenic committed Oct 18, 2021
1 parent 1aa9e49 commit f13d944
Showing 1 changed file with 13 additions and 40 deletions.
53 changes: 13 additions & 40 deletions index.bs
Expand Up @@ -3,18 +3,8 @@ Group: WHATWG
H1: Web IDL
Shortname: webidl
Text Macro: TWITTER webidl
Abstract: This document defines an interface definition language, Web IDL,
Abstract: that can be used to describe interfaces that are intended to be
Abstract: implemented in web browsers. Web IDL is an IDL variant with a number
Abstract: of features that allow the behavior of common script objects in
Abstract: the web platform to be specified more readily. How interfaces
Abstract: described with Web IDL correspond to constructs within ECMAScript
Abstract: execution environments is also detailed in this document.
Abstract: It is expected that this document acts
Abstract: as a guide to implementors of already-published specifications,
Abstract: and that newly published specifications reference this
Abstract: document to ensure conforming implementations of interfaces
Abstract: are interoperable.
Abstract: This standard defines an interface definition language, Web IDL, that can be used to describe interfaces that
Abstract: are intended to be implemented in web browsers.
Translation: ja https://triple-underscore.github.io/WebIDL-ja.html
Complain About: accidental-2119 no
</pre>
Expand Down Expand Up @@ -377,28 +367,17 @@ urlPrefix: https://tc39.es/proposal-resizablearraybuffer/; spec: RESIZABLE-BUFFE

<i>This section is informative.</i>

Technical reports published by the W3C that include programming
language interfaces have typically been described using the
Object Management Group’s Interface Definition Language (IDL)
[[OMGIDL]]. The IDL provides a means to
describe these interfaces in a language independent manner. Usually,
additional language binding appendices are included in such
documents which detail how the interfaces described with the IDL
correspond to constructs in the given language.

However, the bindings in these specifications for the language most
commonly used on the web, ECMAScript, are consistently specified with
low enough precision as to result in interoperability issues. In
addition, each specification must describe the same basic information,
such as DOM interfaces described in IDL corresponding to properties
on the ECMAScript global object, or the {{unsigned long}} IDL type mapping to the Number
type in ECMAScript.

This specification defines an IDL language similar to OMG IDL
for use by specifications that define interfaces for Web APIs. A number of extensions are
given to the IDL to support common functionality that previously must
have been written in prose. In addition, precise language bindings
for the ECMAScript language are given.
This standard defines an interface definition language, Web IDL, that can be used to describe
interfaces that are intended to be implemented in web browsers. Web IDL is an IDL variant with a
number of features that allow the behavior of common script objects in the web platform to be
specified more readily. How interfaces described with Web IDL correspond to constructs within
ECMAScript execution environments is also detailed here.

Concretely, Web IDL provides a syntax for specifying the surface APIs of web platform objects, as
well as ECMAScript bindings that detail how those APIs manifest as ECMAScript constructs. This
ensures common tasks, such as installing global properties, processing numeric inputs, or exposing
iteration behavior, remain uniform across web platform specifications: such specifications describe
their interfaces using Web IDL, and then use prose to specify API-specific details.


<h2 id="idl">Interface definition language</h2>
Expand Down Expand Up @@ -6042,12 +6021,6 @@ The {{DOMString}} type corresponds to
the set of all possible sequences of [=code units=].
Such sequences are commonly interpreted as UTF-16 encoded strings [[!RFC2781]]
although this is not required.
While {{DOMString}} is defined to be
an OMG IDL boxed [=sequence type|sequence=]&lt;{{unsigned short}}&gt; valuetype
in [[DOM-LEVEL-3-CORE/core#ID-C74D1578|DOM Level 3 Core §The DOMString Type]],
this document defines {{DOMString}} to be an intrinsic type
so as to avoid special casing that sequence type
in various situations where a string is required.

Note: Note also that <emu-val>null</emu-val>
is not a value of type {{DOMString}}.
Expand Down

0 comments on commit f13d944

Please sign in to comment.