Bug 462793 - Changing listbox selection with keyboard no longer scrolls to make the newly selected item visible, r+sr=roc

This commit is contained in:
Markus Stange 2008-11-04 15:38:16 +01:00
Родитель bb151f0e41
Коммит 1b2252f6c6
11 изменённых файлов: 18 добавлений и 21 удалений

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

@ -1103,7 +1103,7 @@ nsNSElementTearoff::SetScrollTop(PRInt32 aScrollTop)
if (NS_SUCCEEDED(rv)) {
rv = view->ScrollTo(xPos, nsPresContext::CSSPixelsToAppUnits(aScrollTop),
NS_VMREFRESH_IMMEDIATE);
0);
}
}
@ -1145,7 +1145,7 @@ nsNSElementTearoff::SetScrollLeft(PRInt32 aScrollLeft)
if (NS_SUCCEEDED(rv)) {
rv = view->ScrollTo(nsPresContext::CSSPixelsToAppUnits(aScrollLeft),
yPos, NS_VMREFRESH_IMMEDIATE);
yPos, 0);
}
}

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

@ -490,7 +490,7 @@ nsImageDocument::ScrollImageTo(PRInt32 aX, PRInt32 aY, PRBool restoreImage)
nsRect portRect = view->View()->GetBounds();
view->ScrollTo(nsPresContext::CSSPixelsToAppUnits(aX/ratio) - portRect.width/2,
nsPresContext::CSSPixelsToAppUnits(aY/ratio) - portRect.height/2,
NS_VMREFRESH_IMMEDIATE);
0);
return NS_OK;
}

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

@ -4183,7 +4183,7 @@ nsDocShell::SetCurScrollPos(PRInt32 scrollOrientation, PRInt32 curPos)
y = 0; // fix compiler warning, not actually executed
}
NS_ENSURE_SUCCESS(scrollView->ScrollTo(x, y, NS_VMREFRESH_IMMEDIATE),
NS_ENSURE_SUCCESS(scrollView->ScrollTo(x, y, 0),
NS_ERROR_FAILURE);
return NS_OK;
}
@ -4198,8 +4198,7 @@ nsDocShell::SetCurScrollPosEx(PRInt32 curHorizontalPos, PRInt32 curVerticalPos)
return NS_ERROR_FAILURE;
}
NS_ENSURE_SUCCESS(scrollView->ScrollTo(curHorizontalPos, curVerticalPos,
NS_VMREFRESH_IMMEDIATE),
NS_ENSURE_SUCCESS(scrollView->ScrollTo(curHorizontalPos, curVerticalPos, 0),
NS_ERROR_FAILURE);
return NS_OK;
}

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

@ -4584,7 +4584,7 @@ nsGlobalWindow::ScrollTo(PRInt32 aXScroll, PRInt32 aYScroll)
result = view->ScrollTo(nsPresContext::CSSPixelsToAppUnits(aXScroll),
nsPresContext::CSSPixelsToAppUnits(aYScroll),
NS_VMREFRESH_IMMEDIATE);
0);
}
return result;

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

@ -3663,7 +3663,7 @@ DocumentViewerImpl::PrintPreviewNavigate(PRInt16 aType, PRInt32 aPageNum)
// Check to see if we can short circut scrolling to the top
if (aType == nsIWebBrowserPrint::PRINTPREVIEW_HOME ||
(aType == nsIWebBrowserPrint::PRINTPREVIEW_GOTO_PAGENUM && aPageNum == 1)) {
scrollableView->ScrollTo(0, 0, PR_TRUE);
scrollableView->ScrollTo(0, 0, 0);
return NS_OK;
}
@ -3750,7 +3750,7 @@ DocumentViewerImpl::PrintPreviewNavigate(PRInt16 aType, PRInt32 aPageNum)
nscoord newYPosn =
nscoord(mPrintEngine->GetPrintPreviewScale() *
float(fndPageFrame->GetPosition().y - deadSpaceGap));
scrollableView->ScrollTo(0, newYPosn, PR_TRUE);
scrollableView->ScrollTo(0, newYPosn, 0);
}
return NS_OK;

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

