| Index: chrome/content/tests/qunit.js | 
| =================================================================== | 
| --- a/chrome/content/tests/qunit.js | 
| +++ b/chrome/content/tests/qunit.js | 
| @@ -1320,26 +1320,31 @@ QUnit.equiv = (function() { | 
| "object": function( b, a ) { | 
| var i, j, loop, | 
| // Default to true | 
| eq = true, | 
| aProperties = [], | 
| bProperties = []; | 
| + /***************** | 
| + * HACK: Disable this code, it won't do well when comparing objects | 
| + * from different scopes (different prototypes). | 
| + | 
| // comparing constructors is more strict than using | 
| // instanceof | 
| if ( a.constructor !== b.constructor ) { | 
| // Allow objects with no prototype to be equivalent to | 
| // objects with Object as their constructor. | 
| if ( !(( getProto(a) === null && getProto(b) === Object.prototype ) || | 
| ( getProto(b) === null && getProto(a) === Object.prototype ) ) ) { | 
| return false; | 
| } | 
| } | 
| + *****************/ | 
| // stack constructor before traversing properties | 
| callers.push( a.constructor ); | 
| // track reference to avoid circular references | 
| parents.push( a ); | 
| for ( i in a ) { // be strict: don't ensures hasOwnProperty | 
| // and go deep |