From f0d93dda2cecd9e57bc67b01615701835024b92f Mon Sep 17 00:00:00 2001 From: Narcis Beleuzu Date: Fri, 8 Dec 2017 18:27:56 +0200 Subject: [PATCH] Backed out 2 changesets (bug 1422931) for crashtest failures on dom/base/crashtests/1419799.html r=backout on a CLOSED TREE Backed out changeset 60d9744e3fc4 (bug 1422931) Backed out changeset cf554d5d70cc (bug 1422931) --- dom/base/ChildIterator.cpp | 4 +-- dom/base/crashtests/1422931.html | 6 ---- dom/base/crashtests/crashtests.list | 1 - dom/base/nsContentUtils.cpp | 2 +- dom/base/nsDocument.cpp | 43 ----------------------------- dom/base/nsDocument.h | 5 ---- dom/base/nsIDocument.h | 14 ---------- dom/base/nsTextNode.cpp | 7 ----- dom/base/nsTextNode.h | 4 --- dom/html/HTMLSlotElement.cpp | 2 +- dom/webidl/Element.webidl | 12 ++++---- dom/webidl/HTMLSlotElement.webidl | 2 +- dom/webidl/ShadowRoot.webidl | 2 +- dom/webidl/Text.webidl | 2 +- 14 files changed, 12 insertions(+), 94 deletions(-) delete mode 100644 dom/base/crashtests/1422931.html diff --git a/dom/base/ChildIterator.cpp b/dom/base/ChildIterator.cpp index ad717889b317..00664d9573fa 100644 --- a/dom/base/ChildIterator.cpp +++ b/dom/base/ChildIterator.cpp @@ -12,7 +12,6 @@ #include "nsIAnonymousContentCreator.h" #include "nsIFrame.h" #include "nsCSSAnonBoxes.h" -#include "nsDocument.h" namespace mozilla { namespace dom { @@ -67,8 +66,7 @@ ExplicitChildIterator::ExplicitChildIterator(const nsIContent* aParent, mIsFirst(aStartAtBeginning), mIndexInInserted(0) { - mParentAsSlot = nsDocument::IsWebComponentsEnabled(mParent) ? - HTMLSlotElement::FromContent(mParent) : nullptr; + mParentAsSlot = HTMLSlotElement::FromContent(mParent); } nsIContent* diff --git a/dom/base/crashtests/1422931.html b/dom/base/crashtests/1422931.html deleted file mode 100644 index 9f09f41efdbd..000000000000 --- a/dom/base/crashtests/1422931.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - -
- diff --git a/dom/base/crashtests/crashtests.list b/dom/base/crashtests/crashtests.list index 02b02a9c7eb0..37b502fd8507 100644 --- a/dom/base/crashtests/crashtests.list +++ b/dom/base/crashtests/crashtests.list @@ -236,5 +236,4 @@ load 1406109-1.html pref(dom.webcomponents.enabled,true) load 1324463.html pref(dom.webcomponents.customelements.enabled,true) load 1413815.html load 1411473.html -pref(dom.webcomponents.enabled,false) load 1422931.html pref(dom.webcomponents.enabled,true) load 1419799.html diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index c2a1a84aefc3..8db11279e86f 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -7534,7 +7534,7 @@ nsContentUtils::IsContentInsertionPoint(nsIContent* aContent) bool nsContentUtils::HasDistributedChildren(nsIContent* aContent) { - if (!aContent || !nsDocument::IsWebComponentsEnabled(aContent)) { + if (!aContent) { return false; } diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp index f61f928bf663..c8a6905e3ef4 100644 --- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -1538,7 +1538,6 @@ nsIDocument::nsIDocument() mBufferingCSPViolations(false), mAllowPaymentRequest(false), mEncodingMenuDisabled(false), - mIsWebComponentsEnabled(false), mIsScopedStyleEnabled(eScopedStyle_Unknown), mCompatMode(eCompatibility_FullStandards), mReadyState(ReadyState::READYSTATE_UNINITIALIZED), @@ -2721,48 +2720,6 @@ nsDocument::IsSynthesized() { return synthesized; } -bool -nsDocument::IsWebComponentsEnabled(JSContext* aCx, JSObject* aObject) -{ - JS::Rooted obj(aCx, aObject); - - JSAutoCompartment ac(aCx, obj); - JS::Rooted global(aCx, JS_GetGlobalForObject(aCx, obj)); - nsCOMPtr window = - do_QueryInterface(nsJSUtils::GetStaticScriptGlobal(global)); - - nsIDocument* doc = window ? window->GetExtantDoc() : nullptr; - if (!doc) { - return false; - } - - // Once it is enabled for a document, it stays enabled. - if (doc->IsWebComponentsEnabled()) { - return true; - } - - bool enabled = nsContentUtils::IsWebComponentsEnabled(); - doc->SetWebComponentsEnabled(enabled); - - return enabled; -} - -bool -nsDocument::IsWebComponentsEnabled(const nsINode* aNode) -{ - nsIDocument* doc = aNode->OwnerDoc(); - - // Once it is enabled for a document, it stays enabled. - if (doc->IsWebComponentsEnabled()) { - return true; - } - - bool enabled = nsContentUtils::IsWebComponentsEnabled(); - doc->SetWebComponentsEnabled(enabled); - - return enabled; -} - nsresult nsDocument::StartDocumentLoad(const char* aCommand, nsIChannel* aChannel, nsILoadGroup* aLoadGroup, diff --git a/dom/base/nsDocument.h b/dom/base/nsDocument.h index 324b31e6bb8c..a31622ea8571 100644 --- a/dom/base/nsDocument.h +++ b/dom/base/nsDocument.h @@ -665,11 +665,6 @@ public: virtual void ResolveScheduledSVGPresAttrs() override; bool IsSynthesized(); - // Check whether web components are enabled for the global of aObject. - static bool IsWebComponentsEnabled(JSContext* aCx, JSObject* aObject); - // Check whether web components are enabled for the document this node belongs - // to. - static bool IsWebComponentsEnabled(const nsINode* aNode); private: void AddOnDemandBuiltInUASheet(mozilla::StyleSheet* aSheet); void SendToConsole(nsCOMArray& aMessages); diff --git a/dom/base/nsIDocument.h b/dom/base/nsIDocument.h index 2bb2870b5f42..fcbb903a75e8 100644 --- a/dom/base/nsIDocument.h +++ b/dom/base/nsIDocument.h @@ -3256,16 +3256,6 @@ public: virtual bool AllowPaymentRequest() const = 0; virtual void SetAllowPaymentRequest(bool aAllowPaymentRequest) = 0; - bool IsWebComponentsEnabled() const - { - return mIsWebComponentsEnabled; - } - - void SetWebComponentsEnabled(bool aEnabled) - { - mIsWebComponentsEnabled = aEnabled; - } - protected: bool GetUseCounter(mozilla::UseCounter aUseCounter) { @@ -3622,10 +3612,6 @@ protected: // True if the encoding menu should be disabled. bool mEncodingMenuDisabled : 1; - // True if dom.webcomponents.enabled pref is set. It can not be unset once - // set to true. - bool mIsWebComponentsEnabled : 1; - // Whether