Web IDL

From W3C Wiki

The WebIDL specification defines an interface definition language that can be used to describe interfaces that are intended to be implemented in web browsers.

Spec Status

Testing

There are 2 classes of test that can prove Web IDL's interoperability:

  1. Testing Specifications: testing specifications that use the Web IDL notation to define interfaces, making sure that all of these specifications correctly use the notation and use it consistently between dependent specifications.
  2. Testing Implementations: testing how implementations (browsers) implement interfaces and objects, including such features as objet reflection and exposing interfaces

Online Validator

An online validator for Web IDL fragments and HTML or text documents (specs) containing Web IDL was created by Dominique Hazael-Massieux (code available on Github).

Test Suite

The Web IDL test suite is part of the W3C's Web Platform Tests repository, hosted on GithHub.

As of 12-Sep-2013, WebApps has not approved any Web IDL tests. However, Cameron McCormack has submitted some tests and they can be directly run via a browser: http://w3c-test.org/web-platform-tests/submissions/271/WebIDL/tests/submissions/heycam/.

Dependent Specifications

The following table includes specs that have a normative reference for Web IDL.

Working Group Specification Status Conformance
HTML WG HTML5 CR Unclear
Canvas 2D Context LC Unclear
HTML Microdata LC Unclear
Media Source Extensions WD Used but not referenced
Encrypted Media Extensions FPWD Used but not referenced
WebApps WG Clipboard Operations WD
DOM4 WD
DOM3 Events LCWD
File API WD
Gamepad FPWD
IndexedDB REC
Pointer Lock FPWD
Progress Events API REC
Selectors API v1 REC
Server-Sent Events REC
Screen Orientation API LCWD
Web Messaging CR
Web Storage REC
Web Workers CR
WebSocket API CR
Widget Interface REC
XMLHttpRequest (XHR) WD
Web Events WG Touch Events version 1 REC ECMAScript (wording not perfect)
Pointer Events WG Pointer Events REC Used but not referenced
Audio WG Web Audio API WD
Web MIDI API WD
Web Crypto WG Web Cryptography API WD ECMAScript binding
CSS WG CSSOM View Module
Geolocation WG Geolocation API PR ECMAScript binding
DeviceOrientation Event WD ECMAScript binding
Web Performance WG Navigation Timing REC idlharness.html test
Resource Timing CR
User Timing CR
Page Visibility REC idlharness.html test
Timing control for script-based animations LCWD
High Resolution Time REC idlharness.html test
Performance Timeline CR
Notification WG Web Notifications WD Unclear (likely Fragment)
DAP WG HTML Media Capture CR ECMAScript binding
Proximity Events WD Used but not referenced
Web Intents WGNote Used but not referenced
Pick Contacts Intent STOPPED ECMAScript binding
Pick Media Intent STOPPED ECMAScript binding
Vibration API CR ECMAScript binding
Battery Status API CR ECMAScript binding
Web RTC WG Media Capture and Streams
WebRTC 1.0: Real-time Communication Between Browsers WD ECMAScript binding
RDF WG JSON-LD 1.0 Processing Algorithms and API WD