@@ -371,18 +371,6 @@ urlPrefix: https://tc39.es/proposal-resizablearraybuffer/; spec: RESIZABLE-BUFFE
371371 .csstransforms #distinguishable-table thead th:last-child div span {
372372 border-bottom: none;
373373 }
374-
375- #toc .current,
376- #toc .current-parent {
377- border-right-width: 3px;
378- border-right-style: solid;
379- border-right-color: #3980B5;
380- }
381-
382- #toc .current {
383- background: rgba(75%, 75%, 75%, .25);
384- border-right-color: #054572;
385- }
386374</style>
387375
388376
@@ -1397,7 +1385,7 @@ Note: See also the similarly named [=callback function=] definition.
13971385
13981386[=Callback interfaces=] must define exactly one [=regular operation=].
13991387
1400- <div class="advisement ">
1388+ <div class="warning ">
14011389
14021390 Specification authors should not define
14031391 [=callback interfaces=]
@@ -1574,7 +1562,7 @@ A <dfn id="dfn-constant" export>constant</dfn> is a declaration (matching
15741562<emu-nt><a href="#prod-Const">Const</a></emu-nt>) used to bind a constant value to a name.
15751563Constants can appear on [=interfaces=] and [=callback interfaces=].
15761564
1577- <p class="advisement ">
1565+ <p class="warning ">
15781566 Constants have in the past primarily been used to define
15791567 named integer codes in the style of an enumeration. The Web platform
15801568 is moving away from this design pattern in favor of the use of strings.
@@ -2240,7 +2228,7 @@ corresponding argument omitted.
22402228 };
22412229</pre>
22422230
2243- <p class="advisement ">
2231+ <p class="warning ">
22442232 It is strongly suggested not to use a [=optional argument/default value=]
22452233 of <emu-val>true</emu-val> for {{boolean}}-typed arguments,
22462234 as this can be confusing for authors who might otherwise expect the default
@@ -4801,7 +4789,7 @@ members' entries might or might not [=map/exist=] in the dictionary value.
48014789 existing in the dictionary value otherwise.
48024790</p>
48034791
4804- <p class="advisement ">
4792+ <p class="warning ">
48054793 As with [=optional argument/default value|operation argument default values=], it is strongly
48064794 encouraged not to use <emu-val>true</emu-val> as the [=dictionary member/default value=] for
48074795 {{boolean}}-typed [=dictionary members=], as this can be confusing for authors who might
@@ -5184,7 +5172,7 @@ entails in the ECMAScript language binding.
51845172The <dfn id="dfn-error-names-table" export>error names table</dfn> below lists all the allowed error names
51855173for {{DOMException}}, a description, and legacy code values.
51865174
5187- <p class="advisement ">
5175+ <p class="warning ">
51885176 The {{DOMException}} names marked as deprecated are kept for legacy purposes but their usage is discouraged.
51895177</p>
51905178
@@ -5390,7 +5378,7 @@ as a comma-separated list of <emu-t class="regex"><a href="#prod-string">string<
53905378The list of [=enumeration values=]
53915379must not include duplicates.
53925380
5393- <p class="advisement ">
5381+ <p class="warning ">
53945382 It is strongly suggested that enumeration values be all lowercase,
53955383 and that multiple words be separated using dashes or not be
53965384 separated at all, unless there is a specific reason to use another
@@ -5988,7 +5976,7 @@ tokens.
59885976The [=type name=] of the
59895977{{float}} type is "<code>Float</code>".
59905978
5991- <p class="advisement ">
5979+ <p class="warning ">
59925980 Unless there are specific reasons to use a 32 bit floating point type,
59935981 specifications should use
59945982 {{double}} rather than {{float}},
@@ -6101,7 +6089,7 @@ can be set to [=value of string literal tokens|the value=] of a
61016089The [=type name=] of the
61026090{{ByteString}} type is "<code>ByteString</code>".
61036091
6104- <p class="advisement ">
6092+ <p class="warning ">
61056093 Specifications should only use
61066094 {{ByteString}} for interfacing with protocols
61076095 that use bytes and strings interchangeably, such as HTTP. In general,
@@ -6132,7 +6120,7 @@ can be set to [=value of string literal tokens|the value=] of a
61326120The [=type name=] of the
61336121{{USVString}} type is "<code>USVString</code>".
61346122
6135- <p class="advisement ">
6123+ <p class="warning ">
61366124 Specifications should only use
61376125 {{USVString}} for APIs that perform
61386126 text processing and need a string of Unicode
@@ -6511,7 +6499,7 @@ Each pair of [=flattened member types=]
65116499in a [=union type=], <var ignore>T</var> and <var ignore>U</var>,
65126500must be [=distinguishable=].
65136501
6514- <p class="advisement " id="limit-bigint-numeric-unions">
6502+ <p class="warning " id="limit-bigint-numeric-unions">
65156503It is possible to create a union of {{bigint}} and a [=numeric type=].
65166504However, this is generally only supposed to be used for interfaces such as
65176505[[ECMA-402#numberformat-objects|NumberFormat]], which formats the values rather than using them in
@@ -7103,7 +7091,7 @@ specifications may also override the definitions of any internal method or inter
71037091[=platform object=] that is an instance of an [=interface=]. These objects with changed semantics
71047092shall be treated in accordance with the rules for exotic objects.
71057093
7106- <p class="advisement ">
7094+ <p class="warning ">
71077095 As overriding internal ECMAScript object methods is a low level operation and
71087096 can result in objects that behave differently from ordinary objects,
71097097 this facility should not be used unless necessary
@@ -9029,7 +9017,7 @@ a reference to the same object that the IDL value represents.
90299017 |startingOffset|.
90309018</div>
90319019
9032- <div class="advisement ">
9020+ <div class="warning ">
90339021 Extreme care must be taken when writing specification text that
90349022 [=ArrayBuffer/writes=] into an {{ArrayBuffer}} or {{ArrayBufferView}}, as the underlying data
90359023 can easily be changed by the script author or other APIs at unpredictable times. This is
@@ -10356,7 +10344,7 @@ before proceeding.
1035610344
1035710345<h4 id="LegacyFactoryFunction" extended-attribute lt="LegacyFactoryFunction" oldids="NamedConstructor">[LegacyFactoryFunction]</h4>
1035810346
10359- <p class="advisement ">Instead of using this feature, give your interface a [=constructor operation=].</p>
10347+ <p class="warning ">Instead of using this feature, give your interface a [=constructor operation=].</p>
1036010348
1036110349If the [{{LegacyFactoryFunction}}]
1036210350[=extended attribute=]
@@ -10552,7 +10540,7 @@ is to be implemented.
1055210540
1055310541<h4 id="LegacyNamespace" extended-attribute lt="LegacyNamespace">[LegacyNamespace]</h4>
1055410542
10555- <p class="advisement ">Instead of using this feature, interface names can be formed with a naming
10543+ <p class="warning ">Instead of using this feature, interface names can be formed with a naming
1055610544convention of starting with a particular prefix for a set of interfaces, as part of the identifier,
1055710545without the intervening dot.</p>
1055810546
@@ -11445,7 +11433,7 @@ An interface may have <dfn export>overridden constructor steps</dfn>, which can
1144511433change the behavior of the [=interface object=] when called or constructed. By
1144611434default interfaces do not have such steps.
1144711435
11448- <p class="advisement ">
11436+ <p class="warning ">
1144911437 In general, constructors are described by defining a [=constructor operation=] and its behavior.
1145011438 The [=overridden constructor steps=] are used only for more complicated situations.
1145111439 Editors who wish to use this feature are strongly advised to discuss this by
@@ -15015,7 +15003,7 @@ The following typographic conventions are used in this document:
1501515003 This is an example.
1501615004 </div>
1501715005* Normative warnings:
15018- <p class="advisement ">
15006+ <p class="warning ">
1501915007 This is a warning.
1502015008 </p>
1502115009* Code blocks:
@@ -15118,134 +15106,4 @@ available under the
1511815106 /*! modernizr 3.3.1 (Custom Build) | MIT *
1511915107 * https://modernizr.com/download/?-csstransforms-setclasses !*/
1512015108 !function(e,n,t){function r(e,n){return typeof e===n}function o(){var e,n,t,o,s,i,a;for(var l in C)if(C.hasOwnProperty(l)){if(e=[],n=C[l],n.name&&(e.push(n.name.toLowerCase()),n.options&&n.options.aliases&&n.options.aliases.length))for(t=0;t<n.options.aliases.length;t++)e.push(n.options.aliases[t].toLowerCase());for(o=r(n.fn,"function")?n.fn():n.fn,s=0;s<e.length;s++)i=e[s],a=i.split("."),1===a.length?Modernizr[a[0]]=o:(!Modernizr[a[0]]||Modernizr[a[0]]instanceof Boolean||(Modernizr[a[0]]=new Boolean(Modernizr[a[0]])),Modernizr[a[0]][a[1]]=o),g.push((o?"":"no-")+a.join("-"))}}function s(e){var n=_.className,t=Modernizr._config.classPrefix||"";if(S&&(n=n.baseVal),Modernizr._config.enableJSClass){var r=new RegExp("(^|\\s)"+t+"no-js(\\s|$)");n=n.replace(r,"$1"+t+"js$2")}Modernizr._config.enableClasses&&(n+=" "+t+e.join(" "+t),S?_.className.baseVal=n:_.className=n)}function i(e,n){return!!~(""+e).indexOf(n)}function a(){return"function"!=typeof n.createElement?n.createElement(arguments[0]):S?n.createElementNS.call(n,"http://www.w3.org/2000/svg",arguments[0]):n.createElement.apply(n,arguments)}function l(e){return e.replace(/([a-z])-([a-z])/g,function(e,n,t){return n+t.toUpperCase()}).replace(/^-/,"")}function f(e,n){return function(){return e.apply(n,arguments)}}function u(e,n,t){var o;for(var s in e)if(e[s]in n)return t===!1?e[s]:(o=n[e[s]],r(o,"function")?f(o,t||n):o);return!1}function d(e){return e.replace(/(\[A-Z])/g,function(e,n){return"-"+n.toLowerCase()}).replace(/^ms-/,"-ms-")}function c(){var e=n.body;return e||(e=a(S?"svg":"body"),e.fake=!0),e}function p(e,t,r,o){var s,i,l,f,u="modernizr",d=a("div"),p=c();if(parseInt(r,10))for(;r--;)l=a("div"),l.id=o?o[r]:u+(r+1),d.appendChild(l);return s=a("style"),s.type="text/css",s.id="s"+u,(p.fake?p:d).appendChild(s),p.appendChild(d),s.styleSheet?s.styleSheet.cssText=e:s.appendChild(n.createTextNode(e)),d.id=u,p.fake&&(p.style.background="",p.style.overflow="hidden",f=_.style.overflow,_.style.overflow="hidden",_.appendChild(p)),i=t(d,e),p.fake?(p.parentNode.removeChild(p),_.style.overflow=f,_.offsetHeight):d.parentNode.removeChild(d),!!i}function m(n,r){var o=n.length;if("CSS"in e&&"supports"in e.CSS){for(;o--;)if(e.CSS.supports(d(n[o]),r))return!0;return!1}if("CSSSupportsRule"in e){for(var s=[];o--;)s.push("("+d(n[o])+":"+r+")");return s=s.join(" or "),p("@supports ("+s+") { #modernizr { position: absolute; } }",function(e){return"absolute"==getComputedStyle(e,null).position})}return t}function h(e,n,o,s){function f(){d&&(delete z.style,delete z.modElem)}if(s=r(s,"undefined")?!1:s,!r(o,"undefined")){var u=m(e,o);if(!r(u,"undefined"))return u}for(var d,c,p,h,v,y=["modernizr","tspan","samp"];!z.style&&y.length;)d=!0,z.modElem=a(y.shift()),z.style=z.modElem.style;for(p=e.length,c=0;p>c;c++)if(h=e[c],v=z.style[h],i(h,"-")&&(h=l(h)),z.style[h]!==t){if(s||r(o,"undefined"))return f(),"pfx"==n?h:!0;try{z.style[h]=o}catch(g){}if(z.style[h]!=v)return f(),"pfx"==n?h:!0}return f(),!1}function v(e,n,t,o,s){var i=e.charAt(0).toUpperCase()+e.slice(1),a=(e+" "+b.join(i+" ")+i).split(" ");return r(n,"string")||r(n,"undefined")?h(a,n,o,s):(a=(e+" "+E.join(i+" ")+i).split(" "),u(a,n,t))}function y(e,n,r){return v(e,t,t,n,r)}var g=[],C=[],w={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(e,n){var t=this;setTimeout(function(){n(t[e])},0)},addTest:function(e,n,t){C.push({name:e,fn:n,options:t})},addAsyncTest:function(e){C.push({name:null,fn:e})}},Modernizr=function(){};Modernizr.prototype=w,Modernizr=new Modernizr;var _=n.documentElement,S="svg"===_.nodeName.toLowerCase(),x="Moz O ms Webkit",b=w._config.usePrefixes?x.split(" "):[];w._cssomPrefixes=b;var E=w._config.usePrefixes?x.toLowerCase().split(" "):[];w._domPrefixes=E;var P={elem:a("modernizr")};Modernizr._q.push(function(){delete P.elem});var z={style:P.elem.style};Modernizr._q.unshift(function(){delete z.style}),w.testAllProps=v,w.testAllProps=y,Modernizr.addTest("csstransforms",function(){return-1===navigator.userAgent.indexOf("Android 2.")&&y("transform","scale(1)",!0)}),o(),s(g),delete w.addTest,delete w.addAsyncTest;for(var N=0;N<Modernizr._q.length;N++)Modernizr._q\[N]();e.Modernizr=Modernizr}(window,document);
15121-
15122- // Scrollspy
15123- var createScrollSpy = (function() {
15124-
15125- function targetId(element) {
15126- return (element.href || "").split("#")[1] || null;
15127- }
15128-
15129- function getScrollTop() {
15130- return (window.pageYOffset !== undefined)
15131- ? window.pageYOffset
15132- : (document.documentElement || document.body.parentNode || document.body).scrollTop;
15133- }
15134-
15135- function addClassToParents(element, className, parentClassName) {
15136- do {
15137- element = element.parentNode;
15138- } while (element && element.tagName != "LI")
15139- if (element) {
15140- var a = element.querySelector("a");
15141- if (a) a.className = className;
15142- addClassToParents(element, parentClassName ? parentClassName : className);
15143- }
15144- }
15145-
15146- function getPosition(element, container) {
15147- var eR = element.getBoundingClientRect();
15148- var cR = container.getBoundingClientRect();
15149- if (eR.bottom < cR.top) return "above";
15150- if (eR.top > cR.bottom) return "below";
15151- return "visible";
15152- }
15153-
15154- function createScrollSpy(options) {
15155- options = options || {};
15156-
15157- var OFFSET = 80,
15158- needsUpdate = false,
15159- previous = null,
15160- current = null,
15161- currentNav = null,
15162- tocContainer,
15163- toc,
15164- sections;
15165-
15166- tocContainer = document.querySelector(options.id);
15167- toc = [].slice.call(tocContainer.querySelectorAll("a"), 0);
15168- sections = toc.reduce(function(sections, a) {
15169- var id = targetId(a);
15170- var section = id ? document.getElementById(id) : null;
15171- if (section) { sections.push(section); }
15172- return sections;
15173- }, []);
15174-
15175- function onscroll() {
15176- if (!needsUpdate) {
15177- needsUpdate = true;
15178- requestAnimationFrame(updatePosition);
15179- }
15180- }
15181-
15182- function updatePosition() {
15183- needsUpdate = false;
15184- var scrollTop = (options.offset || 0) + getScrollTop();
15185- current = sections.filter(function(section){
15186- return section.offsetTop < scrollTop;
15187- }).pop();
15188- current = current ? current.id : null;
15189-
15190- if (previous !== current) {
15191- previous = current;
15192- toc.forEach(function(a) {
15193- if (targetId(a) == current) {
15194- currentNav = a;
15195- } else {
15196- a.className = "";
15197- }
15198- });
15199- if (options.markParents) {
15200- addClassToParents(currentNav, options.className, options.parentClassName)
15201- } else {
15202- currentNav.className = options.className;
15203- }
15204- if (options.scrollIntoView && typeof currentNav.scrollIntoView == "function") {
15205- var p = getPosition(currentNav, tocContainer);
15206- if (p == "above") {
15207- currentNav.scrollIntoView(true);
15208- } else if (p == "below") {
15209- currentNav.scrollIntoView(false);
15210- }
15211- }
15212- }
15213- }
15214-
15215- return {
15216- start: function() {
15217- window.addEventListener("scroll", onscroll, false);
15218- },
15219-
15220- stop: function() {
15221- window.removeEventListener("scroll", onscroll, false);
15222- toc.forEach(function(a) {
15223- a.className = "";
15224- });
15225- }
15226- }
15227- }
15228-
15229- return createScrollSpy;
15230- })();
15231-
15232- (function() {
15233- var spy = createScrollSpy({
15234- offset: 80,
15235- id: "#toc",
15236- className: "current",
15237- parentClassName: "current-parent",
15238- markParents: true,
15239- scrollIntoView: true
15240- });
15241-
15242- var mm = window.matchMedia('screen and (min-width: 78em)');
15243- if (mm.matches) {
15244- spy.start();
15245- }
15246- mm.addListener(function(m) {
15247- if (m.matches) spy.start();
15248- else spy.stop();
15249- });
15250- })();
1525115109</script>
0 commit comments