Ámbito inconsistente de "uso estricto" en diferentes navegadores web (en relación con los argumentos.callee y el llamante)

Situación:

Encontré algo extraño concernienteModo estricto en Javascript.

Estoy utilizando una biblioteca de JavaScript externa, quefue minimizado,tiene más de 4000 líneas de código,esno utilizandouse strict en absoluto, yesta usandoarguments.callee.estoy usandouse strict en mi propio código, ámbito dentro de una función.

Cuando llamo a una de las funciones proporcionadas por la biblioteca, produce un error. Sin embargo,

el error se produce solo si estoy usandouse strictEl error se produce en todos los navegadores excepto en Chrome.Código:

He eliminado todas las cosas no relacionadas y he reducido el código a este (demostración en línea en jsFiddle):

// This comes from the minified external JS library.
// It creates a global object "foo".
(function () {
    foo = {};
    foo.bar = function (e) {
        return function () {
            var a5 = arguments.callee;
            while (a5) {
                a5 = a5.caller      // Error on this line in all browsers except Chrome
            }
        }
    }("any value here");
})();

// Here's my code.
(function() {
    "use strict";   // I enable strict mode in my own function only.

    foo.bar();
    alert("done");
})();

Resultado de la prueba:
+-----------------------+-----+--------------------------------------------------------------+
| Browser               | OS  | Error                                                        |
+-----------------------+-----+--------------------------------------------------------------+
| Chrome 27.0.1453.94 m | Win | <<NO ERROR!>>                                                |
| Opera 12.15           | Win | Unhandled Error: Illegal property access                     |
| Firefox 21.0          | Win | TypeError: access to strict mode caller function is censored |
| Safari 5.1.7          | Win | TypeError: Type error                                        |
| IE 10                 | Win | SCRIPT5043: Accessing the 'caller' property of a function or |
|                       |     |             arguments object is not allowed in strict mode   |
| Chrome 27.0.1543.93   | Mac | <<NO ERROR!>>                                                |
| Opera 12.15           | Mac | Unhandled Error: Illegal property access                     |
| Firefox 21.0          | Mac | TypeError: access to strict mode caller function is censored |
| Safari 6.0.4          | Mac | TypeError: Function.caller used to retrieve strict caller    |
+-----------------------+-----+--------------------------------------------------------------+

Nota: paraOS, Win = Windows 7,Mac = Mac OS 10.7.5

Mi punto de vista:Todos los navegadores de escritorio modernos soportanuse strict (verPuedo usar).losuse strict está dentro de mi función, por lo que no se ve afectado todo lo definido fuera de su alcance (veresta pregunta de desbordamiento de pila).Pregunta:

Entonces, ¿todos los navegadores excepto Chrome están equivocados? ¿O es al revés? ¿O es este comportamiento indefinido por lo que los navegadores pueden optar por implementarlo de cualquier manera?

Respuestas a la pregunta(1)

Su respuesta a la pregunta