Index: test/keystrokes/firefox/line_nav_wiki.py
===================================================================
--- test/keystrokes/firefox/line_nav_wiki.py	(revision 4413)
+++ test/keystrokes/firefox/line_nav_wiki.py	(working copy)
@@ -93,15 +93,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down", 
-    ["BUG? - Something is causing the page information to be presented when it shouldn't be. But it doesn't always happen.",
-     "BRAILLE LINE:  'Welcome to Orca! h1'",
+    ["BRAILLE LINE:  'Welcome to Orca! h1'",
      "     VISIBLE:  'Welcome to Orca! h1', cursor=1",
-     "BRAILLE LINE:  'Orca - GNOME Live!'",
-     "     VISIBLE:  'Orca - GNOME Live!', cursor=0",
-     "BRAILLE LINE:  'Welcome to Orca! h1'",
-     "     VISIBLE:  'Welcome to Orca! h1', cursor=1",
-     "SPEECH OUTPUT: 'Welcome to Orca! heading level 1'",
-     "SPEECH OUTPUT: 'Orca - GNOME Live! page'",
      "SPEECH OUTPUT: 'Welcome to Orca! heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
Index: test/keystrokes/firefox/xul_role_combo_box.py
===================================================================
--- test/keystrokes/firefox/xul_role_combo_box.py	(revision 4413)
+++ test/keystrokes/firefox/xul_role_combo_box.py	(working copy)
@@ -19,9 +19,32 @@
 sequence.append(KeyComboAction("<Alt>e"))
 sequence.append(KeyComboAction("Up"))
 sequence.append(KeyComboAction("Return"))
-sequence.append(WaitForWindowActivate("Minefield Preferences",None))
+sequence.append(WaitForWindowActivate("",None))
 
 ########################################################################
+# Press Right Arrow to get to the next list item and Left Arrow to
+# get back. We'll do this because in Firefox 3.1 we are not getting the
+# correct events until we Alt+Tab out of and then back into the window.
+# This does not seem to be an issue for Firefox 3.0
+#
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Right"))
+sequence.append(utils.AssertPresentationAction(
+    "Right Arrow in list",
+    ["KNOWN ISSUE - Firefox 3.1 is not giving us anything here, but Firefox 3.0 is. If we have output, the bug is not present."]))
+
+sequence.append(utils.StartRecordingAction())
+sequence.append(KeyComboAction("Left"))
+sequence.append(utils.AssertPresentationAction(
+    "Left Arrow in list",
+    ["KNOWN ISSUE - Firefox 3.1 is not giving us anything here, but Firefox 3.0 is. If we have output, the bug is not present."]))
+
+sequence.append(KeyComboAction("<Alt>Tab"))
+sequence.append(WaitForWindowActivate(utils.firefoxFrameNames, None))
+sequence.append(KeyComboAction("<Alt>Tab"))
+sequence.append(WaitForWindowActivate(utils.firefoxAppNames + " Preferences", None))
+
+########################################################################
 # Press Tab to move to the "When Minefield starts" combo box.  This combo
 # box is contained in a scroll pane called Main (which didn't used to
 # have focus) in a panel called "Startup".  The currently selected item
Index: test/keystrokes/firefox/line_nav_bug_547573.py
===================================================================
--- test/keystrokes/firefox/line_nav_bug_547573.py	(revision 4413)
+++ test/keystrokes/firefox/line_nav_bug_547573.py	(working copy)
@@ -54,15 +54,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "2. Line Down",
-    ["BUG? - For some reason we're acting as if the page had just loaded",
-     "BRAILLE LINE:  '» search tips  Search $l Submit Search Button Home Page Image $l'",
+    ["BRAILLE LINE:  '» search tips  Search $l Submit Search Button Home Page Image $l'",
      "     VISIBLE:  '» search tips  Search $l Submit ', cursor=1",
-     "BRAILLE LINE:  'Installation Notes'",
-     "     VISIBLE:  'Installation Notes', cursor=0",
-     "BRAILLE LINE:  '» search tips  Search $l Submit Search Button Home Page Image $l'",
-     "     VISIBLE:  '» search tips  Search $l Submit ', cursor=1",
-     "SPEECH OUTPUT: '»  search tips link   text Search Submit Search button Home Page link image'",
-     "SPEECH OUTPUT: 'Installation Notes page'",
      "SPEECH OUTPUT: '»  search tips link   text Search Submit Search button Home Page link image'"]))
 
 sequence.append(utils.StartRecordingAction())
Index: test/keystrokes/firefox/line_nav_bugzilla_search.py
===================================================================
--- test/keystrokes/firefox/line_nav_bugzilla_search.py	(revision 4413)
+++ test/keystrokes/firefox/line_nav_bugzilla_search.py	(working copy)
@@ -58,15 +58,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BUG? - For some reason we're getting the page load information",
-     "BRAILLE LINE:  ' Short Bug Search Form Complicated Bug Search Form  '",
+    ["BRAILLE LINE:  ' Short Bug Search Form Complicated Bug Search Form  '",
      "     VISIBLE:  ' Short Bug Search Form Complicat', cursor=1",
-     "BRAILLE LINE:  'Search for bugs'",
-     "     VISIBLE:  'Search for bugs', cursor=0",
-     "BRAILLE LINE:  ' Short Bug Search Form Complicated Bug Search Form  '",
-     "     VISIBLE:  ' Short Bug Search Form Complicat', cursor=1",
-     "SPEECH OUTPUT: '  Short Bug Search Form link Complicated Bug Search Form  '",
-     "SPEECH OUTPUT: 'Search for bugs page'",
      "SPEECH OUTPUT: '  Short Bug Search Form link Complicated Bug Search Form  '"]))
 
 sequence.append(utils.StartRecordingAction())
