From f1250681ef9a2c98f17c15c131f52d2d127d66aa Mon Sep 17 00:00:00 2001
From: Shu-yu Guo Let size be value.[[ArrayBufferByteLength]]. If ! IsSharedArrayBuffer(value) is true, then:
+ If IsSharedArrayBuffer(value) is true, then:
Otherwise: If ! IsDetachedBuffer(value) is true, then throw a
+ If IsDetachedBuffer(value) is true, then throw a
"
-
DataCloneError
" DOMException
.
Perform ! CopyDataBlockBytes(dataCopy, 0, +
Perform CopyDataBlockBytes(dataCopy, 0, value.[[ArrayBufferData]], 0, size).
Set serialized to { [[Type]]: "ArrayBuffer", [[ArrayBufferData]]: @@ -8853,7 +8853,7 @@ o.myself = o;
Let message be serialized.[[Message]].
Set value to ! ObjectCreate(prototype, « +
Set value to OrdinaryObjectCreate(prototype, « [[ErrorData]] »).
Let messageDesc be PropertyDescriptor{ [[Value]]:
@@ -9004,7 +9004,7 @@ o.myself = o;
[[Detached]] internal slot, then throw a
"DataCloneError
" DOMException
.
If transferable has an [[ArrayBufferData]] internal slot and ! +
If transferable has an [[ArrayBufferData]] internal slot and
IsSharedArrayBuffer(transferable) is true, then throw a
"DataCloneError
" DOMException
.
If transferable has an [[ArrayBufferData]] internal slot and ! +
If transferable has an [[ArrayBufferData]] internal slot and
IsDetachedBuffer(transferable) is true, then throw a
"DataCloneError
" DOMException
.
new MyCustomElement()
.
- Let prototype be Get(NewTarget, - "prototype"). Rethrow any exceptions.
Let prototype be ? Get(NewTarget, + "prototype").
If Type(prototype) is not Object, then:
Let realm be GetFunctionRealm(NewTarget).
Let realm be ? GetFunctionRealm(NewTarget).
Set prototype to the interface prototype object of realm whose interface is the same as the interface of the active function @@ -10720,8 +10720,7 @@ class DontDoThis extends HTMLElement {
Perform element.[[SetPrototypeOf]](prototype). Rethrow any - exceptions.
Perform ? element.[[SetPrototypeOf]](prototype).
Replace the last entry in definition's construction stack with an @@ -49536,8 +49535,9 @@ ldh-str = < as defined in u").
If regexpCompletion is an abrupt completion, then return nothing. The - element has no compiled pattern regular expression.
+If regexpCompletion is an abrupt + completion, then return nothing. The element has no compiled pattern regular + expression.
User agents are encouraged to log this error in a developer console, to aid debugging.
@@ -69224,8 +69224,8 @@ dictionary ElementDefinitionOptions {Run the following substeps while catching any exceptions:
Let prototype be Get(constructor, - "prototype"). Rethrow any exceptions.
Let prototype be ? Get(constructor, + "prototype").
If Type(prototype) is not Object, then throw a
TypeError
exception.
Let callbackValue be Get(prototype, - callbackName). Rethrow any exceptions.
+Let callbackValue be ? Get(prototype, + callbackName).
If callbackValue is not undefined, then set the value of the entry in lifecycleCallbacks with key callbackName to the result of ElementDefinitionOptions { data-x="">attributeChangedCallback" is not null, then:
Let observedAttributesIterable be Get(constructor, "observedAttributes"). Rethrow any - exceptions.
Let observedAttributesIterable be ? Get(constructor, "observedAttributes").
If observedAttributesIterable is not undefined, then set
observedAttributes to the result of ElementDefinitionOptions {
Let disabledFeatures be an empty Let disabledFeaturesIterable be Get(constructor, "disabledFeatures"). Rethrow any
- exceptions. Let disabledFeaturesIterable be ? Get(constructor, "disabledFeatures"). If disabledFeaturesIterable is not undefined, then set
disabledFeatures to the result of ElementDefinitionOptions {
Set disableShadow to true if disabledFeatures contains " Let formAssociatedValue be Get(
- constructor, "formAssociated"). Rethrow any exceptions. Let formAssociatedValue be ? Get(
+ constructor, "formAssociated"). Set formAssociated to the result of
converting formAssociatedValue to a
@@ -69299,8 +69297,8 @@ dictionary ElementDefinitionOptions {
" Let callbackValue be Get(prototype,
- callbackName). Rethrow any exceptions. Let callbackValue be ? Get(prototype,
+ callbackName). If callbackValue is not undefined, then set the value of the entry in
lifecycleCallbacks with key callbackName to the result of
For each e of ! CrossOriginProperties(platformObject): For each e of CrossOriginProperties(platformObject): If ! IsPlatformObjectSameOrigin(platformObject) is false, then
+ If IsPlatformObjectSameOrigin(platformObject) is false, then
throw a "sequence<DOMString>
.shadow
".formStateRestoreCallback
" callbackName:
-
@@ -81439,6 +81437,8 @@ console.assert(iframeWindow.frameElement === null);
{ [[Property]]: "
SecurityError
" DOMException
.postMessage
" } ».
This abstract operation does not return a Completion Record.
+Indexed properties do not need to be safelisted in this algorithm, as they are
handled directly by the WindowProxy
object.
This abstract operation does not return a Completion Record.
+Here the current settings object roughly corresponds to the "caller", because this check occurs before the execution context for the getter/setter/method in question makes its way onto the JavaScript @@ -81492,7 +81494,7 @@ console.assert(iframeWindow.frameElement === null); object, O's relevant settings object, and P.
For each e of ! CrossOriginProperties(O):
+For each e of CrossOriginProperties(O):
Let value be originalDesc.[[Value]].
If ! IsCallable(value) is true, then set value to +
If IsCallable(value) is true, then set value to an anonymous built-in function, created in the current Realm Record, that performs the same steps as the IDL operation P on object O.
Return undefined.
This abstract operation does not return a Completion Record.
+The reason that the property descriptors produced here are configurable is to preserve the invariants of the essential internal methods required by the JavaScript specification. In particular, since the value of the property can change as a consequence of @@ -81584,7 +81588,7 @@ console.assert(iframeWindow.frameElement === null);
Assert: desc is not undefined.
If ! IsDataDescriptor(desc) is true, then return +
If IsDataDescriptor(desc) is true, then return desc.[[Value]].
Assert: IsAccessorDescriptor(desc) is true.
Let keys be a new empty List.
For each e of ! CrossOriginProperties(O), For each e of CrossOriginProperties(O), append e.[[Property]] to keys.
Return the concatenation of keys and « "then
",
@@ -81632,6 +81636,8 @@ console.assert(iframeWindow.frameElement === null);
».
This abstract operation does not return a Completion Record.
+ @@ -82748,7 +82754,7 @@ interface BarProp { [[Window]] internal slot of this.If ! IsPlatformObjectSameOrigin(W) is true, then return ! +
If IsPlatformObjectSameOrigin(W) is true, then return ! OrdinaryGetPrototypeOf(W).
Return null.
If value is undefined, then:
If ! IsPlatformObjectSameOrigin(W) is true, then return +
If IsPlatformObjectSameOrigin(W) is true, then return undefined.
Throw a "SecurityError
" DOMException
.
If ! IsPlatformObjectSameOrigin(W) is true, then return ! +
If IsPlatformObjectSameOrigin(W) is true, then return ! OrdinaryGetOwnProperty(W, P).
This is a willful violation of the JavaScript specification's @@ -82830,7 +82836,7 @@ interface BarProp { issue #672 for more information.
Let property be ! CrossOriginGetOwnPropertyHelper(W, +
Let property be CrossOriginGetOwnPropertyHelper(W, P).
If property is not undefined, then return property.
If ! IsPlatformObjectSameOrigin(W) is true, then: +
If IsPlatformObjectSameOrigin(W) is true, then:
If P is an array index property name, return false.
If ! IsPlatformObjectSameOrigin(W) is true, then return ? +
If IsPlatformObjectSameOrigin(W) is true, then return ? OrdinaryGet(this, P, Receiver).
Return ? CrossOriginGet(this, P, @@ -82925,7 +82931,7 @@ interface BarProp { and the current settings object.
If ! IsPlatformObjectSameOrigin(W) is true, then:
+If IsPlatformObjectSameOrigin(W) is true, then:
If P is an array index property name, @@ -82954,7 +82960,7 @@ interface BarProp { this.
If ! IsPlatformObjectSameOrigin(W) is true, then: +
If IsPlatformObjectSameOrigin(W) is true, then:
If ! IsPlatformObjectSameOrigin(W) is true, then return the - concatenation of keys and ! +
If IsPlatformObjectSameOrigin(W) is true, then return the + concatenation of keys and OrdinaryOwnPropertyKeys(W).
Return the concatenation of keys and ! @@ -86299,8 +86305,8 @@ interface History { methods that are invoked on a timer, or from event listeners that are not triggered in response to a clear user action, or that are invoked in rapid succession.)
Let serializedData be - StructuredSerializeForStorage(data). Rethrow any exceptions.
Let serializedData be ? + StructuredSerializeForStorage(data).
Let newURL be the session history's current entry's URL.
Let property be ! CrossOriginGetOwnPropertyHelper(this, +
Let property be CrossOriginGetOwnPropertyHelper(this, P).
If property is not undefined, then return property.
If ! IsPlatformObjectSameOrigin(this) is true, then return ? +
If IsPlatformObjectSameOrigin(this) is true, then return ? OrdinaryGet(this, P, Receiver).
Return ? CrossOriginGet(this, P,
@@ -87437,7 +87443,7 @@ interface Location { // but see also [[Set]] ( P, V, Receiver )
If ! IsPlatformObjectSameOrigin(this) is true, then return ?
+ If IsPlatformObjectSameOrigin(this) is true, then return ?
OrdinarySet(this, P, V, Receiver). Return ? CrossOriginSet(this, P, V,
@@ -87447,7 +87453,7 @@ interface Location { // but see also [[Delete]] ( P )
If ! IsPlatformObjectSameOrigin(this) is true, then return ?
+ If IsPlatformObjectSameOrigin(this) is true, then return ?
OrdinaryDelete(this, P). Throw a " If ! IsPlatformObjectSameOrigin(this) is true, then return !
+ If IsPlatformObjectSameOrigin(this) is true, then return
OrdinaryOwnPropertyKeys(this). Return ! CrossOriginOwnPropertyKeys(this). Return CrossOriginOwnPropertyKeys(this). Let result be undefined if evaluationStatus is an abrupt
- completion or evaluationStatus.[[Value]] is empty, or
- evaluationStatus.[[Value]] otherwise. Let result be undefined if evaluationStatus is an abrupt completion or evaluationStatus.[[Value]] is
+ empty, or evaluationStatus.[[Value]] otherwise. If Type(result) is String, then set
@@ -93243,7 +93249,8 @@ document.querySelector("button").addEventListener("click", bound);
If evaluationStatus is an abrupt completion, then: If evaluationStatus is an abrupt
+ completion, then: Clean up after running script with entry. If result is an abrupt completion, then report the
- exception given by result.[[Value]]. If result is an abrupt completion,
+ then report the exception given by result.[[Value]]. If job settings is not null, then clean up after running script
with job settings.
-
@@ -93925,8 +93932,8 @@ dictionary PromiseRejectionEventInit : EventInit
-
SecurityError
" DOMException
.
-
@@ -88561,9 +88567,9 @@ interface Location { // but see also running the classic script script.
If result is an abrupt completion, then report the - exception given by result.[[Value]].
If result is an abrupt completion, + then report the exception given by result.[[Value]].