summaryrefslogtreecommitdiffstats
path: root/dom/base/CustomElementRegistry.cpp
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2020-01-05 10:32:30 -0500
committerGaming4JC <g4jc@hyperbola.info>2020-01-26 15:50:24 -0500
commitbbb717ec12e63be39929806f62a603bdb4f61de9 (patch)
treeb6676774f298e9b81c6da6fd612bdd0f4f96116e /dom/base/CustomElementRegistry.cpp
parent515c46e695f6cf0a66273e4744330ad7d23fe2cc (diff)
downloadUXP-bbb717ec12e63be39929806f62a603bdb4f61de9.tar
UXP-bbb717ec12e63be39929806f62a603bdb4f61de9.tar.gz
UXP-bbb717ec12e63be39929806f62a603bdb4f61de9.tar.lz
UXP-bbb717ec12e63be39929806f62a603bdb4f61de9.tar.xz
UXP-bbb717ec12e63be39929806f62a603bdb4f61de9.zip
Bug 1299363 - Part 5-1: Make the constructor created by document.registerElement() also works with construction stack.
So that the old upgrade can also work with new upgrade steps which will be implemented in part 5-2. Tag UXP Issue #1344
Diffstat (limited to 'dom/base/CustomElementRegistry.cpp')
-rw-r--r--dom/base/CustomElementRegistry.cpp34
1 files changed, 0 insertions, 34 deletions
diff --git a/dom/base/CustomElementRegistry.cpp b/dom/base/CustomElementRegistry.cpp
index 1c1e3d6ae..ce2e4b04f 100644
--- a/dom/base/CustomElementRegistry.cpp
+++ b/dom/base/CustomElementRegistry.cpp
@@ -799,40 +799,6 @@ CustomElementRegistry::Upgrade(Element* aElement,
MOZ_ASSERT(aElement->IsHTMLElement(aDefinition->mLocalName));
- AutoJSAPI jsapi;
- if (NS_WARN_IF(!jsapi.Init(mWindow))) {
- return;
- }
-
- JSContext* cx = jsapi.cx();
-
- JS::Rooted<JSObject*> reflector(cx, aElement->GetWrapper());
- if (reflector) {
- Maybe<JSAutoCompartment> ac;
- JS::Rooted<JSObject*> prototype(cx, aDefinition->mPrototype);
- if (aElement->NodePrincipal()->SubsumesConsideringDomain(nsContentUtils::ObjectPrincipal(prototype))) {
- ac.emplace(cx, reflector);
- if (!JS_WrapObject(cx, &prototype) ||
- !JS_SetPrototype(cx, reflector, prototype)) {
- return;
- }
- } else {
- // We want to set the custom prototype in the compartment where it was
- // registered. We store the prototype from define() without unwrapped,
- // hence the prototype's compartment is the compartment where it was
- // registered.
- // In the case that |reflector| and |prototype| are in different
- // compartments, this will set the prototype on the |reflector|'s wrapper
- // and thus only visible in the wrapper's compartment, since we know
- // reflector's principal does not subsume prototype's in this case.
- ac.emplace(cx, prototype);
- if (!JS_WrapObject(cx, &reflector) ||
- !JS_SetPrototype(cx, reflector, prototype)) {
- return;
- }
- }
- }
-
EnqueueLifecycleCallback(nsIDocument::eCreated, aElement, nullptr, aDefinition);
}