зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
aa89471035
Коммит
071d8d7188
|
@ -168,7 +168,9 @@ protected:
|
||||||
nsresult SetClickCount(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
|
nsresult SetClickCount(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
|
||||||
nsresult CheckForAndDispatchClick(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
|
nsresult CheckForAndDispatchClick(nsIPresContext* aPresContext, nsMouseEvent *aEvent, nsEventStatus* aStatus);
|
||||||
PRBool ChangeFocus(nsIContent* aFocus, PRInt32 aFocusedWith);
|
PRBool ChangeFocus(nsIContent* aFocus, PRInt32 aFocusedWith);
|
||||||
nsresult GetNextTabbableContent(nsIContent* aRootContent, nsIFrame* aFrame,
|
nsresult GetNextTabbableContent(nsIContent* aRootContent,
|
||||||
|
nsIContent* aStartContent,
|
||||||
|
nsIFrame* aStartFrame,
|
||||||
PRBool forward, PRBool ignoreTabIndex,
|
PRBool forward, PRBool ignoreTabIndex,
|
||||||
nsIContent** aResultNode,
|
nsIContent** aResultNode,
|
||||||
nsIFrame** aResultFrame);
|
nsIFrame** aResultFrame);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче