Forked from 630471. jsdbgapi.cpp is used by JSD as well as XPConnect and several other places. It probably ought to have the same compartment check asserts that jsapi.cpp does. I'm still not really sure what things need to check, though. I'm trying to use a metric of "can run JS code or set a pending exception" as the rule, but it's not always easy to determine.
Created attachment 509600 [details] [diff] [review] Conservative set of compartment asserts for jsdbgapi.cpp Here's a fairly conservative set, where in auditing the code I could see code getting run or exceptions being thrown. Even here, though, I didn't *really* find problems with 100% of these. For example, some of the watch stuff hinges on whether this: shape = wp->object->changeProperty(cx, wprop, 0, wprop->attributes(), wprop->getter(), wp->setter); is allowed to cross compartments. I said no.
Comment on attachment 509600 [details] [diff] [review] Conservative set of compartment asserts for jsdbgapi.cpp This set of asserts hasn't had any false alarms for me for a while, so asking for review. I don't feel any great need to get this in, so I'll let someone else request blocking if they want to. Otherwise, feel free to ignore until post FF4.