summaryrefslogtreecommitdiffstats
path: root/dom/bindings/BindingUtils.cpp
diff options
context:
space:
mode:
authorGaming4JC <g4jc@hyperbola.info>2020-01-04 10:28:38 -0500
committerGaming4JC <g4jc@hyperbola.info>2020-01-26 15:50:14 -0500
commitdf23f78ad16b40c244f518dba28a8555d61bdd0c (patch)
tree0d0806f435a548df4dd2d2af0df531e93bd3bc77 /dom/bindings/BindingUtils.cpp
parent20799ce18c18ff1ad3125ad4e8a7a679b57a858f (diff)
downloadUXP-df23f78ad16b40c244f518dba28a8555d61bdd0c.tar
UXP-df23f78ad16b40c244f518dba28a8555d61bdd0c.tar.gz
UXP-df23f78ad16b40c244f518dba28a8555d61bdd0c.tar.lz
UXP-df23f78ad16b40c244f518dba28a8555d61bdd0c.tar.xz
UXP-df23f78ad16b40c244f518dba28a8555d61bdd0c.zip
Bug 1309147 - Part 3: Implement the support for CEReactions in Codegen.
Tag UXP Issue #1344
Diffstat (limited to 'dom/bindings/BindingUtils.cpp')
-rw-r--r--dom/bindings/BindingUtils.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/dom/bindings/BindingUtils.cpp b/dom/bindings/BindingUtils.cpp
index 6bc6b7143..c6452501a 100644
--- a/dom/bindings/BindingUtils.cpp
+++ b/dom/bindings/BindingUtils.cpp
@@ -16,6 +16,7 @@
#include "mozilla/SizePrintfMacros.h"
#include "mozilla/Unused.h"
#include "mozilla/UseCounter.h"
+#include "mozilla/dom/DocGroup.h"
#include "AccessCheck.h"
#include "jsfriendapi.h"
@@ -3405,6 +3406,28 @@ GetDesiredProto(JSContext* aCx, const JS::CallArgs& aCallArgs,
return true;
}
+CustomElementReactionsStack*
+GetCustomElementReactionsStack(JS::Handle<JSObject*> aObj)
+{
+ // This might not be the right object, if there are wrappers. Unwrap if we can.
+ JSObject* obj = js::CheckedUnwrap(aObj);
+ if (!obj) {
+ return nullptr;
+ }
+
+ nsGlobalWindow* window = xpc::WindowGlobalOrNull(obj);
+ if (!window) {
+ return nullptr;
+ }
+
+ DocGroup* docGroup = window->AsInner()->GetDocGroup();
+ if (!docGroup) {
+ return nullptr;
+ }
+
+ return docGroup->CustomElementReactionsStack();
+}
+
// https://html.spec.whatwg.org/multipage/dom.html#htmlconstructor
already_AddRefed<nsGenericHTMLElement>
CreateHTMLElement(const GlobalObject& aGlobal, const JS::CallArgs& aCallArgs,