diff options
author | Moonchild <mcwerewolf@gmail.com> | 2018-04-25 01:01:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-25 01:01:08 +0200 |
commit | a203f449bbc01f97564b7c5e2272b06a9569d7b4 (patch) | |
tree | 7193ae9ea7a77fcbd2c73ce0a9622b9fa836a013 /layout/base/nsPresContext.h | |
parent | acd4eee44eb04fe01b0063818b492390f463ccec (diff) | |
parent | eae8d21428acdb3fb842df091ded0eb276bcaaaa (diff) | |
download | UXP-a203f449bbc01f97564b7c5e2272b06a9569d7b4.tar UXP-a203f449bbc01f97564b7c5e2272b06a9569d7b4.tar.gz UXP-a203f449bbc01f97564b7c5e2272b06a9569d7b4.tar.lz UXP-a203f449bbc01f97564b7c5e2272b06a9569d7b4.tar.xz UXP-a203f449bbc01f97564b7c5e2272b06a9569d7b4.zip |
Merge pull request #262 from janekptacijarabaci/js_dom_overflow_1
moebius#138: Optimize operations on root of deeply-nested frame tree
Diffstat (limited to 'layout/base/nsPresContext.h')
-rw-r--r-- | layout/base/nsPresContext.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/layout/base/nsPresContext.h b/layout/base/nsPresContext.h index 4fdc60a2e..d8f876291 100644 --- a/layout/base/nsPresContext.h +++ b/layout/base/nsPresContext.h @@ -719,7 +719,18 @@ public: * it was propagated from. */ nsIContent* UpdateViewportScrollbarStylesOverride(); - const ScrollbarStyles& GetViewportScrollbarStylesOverride() + + /** + * Returns the cached result from the last call to + * UpdateViewportScrollbarStylesOverride() -- i.e. return the node + * whose scrollbar styles we have propagated to the viewport (or nullptr if + * there is no such node). + */ + nsIContent* GetViewportScrollbarStylesOverrideNode() const { + return mViewportScrollbarOverrideNode; + } + + const ScrollbarStyles& GetViewportScrollbarStylesOverride() const { return mViewportStyleScrollbar; } @@ -1310,7 +1321,16 @@ protected: nscolor mBodyTextColor; + // This is a non-owning pointer. May be null. If non-null, it's guaranteed + // to be pointing to a node that's still alive, because we'll reset it in + // UpdateViewportScrollbarStylesOverride() as part of the cleanup code + // when this node is removed from the document. (For <body> and the root node, + // this call happens in nsCSSFrameConstructor::ContentRemoved(). For + // fullscreen elements, it happens in the fullscreen-specific cleanup + // invoked by Element::UnbindFromTree().) + nsIContent* MOZ_NON_OWNING_REF mViewportScrollbarOverrideNode; ScrollbarStyles mViewportStyleScrollbar; + uint8_t mFocusRingWidth; bool mExistThrottledUpdates; |