Bug 670880 - Remove Spatial Navigation. r=blassey
authorDoug Turner <dougt@dougt.org>
Wed, 20 Jul 2011 15:19:59 -0700
changeset 73127 f46c32f62931869c8f6728ae3e23bcdf5f421be6
parent 73126 fa82e3fa46b978cd0fb8338a566680590a8dbfd2
child 73128 579944e7e8f7ddf261b4886dba9def9790ae64d0
push id20819
push usermak77@bonardo.net
push dateThu, 21 Jul 2011 12:32:52 +0000
treeherdermozilla-central@036c28e4e0f2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersblassey
bugs670880
milestone8.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 670880 - Remove Spatial Navigation. r=blassey
browser/installer/removed-files.in
toolkit/Makefile.in
toolkit/spatial-navigation/Makefile.in
toolkit/spatial-navigation/SpatialNavigation.js
toolkit/spatial-navigation/tests/Makefile.in
toolkit/spatial-navigation/tests/chrome/SpatialNavUtils.js
toolkit/spatial-navigation/tests/chrome/test_snav.xul
toolkit/spatial-navigation/tests/chrome/test_snav_disabledElement.xul
toolkit/spatial-navigation/tests/chrome/test_snav_prefDisabled.xul
toolkit/spatial-navigation/tests/chrome/test_snav_prefKeyCode.xul
toolkit/spatial-navigation/tests/chrome/test_snav_selects.xul
toolkit/spatial-navigation/tests/chrome/test_snav_textFields.xul
toolkit/spatial-navigation/tests/chrome/test_snav_tightlinks.xul
toolkit/toolkit-makefiles.sh
--- a/browser/installer/removed-files.in
+++ b/browser/installer/removed-files.in
@@ -987,17 +987,16 @@ xpicleanup@BIN_SUFFIX@
   modules/services-sync/type_records/bookmark.js
   modules/services-sync/type_records/clients.js
   modules/services-sync/type_records/forms.js
   modules/services-sync/type_records/history.js
   modules/services-sync/type_records/passwords.js
   modules/services-sync/type_records/prefs.js
   modules/services-sync/type_records/tabs.js
   modules/services-sync/util.js
-  modules/SpatialNavigation.js
   modules/stylePanel.jsm
   modules/tabview/AllTabs.jsm
   modules/tabview/groups.jsm
   modules/tabview/utils.jsm
   modules/utils.js
   modules/WindowDraggingUtils.jsm
   #ifdef XP_WIN
     modules/WindowsJumpLists.jsm
--- a/toolkit/Makefile.in
+++ b/toolkit/Makefile.in
@@ -54,17 +54,16 @@ PARALLEL_DIRS = \
   mozapps/handling \
   mozapps/preferences \
   mozapps/plugins \
   mozapps/shared \
   mozapps/update \
   mozapps/xpinstall \
   obsolete \
   profile \
-  spatial-navigation \
   themes \
   $(NULL)
 
 ifneq (,$(filter gtk2 qt,$(MOZ_WIDGET_TOOLKIT)))
 PARALLEL_DIRS += system/unixproxy
 endif
 
 ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
