bryner%netscape.com 8dc3ad3076 Fixes for a number of focus problems:
Bug 201996 (caret blinking in field, but can't type)
Bug 200735 (window is raised when opening link in a new tab)
Bug 203117 (unable to scroll view source window with keyboard)
Bug 194104 (focus is in last tab when opening new window with tabgroup)

Summary of the changes:
- Don't require a frame to be present for focus events.  This allows events like activate and deactivate to correctly update the focus controller even if the document hasn't been reflowed.
- General cleanup and adding of comments in nsEventStateManager::PreHandleEvent.  We now also reuse the event struct when firing focus/blur events to the content, document, and window.
- In nsHTMLElement::SetFocus() and Select(), make sure to set the focused window as well as the focused element, if the focus controller is inactive.
- Fixed handling of certain conditions in PresShell::CheckForFocus() where the results would be different depending on whether the parent or child document unsuppressed painting first.
- General cleanup in PresShell::HandleEvent() and HandleEventInternal().

r=jkeiser, sr=jst, a=sspitzer.
2003-05-12 07:11:16 +00:00
..
2000-11-27 07:55:20 +00:00