From 45c179d01bb9d15dfc861fcf8a77fe9dc749d2dc Mon Sep 17 00:00:00 2001 From: FranklinDM Date: Sat, 4 Mar 2023 00:32:21 +0800 Subject: [PATCH] Issue #2135 - Bug 1453789: Remove Element.createShadowRoot --- .../markup/test/doc_markup_anonymous.html | 6 +- .../mochitest/inspector-traversal-data.html | 4 +- dom/base/Element.cpp | 15 +- dom/base/Element.h | 6 - dom/base/crashtests/1024428-1.html | 3 +- dom/base/crashtests/1029710.html | 2 +- dom/base/crashtests/1118764.html | 33 --- .../webcomponents/test_shadow_element.html | 173 ------------- dom/webidl/Element.webidl | 4 - layout/base/crashtests/1261351-iframe.html | 2 +- layout/base/crashtests/1404789-1.html | 16 -- layout/base/crashtests/crashtests.list | 1 - layout/reftests/bugs/1066554-1.html | 20 +- .../display-contents-shadow-dom-1.html | 239 ------------------ layout/reftests/css-display/reftest.list | 1 - layout/reftests/mathml/shadow-dom-1.html | 8 +- .../webcomponents/cross-tree-selection-1.html | 7 +- layout/style/crashtests/1017798-1.html | 4 +- layout/style/crashtests/1089463-1.html | 2 +- 19 files changed, 25 insertions(+), 521 deletions(-) delete mode 100644 dom/base/crashtests/1118764.html delete mode 100644 dom/tests/mochitest/webcomponents/test_shadow_element.html delete mode 100644 layout/base/crashtests/1404789-1.html delete mode 100644 layout/reftests/css-display/display-contents-shadow-dom-1.html diff --git a/devtools/client/inspector/markup/test/doc_markup_anonymous.html b/devtools/client/inspector/markup/test/doc_markup_anonymous.html index 0ede3ca5ff..bb5389cbe6 100644 --- a/devtools/client/inspector/markup/test/doc_markup_anonymous.html +++ b/devtools/client/inspector/markup/test/doc_markup_anonymous.html @@ -25,10 +25,8 @@ \ No newline at end of file diff --git a/devtools/server/tests/mochitest/inspector-traversal-data.html b/devtools/server/tests/mochitest/inspector-traversal-data.html index 45b8c2eded..ada4814d40 100644 --- a/devtools/server/tests/mochitest/inspector-traversal-data.html +++ b/devtools/server/tests/mochitest/inspector-traversal-data.html @@ -21,8 +21,8 @@ // Set up a basic shadow DOM var host = document.querySelector('#shadow'); - if (host.createShadowRoot) { - var root = host.createShadowRoot(); + if (host.attachShadow) { + let root = host.attachShadow({ mode: "open" }); root.innerHTML = '

Shadow DOM

'; } diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 9f579b9c6d..b299d3849e 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1126,18 +1126,6 @@ Element::AttachShadow(const ShadowRootInit& aInit, ErrorResult& aError) return nullptr; } - return AttachShadowInternal(aInit.mMode == ShadowRootMode::Closed, aError); -} - -already_AddRefed -Element::CreateShadowRoot(ErrorResult& aError) -{ - return AttachShadowInternal(false, aError); -} - -already_AddRefed -Element::AttachShadowInternal(bool aClosed, ErrorResult& aError) -{ /** * 3. If context object is a shadow host, then throw * an "InvalidStateError" DOMException. @@ -1183,8 +1171,9 @@ Element::AttachShadowInternal(bool aClosed, ErrorResult& aError) * context object???s node document, host is context object, * and mode is init???s mode. */ + bool isClosed = (aInit.mMode == ShadowRootMode::Closed); RefPtr shadowRoot = - new ShadowRoot(this, aClosed, nodeInfo.forget(), protoBinding); + new ShadowRoot(this, isClosed, nodeInfo.forget(), protoBinding); shadowRoot->SetIsComposedDocParticipant(IsInComposedDoc()); diff --git a/dom/base/Element.h b/dom/base/Element.h index 4830878fd9..7dae897e77 100644 --- a/dom/base/Element.h +++ b/dom/base/Element.h @@ -470,9 +470,6 @@ protected: mState &= ~aStates; } - already_AddRefed AttachShadowInternal(bool aClosed, - ErrorResult& aError); - private: // Need to allow the ESM, nsGlobalWindow, and the focus manager to // set our state @@ -930,9 +927,6 @@ public: void SetSlot(const nsAString& aName, ErrorResult& aError); void GetSlot(nsAString& aName); - // [deprecated] Shadow DOM v0 - already_AddRefed CreateShadowRoot(ErrorResult& aError); - ShadowRoot *FastGetShadowRoot() const { nsExtendedDOMSlots* slots = GetExistingExtendedDOMSlots(); diff --git a/dom/base/crashtests/1024428-1.html b/dom/base/crashtests/1024428-1.html index ce181c8af3..8c96a66ef7 100644 --- a/dom/base/crashtests/1024428-1.html +++ b/dom/base/crashtests/1024428-1.html @@ -5,8 +5,7 @@
diff --git a/dom/base/crashtests/1029710.html b/dom/base/crashtests/1029710.html index b6bda3f267..bb78b561e4 100644 --- a/dom/base/crashtests/1029710.html +++ b/dom/base/crashtests/1029710.html @@ -3,7 +3,7 @@ diff --git a/dom/base/crashtests/1118764.html b/dom/base/crashtests/1118764.html deleted file mode 100644 index 54a4d94b6a..0000000000 --- a/dom/base/crashtests/1118764.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
-Mozilla Firefox
- - - diff --git a/dom/tests/mochitest/webcomponents/test_shadow_element.html b/dom/tests/mochitest/webcomponents/test_shadow_element.html deleted file mode 100644 index 4440650d7d..0000000000 --- a/dom/tests/mochitest/webcomponents/test_shadow_element.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - Test for HTMLShadowElement - - - - -
-Bug 887538 - - - - diff --git a/dom/webidl/Element.webidl b/dom/webidl/Element.webidl index d5cac7c647..57f37aade0 100644 --- a/dom/webidl/Element.webidl +++ b/dom/webidl/Element.webidl @@ -244,10 +244,6 @@ partial interface Element { readonly attribute HTMLSlotElement? assignedSlot; [CEReactions, Unscopable, SetterThrows, Func="nsDocument::IsWebComponentsEnabled"] attribute DOMString slot; - - // [deprecated] Shadow DOM v0 - [Throws, Func="nsDocument::IsWebComponentsEnabled"] - ShadowRoot createShadowRoot(); }; Element implements ChildNode; diff --git a/layout/base/crashtests/1261351-iframe.html b/layout/base/crashtests/1261351-iframe.html index a0484f3325..3730e83fa4 100644 --- a/layout/base/crashtests/1261351-iframe.html +++ b/layout/base/crashtests/1261351-iframe.html @@ -10,7 +10,7 @@ } connectedCallback() { - let shadow = this.createShadowRoot(); + let shadow = this.attachShadow({ mode: "open" }); if (this.template) { let te = document.createElement('template'); te.innerHTML = this.template; diff --git a/layout/base/crashtests/1404789-1.html b/layout/base/crashtests/1404789-1.html deleted file mode 100644 index bd577ae24d..0000000000 --- a/layout/base/crashtests/1404789-1.html +++ /dev/null @@ -1,16 +0,0 @@ - - diff --git a/layout/base/crashtests/crashtests.list b/layout/base/crashtests/crashtests.list index c0b0085493..dfd77497e5 100644 --- a/layout/base/crashtests/crashtests.list +++ b/layout/base/crashtests/crashtests.list @@ -484,6 +484,5 @@ load 1308793.svg load 1308848-1.html load 1308848-2.html asserts(0-1) load 1343606.html # bug 1343948 -load 1404789-1.html load 1404789-2.html load 1419762.html diff --git a/layout/reftests/bugs/1066554-1.html b/layout/reftests/bugs/1066554-1.html index f4df207a1b..c78d33f3b1 100644 --- a/layout/reftests/bugs/1066554-1.html +++ b/layout/reftests/bugs/1066554-1.html @@ -7,17 +7,15 @@ - - diff --git a/layout/reftests/css-display/reftest.list b/layout/reftests/css-display/reftest.list index 933ea2d3b7..138bcc8713 100644 --- a/layout/reftests/css-display/reftest.list +++ b/layout/reftests/css-display/reftest.list @@ -17,7 +17,6 @@ pref(layout.css.display-contents.enabled,true) == display-contents-visibility-hi pref(layout.css.display-contents.enabled,true) == display-contents-visibility-hidden-2.html display-contents-visibility-hidden-ref.html pref(layout.css.display-contents.enabled,true) == display-contents-495385-2d.html display-contents-495385-2d-ref.html pref(layout.css.display-contents.enabled,true) == display-contents-xbl.xhtml display-contents-xbl-ref.html -pref(layout.css.display-contents.enabled,true) pref(dom.webcomponents.enabled,true) == display-contents-shadow-dom-1.html display-contents-shadow-dom-1-ref.html pref(layout.css.display-contents.enabled,true) == display-contents-xbl-2.xul display-contents-xbl-2-ref.xul asserts(1) pref(layout.css.display-contents.enabled,true) == display-contents-xbl-3.xul display-contents-xbl-3-ref.xul # bug 1089223 skip pref(layout.css.display-contents.enabled,true) == display-contents-xbl-4.xul display-contents-xbl-4-ref.xul # fails (not just asserts) due to bug 1089223 diff --git a/layout/reftests/mathml/shadow-dom-1.html b/layout/reftests/mathml/shadow-dom-1.html index bbf27069fd..2022e3bcfd 100644 --- a/layout/reftests/mathml/shadow-dom-1.html +++ b/layout/reftests/mathml/shadow-dom-1.html @@ -7,11 +7,9 @@