Fix lack of caret in add email account wizard (bug 214306). The problem here was that when ShiftFocusInternal was given an explicit starting point, it was calling SetFocusedContent() for that node, which updated mCurrentFocus but not gLastFocusedContent. That violated the "invariant" that the active ESM's mCurrentFocus is the same as gLastFocusedContent, causing confusion later in SendFocusBlur(). This is fixed by making ShiftFocusInternal and GetNextTabbableContent not rely on mCurrentFocus being set to the starting content, which avoids the inconsistency. r=neil, sr=dbaron.

This commit is contained in:
bryner%brianryner.com 2004-04-13 10:27:50 +00:00
Родитель aa89471035
Коммит 071d8d7188
1 изменённых файлов: 3 добавлений и 1 удалений

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

@ -168,7 +168,9 @@ protected:
nsresult SetClickCount(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
nsresult CheckForAndDispatchClick(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
PRBool ChangeFocus(nsIContent* aFocus, PRInt32 aFocusedWith);
nsresult GetNextTabbableContent(nsIContent* aRootContent, nsIFrame* aFrame,
nsresult GetNextTabbableContent(nsIContent* aRootContent,
nsIContent* aStartContent,
nsIFrame* aStartFrame,
PRBool forward, PRBool ignoreTabIndex,
nsIContent** aResultNode,
nsIFrame** aResultFrame);