Title: [290119] trunk
Revision
290119
Author
commit-qu...@webkit.org
Date
2022-02-18 00:50:17 -0800 (Fri, 18 Feb 2022)

Log Message

[JSC] Enable Shadow Realms support by default
https://bugs.webkit.org/show_bug.cgi?id=236673

Patch by Joseph Griego <jgri...@igalia.com> on 2022-02-18
Reviewed by Yusuke Suzuki.

LayoutTests/imported/w3c:

Enabling this flag causes the new WPT test to partially pass (since
ShadowRealm is available on Window) but does not completely pass
because shadow realm contexts do not yet have the required web APIs
exposed.

* web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt:

Source/_javascript_Core:

The implementaiton in JSC is complete and should be correct and
reasonably fast now; so, enable it without requiring the flag.

Should be covered by EWS and existing tests of shadow realms functionality.

* runtime/OptionsList.h:

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (290118 => 290119)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-18 08:48:24 UTC (rev 290118)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2022-02-18 08:50:17 UTC (rev 290119)
@@ -1,3 +1,17 @@
+2022-02-18  Joseph Griego  <jgri...@igalia.com>
+
+        [JSC] Enable Shadow Realms support by default
+        https://bugs.webkit.org/show_bug.cgi?id=236673
+
+        Reviewed by Yusuke Suzuki.
+
+        Enabling this flag causes the new WPT test to partially pass (since
+        ShadowRealm is available on Window) but does not completely pass
+        because shadow realm contexts do not yet have the required web APIs
+        exposed.
+
+        * web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt:
+
 2022-02-17  Jon Lee  <jon...@apple.com>
 
         Unreviewed gardening. Update fuzzy data.

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt (290118 => 290119)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt	2022-02-18 08:48:24 UTC (rev 290118)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/idlharness-shadowrealm.window-expected.txt	2022-02-18 08:50:17 UTC (rev 290119)
@@ -1,4 +1,133 @@
 
-Harness Error (FAIL), message = ReferenceError: Can't find variable: ShadowRealm
+PASS setup
+PASS Partial interface Window: original interface defined
+PASS Partial interface Window: member names are unique
+PASS Partial interface Document: member names are unique
+PASS Partial interface Document[2]: member names are unique
+PASS Partial interface Window[2]: member names are unique
+PASS Document includes NonElementParentNode: member names are unique
+PASS DocumentFragment includes NonElementParentNode: member names are unique
+PASS Document includes ParentNode: member names are unique
+PASS DocumentFragment includes ParentNode: member names are unique
+PASS Element includes ParentNode: member names are unique
+PASS Element includes NonDocumentTypeChildNode: member names are unique
+PASS CharacterData includes NonDocumentTypeChildNode: member names are unique
+PASS DocumentType includes ChildNode: member names are unique
+PASS Element includes ChildNode: member names are unique
+PASS CharacterData includes ChildNode: member names are unique
+PASS Element includes Slottable: member names are unique
+PASS Text includes Slottable: member names are unique
+PASS Document includes XPathEvaluatorBase: member names are unique
+PASS XPathEvaluator includes XPathEvaluatorBase: member names are unique
+PASS Document includes GlobalEventHandlers: member names are unique
+PASS Document includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes GlobalEventHandlers: member names are unique
+PASS HTMLElement includes DocumentAndElementEventHandlers: member names are unique
+PASS HTMLElement includes ElementContentEditable: member names are unique
+PASS HTMLElement includes HTMLOrSVGElement: member names are unique
+PASS Window includes GlobalEventHandlers: member names are unique
+PASS Window includes WindowEventHandlers: member names are unique
+PASS Window includes WindowOrWorkerGlobalScope: member names are unique
+PASS Window includes AnimationFrameProvider: member names are unique
+PASS Window includes WindowSessionStorage: member names are unique
+PASS Window includes WindowLocalStorage: member names are unique
+FAIL Event interface: existence and properties of interface object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface object length assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface object name assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: existence and properties of interface prototype object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute type assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute target assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute srcElement assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute currentTarget assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: operation composedPath() assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant NONE on interface object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant NONE on interface prototype object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant CAPTURING_PHASE on interface object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant CAPTURING_PHASE on interface prototype object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant AT_TARGET on interface object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant AT_TARGET on interface prototype object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant BUBBLING_PHASE on interface object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: constant BUBBLING_PHASE on interface prototype object assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute eventPhase assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: operation stopPropagation() assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute cancelBubble assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: operation stopImmediatePropagation() assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute bubbles assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute cancelable assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute returnValue assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: operation preventDefault() assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute defaultPrevented assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute composed assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: attribute timeStamp assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL Event interface: operation initEvent(DOMString, optional boolean, optional boolean) assert_own_property: self does not have own property "Event" expected property "Event" missing
+FAIL CustomEvent interface: existence and properties of interface object assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface object length assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface object name assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface: existence and properties of interface prototype object assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface: attribute detail assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL CustomEvent interface: operation initCustomEvent(DOMString, optional boolean, optional boolean, optional any) assert_own_property: self does not have own property "CustomEvent" expected property "CustomEvent" missing
+FAIL EventTarget interface: existence and properties of interface object assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface object length assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface object name assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: existence and properties of interface prototype object assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: operation addEventListener(DOMString, EventListener?, optional (AddEventListenerOptions or boolean)) assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: operation removeEventListener(DOMString, EventListener?, optional (EventListenerOptions or boolean)) assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+FAIL EventTarget interface: operation dispatchEvent(Event) assert_own_property: self does not have own property "EventTarget" expected property "EventTarget" missing
+PASS EventListener interface: existence and properties of interface object
+FAIL AbortController interface: existence and properties of interface object assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface object length assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface object name assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: attribute signal assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: operation abort(optional any) assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortSignal interface: existence and properties of interface object assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface object length assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface object name assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: existence and properties of interface prototype object assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: operation abort(optional any) assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: attribute aborted assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: attribute reason assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: operation throwIfAborted() assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: attribute onabort assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+PASS NodeList interface: existence and properties of interface object
+PASS HTMLCollection interface: existence and properties of interface object
+PASS MutationObserver interface: existence and properties of interface object
+PASS MutationRecord interface: existence and properties of interface object
+PASS Node interface: existence and properties of interface object
+PASS Document interface: existence and properties of interface object
+PASS XMLDocument interface: existence and properties of interface object
+PASS DOMImplementation interface: existence and properties of interface object
+PASS DocumentType interface: existence and properties of interface object
+PASS DocumentFragment interface: existence and properties of interface object
+PASS ShadowRoot interface: existence and properties of interface object
+PASS Element interface: existence and properties of interface object
+PASS NamedNodeMap interface: existence and properties of interface object
+PASS Attr interface: existence and properties of interface object
+PASS CharacterData interface: existence and properties of interface object
+PASS Text interface: existence and properties of interface object
+PASS CDATASection interface: existence and properties of interface object
+PASS ProcessingInstruction interface: existence and properties of interface object
+PASS Comment interface: existence and properties of interface object
+PASS AbstractRange interface: existence and properties of interface object
+PASS StaticRange interface: existence and properties of interface object
+PASS Range interface: existence and properties of interface object
+PASS NodeIterator interface: existence and properties of interface object
+PASS TreeWalker interface: existence and properties of interface object
+PASS NodeFilter interface: existence and properties of interface object
+PASS DOMTokenList interface: existence and properties of interface object
+PASS XPathResult interface: existence and properties of interface object
+PASS XPathExpression interface: existence and properties of interface object
+PASS XPathNSResolver interface: existence and properties of interface object
+PASS XPathEvaluator interface: existence and properties of interface object
+PASS XSLTProcessor interface: existence and properties of interface object
 
