Attach FrameProperties to each frame instead of using a shared hashtable

Dispense the shared hashtable and instead attach the frame property list directly to nsIFrame.
This commit is contained in:
win7-7 2019-06-26 01:51:45 +03:00 committed by Roy Tam
commit 922e819d1c
62 changed files with 738 additions and 945 deletions

View file

@ -2057,13 +2057,13 @@ NS_DECLARE_FRAME_PROPERTY_SMALL_VALUE(ScrollbarThumbLayerized, bool)
/* static */ void
nsLayoutUtils::SetScrollbarThumbLayerization(nsIFrame* aThumbFrame, bool aLayerize)
{
aThumbFrame->Properties().Set(ScrollbarThumbLayerized(), aLayerize);
aThumbFrame->SetProperty(ScrollbarThumbLayerized(), aLayerize);
}
bool
nsLayoutUtils::IsScrollbarThumbLayerized(nsIFrame* aThumbFrame)
{
return aThumbFrame->Properties().Get(ScrollbarThumbLayerized());
return aThumbFrame->GetProperty(ScrollbarThumbLayerized());
}
// static
@ -4427,7 +4427,7 @@ nsLayoutUtils::GetNextContinuationOrIBSplitSibling(nsIFrame *aFrame)
// frame in the continuation chain. Walk back to find that frame now.
aFrame = aFrame->FirstContinuation();
return aFrame->Properties().Get(nsIFrame::IBSplitSibling());
return aFrame->GetProperty(nsIFrame::IBSplitSibling());
}
return nullptr;
@ -4440,7 +4440,7 @@ nsLayoutUtils::FirstContinuationOrIBSplitSibling(nsIFrame *aFrame)
if (result->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT) {
while (true) {
nsIFrame* f =
result->Properties().Get(nsIFrame::IBSplitPrevSibling());
result->GetProperty(nsIFrame::IBSplitPrevSibling());
if (!f)
break;
result = f;
@ -4456,10 +4456,10 @@ nsLayoutUtils::LastContinuationOrIBSplitSibling(nsIFrame *aFrame)
nsIFrame *result = aFrame->FirstContinuation();
if (result->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT) {
while (true) {
nsIFrame* f =
result->Properties().Get(nsIFrame::IBSplitSibling());
if (!f)
nsIFrame* f = result->GetProperty(nsIFrame::IBSplitSibling());
if (!f) {
break;
}
result = f;
}
}
@ -4476,7 +4476,7 @@ nsLayoutUtils::IsFirstContinuationOrIBSplitSibling(nsIFrame *aFrame)
return false;
}
if ((aFrame->GetStateBits() & NS_FRAME_PART_OF_IBSPLIT) &&
aFrame->Properties().Get(nsIFrame::IBSplitPrevSibling())) {
aFrame->GetProperty(nsIFrame::IBSplitPrevSibling())) {
return false;
}