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.

Reply via email to