[html5] r8752 - [e] (0) WebIDL Global=/Exposed= syntax fixes, and make sure the globals are expo [...]

whatwg at whatwg.org whatwg at whatwg.org
Fri Sep 5 15:38:22 PDT 2014


Author: ianh
Date: 2014-09-05 15:38:19 -0700 (Fri, 05 Sep 2014)
New Revision: 8752

Modified:
   complete.html
   index
   source
Log:
[e] (0) WebIDL Global=/Exposed= syntax fixes, and make sure the globals are exposed to themselves
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=26447
Affected topics: Canvas, DOM APIs, HTML, HTML Syntax and Parsing, Offline Web Applications, Workers

Modified: complete.html
===================================================================
--- complete.html	2014-09-05 21:55:29 UTC (rev 8751)
+++ complete.html	2014-09-05 22:38:19 UTC (rev 8752)
@@ -5369,7 +5369,7 @@
   algorithms, one for getting the list of name-value pairs, one for setting names to certain values,
   and one for deleting names.</p>
 
-  <pre class=idl>[OverrideBuiltins, Exposed=Window,Worker]
+  <pre class=idl>[OverrideBuiltins, Exposed=(Window,Worker)]
 interface <dfn id=domstringmap-2>DOMStringMap</dfn> {
   <a href=#dom-domstringmap-nameditem id=domstringmap:dom-domstringmap-nameditem>getter</a> DOMString (DOMString name);
   <a href=#dom-domstringmap-setitem id=domstringmap:dom-domstringmap-setitem>setter</a> <a href=#dom-domstringmap-additem id=domstringmap:dom-domstringmap-additem>creator</a> void (DOMString name, DOMString value);
@@ -45882,7 +45882,7 @@
   <p>Since DOM nodes cannot be accessed across worker boundaries, a proxy object is needed to enable
   workers to render to <code id=proxying-canvases-to-workers:the-canvas-element><a href=#the-canvas-element>canvas</a></code> elements in <code id=proxying-canvases-to-workers:document><a href=#document>Document</a></code>s.</p>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=canvasproxy>CanvasProxy</dfn> {
   void <a href=#dom-canvasproxy-setcontext id=proxying-canvases-to-workers:dom-canvasproxy-setcontext>setContext</a>(<a href=#renderingcontext id=proxying-canvases-to-workers:renderingcontext>RenderingContext</a> context);
 };
@@ -45989,7 +45989,7 @@
 
 enum <dfn id=canvasfillrule>CanvasFillRule</dfn> { "<a href=#dom-context-2d-fillrule-nonzero id=2dcontext:dom-context-2d-fillrule-nonzero>nonzero</a>", "<a href=#dom-context-2d-fillrule-evenodd id=2dcontext:dom-context-2d-fillrule-evenodd>evenodd</a>" };
 
