diff options
author | Moonchild <moonchild@palemoon.org> | 2022-09-30 12:24:19 +0000 |
---|---|---|
committer | Moonchild <moonchild@palemoon.org> | 2022-09-30 12:24:19 +0000 |
commit | bdc924d25ee6d0bbe6c780c1d88b60db573562e7 (patch) | |
tree | 426c983ca8bb4dd32d4f8db93625a9a07e11367d /layout/base/nsPresShell.h | |
parent | b83dd4e5e8b95f61fa2c25b1635793f919e4f101 (diff) | |
download | uxp-bdc924d25ee6d0bbe6c780c1d88b60db573562e7.tar.gz |
WIP: basic scroll-anchoring attempt.scroll-anchoring-wip
This is incomplete and won't build due to prerequisites.
Diffstat (limited to 'layout/base/nsPresShell.h')
-rw-r--r-- | layout/base/nsPresShell.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/layout/base/nsPresShell.h b/layout/base/nsPresShell.h index fbbcfc7ecd..de638f4bf6 100644 --- a/layout/base/nsPresShell.h +++ b/layout/base/nsPresShell.h @@ -129,6 +129,8 @@ public: virtual nsIPageSequenceFrame* GetPageSequenceFrame() const override; virtual nsCanvasFrame* GetCanvasFrame() const override; + virtual void ScrollableFrameNeedsAnchorAdjustment(nsIScrollableFrame* aFrame) override; + virtual void FrameNeedsReflow(nsIFrame *aFrame, IntrinsicDirty aIntrinsicDirty, nsFrameState aBitToAdd, ReflowRootHandling aRootHandling = @@ -427,9 +429,10 @@ public: void SetNextPaintCompressed() { mNextPaintCompressed = true; } -protected: virtual ~PresShell(); +protected: + void HandlePostedReflowCallbacks(bool aInterruptible); void CancelPostedReflowCallbacks(); @@ -852,6 +855,8 @@ protected: // Set of frames that we should mark with NS_FRAME_HAS_DIRTY_CHILDREN after // we finish reflowing mCurrentReflowRoot. nsTHashtable<nsPtrHashKey<nsIFrame> > mFramesToDirty; + + nsTHashtable<nsPtrHashKey<nsIScrollableFrame> > mScrollAnchorAdjustments; // Reflow roots that need to be reflowed. nsTArray<nsIFrame*> mDirtyRoots; |