author | Miranda Emery <miranda.j.emery@gmail.com> |
Fri, 14 Feb 2014 19:40:53 +1300 | |
changeset 201050 | 4ef03db1385b282ade9a48d302ce2eb081bbe855 |
parent 201049 | 249dae95ea83149bdc1e82df00afbac10ee38c6b |
child 201051 | af9b8e19bb4a9ef468c6d75ef63858561d4d3b3c |
push id | 48083 |
push user | kwierso@gmail.com |
push date | Fri, 22 Aug 2014 18:33:02 +0000 |
treeherder | mozilla-inbound@4ef03db1385b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mats |
bugs | 957445 |
milestone | 34.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/dom/events/EventStateManager.cpp +++ b/dom/events/EventStateManager.cpp @@ -2249,17 +2249,17 @@ EventStateManager::ComputeScrollTarget(n WidgetWheelEvent* aEvent, ComputeScrollTargetOptions aOptions) { return ComputeScrollTarget(aTargetFrame, aEvent->deltaX, aEvent->deltaY, aEvent, aOptions); } // Overload ComputeScrollTarget method to allow passing "test" dx and dy when looking -// for which scrollbarowners to activate when two finger down on trackpad +// for which scrollbarmediators to activate when two finger down on trackpad // and before any actual motion nsIScrollableFrame* EventStateManager::ComputeScrollTarget(nsIFrame* aTargetFrame, double aDirectionX, double aDirectionY, WidgetWheelEvent* aEvent, ComputeScrollTargetOptions aOptions) {
--- a/dom/events/WheelHandlingHelper.cpp +++ b/dom/events/WheelHandlingHelper.cpp @@ -425,41 +425,41 @@ ScrollbarsForWheel::PrepareToScrollText( } /* static */ void ScrollbarsForWheel::SetActiveScrollTarget(nsIScrollableFrame* aScrollTarget) { if (!sHadWheelStart) { return; } - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(aScrollTarget); - if (!scrollbarOwner) { + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(aScrollTarget); + if (!scrollbarMediator) { return; } sHadWheelStart = false; sActiveOwner = do_QueryFrame(aScrollTarget); - scrollbarOwner->ScrollbarActivityStarted(); + scrollbarMediator->ScrollbarActivityStarted(); } /* static */ void ScrollbarsForWheel::MayInactivate() { if (!sOwnWheelTransaction && WheelTransaction::GetTargetFrame()) { WheelTransaction::OwnScrollbars(true); } else { Inactivate(); } } /* static */ void ScrollbarsForWheel::Inactivate() { - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(sActiveOwner); - if (scrollbarOwner) { - scrollbarOwner->ScrollbarActivityStopped(); + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(sActiveOwner); + if (scrollbarMediator) { + scrollbarMediator->ScrollbarActivityStopped(); } sActiveOwner = nullptr; DeactivateAllTemporarilyActivatedScrollTargets(); if (sOwnWheelTransaction) { sOwnWheelTransaction = false; WheelTransaction::OwnScrollbars(false); WheelTransaction::EndTransaction(); } @@ -493,33 +493,33 @@ ScrollbarsForWheel::TemporarilyActivateA { for (size_t i = 0; i < kNumberOfTargets; i++) { const DeltaValues *dir = &directions[i]; nsWeakFrame* scrollTarget = &sActivatedScrollTargets[i]; MOZ_ASSERT(!*scrollTarget, "scroll target still temporarily activated!"); nsIScrollableFrame* target = aESM->ComputeScrollTarget(aTargetFrame, dir->deltaX, dir->deltaY, aEvent, EventStateManager::COMPUTE_DEFAULT_ACTION_TARGET); - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(target); - if (scrollbarOwner) { + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(target); + if (scrollbarMediator) { nsIFrame* targetFrame = do_QueryFrame(target); *scrollTarget = targetFrame; - scrollbarOwner->ScrollbarActivityStarted(); + scrollbarMediator->ScrollbarActivityStarted(); } } } /* static */ void ScrollbarsForWheel::DeactivateAllTemporarilyActivatedScrollTargets() { for (size_t i = 0; i < kNumberOfTargets; i++) { nsWeakFrame* scrollTarget = &sActivatedScrollTargets[i]; if (*scrollTarget) { - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(*scrollTarget); - if (scrollbarOwner) { - scrollbarOwner->ScrollbarActivityStopped(); + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(*scrollTarget); + if (scrollbarMediator) { + scrollbarMediator->ScrollbarActivityStopped(); } *scrollTarget = nullptr; } } } } // namespace mozilla
--- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -1865,37 +1865,37 @@ TabChild::RecvNotifyAPZStateChange(const const APZStateChange& aChange, const int& aArg) { switch (aChange) { case APZStateChange::TransformBegin: { nsIScrollableFrame* sf = nsLayoutUtils::FindScrollableFrameFor(aViewId); - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(sf); - if (scrollbarOwner) { - scrollbarOwner->ScrollbarActivityStarted(); + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(sf); + if (scrollbarMediator) { + scrollbarMediator->ScrollbarActivityStarted(); } nsCOMPtr<nsIDocument> doc = GetDocument(); if (doc) { nsCOMPtr<nsIDocShell> docshell(doc->GetDocShell()); if (docshell) { nsDocShell* nsdocshell = static_cast<nsDocShell*>(docshell.get()); nsdocshell->NotifyAsyncPanZoomStarted(); } } break; } case APZStateChange::TransformEnd: { nsIScrollableFrame* sf = nsLayoutUtils::FindScrollableFrameFor(aViewId); - nsIScrollbarOwner* scrollbarOwner = do_QueryFrame(sf); - if (scrollbarOwner) { - scrollbarOwner->ScrollbarActivityStopped(); + nsIScrollbarMediator* scrollbarMediator = do_QueryFrame(sf); + if (scrollbarMediator) { + scrollbarMediator->ScrollbarActivityStopped(); } nsCOMPtr<nsIDocument> doc = GetDocument(); if (doc) { nsCOMPtr<nsIDocShell> docshell(doc->GetDocShell()); if (docshell) { nsDocShell* nsdocshell = static_cast<nsDocShell*>(docshell.get()); nsdocshell->NotifyAsyncPanZoomStopped();
--- a/layout/generic/ScrollbarActivity.cpp +++ b/layout/generic/ScrollbarActivity.cpp @@ -1,15 +1,15 @@ /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "ScrollbarActivity.h" -#include "nsIScrollbarOwner.h" +#include "nsIScrollbarMediator.h" #include "nsIContent.h" #include "nsIDOMEvent.h" #include "nsIDOMElementCSSInlineStyle.h" #include "nsIDOMCSSStyleDeclaration.h" #include "nsIFrame.h" #include "nsContentUtils.h" #include "nsAString.h" #include "nsQueryFrame.h"
--- a/layout/generic/ScrollbarActivity.h +++ b/layout/generic/ScrollbarActivity.h @@ -8,17 +8,17 @@ #include "mozilla/Attributes.h" #include "nsCOMPtr.h" #include "nsIDOMEventListener.h" #include "mozilla/TimeStamp.h" #include "nsRefreshDriver.h" class nsIContent; -class nsIScrollbarOwner; +class nsIScrollbarMediator; class nsITimer; class nsIAtom; namespace mozilla { namespace layout { /** * ScrollbarActivity @@ -53,17 +53,17 @@ namespace layout { * ScrollbarActivity falls into hibernation after the scrollbars have faded * out. It only starts acting after the next call to ActivityOccurred() / * ActivityStarted(). */ class ScrollbarActivity MOZ_FINAL : public nsIDOMEventListener, public nsARefreshObserver { public: - ScrollbarActivity(nsIScrollbarOwner* aScrollableFrame) + ScrollbarActivity(nsIScrollbarMediator* aScrollableFrame) : mScrollableFrame(aScrollableFrame) , mNestedActivityCounter(0) , mIsActive(false) , mIsFading(false) , mListeningForScrollbarEvents(false) , mListeningForScrollAreaEvents(false) , mHScrollbarHovered(false) , mVScrollbarHovered(false) @@ -130,17 +130,17 @@ protected: nsIContent* GetScrollbarContent(bool aVertical); nsIContent* GetHorizontalScrollbar() { return GetScrollbarContent(false); } nsIContent* GetVerticalScrollbar() { return GetScrollbarContent(true); } const TimeDuration FadeDuration() { return TimeDuration::FromMilliseconds(mScrollbarFadeDuration); } - nsIScrollbarOwner* mScrollableFrame; + nsIScrollbarMediator* mScrollableFrame; TimeStamp mFadeBeginTime; nsCOMPtr<nsITimer> mFadeBeginTimer; nsCOMPtr<nsIDOMEventTarget> mHorizontalScrollbar; // null while inactive nsCOMPtr<nsIDOMEventTarget> mVerticalScrollbar; // null while inactive int mNestedActivityCounter; bool mIsActive; bool mIsFading; bool mListeningForScrollbarEvents;
--- a/layout/generic/moz.build +++ b/layout/generic/moz.build @@ -20,17 +20,16 @@ EXPORTS += [ 'nsIAnonymousContentCreator.h', 'nsIFrame.h', 'nsIFrameInlines.h', 'nsIFrameUtil.h', 'nsILineIterator.h', 'nsIObjectFrame.h', 'nsIPageSequenceFrame.h', 'nsIScrollableFrame.h', - 'nsIScrollbarOwner.h', 'nsIScrollPositionListener.h', 'nsIStatefulFrame.h', 'nsObjectFrame.h', 'nsQueryFrame.h', 'nsSplittableFrame.h', 'nsSubDocumentFrame.h', 'nsTextRunTransformations.h', 'ScrollbarActivity.h',
--- a/layout/generic/nsFrameIdList.h +++ b/layout/generic/nsFrameIdList.h @@ -50,17 +50,16 @@ FRAME_ID(nsIMenuFrame) FRAME_ID(nsIObjectFrame) FRAME_ID(nsIPageSequenceFrame) FRAME_ID(nsIPercentHeightObserver) FRAME_ID(nsIRootBox) FRAME_ID(nsISVGChildFrame) FRAME_ID(nsISVGSVGFrame) FRAME_ID(nsIScrollableFrame) FRAME_ID(nsIScrollbarMediator) -FRAME_ID(nsIScrollbarOwner) FRAME_ID(nsISelectControlFrame) FRAME_ID(nsIStatefulFrame) FRAME_ID(nsITableCellLayout) FRAME_ID(nsITableLayout) FRAME_ID(nsITextControlFrame) FRAME_ID(nsITreeBoxObject) FRAME_ID(nsImageBoxFrame) FRAME_ID(nsImageControlFrame)
--- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -890,17 +890,16 @@ nsHTMLScrollFrame::AccessibleType() } return a11y::eHyperTextType; } #endif NS_QUERYFRAME_HEAD(nsHTMLScrollFrame) NS_QUERYFRAME_ENTRY(nsIAnonymousContentCreator) - NS_QUERYFRAME_ENTRY(nsIScrollbarOwner) NS_QUERYFRAME_ENTRY(nsIScrollableFrame) NS_QUERYFRAME_ENTRY(nsIStatefulFrame) NS_QUERYFRAME_ENTRY(nsIScrollbarMediator) NS_QUERYFRAME_TAIL_INHERITING(nsContainerFrame) //----------nsXULScrollFrame------------------------------------------- nsXULScrollFrame* @@ -1334,17 +1333,16 @@ nsXULScrollFrame::DoLayout(nsBoxLayoutSt aState.SetLayoutFlags(flags); nsBox::DoLayout(aState); return rv; } NS_QUERYFRAME_HEAD(nsXULScrollFrame) NS_QUERYFRAME_ENTRY(nsIAnonymousContentCreator) - NS_QUERYFRAME_ENTRY(nsIScrollbarOwner) NS_QUERYFRAME_ENTRY(nsIScrollableFrame) NS_QUERYFRAME_ENTRY(nsIStatefulFrame) NS_QUERYFRAME_ENTRY(nsIScrollbarMediator) NS_QUERYFRAME_TAIL_INHERITING(nsBoxFrame) //-------------------- Helper ---------------------- #define SMOOTH_SCROLL_PREF_NAME "general.smoothScroll"
--- a/layout/generic/nsGfxScrollFrame.h +++ b/layout/generic/nsGfxScrollFrame.h @@ -556,24 +556,16 @@ public: return pt; } // nsIAnonymousContentCreator virtual nsresult CreateAnonymousContent(nsTArray<ContentInfo>& aElements) MOZ_OVERRIDE; virtual void AppendAnonymousContentTo(nsTArray<nsIContent*>& aElements, uint32_t aFilter) MOZ_OVERRIDE; - // nsIScrollbarOwner - virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE { - return mHelper.GetScrollbarBox(aVertical); - } - - virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; - virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; - // nsIScrollableFrame virtual nsIFrame* GetScrolledFrame() const MOZ_OVERRIDE { return mHelper.GetScrolledFrame(); } virtual mozilla::ScrollbarStyles GetScrollbarStyles() const MOZ_OVERRIDE { return mHelper.GetScrollbarStylesFromFrame(); } virtual uint32_t GetScrollbarVisibility() const MOZ_OVERRIDE { @@ -750,16 +742,21 @@ public: mHelper.RepeatButtonScroll(aScrollbar); } virtual void ThumbMoved(nsScrollbarFrame* aScrollbar, nscoord aOldPos, nscoord aNewPos) MOZ_OVERRIDE { mHelper.ThumbMoved(aScrollbar, aOldPos, aNewPos); } virtual void VisibilityChanged(bool aVisible) {} + virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE { + return mHelper.GetScrollbarBox(aVertical); + } + virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; + virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; #ifdef DEBUG_FRAME_DUMP virtual nsresult GetFrameName(nsAString& aResult) const MOZ_OVERRIDE; #endif #ifdef ACCESSIBILITY virtual mozilla::a11y::AccType AccessibleType() MOZ_OVERRIDE; #endif @@ -901,24 +898,16 @@ public: bool AddHorizontalScrollbar (nsBoxLayoutState& aState, bool aOnBottom); bool AddVerticalScrollbar (nsBoxLayoutState& aState, bool aOnRight); void RemoveHorizontalScrollbar(nsBoxLayoutState& aState, bool aOnBottom); void RemoveVerticalScrollbar (nsBoxLayoutState& aState, bool aOnRight); static void AdjustReflowStateForPrintPreview(nsBoxLayoutState& aState, bool& aSetBack); static void AdjustReflowStateBack(nsBoxLayoutState& aState, bool aSetBack); - // nsIScrollbarOwner - virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE { - return mHelper.GetScrollbarBox(aVertical); - } - - virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; - virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; - // nsIScrollableFrame virtual nsIFrame* GetScrolledFrame() const MOZ_OVERRIDE { return mHelper.GetScrolledFrame(); } virtual mozilla::ScrollbarStyles GetScrollbarStyles() const MOZ_OVERRIDE { return mHelper.GetScrollbarStylesFromFrame(); } virtual uint32_t GetScrollbarVisibility() const MOZ_OVERRIDE { @@ -1099,16 +1088,22 @@ public: mHelper.RepeatButtonScroll(aScrollbar); } virtual void ThumbMoved(nsScrollbarFrame* aScrollbar, nscoord aOldPos, nscoord aNewPos) MOZ_OVERRIDE { mHelper.ThumbMoved(aScrollbar, aOldPos, aNewPos); } virtual void VisibilityChanged(bool aVisible) {} + virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE { + return mHelper.GetScrollbarBox(aVertical); + } + + virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; + virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; #ifdef DEBUG_FRAME_DUMP virtual nsresult GetFrameName(nsAString& aResult) const MOZ_OVERRIDE; #endif protected: nsXULScrollFrame(nsIPresShell* aShell, nsStyleContext* aContext, bool aIsRoot, bool aClipAllDescendants);
--- a/layout/generic/nsIScrollableFrame.h +++ b/layout/generic/nsIScrollableFrame.h @@ -8,17 +8,16 @@ */ #ifndef nsIScrollFrame_h___ #define nsIScrollFrame_h___ #include "nsCoord.h" #include "ScrollbarStyles.h" #include "mozilla/gfx/Point.h" -#include "nsIScrollbarOwner.h" #include "nsIScrollbarMediator.h" #include "Units.h" #define NS_DEFAULT_VERTICAL_SCROLL_DISTANCE 3 #define NS_DEFAULT_HORIZONTAL_SCROLL_DISTANCE 5 class nsBoxLayoutState; class nsIScrollPositionListener; @@ -28,18 +27,17 @@ class nsIContent; class nsRenderingContext; class nsIAtom; /** * Interface for frames that are scrollable. This interface exposes * APIs for examining scroll state, observing changes to scroll state, * and triggering scrolling. */ -class nsIScrollableFrame : public nsIScrollbarOwner, - public nsIScrollbarMediator { +class nsIScrollableFrame : public nsIScrollbarMediator { public: typedef mozilla::CSSIntPoint CSSIntPoint; NS_DECL_QUERYFRAME_TARGET(nsIScrollableFrame) /** * Get the frame for the content that we are scrolling within * this scrollable frame.
deleted file mode 100644 --- a/layout/generic/nsIScrollbarOwner.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef nsIScrollbarOwner_h___ -#define nsIScrollbarOwner_h___ - -#include "nsQueryFrame.h" - -class nsIDOMEventTarget; -class nsIFrame; - -/** - * An interface that represents a frame which manages scrollbars. - */ -class nsIScrollbarOwner : public nsQueryFrame { -public: - NS_DECL_QUERYFRAME_TARGET(nsIScrollbarOwner) - - /** - * Obtain the frame for the horizontal or vertical scrollbar, or null - * if there is no such box. - */ - virtual nsIFrame* GetScrollbarBox(bool aVertical) = 0; - - /** - * Show or hide scrollbars on 2 fingers touch. - * Subclasses should call their ScrollbarActivity's corresponding methods. - */ - virtual void ScrollbarActivityStarted() const = 0; - virtual void ScrollbarActivityStopped() const = 0; -}; - -#endif
--- a/layout/xul/nsIScrollbarMediator.h +++ b/layout/xul/nsIScrollbarMediator.h @@ -5,18 +5,20 @@ #ifndef nsIScrollbarMediator_h___ #define nsIScrollbarMediator_h___ #include "nsQueryFrame.h" #include "nsCoord.h" class nsScrollbarFrame; +class nsIDOMEventTarget; +class nsIFrame; -class nsIScrollbarMediator +class nsIScrollbarMediator : public nsQueryFrame { public: NS_DECL_QUERYFRAME_TARGET(nsIScrollbarMediator) /** * The aScrollbar argument denotes the scrollbar that's firing the notification. * aScrollbar is never null. * aDirection is either -1, 0, or 1. @@ -40,12 +42,24 @@ public: /** * aOldPos and aNewPos are scroll positions. * @note This method might destroy the frame, pres shell, and other objects. */ virtual void ThumbMoved(nsScrollbarFrame* aScrollbar, nscoord aOldPos, nscoord aNewPos) = 0; virtual void VisibilityChanged(bool aVisible) = 0; + + /** + * Obtain the frame for the horizontal or vertical scrollbar, or null + * if there is no such box. + */ + virtual nsIFrame* GetScrollbarBox(bool aVertical) = 0; + /** + * Show or hide scrollbars on 2 fingers touch. + * Subclasses should call their ScrollbarActivity's corresponding methods. + */ + virtual void ScrollbarActivityStarted() const = 0; + virtual void ScrollbarActivityStopped() const = 0; }; #endif
--- a/layout/xul/nsListBoxBodyFrame.cpp +++ b/layout/xul/nsListBoxBodyFrame.cpp @@ -426,16 +426,23 @@ nsListBoxBodyFrame::VisibilityChanged(bo lastPageTopRow = 0; int32_t delta = mCurrentIndex - lastPageTopRow; if (delta > 0) { mCurrentIndex = lastPageTopRow; InternalPositionChanged(true, delta); } } +nsIFrame* +nsListBoxBodyFrame::GetScrollbarBox(bool aVertical) +{ + nsIScrollableFrame* scrollFrame = nsLayoutUtils::GetScrollableFrameFor(this); + return scrollFrame ? scrollFrame->GetScrollbarBox(true) : nullptr; +} + void nsListBoxBodyFrame::UpdateIndex(int32_t aDirection) { if (aDirection == 0) return; if (aDirection < 0) mCurrentIndex--; else mCurrentIndex++;
--- a/layout/xul/nsListBoxBodyFrame.h +++ b/layout/xul/nsListBoxBodyFrame.h @@ -59,16 +59,19 @@ public: virtual void ScrollByPage(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void ScrollByWhole(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void ScrollByLine(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void RepeatButtonScroll(nsScrollbarFrame* aScrollbar) MOZ_OVERRIDE; virtual void ThumbMoved(nsScrollbarFrame* aScrollbar, int32_t aOldPos, int32_t aNewPos) MOZ_OVERRIDE; virtual void VisibilityChanged(bool aVisible) MOZ_OVERRIDE; + virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE; + virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE {} + virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE {} // nsIReflowCallback virtual bool ReflowFinished() MOZ_OVERRIDE; virtual void ReflowCallbackCanceled() MOZ_OVERRIDE; NS_IMETHOD DoLayout(nsBoxLayoutState& aBoxLayoutState) MOZ_OVERRIDE; virtual void MarkIntrinsicISizesDirty() MOZ_OVERRIDE;
--- a/layout/xul/tree/nsTreeBodyFrame.cpp +++ b/layout/xul/tree/nsTreeBodyFrame.cpp @@ -98,17 +98,16 @@ NS_NewTreeBodyFrame(nsIPresShell* aPresS { return new (aPresShell) nsTreeBodyFrame(aPresShell, aContext); } NS_IMPL_FRAMEARENA_HELPERS(nsTreeBodyFrame) NS_QUERYFRAME_HEAD(nsTreeBodyFrame) NS_QUERYFRAME_ENTRY(nsIScrollbarMediator) - NS_QUERYFRAME_ENTRY(nsIScrollbarOwner) NS_QUERYFRAME_ENTRY(nsTreeBodyFrame) NS_QUERYFRAME_TAIL_INHERITING(nsLeafBoxFrame) // Constructor nsTreeBodyFrame::nsTreeBodyFrame(nsIPresShell* aPresShell, nsStyleContext* aContext) :nsLeafBoxFrame(aPresShell, aContext), mSlots(nullptr), mImageCache(), @@ -169,17 +168,17 @@ nsTreeBodyFrame::Init(nsIContent* mIndentation = GetIndentation(); mRowHeight = GetRowHeight(); EnsureBoxObject(); if (LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars) != 0) { mScrollbarActivity = new ScrollbarActivity( - static_cast<nsIScrollbarOwner*>(this)); + static_cast<nsIScrollbarMediator*>(this)); } } nsSize nsTreeBodyFrame::GetMinSize(nsBoxLayoutState& aBoxLayoutState) { EnsureView();
--- a/layout/xul/tree/nsTreeBodyFrame.h +++ b/layout/xul/tree/nsTreeBodyFrame.h @@ -19,17 +19,16 @@ #include "nsTreeColumns.h" #include "nsAutoPtr.h" #include "nsDataHashtable.h" #include "imgIRequest.h" #include "imgINotificationObserver.h" #include "nsScrollbarFrame.h" #include "nsThreadUtils.h" #include "mozilla/LookAndFeel.h" -#include "nsIScrollbarOwner.h" class nsOverflowChecker; class nsTreeImageListener; namespace mozilla { namespace layout { class ScrollbarActivity; } @@ -47,17 +46,16 @@ struct nsTreeImageCacheEntry }; // The actual frame that paints the cells and rows. class nsTreeBodyFrame MOZ_FINAL : public nsLeafBoxFrame , public nsICSSPseudoComparator , public nsIScrollbarMediator , public nsIReflowCallback - , public nsIScrollbarOwner { public: typedef mozilla::layout::ScrollbarActivity ScrollbarActivity; nsTreeBodyFrame(nsIPresShell* aPresShell, nsStyleContext* aContext); ~nsTreeBodyFrame(); NS_DECL_QUERYFRAME_TARGET(nsTreeBodyFrame) @@ -137,22 +135,22 @@ public: virtual void ScrollByPage(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void ScrollByWhole(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void ScrollByLine(nsScrollbarFrame* aScrollbar, int32_t aDirection) MOZ_OVERRIDE; virtual void RepeatButtonScroll(nsScrollbarFrame* aScrollbar) MOZ_OVERRIDE; virtual void ThumbMoved(nsScrollbarFrame* aScrollbar, nscoord aOldPos, nscoord aNewPos) MOZ_OVERRIDE; virtual void VisibilityChanged(bool aVisible) MOZ_OVERRIDE { Invalidate(); } - - // nsIScrollbarOwner virtual nsIFrame* GetScrollbarBox(bool aVertical) MOZ_OVERRIDE { ScrollParts parts = GetScrollParts(); return aVertical ? parts.mVScrollbar : parts.mHScrollbar; } + virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; + virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; // Overridden from nsIFrame to cache our pres context. virtual void Init(nsIContent* aContent, nsContainerFrame* aParent, nsIFrame* aPrevInFlow) MOZ_OVERRIDE; virtual void DestroyFrom(nsIFrame* aDestructRoot) MOZ_OVERRIDE; virtual nsresult GetCursor(const nsPoint& aPoint, @@ -464,19 +462,16 @@ protected: void Revoke() { mInner = nullptr; } private: nsTreeBodyFrame* mInner; }; void PostScrollEvent(); void FireScrollEvent(); - virtual void ScrollbarActivityStarted() const MOZ_OVERRIDE; - virtual void ScrollbarActivityStopped() const MOZ_OVERRIDE; - /** * Clear the pointer to this frame for all nsTreeImageListeners that were * created by this frame. */ void DetachImageListeners(); #ifdef ACCESSIBILITY /**