-

Modified: trunk/Source/_javascript_Core/ChangeLog (290118 => 290119)


--- trunk/Source/_javascript_Core/ChangeLog	2022-02-18 08:48:24 UTC (rev 290118)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-02-18 08:50:17 UTC (rev 290119)
@@ -1,3 +1,17 @@
+2022-02-18  Joseph Griego  <jgri...@igalia.com>
+
+        [JSC] Enable Shadow Realms support by default
+        https://bugs.webkit.org/show_bug.cgi?id=236673
+
+        Reviewed by Yusuke Suzuki.
+
+        The implementaiton in JSC is complete and should be correct and
+        reasonably fast now; so, enable it without requiring the flag.
+
+        Should be covered by EWS and existing tests of shadow realms functionality.
+
+        * runtime/OptionsList.h:
+
 2022-02-18  Saam Barati  <sbar...@apple.com>
 
         Add LC_SOURCE_VERSION to compile targets

Modified: trunk/Source/_javascript_Core/runtime/OptionsList.h (290118 => 290119)


--- trunk/Source/_javascript_Core/runtime/OptionsList.h	2022-02-18 08:48:24 UTC (rev 290118)
+++ trunk/Source/_javascript_Core/runtime/OptionsList.h	2022-02-18 08:50:17 UTC (rev 290119)
@@ -544,8 +544,7 @@
     v(Bool, useImportAssertion, false, Normal, "Enable import assertion.") \
     v(Bool, useIntlEnumeration, true, Normal, "Expose the Intl enumeration APIs.") \
     v(Bool, useSharedArrayBuffer, false, Normal, nullptr) \
-    /* FIXME: ShadownRealm can be enabled once WebCore's JSGlobalObject == JSDOMGlobalObject assumption is removed,  https://bugs.webkit.org/show_bug.cgi?id=231506 */\
-    v(Bool, useShadowRealm, false, Normal, "Expose the ShadowRealm object.") \
+    v(Bool, useShadowRealm, true, Normal, "Expose the ShadowRealm object.") \
     v(Bool, useTemporal, false, Normal, "Expose the Temporal object.") \
     v(Bool, useWebAssemblyThreading, true, Normal, "Allow instructions from the wasm threading spec.") \
     v(Bool, useWebAssemblyTypedFunctionReferences, false, Normal, "Allow function types from the wasm typed function references spec.") \
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to