Bug 1415353: Don't allow creating shadow roots for elements with XBL bindings. r?smaug
It breaks all sorts of invariants.
MozReview-Commit-ID: IGUDp91q0sF
--- a/dom/base/Element.cpp
+++ b/dom/base/Element.cpp
@@ -1209,17 +1209,17 @@ Element::CreateShadowRoot(ErrorResult& a
already_AddRefed<ShadowRoot>
Element::AttachShadowInternal(bool aClosed, ErrorResult& aError)
{
/**
* 3. If context object is a shadow host, then throw
* an "InvalidStateError" DOMException.
*/
- if (GetShadowRoot()) {
+ if (GetShadowRoot() || GetXBLBinding()) {
aError.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return nullptr;
}
nsAutoScriptBlocker scriptBlocker;
RefPtr<mozilla::dom::NodeInfo> nodeInfo;
nodeInfo = mNodeInfo->NodeInfoManager()->GetNodeInfo(