diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-03-12 11:18:06 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-03-12 11:18:06 +0100 |
commit | ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c (patch) | |
tree | 42296be483ab2f1f3042f5aca8ce91c2aa669ec3 /dom/base/nsContentList.h | |
parent | eda34d02aa8159def0d811846e9417c37cea15cd (diff) | |
parent | 519775b8d9d823b8cee786bc668e050110a8aa67 (diff) | |
download | UXP-ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c.tar UXP-ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c.tar.gz UXP-ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c.tar.lz UXP-ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c.tar.xz UXP-ba74a4174d2cd6ccbabbc5aa6f4ffdf74b48f45c.zip |
Merge branch 'ported-moebius'
Diffstat (limited to 'dom/base/nsContentList.h')
-rw-r--r-- | dom/base/nsContentList.h | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/dom/base/nsContentList.h b/dom/base/nsContentList.h index 3878074b2..83d27da95 100644 --- a/dom/base/nsContentList.h +++ b/dom/base/nsContentList.h @@ -371,9 +371,9 @@ protected: * traversed the whole document (or both). * * @param aNeededLength the length the list should have when we are - * done (unless it exhausts the document) + * done (unless it exhausts the document) */ - void PopulateSelf(uint32_t aNeededLength); + virtual void PopulateSelf(uint32_t aNeededLength); /** * @param aContainer a content node which must be a descendant of @@ -584,4 +584,40 @@ public: #endif }; +class nsLabelsNodeList final : public nsContentList +{ +public: + nsLabelsNodeList(nsINode* aRootNode, + nsContentListMatchFunc aFunc, + nsContentListDestroyFunc aDestroyFunc, + void* aData) + : nsContentList(aRootNode, aFunc, aDestroyFunc, aData) + { + } + + NS_DECL_NSIMUTATIONOBSERVER_ATTRIBUTECHANGED + NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED + NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED + NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED + + virtual JSObject* WrapObject(JSContext *cx, JS::Handle<JSObject*> aGivenProto) override; + + /** + * Reset root, mutation observer, and clear content list + * if the root has been changed. + * + * @param aRootNode The node under which to limit our search. + */ + void MaybeResetRoot(nsINode* aRootNode); + +private: + /** + * Start searching at the last one if we already have nodes, otherwise + * start searching at the root. + * + * @param aNeededLength The list of length should have when we are + * done (unless it exhausts the document). + */ + void PopulateSelf(uint32_t aNeededLength) override; +}; #endif // nsContentList_h___ |