Bug 840698 - Activities are broken r=cjones
Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap

The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
Bug 834732 - Make SafeAutoJSContext actually push something. r=mrbkap

Currently it never does, because the SafeJSContext doesn't have an
nsIScriptContext behind it. :-(
Bug 834732 - Make nsDocShell::AddState push the JSContext if it grabs one, and remove push in nsStructuredCloneContainer. r=mrbkap

This gets rid of one of the last consumers of REQUIRE_SCRIPT_CONTEXT.
Bug 834732 - Move cx pushing into nsPluginProtoChainInstallRunner. r=mrbkap

This gets rid of the last use of REQUIRE_SCRIPT_CONTEXT. \o/
Bug 834732 - Remove PushBehavior. r=mrbkap

Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
Bug 834732 - Make nsCxPusher.Push(JSContext*) infallible. r=mrbkap

We leave the nsIDOMEventTarget* versions fallible for now, but this makes the
common case a lot simpler. Note that this means that pushing a null JSContext,
a bug, is no longer handled at runtime. But I think we should just assert
against it, since there are already callers that don't check the return value.
Bug 834732 - Implement stricter cx handling in xpc_EvalInSandbox. r=mrbkap
Bug 834732 - Push a cx in nsWindowSH::NewResolve. r=mrbkap
Bug 834732 - Push a cx in nsPrincipal::SetDomain. r=mrbkap
Bug 834732 - Push a cx in AdoptNode. r=mrbkap
Bug 834732 - Improve pushing in nsJSEnvironment. r=mrbkap
Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap
Bug 839376 (part 5) - Make ObjectClassIs take a HandleObject.  r=sfink.

--HG--
extra : rebase_source : 2a2f9863a2e2ef2419e28a9167cde8a255003cd0
Bug 839376 (part 6) - Fix five more easy rooting hazards.  r=sfink.

--HG--
extra : rebase_source : 8b430a1de5dcbfecd4799b31a5e30ab35cd53fd7
Bug 839376 (part 7) - Fix seven more easy rooting hazards.  r=sfink.

--HG--
extra : rebase_source : 71a098b809d06bcb0c8a61c7960d9607f81441d4