mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-24 03:19:06 +00:00
Bug 625289 patch 3 - Add types for storing the style contexts of elements currently being reframed. r=heycam
This commit is contained in:
parent
8aa5af235c
commit
2f980c8522
@ -16,6 +16,7 @@
|
||||
#include "RestyleTracker.h"
|
||||
#include "nsPresContext.h"
|
||||
#include "nsRefreshDriver.h"
|
||||
#include "nsRefPtrHashtable.h"
|
||||
|
||||
class nsIFrame;
|
||||
class nsStyleChangeList;
|
||||
@ -131,6 +132,24 @@ public:
|
||||
// itself.
|
||||
nsresult ProcessRestyledFrames(nsStyleChangeList& aRestyleArray);
|
||||
|
||||
/**
|
||||
* In order to start CSS transitions on elements that are being
|
||||
* reframed, we need to stash their style contexts somewhere during
|
||||
* the reframing process.
|
||||
*
|
||||
* In all cases, the content node in the hash table is the real
|
||||
* content node, not the anonymous content node we create for ::before
|
||||
* or ::after.
|
||||
*/
|
||||
typedef nsRefPtrHashtable<nsRefPtrHashKey<nsIContent>, nsStyleContext>
|
||||
ReframingStyleContextTable;
|
||||
class ReframingStyleContexts {
|
||||
private:
|
||||
ReframingStyleContextTable mElementContexts;
|
||||
ReframingStyleContextTable mBeforePseudoContexts;
|
||||
ReframingStyleContextTable mAfterPseudoContexts;
|
||||
};
|
||||
|
||||
private:
|
||||
void RestyleForEmptyChange(Element* aContainer);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user