2012-05-29 08:52:43 -07:00
|
|
|
/* 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/. */
|
2009-06-28 15:44:22 -07:00
|
|
|
|
|
|
|
#ifndef nsHtml5PendingNotification_h__
|
|
|
|
#define nsHtml5PendingNotification_h__
|
|
|
|
|
|
|
|
#include "nsNodeUtils.h"
|
|
|
|
|
|
|
|
class nsHtml5TreeBuilder;
|
|
|
|
|
|
|
|
class nsHtml5PendingNotification {
|
|
|
|
public:
|
|
|
|
|
|
|
|
nsHtml5PendingNotification(nsIContent* aParent)
|
|
|
|
: mParent(aParent),
|
2011-07-20 13:22:27 -07:00
|
|
|
mChildCount(aParent->GetChildCount() - 1)
|
2009-06-28 15:44:22 -07:00
|
|
|
{
|
|
|
|
MOZ_COUNT_CTOR(nsHtml5PendingNotification);
|
|
|
|
}
|
|
|
|
|
|
|
|
~nsHtml5PendingNotification() {
|
|
|
|
MOZ_COUNT_DTOR(nsHtml5PendingNotification);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void Fire() {
|
2010-05-10 18:12:34 -07:00
|
|
|
nsNodeUtils::ContentAppended(mParent, mParent->GetChildAt(mChildCount),
|
|
|
|
mChildCount);
|
2009-06-28 15:44:22 -07:00
|
|
|
}
|
|
|
|
|
2011-09-28 23:19:26 -07:00
|
|
|
inline bool Contains(nsIContent* aNode) {
|
2009-06-28 15:44:22 -07:00
|
|
|
return !!(mParent == aNode);
|
|
|
|
}
|
2009-10-12 06:08:04 -07:00
|
|
|
|
2011-09-28 23:19:26 -07:00
|
|
|
inline bool HaveNotifiedIndex(PRUint32 index) {
|
2009-10-12 06:08:04 -07:00
|
|
|
return index < mChildCount;
|
|
|
|
}
|
2009-06-28 15:44:22 -07:00
|
|
|
|
|
|
|
private:
|
|
|
|
/**
|
|
|
|
* An element
|
|
|
|
*/
|
|
|
|
nsIContent* mParent;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Child count at start of notification deferring
|
|
|
|
*/
|
|
|
|
PRUint32 mChildCount;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // nsHtml5PendingNotification_h__
|