-[<a href=#dom-context-2d id=2dcontext:dom-context-2d>Constructor</a>(optional unsigned long width, unsigned long height), Exposed=Window,Worker]
+[<a href=#dom-context-2d id=2dcontext:dom-context-2d>Constructor</a>(optional unsigned long width, unsigned long height), Exposed=(Window,Worker)]
 interface <dfn id=canvasrenderingcontext2d>CanvasRenderingContext2D</dfn> {
 
   // back-reference to the canvas
@@ -46085,7 +46085,7 @@
 <a href=#canvasrenderingcontext2d id=2dcontext:canvasrenderingcontext2d-2>CanvasRenderingContext2D</a> implements <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-3>CanvasDrawingStyles</a>;
 <a href=#canvasrenderingcontext2d id=2dcontext:canvasrenderingcontext2d-3>CanvasRenderingContext2D</a> implements <a href=#canvaspathmethods id=2dcontext:canvaspathmethods-2>CanvasPathMethods</a>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=canvasdrawingstyles>CanvasDrawingStyles</dfn> {
   // line caps/joins
            attribute unrestricted double <a href=#dom-context-2d-linewidth id=2dcontext:dom-context-2d-linewidth>lineWidth</a>; // (default 1)
@@ -46105,7 +46105,7 @@
            attribute DOMString <a href=#dom-context-2d-direction id=2dcontext:dom-context-2d-direction>direction</a>; // "ltr", "rtl", "inherit" (default: "inherit")
 };
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=canvaspathmethods>CanvasPathMethods</dfn> {
   // shared path API methods
   void <a href=#dom-context-2d-closepath id=2dcontext:dom-context-2d-closepath>closePath</a>();
@@ -46120,19 +46120,19 @@
   void <a href=#dom-context-2d-ellipse id=2dcontext:dom-context-2d-ellipse>ellipse</a>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); 
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=canvasgradient>CanvasGradient</dfn> {
   // opaque object
   void <a href=#dom-canvasgradient-addcolorstop id=2dcontext:dom-canvasgradient-addcolorstop>addColorStop</a>(double offset, DOMString color);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=canvaspattern>CanvasPattern</dfn> {
   // opaque object
   void <a href=#dom-canvaspattern-settransform id=2dcontext:dom-canvaspattern-settransform>setTransform</a>(<a href=#svgmatrix id=2dcontext:svgmatrix-2>SVGMatrix</a> transform);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=textmetrics>TextMetrics</dfn> {
   // x-direction
   readonly attribute double <a href=#dom-textmetrics-width id=2dcontext:dom-textmetrics-width>width</a>; // advance width
@@ -46166,21 +46166,21 @@
 
 [<a href=#dom-imagedata id=2dcontext:dom-imagedata>Constructor</a>(unsigned long sw, unsigned long sh),
  <a href=#dom-imagedata id=2dcontext:dom-imagedata-2>Constructor</a>(<a href=#uint8clampedarray id=2dcontext:uint8clampedarray>Uint8ClampedArray</a> data, unsigned long sw, optional unsigned long sh),
- Exposed=Window,Worker]
+ Exposed=(Window,Worker)]
 interface <dfn id=imagedata>ImageData</dfn> {
   readonly attribute unsigned long <a href=#dom-imagedata-width id=2dcontext:dom-imagedata-width>width</a>;
   readonly attribute unsigned long <a href=#dom-imagedata-height id=2dcontext:dom-imagedata-height>height</a>;
   readonly attribute <a href=#uint8clampedarray id=2dcontext:uint8clampedarray-2>Uint8ClampedArray</a> <a href=#dom-imagedata-data id=2dcontext:dom-imagedata-data>data</a>;
 };
 
-[<a href=#dom-drawingstyle id=2dcontext:dom-drawingstyle>Constructor</a>(optional <a href=#element id=2dcontext:element-6>Element</a> scope), Exposed=Window,Worker]
+[<a href=#dom-drawingstyle id=2dcontext:dom-drawingstyle>Constructor</a>(optional <a href=#element id=2dcontext:element-6>Element</a> scope), Exposed=(Window,Worker)]
 interface <dfn id=drawingstyle>DrawingStyle</dfn> { };
 <a href=#drawingstyle id=2dcontext:drawingstyle>DrawingStyle</a> implements <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-4>CanvasDrawingStyles</a>;
 
 [<a href=#dom-path2d id=2dcontext:dom-path2d>Constructor</a>,
  <a href=#dom-path2d-copy id=2dcontext:dom-path2d-copy>Constructor</a>(<a href=#path2d id=2dcontext:path2d-10>Path2D</a> path),
  <a href=#dom-path2d-merge id=2dcontext:dom-path2d-merge>Constructor</a>(<a href=#path2d id=2dcontext:path2d-11>Path2D</a>[] paths, optional <a href=#canvasfillrule id=2dcontext:canvasfillrule-8>CanvasFillRule</a> fillRule = "<a href=#dom-context-2d-fillrule-nonzero id=2dcontext:dom-context-2d-fillrule-nonzero-9>nonzero</a>"),
- <a href=#dom-path2d-withdata id=2dcontext:dom-path2d-withdata>Constructor</a>(DOMString d), Exposed=Window,Worker]
+ <a href=#dom-path2d-withdata id=2dcontext:dom-path2d-withdata>Constructor</a>(DOMString d), Exposed=(Window,Worker)]
 interface <dfn id=path2d>Path2D</dfn> {
   void <a href=#dom-path2d-addpath id=2dcontext:dom-path2d-addpath>addPath</a>(<a href=#path2d id=2dcontext:path2d-12>Path2D</a> path, optional <a href=#svgmatrix id=2dcontext:svgmatrix-3>SVGMatrix</a>? transformation = null);
   void <a href=#dom-path2d-addpathbystrokingpath id=2dcontext:dom-path2d-addpathbystrokingpath>addPathByStrokingPath</a>(<a href=#path2d id=2dcontext:path2d-13>Path2D</a> path, <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-5>CanvasDrawingStyles</a> styles, optional <a href=#svgmatrix id=2dcontext:svgmatrix-4>SVGMatrix</a>? transformation = null);
@@ -57185,7 +57185,7 @@
 
   <h3 id=the-window-object>7.2 The <code id=the-window-object:window><a href=#window>Window</a></code> object</h3>
 
-  <pre class=idl>[PrimaryGlobal]
+  <pre class=idl>[PrimaryGlobal] 
 /*sealed*/ interface <dfn id=window>Window</dfn> : <a href=#eventtarget id=the-window-object:eventtarget>EventTarget</a> {
   // the current browsing context
   [Unforgeable] readonly attribute <a href=#windowproxy id=the-window-object:windowproxy>WindowProxy</a> <a href=#dom-window id=the-window-object:dom-window>window</a>;
@@ -59975,7 +59975,7 @@
 
   <h5 id=the-popstateevent-interface>7.6.10.1 The <code id=the-popstateevent-interface:popstateevent><a href=#popstateevent>PopStateEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#popstateeventinit id=the-popstateevent-interface:popstateeventinit>PopStateEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#popstateeventinit id=the-popstateevent-interface:popstateeventinit>PopStateEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=popstateevent>PopStateEvent</dfn> : <a href=#event id=the-popstateevent-interface:event>Event</a> {
   readonly attribute any <a href=#dom-popstateevent-state id=the-popstateevent-interface:dom-popstateevent-state>state</a>;
 };
@@ -60002,7 +60002,7 @@
 
   <h5 id=the-hashchangeevent-interface>7.6.10.2 The <code id=the-hashchangeevent-interface:hashchangeevent><a href=#hashchangeevent>HashChangeEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#hashchangeeventinit id=the-hashchangeevent-interface:hashchangeeventinit>HashChangeEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#hashchangeeventinit id=the-hashchangeevent-interface:hashchangeeventinit>HashChangeEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=hashchangeevent>HashChangeEvent</dfn> : <a href=#event id=the-hashchangeevent-interface:event>Event</a> {
   readonly attribute DOMString <a href=#dom-hashchangeevent-oldurl id=the-hashchangeevent-interface:dom-hashchangeevent-oldurl>oldURL</a>;
   readonly attribute DOMString <a href=#dom-hashchangeevent-newurl id=the-hashchangeevent-interface:dom-hashchangeevent-newurl>newURL</a>;
@@ -60042,7 +60042,7 @@
 
   <h5 id=the-pagetransitionevent-interface>7.6.10.3 The <code id=the-pagetransitionevent-interface:pagetransitionevent><a href=#pagetransitionevent>PageTransitionEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#pagetransitioneventinit id=the-pagetransitionevent-interface:pagetransitioneventinit>PageTransitionEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#pagetransitioneventinit id=the-pagetransitionevent-interface:pagetransitioneventinit>PageTransitionEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=pagetransitionevent>PageTransitionEvent</dfn> : <a href=#event id=the-pagetransitionevent-interface:event>Event</a> {
   readonly attribute boolean <a href=#dom-pagetransitionevent-persisted id=the-pagetransitionevent-interface:dom-pagetransitionevent-persisted>persisted</a>;
 };
@@ -61709,7 +61709,7 @@
 
   <h4 id=application-cache-api>7.7.10 Application cache API</h4>
 
-  <pre class=idl>[Exposed=Window,SharedWorker]
+  <pre class=idl>[Exposed=(Window,SharedWorker)]
 interface <dfn id=applicationcache>ApplicationCache</dfn> : <a href=#eventtarget id=application-cache-api:eventtarget>EventTarget</a> {
 
   // <a href=#concept-appcache-status id=application-cache-api:concept-appcache-status>update status</a>
@@ -61883,7 +61883,7 @@
 
   <h4 id=browser-state>7.7.11 Browser state</h4>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatoronline>NavigatorOnLine</dfn> {
   readonly attribute boolean <a href=#dom-navigator-online id=browser-state:dom-navigator-online>onLine</a>;
 };</pre>
@@ -62392,7 +62392,7 @@
 
   
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit id=the-errorevent-interface:erroreventinit>ErrorEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit id=the-errorevent-interface:erroreventinit>ErrorEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=errorevent>ErrorEvent</dfn> : <a href=#event id=the-errorevent-interface:event>Event</a> {
   readonly attribute DOMString <a href=#dom-errorevent-message id=the-errorevent-interface:dom-errorevent-message>message</a>;
   readonly attribute DOMString <a href=#dom-errorevent-filename id=the-errorevent-interface:dom-errorevent-filename>filename</a>;
@@ -63314,7 +63314,7 @@
 
   
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=windowbase64>WindowBase64</dfn> {
   DOMString <a href=#dom-windowbase64-btoa id=atob:dom-windowbase64-btoa-2>btoa</a>(DOMString btoa);
   DOMString <a href=#dom-windowbase64-atob id=atob:dom-windowbase64-atob-2>atob</a>(DOMString atob);
@@ -63798,7 +63798,7 @@
   and <code id=timers:dom-windowtimers-setinterval><a href=#dom-windowtimers-setinterval>setInterval()</a></code>
   methods allow authors to schedule timer-based callbacks.</p>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=windowtimers>WindowTimers</dfn> {
   long <a href=#dom-windowtimers-settimeout id=timers:dom-windowtimers-settimeout-2>setTimeout</a>(<a href=#idl-function id=timers:idl-function>Function</a> handler, optional long timeout = 0, any... arguments);
   long <a href=#dom-windowtimers-settimeout id=timers:dom-windowtimers-settimeout-3>setTimeout</a>(DOMString handler, optional long timeout = 0, any... arguments);
@@ -64388,7 +64388,7 @@
 
   <h5 id=client-identification>8.6.1.1 Client identification</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatorid>NavigatorID</dfn> {
   readonly attribute DOMString <a href=#dom-navigator-appcodename id=client-identification:dom-navigator-appcodename>appCodeName</a>; // constant "Mozilla"
   readonly attribute DOMString <a href=#dom-navigator-appname id=client-identification:dom-navigator-appname>appName</a>;
@@ -64448,7 +64448,7 @@
 
   <h5 id=language-preferences>8.6.1.2 Language preferences</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatorlanguage>NavigatorLanguage</dfn> {
   readonly attribute DOMString? <a href=#dom-navigator-language id=language-preferences:dom-navigator-language>language</a>;
   readonly attribute DOMString[] <a href=#dom-navigator-languages id=language-preferences:dom-navigator-languages>languages</a>;
@@ -65456,7 +65456,7 @@
 
   <h3 id=images>8.7 Images</h3>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=imagebitmap>ImageBitmap</dfn> {
   readonly attribute unsigned long <a href=#dom-imagebitmap-width id=images:dom-imagebitmap-width>width</a>;
   readonly attribute unsigned long <a href=#dom-imagebitmap-height id=images:dom-imagebitmap-height>height</a>;
@@ -65470,7 +65470,7 @@
          <a href=#canvasrenderingcontext2d id=images:canvasrenderingcontext2d>CanvasRenderingContext2D</a> or
          <a href=#imagebitmap id=images:imagebitmap>ImageBitmap</a>) <dfn id=imagebitmapsource>ImageBitmapSource</dfn>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=imagebitmapfactories>ImageBitmapFactories</dfn> {
   <a href=#promise id=images:promise>Promise</a> <a href=#dom-createimagebitmap id=images:dom-createimagebitmap>createImageBitmap</a>(<a href=#imagebitmapsource id=images:imagebitmapsource>ImageBitmapSource</a> image, optional long sx, long sy, long sw, long sh);
 };
@@ -65719,7 +65719,7 @@
   <code id=the-messageevent-interfaces:messageevent-2><a href=#messageevent>MessageEvent</a></code> interface for their <code id=the-messageevent-interfaces:event-message><a href=#event-message>message</a></code>
   events:</p>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#messageeventinit id=the-messageevent-interfaces:messageeventinit>MessageEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#messageeventinit id=the-messageevent-interfaces:messageeventinit>MessageEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=messageevent>MessageEvent</dfn> : <a href=#event id=the-messageevent-interfaces:event>Event</a> {
   readonly attribute any <a href=#dom-messageevent-data id=the-messageevent-interfaces:dom-messageevent-data>data</a>;
   readonly attribute DOMString <a href=#dom-messageevent-origin id=the-messageevent-interfaces:dom-messageevent-origin>origin</a>;
@@ -65870,7 +65870,7 @@
 
   <h4 id=the-eventsource-interface>9.2.2 The <code id=the-eventsource-interface:eventsource><a href=#eventsource>EventSource</a></code> interface</h4>
 
-  <pre class=idl>[<a href=#dom-eventsource id=the-eventsource-interface:dom-eventsource>Constructor</a>(DOMString url, optional <a href=#eventsourceinit id=the-eventsource-interface:eventsourceinit>EventSourceInit</a> eventSourceInitDict), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-eventsource id=the-eventsource-interface:dom-eventsource>Constructor</a>(DOMString url, optional <a href=#eventsourceinit id=the-eventsource-interface:eventsourceinit>EventSourceInit</a> eventSourceInitDict), Exposed=(Window,Worker)]
 interface <dfn id=eventsource>EventSource</dfn> : <a href=#eventtarget id=the-eventsource-interface:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-eventsource-url id=the-eventsource-interface:dom-eventsource-url>url</a>;
   readonly attribute boolean <a href=#dom-eventsource-withcredentials id=the-eventsource-interface:dom-eventsource-withcredentials>withCredentials</a>;
@@ -66466,7 +66466,7 @@
   <h4 id=the-websocket-interface>9.3.2 The <code id=the-websocket-interface:websocket><a href=#websocket>WebSocket</a></code> interface</h4>
 
   <pre class=idl>enum <dfn id=binarytype>BinaryType</dfn> { "<a href=#dom-binarytype-blob id=the-websocket-interface:dom-binarytype-blob>blob</a>", "<a href=#dom-binarytype-arraybuffer id=the-websocket-interface:dom-binarytype-arraybuffer>arraybuffer</a>" };
-[<a href=#dom-websocket id=the-websocket-interface:dom-websocket>Constructor</a>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=Window,Worker]
+[<a href=#dom-websocket id=the-websocket-interface:dom-websocket>Constructor</a>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=(Window,Worker)]
 interface <dfn id=websocket>WebSocket</dfn> : <a href=#eventtarget id=the-websocket-interface:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-websocket-url id=the-websocket-interface:dom-websocket-url>url</a>;
 
@@ -66987,7 +66987,7 @@
 
   <h4 id=the-closeevent-interfaces>9.3.6 The <code id=the-closeevent-interfaces:closeevent><a href=#closeevent>CloseEvent</a></code> interfaces</h4>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#closeeventinit id=the-closeevent-interfaces:closeeventinit>CloseEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#closeeventinit id=the-closeevent-interfaces:closeeventinit>CloseEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=closeevent>CloseEvent</dfn> : <a href=#event id=the-closeevent-interfaces:event>Event</a> {
   readonly attribute boolean <a href=#dom-closeevent-wasclean id=the-closeevent-interfaces:dom-closeevent-wasclean>wasClean</a>;
   readonly attribute unsigned short <a href=#dom-closeevent-code id=the-closeevent-interfaces:dom-closeevent-code>code</a>;
@@ -67454,7 +67454,7 @@
 
   <h4 id=message-channels>9.5.2 Message channels</h4>
 
-  <pre class=idl>[<a href=#dom-messagechannel id=message-channels:dom-messagechannel>Constructor</a>, Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-messagechannel id=message-channels:dom-messagechannel>Constructor</a>, Exposed=(Window,Worker)]
 interface <dfn id=messagechannel>MessageChannel</dfn> {
   readonly attribute <a href=#messageport id=message-channels:messageport>MessagePort</a> <a href=#dom-messagechannel-port1 id=message-channels:dom-messagechannel-port1>port1</a>;
   readonly attribute <a href=#messageport id=message-channels:messageport-2>MessagePort</a> <a href=#dom-messagechannel-port2 id=message-channels:dom-messagechannel-port2>port2</a>;
@@ -67502,7 +67502,7 @@
   <p>Each channel has two message ports. Data sent through one port is received by the other port,
   and vice versa.</p>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=messageport>MessagePort</dfn> : <a href=#eventtarget id=message-ports:eventtarget>EventTarget</a> {
   void <a href=#dom-messageport-postmessage id=message-ports:dom-messageport-postmessage>postMessage</a>(any message, optional sequence<<a href=#transferable id=message-ports:transferable>Transferable</a>> transfer);
   void <a href=#dom-messageport-start id=message-ports:dom-messageport-start>start</a>();
@@ -67774,7 +67774,7 @@
   they stop being relevant, while still allowing scripts to iterate over the
   <code id=broadcasting-to-many-ports:messageport-3><a href=#messageport>MessagePort</a></code> objects.</p>
 
-  <pre class=idl>[<a href=#dom-portcollection id=broadcasting-to-many-ports:dom-portcollection>Constructor</a>, Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-portcollection id=broadcasting-to-many-ports:dom-portcollection>Constructor</a>, Exposed=(Window,Worker)]
 interface <dfn id=portcollection>PortCollection</dfn> {
   void <a href=#dom-portcollection-add id=broadcasting-to-many-ports:dom-portcollection-add>add</a>(<a href=#messageport id=broadcasting-to-many-ports:messageport-4>MessagePort</a> port);
   void <a href=#dom-portcollection-remove id=broadcasting-to-many-ports:dom-portcollection-remove>remove</a>(<a href=#messageport id=broadcasting-to-many-ports:messageport-5>MessagePort</a> port);
@@ -67900,7 +67900,7 @@
   <p>For simple cases, though, where a shared worker would be an unreasonable overhead, authors can
   use the simple channel-based broadcast mechanism described in this section.</p>
 
-  <pre class=idl>[<a href=#dom-broadcastchannel id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel>Constructor</a>(DOMString channel), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-broadcastchannel id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel>Constructor</a>(DOMString channel), Exposed=(Window,Worker)]
 interface <dfn id=broadcastchannel>BroadcastChannel</dfn> : <a href=#eventtarget id=broadcasting-to-other-browsing-contexts:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-broadcastchannel-name id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel-name>name</a>;
   void <a href=#dom-broadcastchannel-postmessage id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel-postmessage>postMessage</a>(any message);
@@ -68920,7 +68920,7 @@
 
   <h5 id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:dedicatedworkerglobalscope><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> interface</h5>
 
-  <pre class=idl>[Global=Worker,DedicatedWorker]
+  <pre class=idl>[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker]
 /*sealed*/ interface <dfn id=dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</dfn> : <a href=#workerglobalscope id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:workerglobalscope>WorkerGlobalScope</a> {
   void <a href=#dom-dedicatedworkerglobalscope-postmessage id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:dom-dedicatedworkerglobalscope-postmessage>postMessage</a>(any message, optional sequence<<a href=#transferable id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:transferable>Transferable</a>> transfer);
            attribute <a href=#eventhandler id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:eventhandler>EventHandler</a> <a href=#handler-dedicatedworkerglobalscope-onmessage id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:handler-dedicatedworkerglobalscope-onmessage>onmessage</a>;
@@ -68956,7 +68956,7 @@
 
   <h5 id=shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code id=shared-workers-and-the-sharedworkerglobalscope-interface:sharedworkerglobalscope><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> interface</h5>
 
-  <pre class=idl>[Global=Worker,SharedWorker]
+  <pre class=idl>[Global=(Worker,SharedWorker),Exposed=SharedWorker]
 /*sealed*/ interface <dfn id=sharedworkerglobalscope>SharedWorkerGlobalScope</dfn> : <a href=#workerglobalscope id=shared-workers-and-the-sharedworkerglobalscope-interface:workerglobalscope>WorkerGlobalScope</a> {
   readonly attribute DOMString <a href=#dom-sharedworkerglobalscope-name id=shared-workers-and-the-sharedworkerglobalscope-interface:dom-sharedworkerglobalscope-name>name</a>;
   readonly attribute <a href=#applicationcache id=shared-workers-and-the-sharedworkerglobalscope-interface:applicationcache>ApplicationCache</a> <a href=#dom-sharedworkerglobalscope-applicationcache id=shared-workers-and-the-sharedworkerglobalscope-interface:dom-sharedworkerglobalscope-applicationcache>applicationCache</a>;
@@ -69245,7 +69245,7 @@
 
   <h5 id=the-abstractworker-abstract-interface>10.2.6.1 The <code id=the-abstractworker-abstract-interface:abstractworker><a href=#abstractworker>AbstractWorker</a></code> abstract interface</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=abstractworker>AbstractWorker</dfn> {
            attribute <a href=#eventhandler id=the-abstractworker-abstract-interface:eventhandler>EventHandler</a> <a href=#handler-abstractworker-onerror id=the-abstractworker-abstract-interface:handler-abstractworker-onerror>onerror</a>;
 };</pre>
@@ -69326,7 +69326,7 @@
 
   <h5 id=dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code id=dedicated-workers-and-the-worker-interface:worker><a href=#worker>Worker</a></code> interface</h5>
 
-  <pre class=idl>[<a href=#dom-worker id=dedicated-workers-and-the-worker-interface:dom-worker>Constructor</a>(DOMString scriptURL), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-worker id=dedicated-workers-and-the-worker-interface:dom-worker>Constructor</a>(DOMString scriptURL), Exposed=(Window,Worker)]
 interface <dfn id=worker>Worker</dfn> : <a href=#eventtarget id=dedicated-workers-and-the-worker-interface:eventtarget>EventTarget</a> {
   void <a href=#dom-worker-terminate id=dedicated-workers-and-the-worker-interface:dom-worker-terminate>terminate</a>();
 
@@ -69408,7 +69408,7 @@
 
   <h5 id=shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code id=shared-workers-and-the-sharedworker-interface:sharedworker><a href=#sharedworker>SharedWorker</a></code> interface</h5>
 
-  <pre class=idl>[<a href=#dom-sharedworker id=shared-workers-and-the-sharedworker-interface:dom-sharedworker>Constructor</a>(DOMString scriptURL, optional DOMString name), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-sharedworker id=shared-workers-and-the-sharedworker-interface:dom-sharedworker>Constructor</a>(DOMString scriptURL, optional DOMString name), Exposed=(Window,Worker)]
 interface <dfn id=sharedworker>SharedWorker</dfn> : <a href=#eventtarget id=shared-workers-and-the-sharedworker-interface:eventtarget>EventTarget</a> {
   readonly attribute <a href=#messageport id=shared-workers-and-the-sharedworker-interface:messageport>MessagePort</a> <a href=#dom-sharedworker-port id=shared-workers-and-the-sharedworker-interface:dom-sharedworker-port>port</a>;
 };

Modified: index
===================================================================
--- index	2014-09-05 21:55:29 UTC (rev 8751)
+++ index	2014-09-05 22:38:19 UTC (rev 8752)
@@ -5369,7 +5369,7 @@
   algorithms, one for getting the list of name-value pairs, one for setting names to certain values,
   and one for deleting names.</p>
 
-  <pre class=idl>[OverrideBuiltins, Exposed=Window,Worker]
+  <pre class=idl>[OverrideBuiltins, Exposed=(Window,Worker)]
 interface <dfn id=domstringmap-2>DOMStringMap</dfn> {
   <a href=#dom-domstringmap-nameditem id=domstringmap:dom-domstringmap-nameditem>getter</a> DOMString (DOMString name);
   <a href=#dom-domstringmap-setitem id=domstringmap:dom-domstringmap-setitem>setter</a> <a href=#dom-domstringmap-additem id=domstringmap:dom-domstringmap-additem>creator</a> void (DOMString name, DOMString value);
@@ -45882,7 +45882,7 @@
   <p>Since DOM nodes cannot be accessed across worker boundaries, a proxy object is needed to enable
   workers to render to <code id=proxying-canvases-to-workers:the-canvas-element><a href=#the-canvas-element>canvas</a></code> elements in <code id=proxying-canvases-to-workers:document><a href=#document>Document</a></code>s.</p>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=canvasproxy>CanvasProxy</dfn> {
   void <a href=#dom-canvasproxy-setcontext id=proxying-canvases-to-workers:dom-canvasproxy-setcontext>setContext</a>(<a href=#renderingcontext id=proxying-canvases-to-workers:renderingcontext>RenderingContext</a> context);
 };
@@ -45989,7 +45989,7 @@
 
 enum <dfn id=canvasfillrule>CanvasFillRule</dfn> { "<a href=#dom-context-2d-fillrule-nonzero id=2dcontext:dom-context-2d-fillrule-nonzero>nonzero</a>", "<a href=#dom-context-2d-fillrule-evenodd id=2dcontext:dom-context-2d-fillrule-evenodd>evenodd</a>" };
 
-[<a href=#dom-context-2d id=2dcontext:dom-context-2d>Constructor</a>(optional unsigned long width, unsigned long height), Exposed=Window,Worker]
+[<a href=#dom-context-2d id=2dcontext:dom-context-2d>Constructor</a>(optional unsigned long width, unsigned long height), Exposed=(Window,Worker)]
 interface <dfn id=canvasrenderingcontext2d>CanvasRenderingContext2D</dfn> {
 
   // back-reference to the canvas
@@ -46085,7 +46085,7 @@
 <a href=#canvasrenderingcontext2d id=2dcontext:canvasrenderingcontext2d-2>CanvasRenderingContext2D</a> implements <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-3>CanvasDrawingStyles</a>;
 <a href=#canvasrenderingcontext2d id=2dcontext:canvasrenderingcontext2d-3>CanvasRenderingContext2D</a> implements <a href=#canvaspathmethods id=2dcontext:canvaspathmethods-2>CanvasPathMethods</a>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=canvasdrawingstyles>CanvasDrawingStyles</dfn> {
   // line caps/joins
            attribute unrestricted double <a href=#dom-context-2d-linewidth id=2dcontext:dom-context-2d-linewidth>lineWidth</a>; // (default 1)
@@ -46105,7 +46105,7 @@
            attribute DOMString <a href=#dom-context-2d-direction id=2dcontext:dom-context-2d-direction>direction</a>; // "ltr", "rtl", "inherit" (default: "inherit")
 };
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=canvaspathmethods>CanvasPathMethods</dfn> {
   // shared path API methods
   void <a href=#dom-context-2d-closepath id=2dcontext:dom-context-2d-closepath>closePath</a>();
@@ -46120,19 +46120,19 @@
   void <a href=#dom-context-2d-ellipse id=2dcontext:dom-context-2d-ellipse>ellipse</a>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); 
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=canvasgradient>CanvasGradient</dfn> {
   // opaque object
   void <a href=#dom-canvasgradient-addcolorstop id=2dcontext:dom-canvasgradient-addcolorstop>addColorStop</a>(double offset, DOMString color);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=canvaspattern>CanvasPattern</dfn> {
   // opaque object
   void <a href=#dom-canvaspattern-settransform id=2dcontext:dom-canvaspattern-settransform>setTransform</a>(<a href=#svgmatrix id=2dcontext:svgmatrix-2>SVGMatrix</a> transform);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn id=textmetrics>TextMetrics</dfn> {
   // x-direction
   readonly attribute double <a href=#dom-textmetrics-width id=2dcontext:dom-textmetrics-width>width</a>; // advance width
@@ -46166,21 +46166,21 @@
 
 [<a href=#dom-imagedata id=2dcontext:dom-imagedata>Constructor</a>(unsigned long sw, unsigned long sh),
  <a href=#dom-imagedata id=2dcontext:dom-imagedata-2>Constructor</a>(<a href=#uint8clampedarray id=2dcontext:uint8clampedarray>Uint8ClampedArray</a> data, unsigned long sw, optional unsigned long sh),
- Exposed=Window,Worker]
+ Exposed=(Window,Worker)]
 interface <dfn id=imagedata>ImageData</dfn> {
   readonly attribute unsigned long <a href=#dom-imagedata-width id=2dcontext:dom-imagedata-width>width</a>;
   readonly attribute unsigned long <a href=#dom-imagedata-height id=2dcontext:dom-imagedata-height>height</a>;
   readonly attribute <a href=#uint8clampedarray id=2dcontext:uint8clampedarray-2>Uint8ClampedArray</a> <a href=#dom-imagedata-data id=2dcontext:dom-imagedata-data>data</a>;
 };
 
-[<a href=#dom-drawingstyle id=2dcontext:dom-drawingstyle>Constructor</a>(optional <a href=#element id=2dcontext:element-6>Element</a> scope), Exposed=Window,Worker]
+[<a href=#dom-drawingstyle id=2dcontext:dom-drawingstyle>Constructor</a>(optional <a href=#element id=2dcontext:element-6>Element</a> scope), Exposed=(Window,Worker)]
 interface <dfn id=drawingstyle>DrawingStyle</dfn> { };
 <a href=#drawingstyle id=2dcontext:drawingstyle>DrawingStyle</a> implements <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-4>CanvasDrawingStyles</a>;
 
 [<a href=#dom-path2d id=2dcontext:dom-path2d>Constructor</a>,
  <a href=#dom-path2d-copy id=2dcontext:dom-path2d-copy>Constructor</a>(<a href=#path2d id=2dcontext:path2d-10>Path2D</a> path),
  <a href=#dom-path2d-merge id=2dcontext:dom-path2d-merge>Constructor</a>(<a href=#path2d id=2dcontext:path2d-11>Path2D</a>[] paths, optional <a href=#canvasfillrule id=2dcontext:canvasfillrule-8>CanvasFillRule</a> fillRule = "<a href=#dom-context-2d-fillrule-nonzero id=2dcontext:dom-context-2d-fillrule-nonzero-9>nonzero</a>"),
- <a href=#dom-path2d-withdata id=2dcontext:dom-path2d-withdata>Constructor</a>(DOMString d), Exposed=Window,Worker]
+ <a href=#dom-path2d-withdata id=2dcontext:dom-path2d-withdata>Constructor</a>(DOMString d), Exposed=(Window,Worker)]
 interface <dfn id=path2d>Path2D</dfn> {
   void <a href=#dom-path2d-addpath id=2dcontext:dom-path2d-addpath>addPath</a>(<a href=#path2d id=2dcontext:path2d-12>Path2D</a> path, optional <a href=#svgmatrix id=2dcontext:svgmatrix-3>SVGMatrix</a>? transformation = null);
   void <a href=#dom-path2d-addpathbystrokingpath id=2dcontext:dom-path2d-addpathbystrokingpath>addPathByStrokingPath</a>(<a href=#path2d id=2dcontext:path2d-13>Path2D</a> path, <a href=#canvasdrawingstyles id=2dcontext:canvasdrawingstyles-5>CanvasDrawingStyles</a> styles, optional <a href=#svgmatrix id=2dcontext:svgmatrix-4>SVGMatrix</a>? transformation = null);
@@ -57185,7 +57185,7 @@
 
   <h3 id=the-window-object>7.2 The <code id=the-window-object:window><a href=#window>Window</a></code> object</h3>
 
-  <pre class=idl>[PrimaryGlobal]
+  <pre class=idl>[PrimaryGlobal] 
 /*sealed*/ interface <dfn id=window>Window</dfn> : <a href=#eventtarget id=the-window-object:eventtarget>EventTarget</a> {
   // the current browsing context
   [Unforgeable] readonly attribute <a href=#windowproxy id=the-window-object:windowproxy>WindowProxy</a> <a href=#dom-window id=the-window-object:dom-window>window</a>;
@@ -59975,7 +59975,7 @@
 
   <h5 id=the-popstateevent-interface>7.6.10.1 The <code id=the-popstateevent-interface:popstateevent><a href=#popstateevent>PopStateEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#popstateeventinit id=the-popstateevent-interface:popstateeventinit>PopStateEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#popstateeventinit id=the-popstateevent-interface:popstateeventinit>PopStateEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=popstateevent>PopStateEvent</dfn> : <a href=#event id=the-popstateevent-interface:event>Event</a> {
   readonly attribute any <a href=#dom-popstateevent-state id=the-popstateevent-interface:dom-popstateevent-state>state</a>;
 };
@@ -60002,7 +60002,7 @@
 
   <h5 id=the-hashchangeevent-interface>7.6.10.2 The <code id=the-hashchangeevent-interface:hashchangeevent><a href=#hashchangeevent>HashChangeEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#hashchangeeventinit id=the-hashchangeevent-interface:hashchangeeventinit>HashChangeEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#hashchangeeventinit id=the-hashchangeevent-interface:hashchangeeventinit>HashChangeEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=hashchangeevent>HashChangeEvent</dfn> : <a href=#event id=the-hashchangeevent-interface:event>Event</a> {
   readonly attribute DOMString <a href=#dom-hashchangeevent-oldurl id=the-hashchangeevent-interface:dom-hashchangeevent-oldurl>oldURL</a>;
   readonly attribute DOMString <a href=#dom-hashchangeevent-newurl id=the-hashchangeevent-interface:dom-hashchangeevent-newurl>newURL</a>;
@@ -60042,7 +60042,7 @@
 
   <h5 id=the-pagetransitionevent-interface>7.6.10.3 The <code id=the-pagetransitionevent-interface:pagetransitionevent><a href=#pagetransitionevent>PageTransitionEvent</a></code> interface</h5>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#pagetransitioneventinit id=the-pagetransitionevent-interface:pagetransitioneventinit>PageTransitionEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#pagetransitioneventinit id=the-pagetransitionevent-interface:pagetransitioneventinit>PageTransitionEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=pagetransitionevent>PageTransitionEvent</dfn> : <a href=#event id=the-pagetransitionevent-interface:event>Event</a> {
   readonly attribute boolean <a href=#dom-pagetransitionevent-persisted id=the-pagetransitionevent-interface:dom-pagetransitionevent-persisted>persisted</a>;
 };
@@ -61709,7 +61709,7 @@
 
   <h4 id=application-cache-api>7.7.10 Application cache API</h4>
 
-  <pre class=idl>[Exposed=Window,SharedWorker]
+  <pre class=idl>[Exposed=(Window,SharedWorker)]
 interface <dfn id=applicationcache>ApplicationCache</dfn> : <a href=#eventtarget id=application-cache-api:eventtarget>EventTarget</a> {
 
   // <a href=#concept-appcache-status id=application-cache-api:concept-appcache-status>update status</a>
@@ -61883,7 +61883,7 @@
 
   <h4 id=browser-state>7.7.11 Browser state</h4>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatoronline>NavigatorOnLine</dfn> {
   readonly attribute boolean <a href=#dom-navigator-online id=browser-state:dom-navigator-online>onLine</a>;
 };</pre>
@@ -62392,7 +62392,7 @@
 
   
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit id=the-errorevent-interface:erroreventinit>ErrorEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#erroreventinit id=the-errorevent-interface:erroreventinit>ErrorEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=errorevent>ErrorEvent</dfn> : <a href=#event id=the-errorevent-interface:event>Event</a> {
   readonly attribute DOMString <a href=#dom-errorevent-message id=the-errorevent-interface:dom-errorevent-message>message</a>;
   readonly attribute DOMString <a href=#dom-errorevent-filename id=the-errorevent-interface:dom-errorevent-filename>filename</a>;
@@ -63314,7 +63314,7 @@
 
   
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=windowbase64>WindowBase64</dfn> {
   DOMString <a href=#dom-windowbase64-btoa id=atob:dom-windowbase64-btoa-2>btoa</a>(DOMString btoa);
   DOMString <a href=#dom-windowbase64-atob id=atob:dom-windowbase64-atob-2>atob</a>(DOMString atob);
@@ -63798,7 +63798,7 @@
   and <code id=timers:dom-windowtimers-setinterval><a href=#dom-windowtimers-setinterval>setInterval()</a></code>
   methods allow authors to schedule timer-based callbacks.</p>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=windowtimers>WindowTimers</dfn> {
   long <a href=#dom-windowtimers-settimeout id=timers:dom-windowtimers-settimeout-2>setTimeout</a>(<a href=#idl-function id=timers:idl-function>Function</a> handler, optional long timeout = 0, any... arguments);
   long <a href=#dom-windowtimers-settimeout id=timers:dom-windowtimers-settimeout-3>setTimeout</a>(DOMString handler, optional long timeout = 0, any... arguments);
@@ -64388,7 +64388,7 @@
 
   <h5 id=client-identification>8.6.1.1 Client identification</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatorid>NavigatorID</dfn> {
   readonly attribute DOMString <a href=#dom-navigator-appcodename id=client-identification:dom-navigator-appcodename>appCodeName</a>; // constant "Mozilla"
   readonly attribute DOMString <a href=#dom-navigator-appname id=client-identification:dom-navigator-appname>appName</a>;
@@ -64448,7 +64448,7 @@
 
   <h5 id=language-preferences>8.6.1.2 Language preferences</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=navigatorlanguage>NavigatorLanguage</dfn> {
   readonly attribute DOMString? <a href=#dom-navigator-language id=language-preferences:dom-navigator-language>language</a>;
   readonly attribute DOMString[] <a href=#dom-navigator-languages id=language-preferences:dom-navigator-languages>languages</a>;
@@ -65456,7 +65456,7 @@
 
   <h3 id=images>8.7 Images</h3>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=imagebitmap>ImageBitmap</dfn> {
   readonly attribute unsigned long <a href=#dom-imagebitmap-width id=images:dom-imagebitmap-width>width</a>;
   readonly attribute unsigned long <a href=#dom-imagebitmap-height id=images:dom-imagebitmap-height>height</a>;
@@ -65470,7 +65470,7 @@
          <a href=#canvasrenderingcontext2d id=images:canvasrenderingcontext2d>CanvasRenderingContext2D</a> or
          <a href=#imagebitmap id=images:imagebitmap>ImageBitmap</a>) <dfn id=imagebitmapsource>ImageBitmapSource</dfn>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=imagebitmapfactories>ImageBitmapFactories</dfn> {
   <a href=#promise id=images:promise>Promise</a> <a href=#dom-createimagebitmap id=images:dom-createimagebitmap>createImageBitmap</a>(<a href=#imagebitmapsource id=images:imagebitmapsource>ImageBitmapSource</a> image, optional long sx, long sy, long sw, long sh);
 };
@@ -65719,7 +65719,7 @@
   <code id=the-messageevent-interfaces:messageevent-2><a href=#messageevent>MessageEvent</a></code> interface for their <code id=the-messageevent-interfaces:event-message><a href=#event-message>message</a></code>
   events:</p>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#messageeventinit id=the-messageevent-interfaces:messageeventinit>MessageEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#messageeventinit id=the-messageevent-interfaces:messageeventinit>MessageEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=messageevent>MessageEvent</dfn> : <a href=#event id=the-messageevent-interfaces:event>Event</a> {
   readonly attribute any <a href=#dom-messageevent-data id=the-messageevent-interfaces:dom-messageevent-data>data</a>;
   readonly attribute DOMString <a href=#dom-messageevent-origin id=the-messageevent-interfaces:dom-messageevent-origin>origin</a>;
@@ -65870,7 +65870,7 @@
 
   <h4 id=the-eventsource-interface>9.2.2 The <code id=the-eventsource-interface:eventsource><a href=#eventsource>EventSource</a></code> interface</h4>
 
-  <pre class=idl>[<a href=#dom-eventsource id=the-eventsource-interface:dom-eventsource>Constructor</a>(DOMString url, optional <a href=#eventsourceinit id=the-eventsource-interface:eventsourceinit>EventSourceInit</a> eventSourceInitDict), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-eventsource id=the-eventsource-interface:dom-eventsource>Constructor</a>(DOMString url, optional <a href=#eventsourceinit id=the-eventsource-interface:eventsourceinit>EventSourceInit</a> eventSourceInitDict), Exposed=(Window,Worker)]
 interface <dfn id=eventsource>EventSource</dfn> : <a href=#eventtarget id=the-eventsource-interface:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-eventsource-url id=the-eventsource-interface:dom-eventsource-url>url</a>;
   readonly attribute boolean <a href=#dom-eventsource-withcredentials id=the-eventsource-interface:dom-eventsource-withcredentials>withCredentials</a>;
@@ -66466,7 +66466,7 @@
   <h4 id=the-websocket-interface>9.3.2 The <code id=the-websocket-interface:websocket><a href=#websocket>WebSocket</a></code> interface</h4>
 
   <pre class=idl>enum <dfn id=binarytype>BinaryType</dfn> { "<a href=#dom-binarytype-blob id=the-websocket-interface:dom-binarytype-blob>blob</a>", "<a href=#dom-binarytype-arraybuffer id=the-websocket-interface:dom-binarytype-arraybuffer>arraybuffer</a>" };
-[<a href=#dom-websocket id=the-websocket-interface:dom-websocket>Constructor</a>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=Window,Worker]
+[<a href=#dom-websocket id=the-websocket-interface:dom-websocket>Constructor</a>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=(Window,Worker)]
 interface <dfn id=websocket>WebSocket</dfn> : <a href=#eventtarget id=the-websocket-interface:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-websocket-url id=the-websocket-interface:dom-websocket-url>url</a>;
 
@@ -66987,7 +66987,7 @@
 
   <h4 id=the-closeevent-interfaces>9.3.6 The <code id=the-closeevent-interfaces:closeevent><a href=#closeevent>CloseEvent</a></code> interfaces</h4>
 
-  <pre class=idl>[Constructor(DOMString type, optional <a href=#closeeventinit id=the-closeevent-interfaces:closeeventinit>CloseEventInit</a> eventInitDict), Exposed=Window,Worker]
+  <pre class=idl>[Constructor(DOMString type, optional <a href=#closeeventinit id=the-closeevent-interfaces:closeeventinit>CloseEventInit</a> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn id=closeevent>CloseEvent</dfn> : <a href=#event id=the-closeevent-interfaces:event>Event</a> {
   readonly attribute boolean <a href=#dom-closeevent-wasclean id=the-closeevent-interfaces:dom-closeevent-wasclean>wasClean</a>;
   readonly attribute unsigned short <a href=#dom-closeevent-code id=the-closeevent-interfaces:dom-closeevent-code>code</a>;
@@ -67454,7 +67454,7 @@
 
   <h4 id=message-channels>9.5.2 Message channels</h4>
 
-  <pre class=idl>[<a href=#dom-messagechannel id=message-channels:dom-messagechannel>Constructor</a>, Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-messagechannel id=message-channels:dom-messagechannel>Constructor</a>, Exposed=(Window,Worker)]
 interface <dfn id=messagechannel>MessageChannel</dfn> {
   readonly attribute <a href=#messageport id=message-channels:messageport>MessagePort</a> <a href=#dom-messagechannel-port1 id=message-channels:dom-messagechannel-port1>port1</a>;
   readonly attribute <a href=#messageport id=message-channels:messageport-2>MessagePort</a> <a href=#dom-messagechannel-port2 id=message-channels:dom-messagechannel-port2>port2</a>;
@@ -67502,7 +67502,7 @@
   <p>Each channel has two message ports. Data sent through one port is received by the other port,
   and vice versa.</p>
 
-  <pre class=idl>[Exposed=Window,Worker]
+  <pre class=idl>[Exposed=(Window,Worker)]
 interface <dfn id=messageport>MessagePort</dfn> : <a href=#eventtarget id=message-ports:eventtarget>EventTarget</a> {
   void <a href=#dom-messageport-postmessage id=message-ports:dom-messageport-postmessage>postMessage</a>(any message, optional sequence<<a href=#transferable id=message-ports:transferable>Transferable</a>> transfer);
   void <a href=#dom-messageport-start id=message-ports:dom-messageport-start>start</a>();
@@ -67774,7 +67774,7 @@
   they stop being relevant, while still allowing scripts to iterate over the
   <code id=broadcasting-to-many-ports:messageport-3><a href=#messageport>MessagePort</a></code> objects.</p>
 
-  <pre class=idl>[<a href=#dom-portcollection id=broadcasting-to-many-ports:dom-portcollection>Constructor</a>, Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-portcollection id=broadcasting-to-many-ports:dom-portcollection>Constructor</a>, Exposed=(Window,Worker)]
 interface <dfn id=portcollection>PortCollection</dfn> {
   void <a href=#dom-portcollection-add id=broadcasting-to-many-ports:dom-portcollection-add>add</a>(<a href=#messageport id=broadcasting-to-many-ports:messageport-4>MessagePort</a> port);
   void <a href=#dom-portcollection-remove id=broadcasting-to-many-ports:dom-portcollection-remove>remove</a>(<a href=#messageport id=broadcasting-to-many-ports:messageport-5>MessagePort</a> port);
@@ -67900,7 +67900,7 @@
   <p>For simple cases, though, where a shared worker would be an unreasonable overhead, authors can
   use the simple channel-based broadcast mechanism described in this section.</p>
 
-  <pre class=idl>[<a href=#dom-broadcastchannel id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel>Constructor</a>(DOMString channel), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-broadcastchannel id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel>Constructor</a>(DOMString channel), Exposed=(Window,Worker)]
 interface <dfn id=broadcastchannel>BroadcastChannel</dfn> : <a href=#eventtarget id=broadcasting-to-other-browsing-contexts:eventtarget>EventTarget</a> {
   readonly attribute DOMString <a href=#dom-broadcastchannel-name id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel-name>name</a>;
   void <a href=#dom-broadcastchannel-postmessage id=broadcasting-to-other-browsing-contexts:dom-broadcastchannel-postmessage>postMessage</a>(any message);
@@ -68920,7 +68920,7 @@
 
   <h5 id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface>10.2.1.2 Dedicated workers and the <code id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:dedicatedworkerglobalscope><a href=#dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</a></code> interface</h5>
 
-  <pre class=idl>[Global=Worker,DedicatedWorker]
+  <pre class=idl>[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker]
 /*sealed*/ interface <dfn id=dedicatedworkerglobalscope>DedicatedWorkerGlobalScope</dfn> : <a href=#workerglobalscope id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:workerglobalscope>WorkerGlobalScope</a> {
   void <a href=#dom-dedicatedworkerglobalscope-postmessage id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:dom-dedicatedworkerglobalscope-postmessage>postMessage</a>(any message, optional sequence<<a href=#transferable id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:transferable>Transferable</a>> transfer);
            attribute <a href=#eventhandler id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:eventhandler>EventHandler</a> <a href=#handler-dedicatedworkerglobalscope-onmessage id=dedicated-workers-and-the-dedicatedworkerglobalscope-interface:handler-dedicatedworkerglobalscope-onmessage>onmessage</a>;
@@ -68956,7 +68956,7 @@
 
   <h5 id=shared-workers-and-the-sharedworkerglobalscope-interface>10.2.1.3 Shared workers and the <code id=shared-workers-and-the-sharedworkerglobalscope-interface:sharedworkerglobalscope><a href=#sharedworkerglobalscope>SharedWorkerGlobalScope</a></code> interface</h5>
 
-  <pre class=idl>[Global=Worker,SharedWorker]
+  <pre class=idl>[Global=(Worker,SharedWorker),Exposed=SharedWorker]
 /*sealed*/ interface <dfn id=sharedworkerglobalscope>SharedWorkerGlobalScope</dfn> : <a href=#workerglobalscope id=shared-workers-and-the-sharedworkerglobalscope-interface:workerglobalscope>WorkerGlobalScope</a> {
   readonly attribute DOMString <a href=#dom-sharedworkerglobalscope-name id=shared-workers-and-the-sharedworkerglobalscope-interface:dom-sharedworkerglobalscope-name>name</a>;
   readonly attribute <a href=#applicationcache id=shared-workers-and-the-sharedworkerglobalscope-interface:applicationcache>ApplicationCache</a> <a href=#dom-sharedworkerglobalscope-applicationcache id=shared-workers-and-the-sharedworkerglobalscope-interface:dom-sharedworkerglobalscope-applicationcache>applicationCache</a>;
@@ -69245,7 +69245,7 @@
 
   <h5 id=the-abstractworker-abstract-interface>10.2.6.1 The <code id=the-abstractworker-abstract-interface:abstractworker><a href=#abstractworker>AbstractWorker</a></code> abstract interface</h5>
 
-  <pre class=idl>[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class=idl>[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn id=abstractworker>AbstractWorker</dfn> {
            attribute <a href=#eventhandler id=the-abstractworker-abstract-interface:eventhandler>EventHandler</a> <a href=#handler-abstractworker-onerror id=the-abstractworker-abstract-interface:handler-abstractworker-onerror>onerror</a>;
 };</pre>
@@ -69326,7 +69326,7 @@
 
   <h5 id=dedicated-workers-and-the-worker-interface>10.2.6.3 Dedicated workers and the <code id=dedicated-workers-and-the-worker-interface:worker><a href=#worker>Worker</a></code> interface</h5>
 
-  <pre class=idl>[<a href=#dom-worker id=dedicated-workers-and-the-worker-interface:dom-worker>Constructor</a>(DOMString scriptURL), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-worker id=dedicated-workers-and-the-worker-interface:dom-worker>Constructor</a>(DOMString scriptURL), Exposed=(Window,Worker)]
 interface <dfn id=worker>Worker</dfn> : <a href=#eventtarget id=dedicated-workers-and-the-worker-interface:eventtarget>EventTarget</a> {
   void <a href=#dom-worker-terminate id=dedicated-workers-and-the-worker-interface:dom-worker-terminate>terminate</a>();
 
@@ -69408,7 +69408,7 @@
 
   <h5 id=shared-workers-and-the-sharedworker-interface>10.2.6.4 Shared workers and the <code id=shared-workers-and-the-sharedworker-interface:sharedworker><a href=#sharedworker>SharedWorker</a></code> interface</h5>
 
-  <pre class=idl>[<a href=#dom-sharedworker id=shared-workers-and-the-sharedworker-interface:dom-sharedworker>Constructor</a>(DOMString scriptURL, optional DOMString name), Exposed=Window,Worker]
+  <pre class=idl>[<a href=#dom-sharedworker id=shared-workers-and-the-sharedworker-interface:dom-sharedworker>Constructor</a>(DOMString scriptURL, optional DOMString name), Exposed=(Window,Worker)]
 interface <dfn id=sharedworker>SharedWorker</dfn> : <a href=#eventtarget id=shared-workers-and-the-sharedworker-interface:eventtarget>EventTarget</a> {
   readonly attribute <a href=#messageport id=shared-workers-and-the-sharedworker-interface:messageport>MessagePort</a> <a href=#dom-sharedworker-port id=shared-workers-and-the-sharedworker-interface:dom-sharedworker-port>port</a>;
 };

Modified: source
===================================================================
--- source	2014-09-05 21:55:29 UTC (rev 8751)
+++ source	2014-09-05 22:38:19 UTC (rev 8752)
@@ -7977,7 +7977,7 @@
   algorithms, one for getting the list of name-value pairs, one for setting names to certain values,
   and one for deleting names.</p>
 
-  <pre class="idl">[OverrideBuiltins, Exposed=Window,Worker]
+  <pre class="idl">[OverrideBuiltins, Exposed=(Window,Worker)]
 interface <dfn>DOMStringMap</dfn> {
   <span data-x="dom-DOMStringMap-namedItem">getter</span> DOMString (DOMString name);
   <span data-x="dom-DOMStringMap-setItem">setter</span> <span data-x="dom-DOMStringMap-addItem">creator</span> void (DOMString name, DOMString value);
@@ -59714,7 +59714,7 @@
   <p>Since DOM nodes cannot be accessed across worker boundaries, a proxy object is needed to enable
   workers to render to <code>canvas</code> elements in <code>Document</code>s.</p>
 
-  <pre class="idl">[Exposed=Window,Worker]
+  <pre class="idl">[Exposed=(Window,Worker)]
 interface <dfn>CanvasProxy</dfn> {
   void <span data-x="dom-CanvasProxy-setContext">setContext</span>(<span>RenderingContext</span> context);
 };
@@ -59863,7 +59863,7 @@
 
 enum <dfn>CanvasFillRule</dfn> { "<span data-x="dom-context-2d-fillRule-nonzero">nonzero</span>", "<span data-x="dom-context-2d-fillRule-evenodd">evenodd</span>" };
 
-[<span data-x="dom-context-2d">Constructor</span>(optional unsigned long width, unsigned long height), Exposed=Window,Worker]
+[<span data-x="dom-context-2d">Constructor</span>(optional unsigned long width, unsigned long height), Exposed=(Window,Worker)]
 interface <dfn>CanvasRenderingContext2D</dfn> {
 
   // back-reference to the canvas
@@ -59984,7 +59984,7 @@
 <span>CanvasRenderingContext2D</span> implements <span>CanvasDrawingStyles</span>;
 <span>CanvasRenderingContext2D</span> implements <span>CanvasPathMethods</span>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>CanvasDrawingStyles</dfn> {
   // line caps/joins
            attribute unrestricted double <span data-x="dom-context-2d-lineWidth">lineWidth</span>; // (default 1)
@@ -60004,7 +60004,7 @@
            attribute DOMString <span data-x="dom-context-2d-direction">direction</span>; // "ltr", "rtl"<!--, "auto"-->, "inherit" (default: "inherit")
 };
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>CanvasPathMethods</dfn> {
   // shared path API methods
   void <span data-x="dom-context-2d-closePath">closePath</span>();
@@ -60019,19 +60019,19 @@
   void <span data-x="dom-context-2d-ellipse">ellipse</span>(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); <!-- see ARC-ORDER note below -->
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn>CanvasGradient</dfn> {
   // opaque object
   void <span data-x="dom-canvasgradient-addColorStop">addColorStop</span>(double offset, DOMString color);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn>CanvasPattern</dfn> {
   // opaque object
   void <span data-x="dom-canvaspattern-setTransform">setTransform</span>(<span>SVGMatrix</span> transform);
 };
 
-[Exposed=Window,Worker]
+[Exposed=(Window,Worker)]
 interface <dfn>TextMetrics</dfn> {
   // x-direction
   readonly attribute double <span data-x="dom-textmetrics-width">width</span>; // advance width
@@ -60066,21 +60066,21 @@
 
 [<span data-x="dom-imagedata">Constructor</span>(unsigned long sw, unsigned long sh),
  <span data-x="dom-imagedata">Constructor</span>(<span>Uint8ClampedArray</span> data, unsigned long sw, optional unsigned long sh),
- Exposed=Window,Worker]
+ Exposed=(Window,Worker)]
 interface <dfn>ImageData</dfn> {
   readonly attribute unsigned long <span data-x="dom-imagedata-width">width</span>;
   readonly attribute unsigned long <span data-x="dom-imagedata-height">height</span>;
   readonly attribute <span>Uint8ClampedArray</span> <span data-x="dom-imagedata-data">data</span>;
 };
 
-[<span data-x="dom-DrawingStyle">Constructor</span>(optional <span>Element</span> scope), Exposed=Window,Worker]
+[<span data-x="dom-DrawingStyle">Constructor</span>(optional <span>Element</span> scope), Exposed=(Window,Worker)]
 interface <dfn>DrawingStyle</dfn> { };
 <span>DrawingStyle</span> implements <span>CanvasDrawingStyles</span>;
 
 [<span data-x="dom-Path2D">Constructor</span>,
  <span data-x="dom-Path2D-copy">Constructor</span>(<span>Path2D</span> path),
  <span data-x="dom-Path2D-merge">Constructor</span>(<span>Path2D</span>[] paths, optional <span>CanvasFillRule</span> fillRule = "<span data-x="dom-context-2d-fillRule-nonzero">nonzero</span>"),
- <span data-x="dom-Path2D-withdata">Constructor</span>(DOMString d), Exposed=Window,Worker]
+ <span data-x="dom-Path2D-withdata">Constructor</span>(DOMString d), Exposed=(Window,Worker)]
 interface <dfn>Path2D</dfn> {
   void <span data-x="dom-Path2D-addPath">addPath</span>(<span>Path2D</span> path, optional <span>SVGMatrix</span>? transformation = null);
   void <span data-x="dom-Path2D-addPathByStrokingPath">addPathByStrokingPath</span>(<span>Path2D</span> path, <span>CanvasDrawingStyles</span> styles, optional <span>SVGMatrix</span>? transformation = null);
@@ -77082,7 +77082,7 @@
 <!--TOPIC:DOM APIs-->
   <h3>The <code>Window</code> object</h3>
 
-  <pre class="idl">[PrimaryGlobal]
+  <pre class="idl">[PrimaryGlobal] <!-- Exposed=Window is implied because it's the primary global -->
 /*sealed*/ interface <dfn>Window</dfn> : <span>EventTarget</span> {
   // the current browsing context
   [Unforgeable] readonly attribute <span>WindowProxy</span> <span data-x="dom-window">window</span>;
@@ -81012,7 +81012,7 @@
 
   <h5>The <code>PopStateEvent</code> interface</h5>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>PopStateEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>PopStateEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>PopStateEvent</dfn> : <span>Event</span> {
   readonly attribute any <span data-x="dom-PopStateEvent-state">state</span>;
 };
@@ -81047,7 +81047,7 @@
 
   <h5>The <code>HashChangeEvent</code> interface</h5>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>HashChangeEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>HashChangeEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>HashChangeEvent</dfn> : <span>Event</span> {
   readonly attribute DOMString <span data-x="dom-HashChangeEvent-oldURL">oldURL</span>;
   readonly attribute DOMString <span data-x="dom-HashChangeEvent-newURL">newURL</span>;
@@ -81098,7 +81098,7 @@
 
   <h5>The <code>PageTransitionEvent</code> interface</h5>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>PageTransitionEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>PageTransitionEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>PageTransitionEvent</dfn> : <span>Event</span> {
   readonly attribute boolean <span data-x="dom-PageTransitionEvent-persisted">persisted</span>;
 };
@@ -83441,7 +83441,7 @@
 
   <h4>Application cache API</h4>
 
-  <pre class="idl">[Exposed=Window,SharedWorker]
+  <pre class="idl">[Exposed=(Window,SharedWorker)]
 interface <dfn>ApplicationCache</dfn> : <span>EventTarget</span> {
 
   // <span data-x="concept-appcache-status">update status</span>
@@ -83689,7 +83689,7 @@
 
   <h4>Browser state</h4>
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>NavigatorOnLine</dfn> {
   readonly attribute boolean <span data-x="dom-navigator-onLine">onLine</span>;
 };</pre>
@@ -84396,7 +84396,7 @@
 
   </div>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>ErrorEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>ErrorEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>ErrorEvent</dfn> : <span>Event</span> {
   readonly attribute DOMString <span data-x="dom-ErrorEvent-message">message</span>;
   readonly attribute DOMString <span data-x="dom-ErrorEvent-filename">filename</span>;
@@ -85668,7 +85668,7 @@
 
   <!-- v2: actual binary support -->
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>WindowBase64</dfn> {
   DOMString <span data-x="dom-windowbase64-btoa">btoa</span>(DOMString btoa);
   DOMString <span data-x="dom-windowbase64-atob">atob</span>(DOMString atob);
@@ -86372,7 +86372,7 @@
   and <code data-x="dom-windowtimers-setInterval">setInterval()</code>
   methods allow authors to schedule timer-based callbacks.</p>
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>WindowTimers</dfn> {
   long <span data-x="dom-windowtimers-setTimeout">setTimeout</span>(<span data-x="idl-Function">Function</span> handler, optional long timeout = 0, any... arguments);
   long <span data-x="dom-windowtimers-setTimeout">setTimeout</span>(DOMString handler, optional long timeout = 0, any... arguments);
@@ -87227,7 +87227,7 @@
 
   <h5>Client identification</h5>
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>NavigatorID</dfn> {
   readonly attribute DOMString <span data-x="dom-navigator-appCodeName">appCodeName</span>; // constant "Mozilla"
   readonly attribute DOMString <span data-x="dom-navigator-appName">appName</span>;
@@ -87347,7 +87347,7 @@
 
   <h5>Language preferences</h5>
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>NavigatorLanguage</dfn> {
   readonly attribute DOMString? <span data-x="dom-navigator-language">language</span>;
   readonly attribute DOMString[] <span data-x="dom-navigator-languages">languages</span>;
@@ -88676,7 +88676,7 @@
 
   <h3>Images</h3>
 
-  <pre class="idl">[Exposed=Window,Worker]
+  <pre class="idl">[Exposed=(Window,Worker)]
 interface <dfn>ImageBitmap</dfn> {
   readonly attribute unsigned long <span data-x="dom-ImageBitmap-width">width</span>;
   readonly attribute unsigned long <span data-x="dom-ImageBitmap-height">height</span>;
@@ -88690,7 +88690,7 @@
          <span>CanvasRenderingContext2D</span> or
          <span>ImageBitmap</span>) <dfn>ImageBitmapSource</dfn>;
 
-[NoInterfaceObject, Exposed=Window,Worker]
+[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>ImageBitmapFactories</dfn> {
   <span>Promise</span> <span data-x="dom-createImageBitmap">createImageBitmap</span>(<span>ImageBitmapSource</span> image, optional long sx, long sy, long sw, long sh);
 };
@@ -89122,7 +89122,7 @@
   <code>MessageEvent</code> interface for their <code data-x="event-message">message</code>
   events:</p>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>MessageEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>MessageEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>MessageEvent</dfn> : <span>Event</span> {
   readonly attribute any <span data-x="dom-MessageEvent-data">data</span>;
   readonly attribute DOMString <span data-x="dom-MessageEvent-origin">origin</span>;
@@ -89301,7 +89301,7 @@
 
   <h4>The <code>EventSource</code> interface</h4>
 
-  <pre class="idl">[<span data-x="dom-EventSource">Constructor</span>(DOMString url, optional <span>EventSourceInit</span> eventSourceInitDict), Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-EventSource">Constructor</span>(DOMString url, optional <span>EventSourceInit</span> eventSourceInitDict), Exposed=(Window,Worker)]
 interface <dfn>EventSource</dfn> : <span>EventTarget</span> {
   readonly attribute DOMString <span data-x="dom-EventSource-url">url</span>;
   readonly attribute boolean <span data-x="dom-EventSource-withCredentials">withCredentials</span>;
@@ -90182,7 +90182,7 @@
   <h4>The <code>WebSocket</code> interface</h4>
 
   <pre class="idl">enum <dfn>BinaryType</dfn> { "<span data-x="dom-BinaryType-blob">blob</span>", "<span data-x="dom-BinaryType-arraybuffer">arraybuffer</span>" };
-[<span data-x="dom-WebSocket">Constructor</span>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=Window,Worker]
+[<span data-x="dom-WebSocket">Constructor</span>(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=(Window,Worker)]
 interface <dfn>WebSocket</dfn> : <span>EventTarget</span> {
   readonly attribute DOMString <span data-x="dom-WebSocket-url">url</span>;
 
@@ -90936,7 +90936,7 @@
 
   <h4>The <code>CloseEvent</code> interfaces</h4>
 
-  <pre class="idl">[Constructor(DOMString type, optional <span>CloseEventInit</span> eventInitDict), Exposed=Window,Worker]
+  <pre class="idl">[Constructor(DOMString type, optional <span>CloseEventInit</span> eventInitDict), Exposed=(Window,Worker)]
 interface <dfn>CloseEvent</dfn> : <span>Event</span> {
   readonly attribute boolean <span data-x="dom-CloseEvent-wasClean">wasClean</span>;
   readonly attribute unsigned short <span data-x="dom-CloseEvent-code">code</span>;
@@ -91491,7 +91491,7 @@
 
   <h4>Message channels</h4>
 
-  <pre class="idl">[<span data-x="dom-MessageChannel">Constructor</span>, Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-MessageChannel">Constructor</span>, Exposed=(Window,Worker)]
 interface <dfn>MessageChannel</dfn> {
   readonly attribute <span>MessagePort</span> <span data-x="dom-MessageChannel-port1">port1</span>;
   readonly attribute <span>MessagePort</span> <span data-x="dom-MessageChannel-port2">port2</span>;
@@ -91568,7 +91568,7 @@
   <p>Each channel has two message ports. Data sent through one port is received by the other port,
   and vice versa.</p>
 
-  <pre class="idl">[Exposed=Window,Worker]
+  <pre class="idl">[Exposed=(Window,Worker)]
 interface <dfn>MessagePort</dfn> : <span>EventTarget</span> {
   void <span data-x="dom-MessagePort-postMessage">postMessage</span>(any message, optional sequence<<span>Transferable</span>> transfer);<!--
   <span>MessagePort</span> <span data-x="dom-MessagePort-startConversation">startConversation</span>(any message);-->
@@ -92059,7 +92059,7 @@
   they stop being relevant, while still allowing scripts to iterate over the
   <code>MessagePort</code> objects.</p>
 
-  <pre class="idl">[<span data-x="dom-PortCollection">Constructor</span>, Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-PortCollection">Constructor</span>, Exposed=(Window,Worker)]
 interface <dfn>PortCollection</dfn> {
   void <span data-x="dom-PortCollection-add">add</span>(<span>MessagePort</span> port);
   void <span data-x="dom-PortCollection-remove">remove</span>(<span>MessagePort</span> port);
@@ -92216,7 +92216,7 @@
   <p>For simple cases, though, where a shared worker would be an unreasonable overhead, authors can
   use the simple channel-based broadcast mechanism described in this section.</p>
 
-  <pre class="idl">[<span data-x="dom-BroadcastChannel">Constructor</span>(DOMString channel), Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-BroadcastChannel">Constructor</span>(DOMString channel), Exposed=(Window,Worker)]
 interface <dfn>BroadcastChannel</dfn> : <span>EventTarget</span> {
   readonly attribute DOMString <span data-x="dom-BroadcastChannel-name">name</span>;
   void <span data-x="dom-BroadcastChannel-postMessage">postMessage</span>(any message);
@@ -92913,7 +92913,7 @@
 
   <h5>Dedicated workers and the <code>DedicatedWorkerGlobalScope</code> interface</h5>
 
-  <pre class="idl">[Global=Worker,DedicatedWorker]
+  <pre class="idl">[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker]
 /*sealed*/ interface <dfn>DedicatedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   void <span data-x="dom-DedicatedWorkerGlobalScope-postMessage">postMessage</span>(any message, optional sequence<<span>Transferable</span>> transfer);<!--
   <span>MessagePort</span> <span data-x="dom-DedicatedWorkerGlobalScope-startConversation">startConversation</span>(any message);-->
@@ -92959,7 +92959,7 @@
 
   <h5>Shared workers and the <code>SharedWorkerGlobalScope</code> interface</h5>
 
-  <pre class="idl">[Global=Worker,SharedWorker]
+  <pre class="idl">[Global=(Worker,SharedWorker),Exposed=SharedWorker]
 /*sealed*/ interface <dfn>SharedWorkerGlobalScope</dfn> : <span>WorkerGlobalScope</span> {
   readonly attribute DOMString <span data-x="dom-SharedWorkerGlobalScope-name">name</span>;
   readonly attribute <span>ApplicationCache</span> <span data-x="dom-SharedWorkerGlobalScope-applicationCache">applicationCache</span>;
@@ -93334,7 +93334,7 @@
 
   <h5>The <code>AbstractWorker</code> abstract interface</h5>
 
-  <pre class="idl">[NoInterfaceObject, Exposed=Window,Worker]
+  <pre class="idl">[NoInterfaceObject, Exposed=(Window,Worker)]
 interface <dfn>AbstractWorker</dfn> {
            attribute <span>EventHandler</span> <span data-x="handler-AbstractWorker-onerror">onerror</span>;
 };</pre>
@@ -93461,7 +93461,7 @@
 
   <h5>Dedicated workers and the <code>Worker</code> interface</h5>
 
-  <pre class="idl">[<span data-x="dom-Worker">Constructor</span>(DOMString scriptURL), Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-Worker">Constructor</span>(DOMString scriptURL), Exposed=(Window,Worker)]
 interface <dfn>Worker</dfn> : <span>EventTarget</span> {
   void <span data-x="dom-Worker-terminate">terminate</span>();
 
@@ -93602,7 +93602,7 @@
 
   <h5>Shared workers and the <code>SharedWorker</code> interface</h5>
 
-  <pre class="idl">[<span data-x="dom-SharedWorker">Constructor</span>(DOMString scriptURL, optional DOMString name), Exposed=Window,Worker]
+  <pre class="idl">[<span data-x="dom-SharedWorker">Constructor</span>(DOMString scriptURL, optional DOMString name), Exposed=(Window,Worker)]
 interface <dfn>SharedWorker</dfn> : <span>EventTarget</span> {
   readonly attribute <span>MessagePort</span> <span data-x="dom-SharedWorker-port">port</span>;
 };



More information about the Commit-Watchers mailing list