Backed out changeset b4e95d147909 (bug 1343795) for bustage in layout/generic/nsSelection.cpp. r=backout

This commit is contained in:
Sebastian Hengst 2017-03-20 23:41:44 +01:00
Родитель 48b67cbb5f
Коммит af455321f5
2 изменённых файлов: 7 добавлений и 10 удалений

Просмотреть файл

@ -101,15 +101,12 @@ public:
enum {
SCROLL_SYNCHRONOUS = 1<<1,
SCROLL_FIRST_ANCESTOR_ONLY = 1<<2,
SCROLL_DO_FLUSH = 1<<3, // only matters if SCROLL_SYNCHRONOUS is passed too
SCROLL_DO_FLUSH = 1<<3,
SCROLL_OVERFLOW_HIDDEN = 1<<5,
SCROLL_FOR_CARET_MOVE = 1<<6
};
// If aFlags doesn't contain SCROLL_SYNCHRONOUS, then we'll flush when
// the scroll event fires so we make sure to scroll to the right place.
// Otherwise, if SCROLL_DO_FLUSH is also in aFlags, then this method will
// flush layout and you MUST hold a strong ref on 'this' for the duration
// of this call. This might destroy arbitrary layout objects.
// aDoFlush only matters if aIsSynchronous is true. If not, we'll just flush
// when the scroll event fires so we make sure to scroll to the right place.
nsresult ScrollIntoView(SelectionRegion aRegion,
nsIPresShell::ScrollAxis aVertical =
nsIPresShell::ScrollAxis(),

Просмотреть файл

@ -1974,9 +1974,10 @@ nsFrameSelection::ScrollSelectionIntoView(SelectionType aSelectionType,
// After ScrollSelectionIntoView(), the pending notifications might be
// flushed and PresShell/PresContext/Frames may be dead. See bug 418470.
RefPtr<Selection> sel = mDomSelections[index];
return sel->ScrollIntoView(aRegion, verticalScroll,
nsIPresShell::ScrollAxis(), flags);
return mDomSelections[index]->ScrollIntoView(aRegion,
verticalScroll,
nsIPresShell::ScrollAxis(),
flags);
}
nsresult
@ -6170,7 +6171,6 @@ Selection::ScrollSelectionIntoViewEvent::Run()
int32_t flags = Selection::SCROLL_DO_FLUSH |
Selection::SCROLL_SYNCHRONOUS;
RefPtr<Selection> kungFuDeathGrip = mSelection;
mSelection->mScrollEvent.Forget();
mSelection->ScrollIntoView(mRegion, mVerticalScroll,
mHorizontalScroll, mFlags | flags);