@ -3734,7 +3734,7 @@ PresShell::GoToAnchor(const nsAString& aAnchorName, PRBool aScroll)
mViewManager->GetRootScrollableView(&scrollingView);
if (scrollingView) {
// Scroll to the top of the page
scrollingView->ScrollTo(0, 0, NS_VMREFRESH_IMMEDIATE);
scrollingView->ScrollTo(0, 0, 0);
}
}
}
@ -3961,8 +3961,7 @@ static void ScrollViewToShowRect(nsIScrollableView* aScrollingView,
NSToCoordRound(frameAlignX - visibleRect.width * (aHPercent / 100.0f));
}
aScrollingView->ScrollTo(scrollOffsetX, scrollOffsetY,
NS_VMREFRESH_IMMEDIATE);
aScrollingView->ScrollTo(scrollOffsetX, scrollOffsetY, 0);
}
NS_IMETHODIMP

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

@ -2324,7 +2324,7 @@ nsListControlFrame::ScrollToFrame(nsIContent* aOptElement)
if (scrollableView) {
// if null is passed in we scroll to 0,0
if (nsnull == aOptElement) {
scrollableView->ScrollTo(0, 0, PR_TRUE);
scrollableView->ScrollTo(0, 0, 0);
return NS_OK;
}
@ -2382,7 +2382,7 @@ nsListControlFrame::ScrollToFrame(nsIContent* aOptElement)
} else {
y = fRect.y;
}
scrollableView->ScrollTo(pnt.x, y, PR_TRUE);
scrollableView->ScrollTo(pnt.x, y, 0);
}
}

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

@ -2787,7 +2787,7 @@ nsTextControlFrame::SetValue(const nsAString& aValue)
// Scroll the upper left corner of the text control's
// content area back into view.
scrollableView->ScrollTo(0, 0, NS_VMREFRESH_NO_SYNC);
scrollableView->ScrollTo(0, 0, 0);
}
}
else

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

@ -99,10 +99,10 @@ public:
* legal. Updates the display based on aUpdateFlags.
* @param aX left edge to scroll to
* @param aY top edge to scroll to
* @param aUpdateFlags passed onto nsIViewManager->UpdateView()
* @param aUpdateFlags indicate smooth or async scrolling
* @return error status
*/
virtual void ScrollTo(nsPoint aScrollPosition, PRUint32 aFlags = NS_VMREFRESH_NO_SYNC)=0;
virtual void ScrollTo(nsPoint aScrollPosition, PRUint32 aFlags = 0)=0;
virtual nsIScrollableView* GetScrollableView() = 0;

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

@ -5089,8 +5089,7 @@ nsTypedSelection::ScrollPointIntoClipView(nsPresContext *aPresContext, nsIView *
// Now scroll the view!
result = scrollableView->ScrollTo(bounds.x + dx, bounds.y + dy,
NS_VMREFRESH_NO_SYNC);
result = scrollableView->ScrollTo(bounds.x + dx, bounds.y + dy, 0);
if (NS_FAILED(result))
return result;
@ -6400,7 +6399,7 @@ nsTypedSelection::ScrollRectIntoView(nsIScrollableView *aScrollableView,
}
}
aScrollableView->ScrollTo(scrollOffsetX, scrollOffsetY, NS_VMREFRESH_IMMEDIATE);
aScrollableView->ScrollTo(scrollOffsetX, scrollOffsetY, 0);
if (aScrollParentViews)
{

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

@ -2668,7 +2668,7 @@ NSEvent* gLastDragEvent = nil;
PRInt32 p2a = mGeckoChild->GetDeviceContext()->AppUnitsPerDevPixel();
nscoord newX = mHandScrollStartScrollX + NSIntPixelsToAppUnits(deltaX, p2a);
nscoord newY = mHandScrollStartScrollY + NSIntPixelsToAppUnits(deltaY, p2a);
aScrollableView->ScrollTo(newX, newY, NS_VMREFRESH_IMMEDIATE);
aScrollableView->ScrollTo(newX, newY, 0);
NS_OBJC_END_TRY_ABORT_BLOCK;
}