deleted file mode 100644
--- a/toolkit/spatial-navigation/Makefile.in
+++ /dev/null
@@ -1,50 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is mozilla.org build system.
-#
-# The Initial Developer of the Original Code is Mozilla Foundation
-# Portions created by the Initial Developer are Copyright (C) 2008
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#  Doug Turner <dougt@meer.net>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-EXTRA_JS_MODULES = SpatialNavigation.js
-
-ifdef ENABLE_TESTS
-DIRS += tests
-endif
-
-include $(topsrcdir)/config/rules.mk
deleted file mode 100644
--- a/toolkit/spatial-navigation/SpatialNavigation.js
+++ /dev/null
@@ -1,567 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1/GPL 2.0/LGPL 2.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Spatial Navigation.
- *
- * The Initial Developer of the Original Code is Mozilla Foundation
- * Portions created by the Initial Developer are Copyright (C) 2008
- * the Initial Developer. All Rights Reserved.
- *
- * Contributor(s):
- *  Doug Turner <dougt@meer.net>  (Original Author)
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 2 or later (the "GPL"), or
- * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- * in which case the provisions of the GPL or the LGPL are applicable instead
- * of those above. If you wish to allow use of your version of this file only
- * under the terms of either the GPL or the LGPL, and not to allow others to
- * use your version of this file under the terms of the MPL, indicate your
- * decision by deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL or the LGPL. If you do not delete
- * the provisions above, a recipient may use your version of this file under
- * the terms of any one of the MPL, the GPL or the LGPL.
- *
- * ***** END LICENSE BLOCK ***** */
-
-/**
- * 
- * Import this module through
- *
- * Components.utils.import("resource://gre/modules/SpatialNavigation.js");
- *
- * Usage: (Literal class)
- *
- * SpatialNavigation(browser_element, optional_callback);
- *
- * optional_callback will be called when a new element is focused.
- *
- *    function optional_callback(element) {}
- *
- */
-
-
-var EXPORTED_SYMBOLS = ["SpatialNavigation"];
-
-var SpatialNavigation = {
-
-  init: function(browser, callback) {
-    browser.addEventListener("keypress", function (event) { _onInputKeyPress(event, callback) }, true);
-  },
-  
-  uninit: function() {
-  }
-};
-
-
-// Private stuff
-
-const Cc = Components.classes;
-const Ci = Components.interfaces;
-
-function dump(msg)
-{
-  var console = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService);
-  console.logStringMessage("*** SNAV: " + msg);
-}
-
-var gDirectionalBias = 10;
-var gRectFudge = 1;
-
-// modifier values
-const kAlt   = "alt";
-const kShift = "shift";
-const kCtrl  = "ctrl";
-const kNone  = "none";
-
-function _onInputKeyPress (event, callback) {
-
-  // If it isn't enabled, bail.
-  if (!PrefObserver['enabled'])
-    return;
-
-  // Use whatever key value is available (either keyCode or charCode).
-  // It might be useful for addons or whoever wants to set different
-  // key to be used here (e.g. "a", "F1", "arrowUp", ...).
-  var key = event.which || event.keyCode;
-
-  if (key != PrefObserver['keyCodeDown']  &&
-      key != PrefObserver['keyCodeRight'] &&
-      key != PrefObserver['keyCodeUp'] &&
-      key != PrefObserver['keyCodeLeft'])
-    return;
-
-  // If it is not using the modifiers it should, bail.
-  if (!event.altKey && PrefObserver['modifierAlt'])
-    return;
-
-  if (!event.shiftKey && PrefObserver['modifierShift'])
-    return;
-
-  if (!event.crtlKey && PrefObserver['modifierCtrl'])
-    return;
-
-  // In some special cases where charCode is equal to one of the default arrow keyCodes we
-  // should bail.
-  if (!event.keyCode && 
-      (key == Ci.nsIDOMKeyEvent.DOM_VK_LEFT  || key == Ci.nsIDOMKeyEvent.DOM_VK_DOWN ||
-       key == Ci.nsIDOMKeyEvent.DOM_VK_RIGHT || key == Ci.nsIDOMKeyEvent.DOM_VK_UP))
-    return;
-
-  var target = event.target;
-
-  var doc = target.ownerDocument;
-
-  // If it is XUL content (e.g. about:config), bail.
-  if (!PrefObserver['xulContentEnabled'] && doc instanceof Ci.nsIDOMXULDocument)
-    return ;
-
-  // check to see if we are in a textarea or text input element, and if so,
-  // ensure that we let the arrow keys work properly.
-  if (target instanceof Ci.nsIDOMHTMLHtmlElement) {
-      _focusNextUsingCmdDispatcher(key, callback);
-      return;
-  }
-
-  if ((target instanceof Ci.nsIDOMHTMLInputElement &&
-       target.mozIsTextField(false)) ||
-      target instanceof Ci.nsIDOMHTMLTextAreaElement) {
-    
-    // if there is any selection at all, just ignore
-    if (target.selectionEnd - target.selectionStart > 0)
-      return;
-    
-    // if there is no text, there is nothing special to do.
-    if (target.textLength > 0) {
-      if (key == PrefObserver['keyCodeRight'] ||
-          key == PrefObserver['keyCodeDown'] ) {
-        // we are moving forward into the document
-        if (target.textLength != target.selectionEnd)
-          return;
-      }
-      else
-      {
-        // we are at the start of the text, okay to move 
-        if (target.selectionStart != 0)
-          return;
-      }
-    }
-  }
-
-  // Check to see if we are in a select
-  if (target instanceof Ci.nsIDOMHTMLSelectElement)
-  {
-    if (key == PrefObserver['keyCodeDown']) {
-      if (target.selectedIndex + 1 < target.length)
-        return;
-    }
-
-    if (key == PrefObserver['keyCodeUp']) {
-      if (target.selectedIndex > 0)
-        return;
-    }
-  }
-
-  function snavfilter(node) {
-
-    if (node instanceof Ci.nsIDOMHTMLLinkElement ||
-        node instanceof Ci.nsIDOMHTMLAnchorElement) {
-      // if a anchor doesn't have a href, don't target it.
-      if (node.href == "")
-        return Ci.nsIDOMNodeFilter.FILTER_SKIP;
-      return  Ci.nsIDOMNodeFilter.FILTER_ACCEPT;
-    }
-    
-    if ((node instanceof Ci.nsIDOMHTMLButtonElement ||
-         node instanceof Ci.nsIDOMHTMLInputElement ||
-         node instanceof Ci.nsIDOMHTMLLinkElement ||
-         node instanceof Ci.nsIDOMHTMLOptGroupElement ||
-         node instanceof Ci.nsIDOMHTMLSelectElement ||
-         node instanceof Ci.nsIDOMHTMLTextAreaElement) &&
-        node.disabled == false)
-      return Ci.nsIDOMNodeFilter.FILTER_ACCEPT;
-    
-    return Ci.nsIDOMNodeFilter.FILTER_SKIP;
-  }
-
-  var bestElementToFocus = null;
-  var distanceToBestElement = Infinity;
-  var focusedRect = _inflateRect(target.getBoundingClientRect(),
-                                 - gRectFudge);
-
-  var treeWalker = doc.createTreeWalker(doc, Ci.nsIDOMNodeFilter.SHOW_ELEMENT, snavfilter, false);
-  var nextNode;
-  
-  while ((nextNode = treeWalker.nextNode())) {
-
-    if (nextNode == target)
-      continue;
-
-    var nextRect = _inflateRect(nextNode.getBoundingClientRect(),
-                                - gRectFudge);
-
-    if (! _isRectInDirection(key, focusedRect, nextRect))
-      continue;
-
-    var distance = _spatialDistance(key, focusedRect, nextRect);
-
-    //dump("looking at: " + nextNode + " " + distance);
-    
-    if (distance <= distanceToBestElement && distance > 0) {
-      distanceToBestElement = distance;
-      bestElementToFocus = nextNode;
-    }
-  }
-  
-  if (bestElementToFocus != null) {
-    //dump("focusing element  " + bestElementToFocus.nodeName + " " + bestElementToFocus) + "id=" + bestElementToFocus.getAttribute("id");
-
-    // Wishing we could do element.focus()
-    doc.defaultView.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils).focus(bestElementToFocus);
-
-    // if it is a text element, select all.
-    if ((bestElementToFocus instanceof Ci.nsIDOMHTMLInputElement &&
-         bestElementToFocus.mozIsTextField(false)) ||
-        bestElementToFocus instanceof Ci.nsIDOMHTMLTextAreaElement) {
-      bestElementToFocus.selectionStart = 0;
-      bestElementToFocus.selectionEnd = bestElementToFocus.textLength;
-    }
-
-    if (callback != undefined)
-      callback(bestElementToFocus);
-    
-  } else {
-    // couldn't find anything.  just advance and hope.
-    _focusNextUsingCmdDispatcher(key, callback);
-  }
-
-  event.preventDefault();
-  event.stopPropagation();
-}
-
-function _focusNextUsingCmdDispatcher(key, callback) {
-
-    var windowMediator = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator);
-    var window = windowMediator.getMostRecentWindow("navigator:browser");
-
-    if (key == PrefObserver['keyCodeRight'] || key == PrefObserver['keyCodeDown']) {
-      window.document.commandDispatcher.advanceFocus();
-    } else {
-      window.document.commandDispatcher.rewindFocus();
-    }
-
-    if (callback != undefined)
-      callback(null);
-}
-
-function _isRectInDirection(key, focusedRect, anotherRect)
-{
-  if (key == PrefObserver['keyCodeLeft']) {
-    return (anotherRect.left < focusedRect.left);
-  }
-
-  if (key == PrefObserver['keyCodeRight']) {
-    return (anotherRect.right > focusedRect.right);
-  }
-
-  if (key == PrefObserver['keyCodeUp']) {
-    return (anotherRect.top < focusedRect.top);
-  }
-
-  if (key == PrefObserver['keyCodeDown']) {
-    return (anotherRect.bottom > focusedRect.bottom);
-  }
-    return false;
-}
-
-function _inflateRect(rect, value)
-{
-  var newRect = new Object();
-  
-  newRect.left   = rect.left - value;
-  newRect.top    = rect.top - value;
-  newRect.right  = rect.right  + value;
-  newRect.bottom = rect.bottom + value;
-  return newRect;
-}
-
-function _containsRect(a, b)
-{
-  return ( (b.left  <= a.right) &&
-           (b.right >= a.left)  &&
-           (b.top  <= a.bottom) &&
-           (b.bottom >= a.top) );
-}
-
-function _spatialDistance(key, a, b)
-{
-  var inlineNavigation = false;
-  var mx, my, nx, ny;
-
-  if (key == PrefObserver['keyCodeLeft']) {
-
-    //  |---|
-    //  |---|
-    //
-    //  |---|  |---|
-    //  |---|  |---|
-    //
-    //  |---|
-    //  |---|
-    //
-    
-    if (a.top > b.bottom) {
-      // the b rect is above a.
-      mx = a.left;
-      my = a.top;
-      nx = b.right;
-      ny = b.bottom;
-    }
-    else if (a.bottom < b.top) {
-      // the b rect is below a.
-      mx = a.left;
-      my = a.bottom;
-      nx = b.right;
-      ny = b.top;       
-    }
-    else {
-      mx = a.left;
-      my = 0;
-      nx = b.right;
-      ny = 0;
-    }
-  } else if (key == PrefObserver['keyCodeRight']) {
-
-    //         |---|
-    //         |---|
-    //
-    //  |---|  |---|
-    //  |---|  |---|
-    //
-    //         |---|
-    //         |---|
-    //
-    
-    if (a.top > b.bottom) {
-      // the b rect is above a.
-      mx = a.right;
-      my = a.top;
-      nx = b.left;
-      ny = b.bottom;
-    }
-    else if (a.bottom < b.top) {
-      // the b rect is below a.
-      mx = a.right;
-      my = a.bottom;
-      nx = b.left;
-      ny = b.top;       
-    } else {
-      mx = a.right;
-      my = 0;
-      nx = b.left;
-      ny = 0;
-    }
-  } else if (key == PrefObserver['keyCodeUp']) {
-
-    //  |---|  |---|  |---|
-    //  |---|  |---|  |---|
-    //
-    //         |---|
-    //         |---|
-    //
-    
-    if (a.left > b.right) {
-      // the b rect is to the left of a.
-      mx = a.left;
-      my = a.top;
-      nx = b.right;
-      ny = b.bottom;
-    } else if (a.right < b.left) {
-      // the b rect is to the right of a
-      mx = a.right;
-      my = a.top;
-      nx = b.left;
-      ny = b.bottom;       
-    } else {
-      // both b and a share some common x's.
-      mx = 0;
-      my = a.top;
-      nx = 0;
-      ny = b.bottom;
-    }
-  } else if (key == PrefObserver['keyCodeDown']) {
-
-    //         |---|
-    //         |---|
-    //
-    //  |---|  |---|  |---|
-    //  |---|  |---|  |---|
-    //
-    
-    if (a.left > b.right) {
-      // the b rect is to the left of a.
-      mx = a.left;
-      my = a.bottom;
-      nx = b.right;
-      ny = b.top;
-    } else if (a.right < b.left) {
-      // the b rect is to the right of a
-      mx = a.right;
-      my = a.bottom;
-      nx = b.left;
-      ny = b.top;      
-    } else {
-      // both b and a share some common x's.
-      mx = 0;
-      my = a.bottom;
-      nx = 0;
-      ny = b.top;
-    }
-  }
-  
-  var scopedRect = _inflateRect(a, gRectFudge);
-
-  if (key == PrefObserver['keyCodeLeft'] ||
-      key == PrefObserver['keyCodeRight']) {
-    scopedRect.left = 0;
-    scopedRect.right = Infinity;
-    inlineNavigation = _containsRect(scopedRect, b);
-  }
-  else if (key == PrefObserver['keyCodeUp'] ||
-           key == PrefObserver['keyCodeDown']) {
-    scopedRect.top = 0;
-    scopedRect.bottom = Infinity;
-    inlineNavigation = _containsRect(scopedRect, b);
-  }
-  
-  var d = Math.pow((mx-nx), 2) + Math.pow((my-ny), 2);
-  
-  // prefer elements directly aligned with the focused element
-  if (inlineNavigation)
-    d /= gDirectionalBias;
-  
-  return d;
-}
-
-// Snav preference observer
-
-PrefObserver = {
-
-  register: function()
-  {
-    this.prefService = Cc["@mozilla.org/preferences-service;1"]
-                       .getService(Ci.nsIPrefService);
-
-    this._branch = this.prefService.getBranch("snav.");
-    this._branch.QueryInterface(Ci.nsIPrefBranch2);
-    this._branch.addObserver("", this, false);
-
-    // set current or default pref values
-    this.observe(null, "nsPref:changed", "enabled");
-    this.observe(null, "nsPref:changed", "xulContentEnabled");
-    this.observe(null, "nsPref:changed", "keyCode.modifier");
-    this.observe(null, "nsPref:changed", "keyCode.right");
-    this.observe(null, "nsPref:changed", "keyCode.up");
-    this.observe(null, "nsPref:changed", "keyCode.down");
-    this.observe(null, "nsPref:changed", "keyCode.left");
-  },
-
-  observe: function(aSubject, aTopic, aData)
-  {
-    if(aTopic != "nsPref:changed")
-      return;
-
-    // aSubject is the nsIPrefBranch we're observing (after appropriate QI)
-    // aData is the name of the pref that's been changed (relative to aSubject)
-    switch (aData) {
-      case "enabled":
-        try {
-          this.enabled = this._branch.getBoolPref("enabled");
-        } catch(e) {
-          this.enabled = false;
-        }
-        break;
-      case "xulContentEnabled":
-        try {
-          this.xulContentEnabled = this._branch.getBoolPref("xulContentEnabled");
-        } catch(e) {
-          this.xulContentEnabled = false;
-        }
-        break;
-
-      case "keyCode.modifier":
-        try {
-          this.keyCodeModifier = this._branch.getCharPref("keyCode.modifier");
-
-          // resetting modifiers
-          this.modifierAlt = false;
-          this.modifierShift = false;
-          this.modifierCtrl = false;
-
-          if (this.keyCodeModifier != this.kNone)
-          {
-            // use are using '+' as a separator in about:config.
-            var mods = this.keyCodeModifier.split(/\++/);
-            for (var i = 0; i < mods.length; i++) {
-              var mod = mods[i].toLowerCase();
-              if (mod == "")
-                continue;
-              else if (mod == kAlt)
-                this.modifierAlt = true;
-              else if (mod == kShift)
-                this.modifierShift = true;
-              else if (mod == kCtrl)
-                this.modifierCtrl = true;
-              else {
-                this.keyCodeModifier = kNone;
-                break;
-              }
-            }
-          }
-        } catch(e) {
-            this.keyCodeModifier = kNone;
-        }
-        break;
-      case "keyCode.up":
-        try {
-          this.keyCodeUp = this._branch.getIntPref("keyCode.up");
-        } catch(e) {
-          this.keyCodeUp = Ci.nsIDOMKeyEvent.DOM_VK_UP;
-        }
-        break;
-      case "keyCode.down":
-        try {
-          this.keyCodeDown = this._branch.getIntPref("keyCode.down");
-        } catch(e) {
-          this.keyCodeDown = Ci.nsIDOMKeyEvent.DOM_VK_DOWN;
-        }
-        break;
-      case "keyCode.left":
-        try {
-          this.keyCodeLeft = this._branch.getIntPref("keyCode.left");
-        } catch(e) {
-          this.keyCodeLeft = Ci.nsIDOMKeyEvent.DOM_VK_LEFT;
-        }
-        break;
-      case "keyCode.right":
-        try {
-          this.keyCodeRight = this._branch.getIntPref("keyCode.right");
-        } catch(e) {
-          this.keyCodeRight = Ci.nsIDOMKeyEvent.DOM_VK_RIGHT;
-        }
-        break;
-    }
-  },
-}
-
-PrefObserver.register();
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/Makefile.in
+++ /dev/null
@@ -1,61 +0,0 @@
-# ***** BEGIN LICENSE BLOCK *****
-# Version: MPL 1.1/GPL 2.0/LGPL 2.1
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License. You may obtain a copy of the License at
-# http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# The Original Code is mozilla.org build system.
-#
-# The Initial Developer of the Original Code is Mozilla Foundation
-# Portions created by the Initial Developer are Copyright (C) 2008
-# the Initial Developer. All Rights Reserved.
-#
-# Contributor(s):
-#  Doug Turner <dougt@meer.net>
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 2 or later (the "GPL"), or
-# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-# in which case the provisions of the GPL or the LGPL are applicable instead
-# of those above. If you wish to allow use of your version of this file only
-# under the terms of either the GPL or the LGPL, and not to allow others to
-# use your version of this file under the terms of the MPL, indicate your
-# decision by deleting the provisions above and replace them with the notice
-# and other provisions required by the GPL or the LGPL. If you do not delete
-# the provisions above, a recipient may use your version of this file under
-# the terms of any one of the MPL, the GPL or the LGPL.
-#
-# ***** END LICENSE BLOCK *****
-
-DEPTH		= ../../..
-topsrcdir	= @top_srcdir@
-srcdir		= @srcdir@
-VPATH		= @srcdir@
-relativesrcdir	= toolkit/spatial-navigation/tests
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE		= test_snav
-
-MOCHI_TESTS = chrome/test_snav.xul \
-              chrome/test_snav_tightlinks.xul \
-              chrome/test_snav_disabledElement.xul \
-              chrome/test_snav_selects.xul \
-              chrome/test_snav_prefDisabled.xul \
-              chrome/test_snav_prefKeyCode.xul \
-              chrome/SpatialNavUtils.js \
-              $(NULL)
-
-# bug 447671             chrome/test_snav_textFields.xul \
-
-include $(topsrcdir)/config/rules.mk
-
-libs:: $(MOCHI_TESTS) $(MOCHI_CONTENT)
-	$(INSTALL) $(foreach f,$^,"$f") $(DEPTH)/_tests/testing/mochitest/chrome/$(relativesrcdir)
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/SpatialNavUtils.js
+++ /dev/null
@@ -1,149 +0,0 @@
-var _moveTable;
-var _moveTableIndex = 0;
-
-var _snavEnabledOld = null;
-var _snavXULContentEnabledOld = null;
-var _snavModOld = null ;
-var _snavRightKeyOld = null;
-var _snavLeftKeyOld = null;
-var _snavDownKeyOld = null;
-var _snavUpKeyOld = null;
-
-function prepareTest(prefs) {
-
-    var prefService = Components.classes["@mozilla.org/preferences-service;1"]
-                      .getService(Components.interfaces.nsIPrefService);
-    var snavBranch = prefService.getBranch("snav.");
-
-    var i;
-    for (i = 0; i < prefs.length; i++)
-    {
-        switch (prefs[i][0])
-        {
-            case "enabled":
-                try {
-                    _snavEnabledOld = snavBranch.getBoolPref("enabled");
-                } catch(e) {
-                    _snavEnabledOld = false;
-                }
-                break;
-            case "xulContentEnabled":
-                try {
-                    _snavXULContentEnabledOld = snavBranch.getBoolPref("xulContentEnabled");
-                } catch(e) {
-                    _snavXULContentEnabledOld = false;
-                }
-                break;
-            case "keyCode.modifier":
-                try {
-                    _snavModOld = snavBranch.getCharPref("keyCode.modifier");
-                } catch(e) {
-                    _snavModOld = "alt+shift";
-                }
-                break;
-            case "keyCode.right" :
-                try {
-                    _snavRightKeyOld = snavBranch.getIntPref("keyCode.right");
-                } catch(e) {
-                    _snavRightKeyOld = Components.interfaces.nsIDOMKeyEvent.DOM_VK_RIGHT;
-                }
-                break;
-            case "keyCode.left" :
-                try {
-                    _snavLeftKeyOld = snavBranch.getIntPref("keyCode.left");
-                } catch(e) {
-                    _snavLeftKeyOld = Components.interfaces.nsIDOMKeyEvent.DOM_VK_LEFT;
-                }
-                break;
-            case "keyCode.down" :
-                try {
-                    _snavDownKeyOld = snavBranch.getIntPref("keyCode.down");
-                } catch(e) {
-                    _snavDownKeyOld = Components.interfaces.nsIDOMKeyEvent.DOM_VK_DOWN;
-                }
-                break;
-            case "keyCode.up" :
-                try {
-                    _snavUpKeyOld = snavBranch.getIntPref("keyCode.up");
-                } catch(e) {
-                    _snavUpKeyOld = Components.interfaces.nsIDOMKeyEvent.DOM_VK_UP;
-                }
-                break;
-        } // switch
-
-        if (prefs[i][1] == "bool")
-            snavBranch.setBoolPref(prefs[i][0], prefs[i][2]);
-        else if (prefs[i][1] == "int")
-            snavBranch.setIntPref(prefs[i][0], prefs[i][2]);
-        else if (prefs[i][1] == "char")
-            snavBranch.setCharPref(prefs[i][0], prefs[i][2]);
-    } // for
-}
-
-// setting pref values back.
-function completeTest() {
-
-    var prefService = Components.classes["@mozilla.org/preferences-service;1"]
-            .getService(Components.interfaces.nsIPrefService);
-    var snavBranch = prefService.getBranch("snav.");
-
-    if (_snavEnabledOld != null)
-        snavBranch.setBoolPref("enabled", _snavEnabledOld);
-    if (_snavXULContentEnabledOld != null)
-        snavBranch.setBoolPref("xulContentEnabled", _snavXULContentEnabledOld);
-    if (_snavModOld != null)
-        snavBranch.setCharPref("keyCode.modifier", _snavModOld);
-    if (_snavRightKeyOld != null)
-        snavBranch.setIntPref("keyCode.right", _snavRightKeyOld);
-    if (_snavUpKeyOld != null)
-        snavBranch.setIntPref("keyCode.up", _snavUpKeyOld);
-    if (_snavDownKeyOld != null)
-        snavBranch.setIntPref("keyCode.down", _snavDownKeyOld);
-    if (_snavLeftKeyOld != null)
-        snavBranch.setIntPref("keyCode.left", _snavLeftKeyOld);
-}
-
-function testMoves(table) {
-    //    document.addEventListener("focus", _verifyAndAdvance, true);
-
-    _moveTable = table;
-    _moveTableIndex = 0;
-    _move();
-}
-
-function _nextMove()
-{
-    _moveTableIndex++;
-    
-    // When a table ends with "DONE", call finish.
-    if (_moveTable[_moveTableIndex][0] == "DONE") {
-        completeTest ();
-        SimpleTest.finish();
-        return;
-    }
-    
-    // when a table has an empty elment, end the moves.
-    if (_moveTable[_moveTableIndex][0] == "") {
-        return;
-    }
-    
-    _move();
-}
-
-function _move()
-{
-    sendKey( _moveTable[_moveTableIndex][0], document.activeElement);
-    setTimeout( _verifyAndAdvance , 100);
-}
-
-function _verifyAndAdvance()
-{
-    var direction = _moveTable[_moveTableIndex][0];
-    var expectedID = _moveTable[_moveTableIndex][1];
-    
-    ok(document.activeElement.getAttribute("id") == expectedID,
-       "Move " + direction + " to " + expectedID + ". Found " + document.activeElement.getAttribute("id"));
-    
-    _nextMove();
-}
-
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav.xul
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css type="text/css"?>
-
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=436084
--->
-
-<window title="Mozilla Bug 288254"
-  xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-  <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-  <script type="application/javascript" src="SpatialNavUtils.js"></script>
-
-<body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-<a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084</a>
-<table
- style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
-  <tbody>
-    <tr>
-      <td style="vertical-align: top; text-align: center;"><a id="1" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="2" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="3" href="a">test</a></td>
-    </tr>
-    <tr>
-      <td style="vertical-align: top; text-align: center;"><a id="4" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="5" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="6" href="a">test</a></td>
-    </tr>
-    <tr>
-      <td style="vertical-align: top; text-align: center;"><a id="7" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="8" href="a">test</a></td>
-      <td style="vertical-align: top; text-align: center;"><a id="9" href="a">test</a></td>
-    </tr>
-  </tbody>
-</table>
-</body>
-
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-var moveTable = [
-["DOWN", "1"],
-["DOWN", "4"],
-["DOWN", "7"],
-["RIGHT", "8"],
-["RIGHT", "9"],
-["UP", "6"],
-["UP", "3"],
-["LEFT", "2"],
-["LEFT", "1"],
-["DONE", "DONE"]
-];
-
-var prefs = [
-["enabled",           "bool", true],
-["xulContentEnabled", "bool", true],
-["keyCode.modifier",  "char", "none"],
-];
-
-function runtest()
-{
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-
-    // get to a known place.
-    document.getElementById("start").focus();
-    
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-}
-
-SimpleTest.waitForFocus(runtest);
-
-]]></script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_disabledElement.xul
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css type="text/css"?>
-
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=436084
--->
-
-<window title="Mozilla Bug 288254"
-  xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-  <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>      
-  <script type="text/javascript" src="SpatialNavUtils.js"></script>
-
-<body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-<p>
-<a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084</a>
-</p>
-
-<p>
-<input id="hi_mom" value="Some text" disabled="true" type="text"> </input>
-</p>
-
-<p>
-<a id="end" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084</a>
-</p>
-
-</body>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-var moveTable = [
-["DOWN", "end"],
-["DONE", "DONE"],
-];
-
-var prefs = [
-["enabled",           "bool", true],
-["xulContentEnabled", "bool", true],
-["keyCode.modifier",  "char", "none"],
-];
-
-function runtest()
-{
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-
-    // get to a known place.
-    document.getElementById("start").focus();
-
-    testMoves(moveTable);
-    
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-}
-
-SimpleTest.waitForFocus(runtest);
-
-]]></script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_prefDisabled.xul
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
-<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
-
-<window title="Mozilla Bug 444801"
-        xmlns:html="http://www.w3.org/1999/xhtml"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-    <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-    <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-    <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-    <script type="application/javascript" src="SpatialNavUtils.js"></script>
-
-    <body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-      <a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=444801">Mozilla Bug 444801</a>
-    <table
- style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
-      <tbody>
-        <tr>
-          <td style="vertical-align: top; text-align: center;"><a id="1" href="a">test</a></td>
-          <td style="vertical-align: top; text-align: center;"><a id="2" href="a">test</a></td>
-        </tr>
-      </tbody>
-    </table>
-  </body>
-
-  <script class="testbody" type="application/javascript">
-  <![CDATA[
-  Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-  var moveTable = [
-  ["DOWN", "start"],
-  ["DONE", "DONE"],
-  ];
-
-  var prefs = [
-  ["enabled",           "bool", false],
-  ["xulContentEnabled", "bool", true],
-  ["keyCode.modifier",  "char", "none"],
-  ];
-
-  function runtest()
-  {
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-
-    // get to a known place.
-    document.getElementById("start").focus();
-
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-  }
-
-  SimpleTest.waitForFocus(runtest);
-
-  ]]>
-  </script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_prefKeyCode.xul
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet type="text/css" href="chrome://global/skin"?>
-<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
-
-<window title="Mozilla Bug 444801"
-        xmlns:html="http://www.w3.org/1999/xhtml"
-        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-    <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-    <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-    <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-    <script type="application/javascript" src="SpatialNavUtils.js"></script>
-
-    <body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-      <a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=444801">Mozilla Bug 444801</a>
-    <table
- style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
-      <tbody>
-        <tr>
-          <td style="vertical-align: top; text-align: center;"><a id="1" href="a">test</a></td>
-          <td style="vertical-align: top; text-align: center;"><a id="2" href="a">test</a></td>
-        </tr>
-        <tr>
-          <td style="vertical-align: top; text-align: center;"><a id="3" href="a">test</a></td>
-          <td style="vertical-align: top; text-align: center;"><a id="4" href="a">test</a></td>
-        </tr>
-      </tbody>
-    </table>
-  </body>
-
-  <script class="testbody" type="application/javascript">
-  <![CDATA[
-  Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-  var moveTable = [
-  ["D", "1"],
-  ["D", "3"],
-  ["R", "4"],
-  ["U", "2"],
-  ["L", "1"],
-  ["DONE", "DONE"],
-  ];
-
-  var prefs = [
-  ["enabled",           "bool", true],
-  ["xulContentEnabled", "bool", true],
-  ["keyCode.modifier",  "char", "none"],
-  ["keyCode.right",     "int",  82], // DOM_VK_R
-  ["keyCode.left",      "int",  76], // DOM_VK_L
-  ["keyCode.down",      "int",  68], // DOM_VK_D
-  ["keyCode.up",        "int",  85], // DOM_VK_U
-  ];
-
-  function runtest()
-  {
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-
-    // get to a known place.
-    document.getElementById("start").focus();
-
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-  }
-
-  SimpleTest.waitForFocus(runtest);
-
-  ]]>
-  </script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_selects.xul
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css type="text/css"?>
-
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=436084
--->
-
-<window title="Mozilla Bug 288254"
-  xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-  <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>      
-  <script type="text/javascript" src="SpatialNavUtils.js"></script>
-
-<body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-<p>
-<a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 445518</a>
-</p>
-
-<form>
-<select id="select_element" name="dropdown" size="1">
-  <option value ="1">option 1</option>
-  <option value ="2">option 2</option>
-  <option value ="3">option 3</option>
-  <option value ="4">option 4</option>
-</select>
-</form>
-
-<p>
-<a id="end" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 445518</a>
-</p>
-
-</body>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-var moveTable = [
-["DOWN", "select_element"],
-["UP", "start"],
-["DOWN", "select_element"],
-["DOWN", "select_element"],
-["DOWN", "select_element"],
-["DOWN", "select_element"],
-["DOWN", "end"],
-["DONE", "DONE"],
-];
-
-var prefs = [
-["enabled",           "bool", true],
-["xulContentEnabled", "bool", true],
-["keyCode.modifier",  "char", "none"],
-];
-
-function runtest()
-{
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-    
-    // get to a known place.
-    document.getElementById("start").focus();
-    
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-}
-
-SimpleTest.waitForFocus(runtest);
-
-]]></script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_textFields.xul
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css type="text/css"?>
-
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=436084
--->
-
-<window title="Mozilla Bug 288254"
-  xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-  <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>      
-  <script type="text/javascript" src="SpatialNavUtils.js"></script>
-
-<body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-<p>
-<a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084</a>
-</p>
-
-<p>
-<input id="textinput" value="abcdefghijklmnopqrstuvwxyz" type="text"></input>
-</p>
-
-<p>
-<textarea id="textarea" name="textarea" cols="30" rows="3" wrap="hard">The Book of Mozilla</textarea>
-</p>
-
-<p>
-<a id="end" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084</a>
-</p>
-
-</body>
-
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-var moveTable = [
-["DOWN", "textinput"],
-["DOWN", "textinput"],
-["DOWN", "textarea"],
-["DOWN", "textarea"],
-["DOWN", "end"],
-["UP", "textarea"],
-["UP", "textarea"],
-["UP", "textinput"],
-["UP", "textinput"],
-["UP", "start"],
-["DOWN", "textinput"],
-["LEFT", "textinput"],
-
-
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textinput"],
-["RIGHT", "textarea"],
-["LEFT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "textarea"],
-["RIGHT", "end"],
-["UP", "textarea"],
-["DONE", "DONE"],
-];
-
-var prefs = [
-["enabled",           "bool", true],
-["xulContentEnabled", "bool", true],
-["keyCode.modifier",  "char", "none"],
-];
-
-function runtest()
-{
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-    
-    // get to a known place.
-    document.getElementById("start").focus();
-
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-}
-
-SimpleTest.waitForFocus(runtest);
-
-]]></script>
-</window>
deleted file mode 100644
--- a/toolkit/spatial-navigation/tests/chrome/test_snav_tightlinks.xul
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css type="text/css"?>
-
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=436084
--->
-
-<window title="Mozilla Bug 288254"
-  xmlns:html="http://www.w3.org/1999/xhtml"
-  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
-  <script type="application/javascript" src="chrome://mochikit/content/MochiKit/packed.js"></script>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
-  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>      
-  <script type="application/javascript" src="SpatialNavUtils.js"></script>
-
-<body id="some-content" xmlns="http://www.w3.org/1999/xhtml">
-
-<a id="start" href="https://bugzilla.mozilla.org/show_bug.cgi?id=436084">Mozilla Bug 436084 (roxama test case)</a>
-<table>
-
-<tbody>
-
-<tr>
-  <td style="font-size: small;"><a id="1" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="2" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="3" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="4" href="a">Link</a></td>
-</tr>
-
-<tr>
-  <td style="font-size: small;"><a id="5" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="6" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="7" href="a">Link</a></td>
-  <td style="font-size: small;"><a id="8" href="a">Link</a></td>
-</tr>
-
-<tr>
-  <td style="font-size: small;"><a id="9" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="10" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="11" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="12" href="a">Link</a></td>
-</tr>
-
-<tr>
-  <td  style="font-size: small;"><a id="13" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="14" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="15" href="a">Link</a></td>
-  <td  style="font-size: small;"><a id="16" href="a">Link</a></td>
-</tr>
-
-</tbody>
-</table>
-</body>
-
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-Components.utils.import("resource://gre/modules/SpatialNavigation.js");
-
-var moveTable = [
-["DOWN", "5"],
-["DOWN", "9"],
-["DOWN", "13"],
-["UP", "9"],
-["UP", "5"],
-["UP", "1"],
-["RIGHT", "2"],
-["DOWN", "6"],
-["DOWN", "10"],
-["DOWN", "14"],
-["UP", "10"],
-["UP", "6"],
-["UP", "2"],
-["RIGHT", "3"],
-["DOWN", "7"],
-["DOWN", "11"],
-["DOWN", "15"],
-["UP", "11"],
-["UP", "7"],
-["UP", "3"],
-["RIGHT", "4"],
-["DOWN", "8"],
-["DOWN", "12"],
-["DOWN", "16"],
-["UP", "12"],
-["UP", "8"],
-["UP", "4"],
-["DONE", "DONE"]
-];
-
-var prefs = [
-["enabled",           "bool", true],
-["xulContentEnabled", "bool", true],
-["keyCode.modifier",  "char", "none"],
-];
-
-function runtest()
-{
-    prepareTest(prefs);
-
-    // starting the test itself.
-    var x = document.getElementById("some-content");
-    SpatialNavigation.init(x);
-
-    // get to a known place.
-    document.getElementById("1").focus();
-
-    testMoves(moveTable);
-
-    SimpleTest.waitForExplicitFinish();
-
-    SpatialNavigation.uninit();
-}
-
-SimpleTest.waitForFocus(runtest);
-
-]]></script>
-</window>
--- a/toolkit/toolkit-makefiles.sh
+++ b/toolkit/toolkit-makefiles.sh
@@ -630,17 +630,16 @@ MAKEFILES_xulapp="
   toolkit/components/parentalcontrols/Makefile
   toolkit/components/passwordmgr/Makefile
   toolkit/components/passwordmgr/content/Makefile
   toolkit/components/passwordmgr/test/Makefile
   toolkit/components/places/Makefile
   toolkit/components/printing/Makefile
   toolkit/components/satchel/Makefile
   toolkit/components/search/Makefile
-  toolkit/spatial-navigation/Makefile
   toolkit/components/startup/Makefile
   toolkit/components/startup/public/Makefile
   toolkit/components/statusfilter/Makefile
   toolkit/components/typeaheadfind/Makefile
   toolkit/components/url-classifier/Makefile
   toolkit/components/urlformatter/Makefile
   toolkit/components/viewconfig/Makefile
   toolkit/components/viewsource/Makefile
@@ -922,17 +921,16 @@ if [ "$ENABLE_TESTS" ]; then
     toolkit/content/tests/chrome/Makefile
     toolkit/content/tests/widgets/Makefile
     toolkit/crashreporter/test/Makefile
     toolkit/mozapps/downloads/tests/Makefile
     toolkit/mozapps/downloads/tests/chrome/Makefile
     toolkit/mozapps/extensions/test/Makefile
     toolkit/mozapps/plugins/tests/Makefile
     toolkit/mozapps/update/test/Makefile
-    toolkit/spatial-navigation/tests/Makefile
     toolkit/xre/test/Makefile
     uriloader/exthandler/tests/mochitest/Makefile
     widget/tests/Makefile
     xpcom/sample/program/Makefile
     xpcom/tests/external/Makefile
   "
 fi