diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:04:10 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:04:10 -0400 |
commit | 9f6cb6874e537fd4f451e507b1832b94b04d9d97 (patch) | |
tree | 5f5203e49a079233c5959d5f5d433e412437832e /layout/base/nsFrameManager.h | |
parent | 0d362ca50335d964a78dbba7e7d32574ee67899a (diff) | |
download | UXP-9f6cb6874e537fd4f451e507b1832b94b04d9d97.tar UXP-9f6cb6874e537fd4f451e507b1832b94b04d9d97.tar.gz UXP-9f6cb6874e537fd4f451e507b1832b94b04d9d97.tar.lz UXP-9f6cb6874e537fd4f451e507b1832b94b04d9d97.tar.xz UXP-9f6cb6874e537fd4f451e507b1832b94b04d9d97.zip |
Bug 1296516 - Cleanup a bit of code in layout/base
* Tidy RestyleManager::ContentStateChanged
* Convert UndisplayedMap to a typed hashtable
* Cleanup infallible or unchecked nsCSSFrameConstructor methods
Tag #1375
Diffstat (limited to 'layout/base/nsFrameManager.h')
-rw-r--r-- | layout/base/nsFrameManager.h | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/layout/base/nsFrameManager.h b/layout/base/nsFrameManager.h index 1b9148314..bca4a581a 100644 --- a/layout/base/nsFrameManager.h +++ b/layout/base/nsFrameManager.h @@ -33,32 +33,19 @@ namespace mozilla { * Node in a linked list, containing the style for an element that * does not have a frame but whose parent does have a frame. */ -struct UndisplayedNode { +struct UndisplayedNode : public LinkedListElement<UndisplayedNode> +{ UndisplayedNode(nsIContent* aContent, nsStyleContext* aStyle) - : mContent(aContent), - mStyle(aStyle), - mNext(nullptr) + : mContent(aContent) + , mStyle(aStyle) { MOZ_COUNT_CTOR(mozilla::UndisplayedNode); } - ~UndisplayedNode() - { - MOZ_COUNT_DTOR(mozilla::UndisplayedNode); - - // Delete mNext iteratively to avoid blowing up the stack (bug 460461). - UndisplayedNode* cur = mNext; - while (cur) { - UndisplayedNode* next = cur->mNext; - cur->mNext = nullptr; - delete cur; - cur = next; - } - } + ~UndisplayedNode() { MOZ_COUNT_DTOR(mozilla::UndisplayedNode); } - nsCOMPtr<nsIContent> mContent; - RefPtr<nsStyleContext> mStyle; - UndisplayedNode* mNext; + nsCOMPtr<nsIContent> mContent; + RefPtr<nsStyleContext> mStyle; }; } // namespace mozilla |