Comment #3 on issue 1374 by kpreid.switchb.org: Audit uses of ejector since
SES does not allow uncatchable exceptions
http://code.google.com/p/google-caja/issues/detail?id=1374
I don't think this is an integrity problem at all, because even with
uncatchable ejections in ES5/3 finally blocks can abort them:
alert(cajaVM.callWithEjector(function (e) {
try { e('boo'); } finally { throw 'boom'; }
}));
I don't know what the specific rationale was in ES5/3, but in E the
uncatchability of ejections is merely a semantic convenience: an ejection
is not a _failure_ and it is not the _intent_ of the typical catch block to
catch all possible non-local exits. Thus the uncatchable behavior makes it
less problematic to write "catch all failures" catch blocks.
I have reviewed and found no cases where a try/catch would occur
dynamically between a callWithEjector() and an eject() so I think _our_
code is fine; but perhaps we should _document_ the possibility of aborting
ejections.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
---
You received this message because you are subscribed to the Google Groups "Google Caja Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.