Index: test/keystrokes/firefox/line_nav_enter_bug.py
===================================================================
--- test/keystrokes/firefox/line_nav_enter_bug.py	(revision 4413)
+++ test/keystrokes/firefox/line_nav_enter_bug.py	(working copy)
@@ -55,15 +55,8 @@
 sequence.append(KeyComboAction("Down"))
 sequence.append(utils.AssertPresentationAction(
     "Line Down",
-    ["BUG? - For some reason we're acting as if the page has just finished loading",
-     "BRAILLE LINE:  'Enter Bug: orca – This page lets you enter a new bug into Bugzilla. h1'",
+    ["BRAILLE LINE:  'Enter Bug: orca – This page lets you enter a new bug into Bugzilla. h1'",
      "     VISIBLE:  'Enter Bug: orca – This page lets', cursor=1",
-     "BRAILLE LINE:  'Enter Bug: orca'",
-     "     VISIBLE:  'Enter Bug: orca', cursor=0",
-     "BRAILLE LINE:  'Enter Bug: orca – This page lets you enter a new bug into Bugzilla. h1'",
-     "     VISIBLE:  'Enter Bug: orca – This page lets', cursor=1",
-     "SPEECH OUTPUT: 'Enter Bug: orca – This page lets you enter a new bug into Bugzilla. heading level 1'",
-     "SPEECH OUTPUT: 'Enter Bug: orca page'",
      "SPEECH OUTPUT: 'Enter Bug: orca – This page lets you enter a new bug into Bugzilla. heading level 1'"]))
 
 sequence.append(utils.StartRecordingAction())
Index: src/orca/scripts/toolkits/Gecko/script.py
===================================================================
--- src/orca/scripts/toolkits/Gecko/script.py	(revision 4413)
+++ src/orca/scripts/toolkits/Gecko/script.py	(working copy)
@@ -1801,6 +1801,13 @@
                 speech.speak(message)
 
                 if finishedLoading:
+                    # Store the document frame otherwise the first time it
+                    # gains focus (e.g. the first time the user arrows off
+                    # of a link into non-focusable text), onStateFocused
+                    # will start chatting unnecessarily.
+                    #
+                    self._currentFrame = event.source
+
                     # We first try to figure out where the caret is on
                     # the newly loaded page.  If it is on an editable
                     # object (e.g., a text entry), then we present just
