Граф коммитов

1494 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley 2e39ac86be Bug 800915 - Remove the cx parameter and simplify various APIs. r=sfink,bz
If callers want to throw, it's now their responsibility.
2012-11-12 17:35:32 -08:00
Bobby Holley 59915360cc Bug 800915 - Reimplement PUNCTURE consumers in terms of isSafeToUnwrap() and remove PUNCTURE API. r=mrbkap 2012-11-12 17:35:32 -08:00
Bobby Holley 118da73481 Bug 800915 - Add infrastructure to flag security wrappers as unsafe to unwrap. r=mrbkap 2012-11-12 17:35:32 -08:00
Bobby Holley b892d5b7f5 Bug 800915 - Clarify and refine the semantics of SecurityWrapper so that it is used if and only if unwrapping is unsafe. r=mrbkap
The naming scheme for Xray typedefs is the concatenation of the tuple:
({SC,}, {Security,Permissive}, Xray, {XPCWN,DOM}). This is admittedly a bit
much, but I think it's still better than explicitly doing the "typdef Foo Xray"
everywhere. Moreover, once the new DOM bindings are done, the last component
in the tuple will go away.
2012-11-12 17:35:31 -08:00
Bobby Holley b12489b1f9 Bug 809674 - Fail at call time when invoking an XPCWrappedJS method with [implicit_jscontext] or [optional_argc]. r=mrbkap
I think this is the path of least resistance here.
2012-11-12 16:17:24 -08:00
Bobby Holley 380b933b23 Bug 810743 - First check for pending exceptions, _then_ examine the invoke result. r=mrbkap 2012-11-12 16:17:24 -08:00
Bill McCloskey 849c947155 Bug 810560 - Followup (r=luke) 2012-11-12 15:17:01 -08:00
Bill McCloskey 0437a8fe30 Bug 810560 - Fix scheduledForDestruction assertion (r=luke)
--HG--
extra : rebase_source : 6c25ad6b505e818d66f1caaea907c55355f7559a
2012-11-12 14:57:53 -08:00
Peter Van der Beken b2ba5959ec Fix for bug 804950 (New DOM binding APIs for Element). r=bz.
--HG--
extra : rebase_source : a8691ead07dfa8ecca812396047627dc15474d83
2012-10-16 13:51:00 +02:00
Terrence Cole c458934d6c Bug 805080 - Move more API users to CompileOptions; r=luke
There is no reason to have special methods for specific sets of CompileOptions
when the JS::Compile interface is so easy to use.  Other API methods can be
moved internal or removed entirely with this change.

