https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/mitigateGotchas.js File src/com/google/caja/ses/mitigateGotchas.js (right):
https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/mitigateGotchas.js#newcode20 src/com/google/caja/ses/mitigateGotchas.js:20: * Note the parse tree manipulate in this file uses the SpiderMonkey That sentence doesn't parse. https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/mitigateGotchas.js#newcode48 src/com/google/caja/ses/mitigateGotchas.js:48: * window.x = window.x, window.y = 2, window.z = window.z Under what conditions do we throw ReferenceErrors after such a translation? https://codereview.appspot.com/6827077/diff/1/src/com/google/caja/ses/mitigateGotchas.js#newcode81 src/com/google/caja/ses/mitigateGotchas.js:81: * (function() { try { typeof x } catch (e) { return "undefined" } })() typeof (function(){throw Error()})(); // Should be rethrown typeof (function(){throw ReferenceError()})(); // Should be rethrown, but is unavoidably eaten; document as gotcha Perhaps you only want to rewrite the case where the argument to typeof is a bare variable? https://codereview.appspot.com/6827077/
