Diff
Modified: trunk/LayoutTests/ChangeLog (267010 => 267011)
--- trunk/LayoutTests/ChangeLog 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/ChangeLog 2020-09-14 15:28:02 UTC (rev 267011)
@@ -1,3 +1,17 @@
+2020-09-14 Sam Weinig <[email protected]>
+
+ [WebIDL] Split DOM Parsing related functions out of Element and ShadowRoot and into their own IDL files to match specs
+ https://bugs.webkit.org/show_bug.cgi?id=216461
+
+ Reviewed by Darin Adler.
+
+ * js/dom/dom-static-property-for-in-iteration-expected.txt:
+ * platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt:
+ * platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
+ * platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt:
+ * platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt:
+ Update for change in iteration order due to use of partial interfaces.
+
2020-09-14 Philippe Normand <[email protected]>
[Flatpak SDK] Migration to SDK 0.3 branch
Modified: trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt (267010 => 267011)
--- trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -151,11 +151,11 @@
PASS a["clientLeft"] is 0
PASS a["clientWidth"] is 0
PASS a["clientHeight"] is 0
-PASS a["innerHTML"] is nerget
-PASS a["outerHTML"] is <a id="foo" href=""
PASS a["oncopy"] is null
PASS a["oncut"] is null
PASS a["onpaste"] is null
+PASS a["outerHTML"] is <a id="foo" href=""
+PASS a["innerHTML"] is nerget
PASS a["previousElementSibling"] is [object HTMLDivElement]
PASS a["nextElementSibling"] is [object HTMLScriptElement]
PASS a["children"] is [object HTMLCollection]
Modified: trunk/LayoutTests/platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt (267010 => 267011)
--- trunk/LayoutTests/platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/platform/gtk/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -154,11 +154,11 @@
PASS a["clientLeft"] is 0
PASS a["clientWidth"] is 0
PASS a["clientHeight"] is 0
-PASS a["innerHTML"] is nerget
-PASS a["outerHTML"] is <a id="foo" href=""
PASS a["oncopy"] is null
PASS a["oncut"] is null
PASS a["onpaste"] is null
+PASS a["outerHTML"] is <a id="foo" href=""
+PASS a["innerHTML"] is nerget
PASS a["previousElementSibling"] is [object HTMLDivElement]
PASS a["nextElementSibling"] is [object HTMLScriptElement]
PASS a["children"] is [object HTMLCollection]
Modified: trunk/LayoutTests/platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt (267010 => 267011)
--- trunk/LayoutTests/platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/platform/ios-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -141,11 +141,11 @@
PASS a["clientLeft"] is 0
PASS a["clientWidth"] is 0
PASS a["clientHeight"] is 0
-PASS a["innerHTML"] is nerget
-PASS a["outerHTML"] is <a id="foo" href=""
PASS a["oncopy"] is null
PASS a["oncut"] is null
PASS a["onpaste"] is null
+PASS a["outerHTML"] is <a id="foo" href=""
+PASS a["innerHTML"] is nerget
PASS a["previousElementSibling"] is [object HTMLDivElement]
PASS a["nextElementSibling"] is [object HTMLScriptElement]
PASS a["children"] is [object HTMLCollection]
Modified: trunk/LayoutTests/platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt (267010 => 267011)
--- trunk/LayoutTests/platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/platform/mac-wk2/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -155,11 +155,11 @@
PASS a["clientLeft"] is 0
PASS a["clientWidth"] is 0
PASS a["clientHeight"] is 0
-PASS a["innerHTML"] is nerget
-PASS a["outerHTML"] is <a id="foo" href=""
PASS a["oncopy"] is null
PASS a["oncut"] is null
PASS a["onpaste"] is null
+PASS a["outerHTML"] is <a id="foo" href=""
+PASS a["innerHTML"] is nerget
PASS a["previousElementSibling"] is [object HTMLDivElement]
PASS a["nextElementSibling"] is [object HTMLScriptElement]
PASS a["children"] is [object HTMLCollection]
Modified: trunk/LayoutTests/platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt (267010 => 267011)
--- trunk/LayoutTests/platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/LayoutTests/platform/wpe/js/dom/dom-static-property-for-in-iteration-expected.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -153,11 +153,11 @@
PASS a["clientLeft"] is 0
PASS a["clientWidth"] is 0
PASS a["clientHeight"] is 0
-PASS a["innerHTML"] is nerget
-PASS a["outerHTML"] is <a id="foo" href=""
PASS a["oncopy"] is null
PASS a["oncut"] is null
PASS a["onpaste"] is null
+PASS a["outerHTML"] is <a id="foo" href=""
+PASS a["innerHTML"] is nerget
PASS a["previousElementSibling"] is [object HTMLDivElement]
PASS a["nextElementSibling"] is [object HTMLScriptElement]
PASS a["children"] is [object HTMLCollection]
Modified: trunk/Source/WebCore/CMakeLists.txt (267010 => 267011)
--- trunk/Source/WebCore/CMakeLists.txt 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/CMakeLists.txt 2020-09-14 15:28:02 UTC (rev 267011)
@@ -793,6 +793,7 @@
dom/DocumentUndoMananger.idl
dom/DragEvent.idl
dom/Element.idl
+ dom/ElementDOMParsing.idl
dom/ErrorEvent.idl
dom/Event.idl
dom/EventInit.idl
@@ -805,6 +806,7 @@
dom/IdleDeadline.idl
dom/IdleRequestCallback.idl
dom/IdleRequestOptions.idl
+ dom/InnerHTML.idl
dom/InputEvent.idl
dom/KeyboardEvent.idl
dom/MessageChannel.idl
Modified: trunk/Source/WebCore/ChangeLog (267010 => 267011)
--- trunk/Source/WebCore/ChangeLog 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/ChangeLog 2020-09-14 15:28:02 UTC (rev 267011)
@@ -1,3 +1,23 @@
+2020-09-14 Sam Weinig <[email protected]>
+
+ [WebIDL] Split DOM Parsing related functions out of Element and ShadowRoot and into their own IDL files to match specs
+ https://bugs.webkit.org/show_bug.cgi?id=216461
+
+ Reviewed by Darin Adler.
+
+ No behavior change, just cleaning up which IDL files DOM Parsing related operations
+ live to match specs.
+
+ * CMakeLists.txt:
+ * DerivedSources-input.xcfilelist:
+ * DerivedSources-output.xcfilelist:
+ * DerivedSources.make:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/Element.idl:
+ * dom/ElementDOMParsing.idl: Added.
+ * dom/InnerHTML.idl: Added.
+ * dom/ShadowRoot.idl:
+
2020-09-14 Chris Lord <[email protected]>
CSS parsing-related singletons should only be used on the main thread
Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (267010 => 267011)
--- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2020-09-14 15:28:02 UTC (rev 267011)
@@ -711,6 +711,7 @@
$(PROJECT_DIR)/dom/DocumentUndoMananger.idl
$(PROJECT_DIR)/dom/DragEvent.idl
$(PROJECT_DIR)/dom/Element.idl
+$(PROJECT_DIR)/dom/ElementDOMParsing.idl
$(PROJECT_DIR)/dom/ErrorEvent.idl
$(PROJECT_DIR)/dom/Event.idl
$(PROJECT_DIR)/dom/EventInit.idl
@@ -726,6 +727,7 @@
$(PROJECT_DIR)/dom/IdleDeadline.idl
$(PROJECT_DIR)/dom/IdleRequestCallback.idl
$(PROJECT_DIR)/dom/IdleRequestOptions.idl
+$(PROJECT_DIR)/dom/InnerHTML.idl
$(PROJECT_DIR)/dom/InputEvent.idl
$(PROJECT_DIR)/dom/KeyboardEvent.idl
$(PROJECT_DIR)/dom/MessageChannel.idl
Modified: trunk/Source/WebCore/DerivedSources-output.xcfilelist (267010 => 267011)
--- trunk/Source/WebCore/DerivedSources-output.xcfilelist 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/DerivedSources-output.xcfilelist 2020-09-14 15:28:02 UTC (rev 267011)
@@ -620,6 +620,8 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSElement.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSElementCSSInlineStyle.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSElementCSSInlineStyle.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSElementDOMParsing.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSElementDOMParsing.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSEndingType.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSEndingType.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSEnterPictureInPictureEvent.cpp
@@ -1044,6 +1046,8 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSImageData.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSImageSmoothingQuality.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSImageSmoothingQuality.h
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSInnerHTML.cpp
+$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSInnerHTML.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSInputEvent.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSInputEvent.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSInspectorAuditAccessibilityObject.cpp
Modified: trunk/Source/WebCore/DerivedSources.make (267010 => 267011)
--- trunk/Source/WebCore/DerivedSources.make 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/DerivedSources.make 2020-09-14 15:28:02 UTC (rev 267011)
@@ -743,6 +743,7 @@
$(WebCore)/dom/DocumentUndoMananger.idl \
$(WebCore)/dom/DragEvent.idl \
$(WebCore)/dom/Element.idl \
+ $(WebCore)/dom/ElementDOMParsing.idl \
$(WebCore)/dom/ErrorEvent.idl \
$(WebCore)/dom/Event.idl \
$(WebCore)/dom/EventInit.idl \
@@ -756,6 +757,7 @@
$(WebCore)/dom/IdleDeadline.idl \
$(WebCore)/dom/IdleRequestCallback.idl \
$(WebCore)/dom/IdleRequestOptions.idl \
+ $(WebCore)/dom/InnerHTML.idl \
$(WebCore)/dom/InputEvent.idl \
$(WebCore)/dom/KeyboardEvent.idl \
$(WebCore)/dom/MessageChannel.idl \
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (267010 => 267011)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2020-09-14 15:28:02 UTC (rev 267011)
@@ -10372,6 +10372,8 @@
7CD70C4224A28B7000E61040 /* SVGPointList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SVGPointList.cpp; sourceTree = "<group>"; };
7CD70C4324A28BEC00E61040 /* SVGStringList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SVGStringList.cpp; sourceTree = "<group>"; };
7CD70C4624A28CD700E61040 /* SVGTransformList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTransformList.cpp; sourceTree = "<group>"; };
+ 7CDA7912250E88F0007D1B36 /* InnerHTML.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = InnerHTML.idl; sourceTree = "<group>"; };
+ 7CDA7919250E8C92007D1B36 /* ElementDOMParsing.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = ElementDOMParsing.idl; sourceTree = "<group>"; };
7CDE73961F9BD59500390312 /* Settings.yaml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Settings.yaml; sourceTree = "<group>"; };
7CDE8EBC1F193BC500168FE7 /* CSSStyleDeclaration.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSStyleDeclaration.cpp; sourceTree = "<group>"; };
7CE191471F2A98AF00272F78 /* FetchRequestInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FetchRequestInit.h; sourceTree = "<group>"; };
@@ -29295,6 +29297,7 @@
313BCE1B235E3BDB00FC39E5 /* ElementContext.h */,
B5B7A16F17C1080600E4AA0A /* ElementData.cpp */,
B5B7A16E17C1048000E4AA0A /* ElementData.h */,
+ 7CDA7919250E8C92007D1B36 /* ElementDOMParsing.idl */,
2D2BEB2F2234A334005544CA /* ElementIdentifier.h */,
E4AE7C1517D1BB950009FB31 /* ElementIterator.h */,
E401C27417CE53EC00C41A35 /* ElementIteratorAssertions.h */,
@@ -29376,6 +29379,7 @@
E30592621E27A38C00D57C98 /* InlineClassicScript.h */,
AA4C3A740B2B1679002334A2 /* InlineStyleSheetOwner.cpp */,
AA4C3A750B2B1679002334A2 /* InlineStyleSheetOwner.h */,
+ 7CDA7912250E88F0007D1B36 /* InnerHTML.idl */,
2EB767551DA19B99003E23B5 /* InputEvent.cpp */,
2EB767541DA19B67003E23B5 /* InputEvent.h */,
2EB767531DA19313003E23B5 /* InputEvent.idl */,
Modified: trunk/Source/WebCore/dom/Element.idl (267010 => 267011)
--- trunk/Source/WebCore/dom/Element.idl 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/dom/Element.idl 2020-09-14 15:28:02 UTC (rev 267011)
@@ -88,12 +88,6 @@
readonly attribute double clientWidth; // FIXME: Should be of type long.
readonly attribute double clientHeight; // FIXME: Should be of type long.
- // Extensions to Element from DOM Parsing and Serialization specification.
- // https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
- [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerHTML;
- [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerHTML;
- [CEReactions, MayThrowException] undefined insertAdjacentHTML(DOMString position, DOMString text);
-
// Extensions from Full Screen API (https://fullscreen.spec.whatwg.org/#api).
// FIXME: Should we add unprefixed versions?
[Conditional=FULLSCREEN_API, EnabledBySetting=FullScreen, ImplementedAs=webkitRequestFullscreen, DisabledByQuirk=shouldDisableElementFullscreen] undefined webkitRequestFullScreen(); // Prefixed Mozilla version.
@@ -156,3 +150,4 @@
Element includes NonDocumentTypeChildNode;
Element includes ParentNode;
Element includes Slotable;
+Element includes InnerHTML;
Added: trunk/Source/WebCore/dom/ElementDOMParsing.idl (0 => 267011)
--- trunk/Source/WebCore/dom/ElementDOMParsing.idl (rev 0)
+++ trunk/Source/WebCore/dom/ElementDOMParsing.idl 2020-09-14 15:28:02 UTC (rev 267011)
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface
+partial interface Element {
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString outerHTML;
+ [CEReactions, MayThrowException] undefined insertAdjacentHTML(DOMString position, DOMString text);
+};
Added: trunk/Source/WebCore/dom/InnerHTML.idl (0 => 267011)
--- trunk/Source/WebCore/dom/InnerHTML.idl (rev 0)
+++ trunk/Source/WebCore/dom/InnerHTML.idl 2020-09-14 15:28:02 UTC (rev 267011)
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2020 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+// https://w3c.github.io/DOM-Parsing/#the-innerhtml-mixin
+interface mixin InnerHTML {
+ [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerHTML;
+};
Modified: trunk/Source/WebCore/dom/ShadowRoot.idl (267010 => 267011)
--- trunk/Source/WebCore/dom/ShadowRoot.idl 2020-09-14 09:51:24 UTC (rev 267010)
+++ trunk/Source/WebCore/dom/ShadowRoot.idl 2020-09-14 15:28:02 UTC (rev 267011)
@@ -29,9 +29,9 @@
] interface ShadowRoot : DocumentFragment {
readonly attribute ShadowRootMode mode;
readonly attribute Element host;
-
- // FIXME: Seems to have been dropped from the Shadow DOM API.
- [CEReactions] attribute [LegacyNullToEmptyString] DOMString innerHTML;
+ // FIXME: Implement 'onslotchange'.
+ // attribute EventHandler onslotchange;
};
ShadowRoot includes DocumentOrShadowRoot;
+ShadowRoot includes InnerHTML;