From 25a33c7123d457a59ecb4b15a2466cfc8507406b Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Fri, 3 Jan 2020 22:18:55 -0500 Subject: Bug 1347446 - Move custom element reactions stack to DocGroup. Tag UXP Issue #1344 --- dom/base/DocGroup.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'dom/base/DocGroup.h') diff --git a/dom/base/DocGroup.h b/dom/base/DocGroup.h index f4f7ac8ad..5b8f627cc 100644 --- a/dom/base/DocGroup.h +++ b/dom/base/DocGroup.h @@ -14,6 +14,7 @@ #include "nsString.h" #include "mozilla/RefPtr.h" +#include "mozilla/dom/CustomElementRegistry.h" namespace mozilla { namespace dom { @@ -52,6 +53,14 @@ public: { return mTabGroup; } + mozilla::dom::CustomElementReactionsStack* CustomElementReactionsStack() + { + if (!mReactionsStack) { + mReactionsStack = new mozilla::dom::CustomElementReactionsStack(); + } + + return mReactionsStack; + } void RemoveDocument(nsIDocument* aWindow); // Iterators for iterating over every document within the DocGroup @@ -71,6 +80,7 @@ private: nsCString mKey; RefPtr mTabGroup; nsTArray mDocuments; + RefPtr mReactionsStack; }; } // namespace dom -- cgit v1.2.3 From 3508e79b1fe7fc928eed2f3c7bf2d628c53fbf17 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 17 Apr 2020 07:35:48 -0400 Subject: Bug 1409976 - Add `slotchange` event * Add support for `slotchange` event * Signal `slotchange` when slot's assigned nodes changes Tag #1375 --- dom/base/DocGroup.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'dom/base/DocGroup.h') diff --git a/dom/base/DocGroup.h b/dom/base/DocGroup.h index 5b8f627cc..7a5a99dce 100644 --- a/dom/base/DocGroup.h +++ b/dom/base/DocGroup.h @@ -15,6 +15,7 @@ #include "mozilla/RefPtr.h" #include "mozilla/dom/CustomElementRegistry.h" +#include "mozilla/dom/HTMLSlotElement.h" namespace mozilla { namespace dom { @@ -73,6 +74,23 @@ public: return mDocuments.end(); } + // Append aSlot to the list of signal slot list, if it's not in it already + // list, and queue a mutation observer microtask. + void SignalSlotChange(const mozilla::dom::HTMLSlotElement* aSlot); + + const nsTArray>& SignalSlotList() const + { + return mSignalSlotList; + } + + void ClearSignalSlotList() + { + mSignalSlotList.Clear(); + } + + // List of DocGroups that has non-empty signal slot list. + static AutoTArray, 2>* sPendingDocGroups; + private: DocGroup(TabGroup* aTabGroup, const nsACString& aKey); ~DocGroup(); @@ -81,6 +99,7 @@ private: RefPtr mTabGroup; nsTArray mDocuments; RefPtr mReactionsStack; + nsTArray> mSignalSlotList; }; } // namespace dom -- cgit v1.2.3 From a680bdc637e0393aaa08d575c66f7166b788b443 Mon Sep 17 00:00:00 2001 From: Moonchild Date: Wed, 23 Sep 2020 13:55:00 +0000 Subject: Issue #1656 - Part 1: Nuke most vim config lines in the tree. Since these are just interpreted comments, there's 0 impact on actual code. This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are a few others scattered around which will be removed manually in a second part. --- dom/base/DocGroup.h | 1 - 1 file changed, 1 deletion(-) (limited to 'dom/base/DocGroup.h') diff --git a/dom/base/DocGroup.h b/dom/base/DocGroup.h index 7a5a99dce..aa5b0f8bf 100644 --- a/dom/base/DocGroup.h +++ b/dom/base/DocGroup.h @@ -1,5 +1,4 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -- cgit v1.2.3