Bug 1411754 - Rename PresShell::DestroyFramesFor to DestroyFramesForAndRestyle

Tag #1375
This commit is contained in:
Matt A. Tobin 2020-04-17 06:41:41 -04:00 committed by Roy Tam
commit efb5979ad5
6 changed files with 14 additions and 13 deletions

View file

@ -544,7 +544,7 @@ public:
*
* Note that this may destroy frames for an ancestor instead.
*/
virtual void DestroyFramesFor(mozilla::dom::Element* aElement) = 0;
virtual void DestroyFramesForAndRestyle(mozilla::dom::Element* aElement) = 0;
/**
* Recreates the frames for a node

View file

@ -2828,7 +2828,7 @@ PresShell::CancelAllPendingReflows()
}
void
PresShell::DestroyFramesFor(Element* aElement)
PresShell::DestroyFramesForAndRestyle(Element* aElement)
{
MOZ_ASSERT(aElement);
NS_ENSURE_TRUE_VOID(mPresContext);
@ -2847,13 +2847,15 @@ PresShell::DestroyFramesFor(Element* aElement)
fc->DestroyFramesFor(aElement, &didReconstruct);
fc->EndUpdate();
// XXXmats doesn't frame state need to be restored in this case?
if (!didReconstruct) {
PostRecreateFramesFor(aElement);
}
auto changeHint = didReconstruct
? nsChangeHint(0)
: nsChangeHint_ReconstructFrame;
// NOTE(emilio): eRestyle_Subtree is needed to force also a full subtree
// restyle for the content (in Stylo, where the existence of frames != the
// existence of styles).
mPresContext->RestyleManager()->PostRestyleEvent(
aElement, eRestyle_Subtree, nsChangeHint(0));
aElement, eRestyle_Subtree, changeHint);
--mChangeNestCount;
}

View file

@ -139,7 +139,7 @@ public:
virtual bool IsSafeToFlush() const override;
virtual void FlushPendingNotifications(mozFlushType aType) override;
virtual void FlushPendingNotifications(mozilla::ChangesToFlush aType) override;
virtual void DestroyFramesFor(mozilla::dom::Element* aElement) override;
virtual void DestroyFramesForAndRestyle(mozilla::dom::Element* aElement) override;
/**
* Recreates the frames for a node