FF 13, IE 9: objeto JSON stringify / geolocation

Estoy intentando que Firefox 13 convierta un objeto de posición de geolocalización en una cadena JSON, pero está devolviendo una cadena vacía en lugar de la representación correcta de la cadena de mi objeto JSON. Esto funciona bien en las últimas versiones de Chrome y Safari, así como en el navegador de Android. Aquí está mi código:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition( 
        function (position) {  
            //Success handler
            console.log(position); //This outputs the position object to the console
            var gps = JSON.stringify(position); 
            console.log(gps); //This outputs an empty string!
        }, 
        function (error)
        {   
            //Handle error
        },
        { maximumAge: 3000, timeout: 60000, enableHighAccuracy: true }
        );
}
else {
    //Handle error
}

En Chrome, esto genera un objeto de geolocalización y esta cadena:

"{"coords":{"latitude":XYZ,"heading":null,"accuracy":40,"altitudeAccuracy":null,"altitude":null,"longitude":XYZ,"speed":null},"timestamp":1339712284200}"

Sin embargo, en Firefox 13, la salida es solo una cadena vacía, aunque el objeto de geolocalización que se imprime en la consola es, para todos los efectos, el mismo que el objeto que muestra Chrome. ¿Alguna idea sobre lo que está mal aquí?Esta Parece ser un problema relacionado, pero tampoco veo una solución allí. IE9 muestra el mismo comportamiento, por cierto.

Respuestas a la pregunta(2)

Su respuesta a la pregunta