--HG--
extra : rebase_source : f48fb221ebe02c0137e521ea605953532808825d
2012-11-06 17:36:47 -08:00
Peter Van der Beken 4b67a43418 Fix for bug 807330 (Make xpc_qsUnwrapThis/xpc_qsUnwrapArg deal with new DOM bindings). r=jst.
--HG--
extra : rebase_source : 3553f82516bfaa0764185f94e2eef616d9cd696d
2012-09-26 16:17:46 +02:00
Bill McCloskey c6fc79b890 Bug 803376 - Allow wrappers to be reused (r=bholley) 2012-09-11 17:14:24 -07:00
Boris Zbarsky 30a5c69587 Bug 807226 part 0.5. More undefs to stop Windows headers from messing with our GetClassName. r=peterv 2012-11-09 07:59:41 -08:00
Boris Zbarsky 63fb55a443 Bug 779048 part 0.5. Don't require a JSContext argument for nsJSUtils::GetStaticScriptGlobal. r=bholley 2012-11-09 07:43:57 -08:00
Fernando Jiménez c5d3248393 Bug 809218 - Expose atob and btoa functions in xpcshell; r=mrbkap 2012-11-08 13:45:41 -08:00
Bobby Holley 2bea60dc84 Bug 809547 - Tests. r=bz 2012-11-07 22:40:48 -08:00
Benoit Jacob 56d845628e Bug 809715 - Use MFBT's IsBaseOf to simplify QS_IS_NODE - r=ehsan 2012-11-07 21:33:31 -05:00
Bobby Holley e0e591c636 Bug 805807 - Filter setters. r=mrbkap 2012-11-07 15:45:50 -08:00
Bobby Holley de1677f0a5 Bug 802557 - Mochitests. r=bz 2012-11-07 15:43:09 -08:00
Bobby Holley feda3eae48 Bug 806751 - Pile more garbage into GetWrappedNativeOfJSObject. r=mrbkap
--HG--
extra : rebase_source : 9d290c7058dd4a1984aff94ef84376913947189e
2012-11-07 14:12:14 -08:00
Nathan Froyd d0462ba0b8 Backout a9cfcf4b62d9 (bug 803730), a5e214d4f8b0 (bug 803730), for intermittent oranges in newly added tests 2012-11-07 14:58:29 -05:00
Kannan Vijayan 836e79de84 Bug 803730 - Add mochitest for bug. 2012-11-07 13:03:31 -05:00
Bobby Holley 3738ed83b2 Bug 809318 - Fix flakey tests. r=philor 2012-11-07 09:39:32 -08:00
Bobby Holley ab93542be6 Bug 808457 - Add Telemetry for Components.lookupMethod and Components.interfaces. r=mrbkap 2012-11-07 08:28:35 -08:00
Bobby Holley a209826b20 Bug 808611 - Move valueOf to nsIDOMLocation. r=mrbkap 2012-11-07 08:27:23 -08:00
Bobby Holley 660d2e75d8 Bug 808730 - Implement the 'IfFound' parent of ReparentWrapperIfFound. r=mrbkap
This is a pretty dumb bug, but we never actually hit this codepath at the moment.
We currently end up in wrapper by either explicitly calling
ReparentWrappedNativeIfFound (in nsNodeUtils and in nsHTMLDocument), or by moving
existing wrappers during orphan fixup. The former always passes a wrapper-cached
object, and the latter guarantees that we always have a wrapper. So we'd never
hit the "no wrapper cache, no wrapper" case in the current code.
2012-11-06 17:56:49 -08:00
Andrea Marchesini b971f025e1 Bug 781425 - Part 1: Enconding and dictionary. r=mounir, sr=sicking 2012-11-06 18:23:13 -05:00
Bobby Holley 5373164479 Bug 807179 - Add a constructor for JSPropertyDescriptor. r=luke 2012-11-05 17:49:44 -08:00
Bobby Holley 5ea4e75026 Bug 800864 - Add some more tests. r=bz 2012-11-05 17:15:53 -08:00
Bobby Holley 53bb913470 Bug 793969 - Tests. r=mrbkap 2012-11-05 17:10:34 -08:00
Boris Zbarsky d1b570c89c Bug 807548. Enumerating an Xray should not see the 'constructor' property on DOM prototypes unless we're told to include non-enumerable properties. r=peterv 2012-11-05 11:58:03 -05:00
Ehsan Akhgari 0f7dbe062a Merge mozilla-central into mozilla-inbound 2012-11-04 11:09:45 -05:00
Ms2ger c1e34c61d4 Bug 801991 - Remove the ability to generate custom quickstubs; r=peterv 2012-11-04 09:00:06 +01:00
Bobby Holley 2669b93e81 Bug 805807 - Rearchitect filtering policies so that check() doesn't throw on denial. r=mrbkap
This is another one of those annoying situaitons in XPConnect right now where we
can't ask a question without potentially throwing if the answer is no. There's
also a bunch of unused cruft in here (like the Perm*Access stuff), so this stuff
was ripe for a spring cleaning. Unfortunately, I wasn't able to divide this patch
up nicely. Sorry for the big diff. :-(

In a nutshell, this patch changes things so that Policy::check() just becomes
a predicate that says whether the access is allowed or not. There's the remote
possibility that one of the underlying JSAPI calls in a ::check() implementation
might throw, so callers to ::check() should check JS_IsExceptionPending
afterwards (this doesn't catch OOM, but we can just continue along until the
next OOM-triggering operation and throw there).

Aside from exceptional cases, callers should call Policy::deny if they want to
report the failure. Policy::deny returns success value that should be returned
to the wrapper's consumer.
2012-11-02 21:47:49 -03:00
Bobby Holley 6c9faad2ad Bug 805807 - Make Components wrapper throw on denial. r=mrbkap
There's really no reason to use the wishy-washy static COW Deny() here.

Also, note that the xpcshell-test wasn't testing what it thought it
was - interfaces is accessible from content code.
2012-11-02 21:47:49 -03:00
Bobby Holley 8fee429f73 Bug 731471 - Crashtesty-mochitest. r=me 2012-11-04 07:41:01 -08:00
Peter Van der Beken 649ff82d77 Test for bug 798264. 2012-10-12 12:48:25 +02:00
Ed Morley 982b0d39e4 Backout 23c9f61a243b & 6ca11f4b470c (bug 805807) for mochitest-1 orange in test_contextmenu.html 2012-11-02 14:12:51 +00:00
Bobby Holley 6559feed97 Bug 805807 - Rearchitect filtering policies so that check() doesn't throw on denial. r=mrbkap
This is another one of those annoying situaitons in XPConnect right now where we
can't ask a question without potentially throwing if the answer is no. There's
also a bunch of unused cruft in here (like the Perm*Access stuff), so this stuff
was ripe for a spring cleaning. Unfortunately, I wasn't able to divide this patch
up nicely. Sorry for the big diff. :-(

In a nutshell, this patch changes things so that Policy::check() just becomes
a predicate that says whether the access is allowed or not. There's the remote
possibility that one of the underlying JSAPI calls in a ::check() implementation
might throw, so callers to ::check() should check JS_IsExceptionPending
afterwards (this doesn't catch OOM, but we can just continue along until the
next OOM-triggering operation and throw there).

Aside from exceptional cases, callers should call Policy::deny if they want to
report the failure. Policy::deny returns success value that should be returned
to the wrapper's consumer.
2012-11-02 13:27:59 +01:00
Bobby Holley f485a6c791 Bug 805807 - Make Components wrapper throw on denial. r=mrbkap
There's really no reason to use the wishy-washy static COW Deny() here.

Also, note that the xpcshell-test wasn't testing what it thought it
was - interfaces is accessible from content code.
2012-11-02 13:27:59 +01:00
Nicholas Nethercote 0a726cdb19 Bug 806283 - Split up and add native iterators to "object/misc" memory reports. r=jorendorff.
--HG--
extra : rebase_source : 867e178d0c921de9e144fb274e1c0d77c8845b81
2012-11-01 16:51:04 -07:00
Kyle Huey 0469a02b25 Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon
--HG--
extra : rebase_source : 98337b6a8c07d05e8c961a452dd05a7d75c3c60b
2012-10-31 09:13:28 -07:00
Tom Schuster dc7288d8a6 Bug 805222 - Change some usages of GetFunctionId to GetFunctionDisplayId for better JS stacktrace. r=bholley,robcee 2012-10-31 13:34:42 +01:00
Vicamo Yang a78b5b38c7 Backout 67cb43bb8865: Breaks B2G Marionette 2012-10-31 16:35:11 +08:00
Andrew McCreight 6d19137a54 Bug 806433 - Make mReleaseRunnable a ref ptr. r=smaug 2012-10-30 20:01:31 -07:00
Jonas Sicking 00c5245c10 Bug 806587: Restore getCodebasePrincipal since extensions use it. r=mounir 2012-10-30 22:24:41 +01:00
Boris Zbarsky a14a96d2cf Bug 801819. Remove nsIDOMCSS2Properties and the classinfo bits for CSS declarations. r=peterv,dbaron 2012-10-30 17:14:06 -04:00
Terrence Cole a80f8cc0af Bug 805080 - Remove unused CESU8 support from SpiderMonkey; r=luke
We have many CESU8 paths in SpiderMonkey which are completely unused and
untested. We have many more "UTF-8" paths which are really mislabled CESU8 paths
and visa-versa. This patch attempts to disentable all of the various encoding
options in SpiderMonkey.
2012-10-29 13:55:17 -07:00
Bobby Holley cfc92feb20 Bug 804630 - Tests for exposing prototype properties on a derived object. r=mrbkap 2012-10-30 18:29:11 +01:00
Kyle Huey 9a3674d80a Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon 2012-10-30 12:28:11 -07:00
Ed Morley 4144129728 Backout a145ded68994, e0cf397089ec & 1545e91c658e (bug 798491) for bustage on a CLOSED TREE 2012-10-30 17:02:31 +00:00
Kyle Huey c52440cc57 Bug 798491: Followup bustage fix. 2012-10-30 08:42:47 -07:00
Kyle Huey 50b5d3f681 Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon 2012-10-30 08:26:12 -07:00
Jacek Szpot 761b11160f Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Peter Van der Beken 669602b5e0 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Bobby Holley 5dafb39b7f Bug 803068 - Merge DirectWrapper and Wrapper. r=ejpbruel
--HG--
extra : rebase_source : a2b98a9585c6f7761747cfaf55684e6eeed91344
2012-10-29 16:52:53 +01:00
Bobby Holley b871af67e5 Bug 803068 - Manually grab the BaseProxyHandler derived traps in SandboxProxyHandler. r=ejpbruel
Let's just bite the bullet and do this here. It will let us get rid of
IndirectProxyHandler, which has really overcomplicated our proxy hierarchy.

--HG--
extra : rebase_source : 7e81529936bc256d672e40537eb6abca6374e52c
2012-10-29 16:52:53 +01:00
Bobby Holley 9176d2ad9c Bug 797206 - Remove GetPrincipalFromContext. r=bz 2012-10-29 15:55:36 +01:00
Peter Van der Beken 2d58c35ce6 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - rename ProtoOrIfaceArray. r=bz.
--HG--
extra : rebase_source : c426270fc1ebee818629bd94dfc8d11af59bfc00
2012-10-09 20:50:27 +02:00
Peter Van der Beken c2c9421a38 Fix for bug 804992 (Enable objects with new DOM bindings to be parent of other DOM objects). r=bz.
--HG--
extra : rebase_source : f07cade82dad0216d94e68dd0c0f495977abeb31
2012-09-12 22:29:30 +02:00
Peter Van der Beken 0e30cf87b1 Fix for bug 804732 (Remove mCachedDOMPrototypes). r=bz.
--HG--
extra : rebase_source : dc9ffe5f37dbc0542cbb47384b2d25472c70d801
2012-10-23 22:11:58 +02:00
Nicholas Nethercote b78a6d0425 Bug 805915 (part 5) - Add more detail to shape memory reports. r=luke.
--HG--
extra : rebase_source : f1a05ea15b78e5f33d6398accca3333ab29fa1c6
2012-10-29 08:51:21 +11:00
Nicholas Nethercote b602643bc5 Bug 805915 (part 4) - Add more detail to string memory reports. r=luke.
--HG--
extra : rebase_source : 010e28f10917ae4cc9d0d11abace9bcdabf0aba8
2012-10-29 08:51:21 +11:00
Nicholas Nethercote fe068d7611 Bug 805915 (part 2) - Add more detail to object memory reports. r=luke.
--HG--
extra : rebase_source : e54ece88753280ccac284f6265fd92310dc1bec6
2012-10-29 08:51:21 +11:00
Nicholas Nethercote 9c33f3f643 Bug 805915 (part 1) - Rename the "cross-compartment-wrappers" memory report. r=luke.
--HG--
extra : rebase_source : a9689bde17b043bc8bec55c0307c0bbf94768232
2012-10-29 08:51:21 +11:00
Ryan VanderMeulen 443e3884bc Bug 799917 - Backout for various regressions. 2012-10-28 08:49:20 -04:00
Bill McCloskey a6cd2f8c4f Bug 692267 - Remove jsgc.h from INSTALLED_HEADERS (r=terrence) 2012-10-26 11:17:24 -07:00
Andrew Quartey 3f4e29b9f0 Bug 792581 - part 20: Replace LL_UI2L macro with int64_t cast. r=ehsan 2012-10-25 19:25:57 -04:00
Nikhil Marathe 03b0de5c8a Bug 804174 - Inline CallerHasUniversalXPConnect with IsCallerChrome. r=mccr8 2012-10-25 16:10:53 -07:00
Bobby Holley 11a3279da2 Bug 797821 - Null check to fix intermittent orange. r=me 2012-10-25 18:36:45 +02:00
Ehsan Akhgari 8e702f60c5 Backed out 2 changesets (bug 579517)
Backed out changeset 5298adc70963
Backed out changeset 86ccf7c918ce (bug 579517)
2012-10-25 12:32:24 -04:00
Ehsan Akhgari f3c0ac7a23 Code hygiene: don't use PR_TRUE and PR_FALSE, and use stdint types instead of PRInt types (no bug really, but you could say bug 579517) 2012-10-25 11:48:19 -04:00
Bobby Holley 2afd934910 Bug 797821 - Address Ms2ger's review comments. r=me 2012-10-25 17:01:09 +02:00
Bobby Holley 35f4a1d02f Bug 797821 - Remove the XPConnect Compartment Set. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley e5281ffe10 Bug 797821 - Hoist XPConnect-y stuff out of the compartment private and into the XPCWrappedNativeScope. r=mrbkap
This change means we no longer have to keep around a set of XPConnect compartments.
We keep the compartment private around for non-xpconnecty stuff like about:memory
instrumentation that needs to happen on non-xpconnect compartments.
2012-10-25 17:01:09 +02:00
Bobby Holley fecbbb3ade Bug 797821 - Removed the unused reserved slot for XPConnect globals. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley 678c7b3e05 Bug 797821 - Remove JSCLASS_XPCONNECT_GLOBAL flag. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley 2cf0594417 Bug 797821 - Decide whether we need to trace DOM stuff based on more relevant information than JSCLASS_XPCONNECT_GLOBAL. r=mrbkap
This will let us rip out that flag.
2012-10-25 17:01:08 +02:00
Bobby Holley 5d518d9c54 Bug 797821 - Remove FindInJSObjectScope and friends. r=mrbkap
\o/
2012-10-25 17:01:08 +02:00
Bobby Holley 0cdf333aaa Bug 797821 - Replace usage of XPCWrappedNativeScope::FindInJSObjectScope(ccx, obj) with GetObjectScope(obj). r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley 7ec5eb0580 Bug 797821 - Create XPCWrappedNativeScopes immediately after global creation. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley f0c6fb319b Bug 797821 - Remove xpc_NewSystemInheritingJSObject and cached mJSPrototypeObject. r=mrbkap
xpc_NewSystemInheritingJSObject is totally unnecessary now that the system bit
has been removed (\o/). Furthermore, the mJSPrototypeObject optimization is
really dumb. it complicates tracing significantly, and we don't actually use it
in any critical places: XPCWrappedNative and slim wrapper creation use a different
prototype, so this is used only for the creation of tearoff reflectors (seldom/
never used), XPCWrappedNativeProto objects, and the nohelper prototype on the
scope (once per scope).

We could actually just pass NULL to JS_NewObject and let it deal. However, this
would actually trigger a dynamic lookup for the prototype object of the
associated JSClass, which isn't what we want. So we just explicitly pass in
Object.prototype.
2012-10-25 17:01:08 +02:00
Bobby Holley c2707a9093 Bug 797821 - Remove unused aNative parameter to XPCWrappedNativeScope creation. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley 467b5d350e Bug 797821 - Stop storing mScriptObjectPrincipal. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley 6e408995a1 Bug 797821 - Stop making nsXBLDocumentInfo and nsXULPrototypeDocument globals with XPConnect. r=mrbkap
We already weren't creating a scope for them. They're generally pretty isolated
and are just used for holding functions that get cloned into other scopes.
Apparently mccr8 once found an edge from an nsXULPrototypeDocument scope into
another scope, but I don't think that should really break anything.
2012-10-25 17:01:07 +02:00
Bobby Holley 2c3ca83d1f Bug 797821 - Allow compartment privates to be lazily created when using them just for storing about:memory URIs. r=mrbkap
This will allow us to stop making nsXULPrototypeDocument and nsXBLDocumentInfo
globals XPConnect globals.
2012-10-25 17:01:07 +02:00
Bobby Holley 115b01b88b Bug 797821 - Stop passing wantXrays directly to CreateGlobalObject. r=mrbkap
This can happen after the fact where it needs to.
2012-10-25 17:01:07 +02:00
Bobby Holley 9fa3c57db6 Bug 797821 - Loosen the CompartmentPrivate contract so that having one does not imply being in the compartment set. r=mrbkap
The compartment set goes away in later patches anyway. This is to allow us to
create compartment privates for things like XUL prototype document globals
without having to put them in the set and trace expandos and such.
2012-10-25 17:01:07 +02:00
Bobby Holley c563a12b76 Bug 797821 - Simplify the call signature for XPC::CreateGlobalObject. r=mrbkap 2012-10-25 17:01:07 +02:00
Bobby Holley 64e6dab665 Bug 797821 - Remove CreateNewGlobal. r=mrbkap
It doesn't do anything useful at this point.
2012-10-25 17:01:07 +02:00
Bobby Holley 669dc56dfe Bug 797821 - Remove the dependency of XPCWrappedNativeScope instantiation on XPCCallContext and expose the raw constructor. r=mrbkap 2012-10-25 17:01:07 +02:00
Bobby Holley ededf3d730 Bug 801576 - Android bustage fix. r=me 2012-10-24 14:18:39 +02:00
Bobby Holley 5a6219b643 Bug 801576 - Add tests for the same-origin policy. r=mrbkap 2012-10-24 12:04:19 +02:00
Bobby Holley f2880fe1d1 Bug 801576 - Forbid cross-origin access to the History object. r=mrbkap 2012-10-24 12:04:18 +02:00
Ryan VanderMeulen 72c7e10300 Merge m-c to inbound. 2012-10-23 22:41:34 -04:00
Ryan VanderMeulen 7d0be33071 Merge the last PGO-green inbound changeset to m-c. 2012-10-23 22:28:33 -04:00
Olli Pettay c370341643 Bug 780770, nsThread::SetMainThreadObserver, r=bz+bholley 2012-10-24 01:26:36 +03:00
Benjamin Peterson a7f69029d0 Bug 804404 - Set source hook in XPC initialization. r=bz 2012-10-23 18:09:00 -04:00
Chuck Lee 6a13b77a08 Bug 780142 - Rewrite MozWifiConnectionInfoEvent. r=smaug 2012-10-22 18:18:26 +08:00
Chuck Lee c686d1e157 Bug 780142 - Rewrite WifiStatusChangeEvent. r=smaug 2012-10-22 17:17:18 +08:00