mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1168007 (part 2) - Use PLDHashTable2 in nsFrameManagerBase. r=froydnj.
This commit is contained in:
parent
f7e35f3076
commit
69832417c4
@ -76,6 +76,17 @@ static const PLDHashTableOps PlaceholderMapOps = {
|
||||
nullptr
|
||||
};
|
||||
|
||||
nsFrameManagerBase::nsFrameManagerBase()
|
||||
: mPresShell(nullptr)
|
||||
, mStyleSet(nullptr)
|
||||
, mRootFrame(nullptr)
|
||||
, mPlaceholderMap(&PlaceholderMapOps, sizeof(PlaceholderMapEntry))
|
||||
, mUndisplayedMap(nullptr)
|
||||
, mDisplayContentsMap(nullptr)
|
||||
, mIsDestroyingFrames(false)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
// XXXldb This seems too complicated for what I think it's doing, and it
|
||||
@ -155,7 +166,7 @@ nsFrameManager::GetPlaceholderFrameFor(const nsIFrame* aFrame)
|
||||
|
||||
if (mPlaceholderMap.IsInitialized()) {
|
||||
PlaceholderMapEntry *entry = static_cast<PlaceholderMapEntry*>
|
||||
(PL_DHashTableSearch(const_cast<PLDHashTable*>(&mPlaceholderMap),
|
||||
(PL_DHashTableSearch(const_cast<PLDHashTable2*>(&mPlaceholderMap),
|
||||
aFrame));
|
||||
if (entry) {
|
||||
return entry->placeholderFrame;
|
||||
@ -171,10 +182,6 @@ nsFrameManager::RegisterPlaceholderFrame(nsPlaceholderFrame* aPlaceholderFrame)
|
||||
NS_PRECONDITION(aPlaceholderFrame, "null param unexpected");
|
||||
NS_PRECONDITION(nsGkAtoms::placeholderFrame == aPlaceholderFrame->GetType(),
|
||||
"unexpected frame type");
|
||||
if (!mPlaceholderMap.IsInitialized()) {
|
||||
PL_DHashTableInit(&mPlaceholderMap, &PlaceholderMapOps,
|
||||
sizeof(PlaceholderMapEntry));
|
||||
}
|
||||
PlaceholderMapEntry *entry = static_cast<PlaceholderMapEntry*>
|
||||
(PL_DHashTableAdd(&mPlaceholderMap,
|
||||
aPlaceholderFrame->GetOutOfFlowFrame(), fallible));
|
||||
@ -214,7 +221,7 @@ nsFrameManager::ClearPlaceholderFrameMap()
|
||||
{
|
||||
if (mPlaceholderMap.IsInitialized()) {
|
||||
PL_DHashTableEnumerate(&mPlaceholderMap, UnregisterPlaceholders, nullptr);
|
||||
PL_DHashTableFinish(&mPlaceholderMap);
|
||||
mPlaceholderMap.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,15 +30,7 @@ class nsStyleSet;
|
||||
class nsFrameManagerBase
|
||||
{
|
||||
public:
|
||||
nsFrameManagerBase()
|
||||
: mPresShell(nullptr)
|
||||
, mStyleSet(nullptr)
|
||||
, mRootFrame(nullptr)
|
||||
, mUndisplayedMap(nullptr)
|
||||
, mDisplayContentsMap(nullptr)
|
||||
, mIsDestroyingFrames(false)
|
||||
{
|
||||
}
|
||||
nsFrameManagerBase();
|
||||
|
||||
bool IsDestroyingFrames() { return mIsDestroyingFrames; }
|
||||
|
||||
@ -64,7 +56,7 @@ protected:
|
||||
// the pres shell owns the style set
|
||||
nsStyleSet* mStyleSet;
|
||||
nsIFrame* mRootFrame;
|
||||
PLDHashTable mPlaceholderMap;
|
||||
PLDHashTable2 mPlaceholderMap;
|
||||
UndisplayedMap* mUndisplayedMap;
|
||||
UndisplayedMap* mDisplayContentsMap;
|
||||
bool mIsDestroyingFrames; // The frame manager is destroying some frame(s).
|
||||
|
Loading…
Reference in New Issue
Block a user