Bug 960694. Support writing out classes with JS implementations of classinfo. r=bsmedberg

--HG--
extra : rebase_source : 6eb91d99f710b366fc2ffab5defea0969834633f
Merge m-c to inbound on a CLOSED TREE. a=ryanvmneedstoquitfortheday
Bug 963270: Use first and second touches for pinch gesture detection r=kats
Bug 861117 - report errors when URIs passed into nsISiteSecurityService::IsSecureURI are malformed. r=briansmith,keeler
Bug 963634 - Remove jsopcode.tbl and jsoplengen.cpp in favor of a higher-order macro, and make JSOP_*_LENGTH into C++ constant variables.  This will make the build process simpler, and it likely eliminates a needs-CLOBBER situation encountered while landing bug 948583.  Particular thanks to r=jorendorff for the fast review here (given any change at all to jsopcode.tbl would bitrot this)

--HG--
extra : rebase_source : 4f5956dd196ff894766210cc4c9629054fc2914d
Bug 956398 - Only support text relocations for libflashplayer.so. r=nfroyd
Bug 963652 - Handlify JS_ForwardGetPropertyTo. r=terrence
Bug 963701 - Unscope the JSAutoCompartment in InitTargetObjects. r=bz
Backed out changeset fe06fb5e10a7, wrong bug number.

--HG--
extra : rebase_source : fad89601b11e3a6cf19114b2152fa3c62d05cce4
Bug 963434 - Remove jsopcode.tbl and jsoplengen.cpp in favor of a higher-order macro, and make JSOP_*_LENGTH into C++ constant variables.  This will make the build process simpler, and it likely eliminates a needs-CLOBBER situation encountered while landing bug 948583.  Particular thanks to r=jorendorff for the fast review here (given any change at all to jsopcode.tbl would bitrot this), DONTBUILD because already landed with wrong bug number
Bug 676358 - HTTP auth realm parameter parsed as quoted-string doesn't get unescaped r=jduell
Bug 963232 - Add extensive documentation to js/GCAPI.h; r=billm
Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 6; r=jonco
Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 7; r=sfink
Bug 957688 - Make ComputeStackString pass a principal and remove checkAccess call. r=mrbkap

Now that we have the principal-based filtering for stack walking, we can do this.
This isn't technically equivalent to the old behavior, since a stack that goes:

A -> B -> A

would previous have only seen the second set of |A| frames, whereas now we'd
see both sets. But this seems strictly better (also, it doesn't happen on the
web).

As noted, I've filed a bug for making this context- and saveFrameChain-agnostic.
Bug 957688 - Remove JS_CheckAccess. r=mrbkap

But how will we call from Gecko into the JS engine to query CAPS via a callback?
Bug 957688 - Remove side-effect-free calls to js::CheckAccess. r=mrbkap

js::CheckAccess has all sorts of crazy side-effects on its parameters. Luckily,
they mostly happen on dead values.

We have to alter a jit-test that previously threw, and doesn't anymore. I have
confirmed that the reason for throwing was not the security check itself, but
rather the lookupGeneric call that happens inside js::CheckAccess, which ends
up throwing 'undefined is not a function'. It seems like this is just an issue
of calling lookupGeneric when we shouldn't, and that the correct behavior here
is not to throw.
Bug 957688 - Remove side-effect-y call to js::CheckAccess, and remove js::CheckAccess itself. r=mrbkap

Thankfully, this case was only taking the JSACC_PROTO, which is significantly
simpler than the alternative.
Bug 957688 - Remove checkObjectAccess security callback. r=mrbkap

There's no need for the JS shell stuff either, since vm/Runtime.cpp already
sets up NullSecurityCallbacks by default.
Bug 957688 - Remove checkAccess nsIXPCScriptable hook. r=mrbkap