Commit Graph

797 Commits

Author SHA1 Message Date
Blake Kaplan
3369596da6 Bug 756584 - Crashtest for bug 720305. r=dveditz 2012-05-19 11:32:46 -04:00
Benjamin Smedberg
2187798a40 Bug 734847 part 2 - treewide changes resulting from the default-infallibility of hashtables; either remove useless result checks, or use the fallible version of APIs, depending on context, r=jlebar
--HG--
extra : rebase_source : 844b008c5167e6ca39a7ba9eeec8b30672938704
2012-05-18 13:30:49 -04:00
Ms2ger
512d8ee24a Bug 755875 - Use ValueToInt64/ValueToUint64 in XPCConvert::JSData2Native; r=bholley 2012-05-18 10:29:40 +02:00
Ms2ger
5a68e74435 Bug 754968 - Part c: Make BindingUtils.h not require private xpconnect headers; r=bholley 2012-05-18 10:29:40 +02:00
Ms2ger
e74680bc00 Bug 754968 - Part b: Export qsObjectHelper; r=bholley 2012-05-18 10:29:40 +02:00
Ms2ger
e0857f523a Bug 754968 - Part a: Export xpcObjectHelper; r=bholley 2012-05-18 10:29:40 +02:00
Nicholas Nethercote
cdad96bdc7 Bug 755583 (part 1) - Introduce "sundries" entries for aggregating small entries in per-compartment memory reporters. r=luke.
--HG--
extra : rebase_source : 797fc0deb2a438cbb7f4c64f4c03dd4b6378e498
2012-05-16 20:43:36 -07:00
Jason Orendorff
41761a8fea Bug 756260 - Fix up building without JS_HAS_XML_SUPPORT, again. r=terrence.
--HG--
extra : rebase_source : 9b0bc4f31db387e4e98821d712309792c07eac1c
2012-05-17 16:24:32 -05:00
Eddy Bruel
0f91edbc9a Bug 703537 - Add IndirectProxyhandler; r=bholley,jorendorff 2012-05-17 13:19:37 +02:00
Nicholas Nethercote
8262af73d3 Bug 755581 (part 5) - Add "cross-compartment-wrappers" reporter. r=luke.
--HG--
extra : rebase_source : 1dfb5eb522008acd59f6bce5e1724af1dc0da9f0
2012-05-15 19:31:01 -07:00
Nicholas Nethercote
d3d3dcc4bc Bug 755581 (part 4) - Add "math-cache", "script-filenames" and "compartment-objects" reporters. r=luke.
--HG--
extra : rebase_source : cc1fc8ff91a7b63b8a1fd48aac3b5f37c7e84393
2012-05-15 19:30:28 -07:00
Nicholas Nethercote
7ab7a4aeca Bug 755581 (part 3) - Clean up JSRuntime::sizeOfIncludingThis(). r=luke.
--HG--
extra : rebase_source : 892163d96148ed86a190ee7221235dc529445fef
2012-05-15 19:29:14 -07:00
Nicholas Nethercote
977d9347ea Bug 755581 (part 2) - Change "runtime/normal" reporter to "runtime/dtoa". r=luke.
--HG--
extra : rebase_source : 6dfe281494588628c3335058d333080f86bb3487
2012-05-15 19:28:31 -07:00
Nicholas Nethercote
1706a55c1d Bug 755581 (part 1) - Change "mjit/data" reporter to "mjit-data". r=luke.
--HG--
extra : rebase_source : e45b376ff1710e9f1bf3b14363f884bb7fb71d48
2012-05-15 19:27:34 -07:00
Doug Turner
5cb911288f Bug 755836 - undef near in directory helper to avoid build errors. r=kyle 2012-05-16 13:27:56 -07:00
Doug Turner
8313ba6d13 Bug 751663 - Implement new device proximity like event that fires only when the screen is close to the user's face. r=smaug 2012-05-16 13:27:54 -07:00
Ed Morley
2acc0d3f41 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-05-16 10:06:15 +01:00
Till Schneidereit
53b81d3cba Change nsXPConnect::CheckForDebugMode to trigger one multi-compartment GC instead of individual GCs for all compartments, to fix GC pauses when switching tabs with Firebug. Bug 754201, r=jorendorff, r=sfink. 2012-05-14 18:46:51 -05:00
Andrew McCreight
47adc22ec3 Bug 701415 - Enable GC tracing info in opt builds. r=billm 2012-01-13 17:19:19 -08:00
Bobby Holley
6e3fdf4e54 Bug 553102 - Fix test_cows.xul. r=mrbkap 2012-05-24 13:04:57 +02:00
Matt Brubeck
773ffb6265 Merge mozilla-central and mozilla-inbound 2012-05-14 21:41:08 -07:00
Matt Brubeck
bb3a6fefc7 Merge last green changeset from inbound to mozilla-central 2012-05-14 14:00:57 -07:00
Mike Hommey
5262f75c2c Bug 754625 - Use idl-parser from $(LIBXUL_DIST)/sdk/bin and only remove lex and yacc files in header.py --regen. r=khuey 2012-05-14 17:19:39 +02:00
Bobby Holley
9c60ce3d2e Bug 753277 - Assert that all cross-scope wrapper reparenting operations are cross-compartment, and remove the conditional. r=mrbkap
The reindentation is pure. No snakes.
2012-05-14 12:52:17 +02:00
Tom Schuster
889e3a0487 Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger 2012-05-11 17:46:26 +02:00
Bobby Holley
a677897390 Bug 754311 - Null out the private of soon-to-be-transplanted reflectors _after_ copying their properties onto the holder. r=mrbkap 2012-05-14 23:30:07 +02:00
Bobby Holley
edc81ab397 Bug 754044 - Remove manual injection of same-compartment security wrappers, and make sure to call JS_Wrap* instead. r=mrbkap 2012-05-14 23:30:07 +02:00
Bobby Holley
80f05e377a Bug 754044 - Apply same-compartment security wrappers in same-compartment wrapping callback. r=mrbkap 2012-05-14 23:30:07 +02:00
Bobby Holley
4b7ab64339 Bug 754044 - Introduce sameCompartmentWrapObjectCallback. r=mrbkap
We leave it null for gecko for the time being to keep this patch small.
2012-05-14 23:30:07 +02:00
Bobby Holley
0359e6d4ba Bug 754044 - Pass stopAtOuter=false in GetWrappedNativeOfJSObject, because that's what we mean. r=mrbkap 2012-05-14 23:30:07 +02:00
Landry Breuil
a7b3472b9e bug 736961 - use the same cachedir for all idl-parser calls, fixes builds without objdir - r=khuey 2012-05-11 11:17:00 -07:00
Ed Morley
4c4c3cfd18 Backout 9b0fcaacb788 & bf3fef257e68 (bug 752226) for mochitest-other orange 2012-05-11 18:25:52 +01:00
Tom Schuster
6e0861373a Bug 752226 - Remove any use of JSVAL_IS_OBJECT. r=luke,Ms2ger
--HG--
extra : rebase_source : edf2077f8b8bad1970eab6ebe9996e761d4e596c
2012-05-11 17:46:26 +02:00
Steve Fink
a7e6ebec5a Bug 752250 - xpc_UnmarkGrayContext should never throw an exception. r=billm
It is possible to have a JSContext with no global object and no frames on the
stack, yet still be within a request. In that case, xpc_UnmarkGrayContext will
trigger an exception "nothing active on context" when it attempts to access the
inner object of the cx's NULL global.
2012-05-09 15:12:27 -07:00
Boris Zbarsky
3a47108ff7 Bug 753397. Add a field to nsCSSPropList for a preference that controls the property. r=dbaron
The actual controlling is not hooked up yet; that will happen in bug 753522 for
the DOM reflections of properties.
2012-05-09 21:29:37 -04:00
Kevin Locke
882e9642c4 Bug 752357 - Include compartment location (sandbox name) in compartment name when it differs from the principal name. r=nnethercote.
--HG--
extra : rebase_source : f82959649a377c4f3806043d83506e3aa48b5915
2012-05-08 19:02:37 -07:00
Luke Wagner
57ad808df2 Bug 747617 - fix document.all and swap JSClass::{construct,hasInstance} so this doesn't happen again (r=bz)
--HG--
extra : rebase_source : 036acbd046ff8b42f81e63933901b6aaaa595a76
2012-05-07 12:44:08 -07:00
Bill McCloskey
1ca53de65f Bug 751454 - Use automarker for XPCNativeScriptableInfo (r=bholley) 2012-05-08 11:11:09 -07:00
Jon Buckley
f4f2e1efb0 Bug 728017 - Implement WEBGL_compressed_texture_s3tc - r=bjacob 2012-05-08 13:29:31 -04:00
Ed Morley
8a8e40fff3 Backout ba7cf6fd10ae (bug 728017) for failing to compile 2012-05-08 18:50:45 +01:00
Jon Buckley
56d33b746c Bug 728017 - Implement WEBGL_compressed_texture_s3tc - r=bjacob 2012-05-08 13:29:31 -04:00
Boris Zbarsky
15ff74a708 Bug 751077. Skip binding for the XPConnect-default property ops as well when resolving properties on a sandbox prototype. r=bholley 2012-05-07 13:26:50 -04:00
Bill McCloskey
0253660d2a Bug 715761 - Start to rewrite xpconnect TraceJS code (r=bholley) 2012-05-07 10:01:50 -07:00
Bill McCloskey
8fd6ef2cbb Bug 715761 - Replace xpconnect automarker macros with templates (r=bholley) 2012-05-07 10:01:44 -07:00
Bill McCloskey
194b0556d3 Bug 715761 - Move xpconnect mark bits (r=bholley) 2012-05-07 10:01:39 -07:00
Bill McCloskey
6e431c131a Bug 715761 - Add a comment explaining xpconnect (r=bholley) 2012-05-07 10:01:33 -07:00
Nicholas Nethercote
f1e81b0077 Bug 752381 - Merge System Principal compartments in about:memory. r=jlebar. 2012-05-06 22:05:16 -07:00
Andrew Paprocki
e565d0e693 Bug 736792 - Add JSOPTION_STRICT_MODE for embedders to force ES5 strict mode for all code without requiring "use strict" annotations. r=njn 2012-05-05 15:26:16 -04:00
Bobby Holley
45e0c007a8 Bug 749173 - Remove AutoPreserveCompartment. r=luke 2012-05-06 13:09:49 +02:00
Ms2ger
9a5ae693e0 Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-05-05 11:00:05 +02:00
Ms2ger
b11a242059 Bug 745427 - Fix XPCWrappedNativeScope::SetContext; r=gal 2012-05-05 11:00:04 +02:00
Doug Turner
9eaa2d7486 Bug 738465 - implement device light sensor. r=smaug 2012-05-02 09:43:45 -07:00
Doug Turner
f158836867 Bug 738131 - implement device proximity. r=smaug
* * *
Bug 738131 - implement device proximity. gonk implementation. r=mwu
2012-05-02 09:43:45 -07:00
Steve Fink
68da1345a6 Bug 730208 - UnmarkGray fixups for globals and contexts. r=billm
A common source of potential black -> gray edges is JSAPI calls made on objects with gray globals or contexts holding gray globals. (The call could potentially update a black object with a pointer to that global.) This patch mostly traps places where contexts are used, and unmarks their globals. It also includes some more global unmarking.

--HG--
extra : rebase_source : 835c1d6b4a7f7a11571412075ae8847475079edd
2012-03-14 09:32:58 -07:00
Steve Fink
9f33681083 Bug 730208 - XPConnect changes to UnmarkGray some more objects and return them for convenience. r=mccr8
--HG--
extra : rebase_source : ddbfd05ec43868d39c26b1c37cac7e81522df29f
2012-03-20 21:22:40 -07:00
Johnny Stenback
1541a5dfed First part of bug 749392. Stop exposing 'clear' in our shells in preparation of removing the underlying JS_ClearScope() API. r=jwalden 2012-05-03 15:52:45 -07:00
Andrew McCreight
61de8b7612 Bug 744103, part 4 - Remove nsCycleCollectionLanguageRuntime. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
e9753b7090 Bug 744103, part 3 - Change NoteRoot to NoteJSRoot and NoteNativeRoot. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
38b851ba07 Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00
Peter Van der Beken
926ed983fc Fix for bug 744772 (Trace the DOM interface object array). r=bz.
--HG--
extra : rebase_source : c9f27bed0eab0e6db03295050176ef986cf0b59b
2012-05-02 14:49:43 +02:00
Marco Castelluccio
deee01a74c Bug 751280 - Remove 2-arg form of xpc_FastGetCachedWrapper. r=bholley 2012-05-03 06:22:58 -04:00
Luke Wagner
68d492d13d Bug 720753 - hoist JaegerCompartment and MathCache from JSCompartment into JSRuntime (r=bhackett,njn) 2012-05-03 09:12:47 +02:00
Luke Wagner
b1d0aeeace Bug 650353 - Implement Compartment-Per-Global in XPConnect. r=mrbkap 2012-05-03 09:10:12 +02:00
Luke Wagner
8cef559f81 Bug 722775 - rm sameGroupAs. r=mrbkap 2012-05-03 09:10:10 +02:00
Boris Zbarsky
224115946f Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom.  General files not specific to an interface are also exported into
mozilla/dom.

In terms of namespaces, most things now live in mozilla::dom.  Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).

IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum.  We then typedef
EnumFooValues::valuelist to EnumFoo.  That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.

The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.

The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.

--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Bobby Holley
e79c2696df Bug 750859 - Remove {Disable,Revert}Capability. r=bz, PGO helper on CLOSED TREE 2012-05-02 23:57:43 +02:00
Bobby Holley
999f61cc07 Bug 750859 - Remove (most of) SetCanEnableCapability. r=bz 2012-05-02 23:57:34 +02:00
Justin Lebar
8bae8c2aa9 Bug 748440 - Part 1: Add heap-committed-unused and heap-committed-unused-ratio memory reporters, and rename some JS memory reporters to match. Also add back the js-gc-heap memory reporter. r=njn
--HG--
rename : browser/components/privatebrowsing/test/unit/test_privatebrowsing_telemetry.js => browser/components/privatebrowsing/test/unit/test_privatebrowsing_autostart.js
rename : browser/components/privatebrowsing/test/unit/test_privatebrowsingwrapper_telemetry.js => browser/components/privatebrowsing/test/unit/test_privatebrowsingwrapper_autostart.js
rename : security/manager/ssl/src/TransportSecurityInfo.cpp => security/manager/ssl/src/nsNSSIOLayer.cpp
rename : security/manager/ssl/src/TransportSecurityInfo.h => security/manager/ssl/src/nsNSSIOLayer.h
extra : rebase_source : 237a72f9b82f0e39dd0f15afa6056f231dc58358
2012-04-30 14:27:15 -04:00
Kyle Huey
87f0bc8fd4 Bug 750253: Reorder generation of quickstubs header/cpp to avoid unnecessary rebuilds. r=ted 2012-04-30 12:30:00 -04:00
Mike Hommey
cb3f1cdb07 Bug 749573 - Declare run-mozilla.sh and xpcshell as SDK_BINARY. r=ted 2012-04-30 08:05:34 +02:00
Mark Capella
47e4a1599d Bug 723530 - double error reporting in ctype JS api implementation, r=bholley 2012-04-27 12:47:00 +02:00
Gabor Krizsanits
f65e785137 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-28 09:12:28 -04:00
Gabor Krizsanits
9d24c0533d Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-28 09:12:27 -04:00
Gabor Krizsanits
23bb9a03fc Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-28 09:12:27 -04:00
Eddy Bruel
5736dd244e Bug 703537: Removing the fix trap r=jorendorff@mozilla.com 2012-04-27 17:09:32 -04:00
Peter Van der Beken
5b0b0cd364 Fix for bug 723465 (Make finalize for DOM list bindings use XPConnect).
--HG--
extra : rebase_source : e4df7d98765aaa2c600044d69f8714568f1d6109
2012-04-27 10:15:40 +02:00
Peter Van der Beken
1780bb4050 Fix for bug 741267 (UserScript's XMLHttpRequest is undefined in 20120401 nightly).
Pass two objects when creating a DOM interface object, the global used to cache
the DOM interface objects and a receiver object on which the named property is
that points to the DOM interface object.

--HG--
extra : rebase_source : b462393e7376fdb68f3b279ccd08b3ab25ac154a
2012-04-23 16:10:56 +02:00
Gijs Kruitbosch
bdf19a4af3 Bug 539095 - Expose high-res timers to web content (performance.now()). r=bz, sr=smaug
--HG--
extra : transplant_source : o%9F%061%D4%B5%7D%5C%FB%95%5D%16%27%DEKU%EC%21%3AR
2012-04-27 09:22:06 +02:00
Bobby Holley
afd0a6ab09 Bug 747749 - Remove call to JS_SetGlobalObject in mozJSComponentLoader. r=luke 2012-04-26 20:40:11 +02:00
Nicholas Nethercote
c33177f72e Bug 744311 (part 1) - Preliminary whitespace and code order changes. r=jlebar.
--HG--
extra : rebase_source : f700733d8aa1aed1ae1f9206b4ee9063f9a03341
2012-04-09 22:52:33 -07:00
Boris Zbarsky
705298151f Bug 747815. Use const strings for arguments in DOM bindings. r=peterv 2012-04-26 00:42:03 -04:00
Ryan VanderMeulen
3f70ab0134 Backout a0b3af4ac9f5 (bug 735280) due to Android jsreftest orange. 2012-04-25 21:59:36 -04:00
Gabor Krizsanits
8f2218a116 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-25 20:12:33 -04:00
Gabor Krizsanits
8be449330e Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-25 20:12:33 -04:00
Gabor Krizsanits
bf2e6d5a8a Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-25 20:12:33 -04:00
Andrew McCreight
b23b951d76 Bug 678615, part 2: remove FinishCycleCollection. r=smaug 2012-04-25 08:10:09 -07:00
Andrew McCreight
9b6a388e23 Bug 678615 - remove ExplainLiveExpectedGarbage. r=smaug sr=peterv 2012-04-25 08:10:09 -07:00
Mike Hommey
1d45c60f19 Bug 747870 - Properly align XPCLazyCallContext::mData. r=bholley 2012-04-25 09:09:08 +02:00
Matt Brubeck
657b0b8a57 Back out bug 730208 and bug 747543 because of xpcshell test failures 2012-04-24 20:47:16 -07:00
Ryan VanderMeulen
7d4f50a90d Backout 0b170d1f5d10 (bug 735280) due to red. 2012-04-24 22:09:23 -04:00
Gabor Krizsanits
0a0e1a6bd0 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-24 21:48:02 -04:00
Gabor Krizsanits
5e3c4050c6 Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-24 21:48:01 -04:00
Gabor Krizsanits
fbfac2ce86 Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-24 21:47:54 -04:00
Ehsan Akhgari
c7d143b9fa Merge mozilla-central into mozilla-inbound 2012-04-24 21:29:44 -04:00
Patrick Wong
15df25098f Bug 745659 - Removed the nsPrintfCString constructor which takes a length and all corresponding instances that call that particular constructor. This is accomplished by removing the length component from the instantiation. r=jlebar 2012-04-24 14:43:00 -04:00
Ehsan Akhgari
a3145104fc Merge from mozilla-central 2012-04-23 18:17:44 -04:00
Kyle Huey
544801113f Bug 747245: Fix a silly weak reference assertion. r=bent a=mfinkle 2012-04-23 14:14:10 -07:00
Ehsan Akhgari
fec480dc6c Merge mozilla-central into birch 2012-04-22 16:10:35 -04:00
Boris Zbarsky
1d381b0df9 Bug 742168. Refer to experimental bindings, not Paris bindings, in the pref code, since it will only control a subset of the Paris bindings. r=peterv 2012-04-18 12:02:04 -04:00
Marco Bonardo
a5c3c5f751 Merge last green PGO from inbound to central 2012-04-17 15:31:58 +02:00
Olli Pettay
2547761e2e Bug 731875 - Geolocation doorhanger might cause a zombie compartment, GeoPositionOptions part, r=dougt 2012-04-16 22:08:48 +03:00
Justin Lebar
fcfe8663d1 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 12:20:54 +10:00
Justin Lebar
3224a73351 Back out changeset 21f34fdd64a3 (bug 741378) because it breaks telemetry. r=me 2012-04-16 11:34:00 +10:00
Justin Lebar
53370f1873 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 11:17:26 +10:00
Bobby Holley
e5b3f77326 Bug 745483 - Don't assert that TI is enabled when the pref is disabled. r=jdm 2012-04-15 17:54:03 -07:00
Bobby Holley
57c411f141 Bug 743843 - Introduce the options object for Components.Exception. r=Ms2ger,sr=mrbkap 2012-04-15 17:51:37 -07:00
Bobby Holley
81d2fb5c67 Bug 743843 - Ditch the confusing switch-based parsing and add some comments. r=Ms2ger 2012-04-15 17:51:36 -07:00
Bobby Holley
962fe6a512 Bug 743843 - Factor individual argument parsers into helper methods. r=Ms2ger 2012-04-15 17:51:36 -07:00
Bobby Holley
b94bf966aa Bug 743843 - Factor out Exception argument parsing into a helper class. r=Ms2ger
For ease of reviewing, note that there are only 2 changes to the big switch statement:
1 - return ThrowAndFail(...) -> return false.
2 - eMsgBytes -> messageBytes
2012-04-15 17:51:36 -07:00
Ms2ger
35284f64bb Bug 742893 - Part a: Make xpc_qsValueTo{Uint,Int}64 public; r=bholley 2012-04-14 15:07:31 +02:00
Ms2ger
cd73c4ce46 Bug 741349 - Get rid of the mozilla::xpconnect::memory namespace; r=bholley 2012-04-14 15:05:19 +02:00
Ms2ger
cdc1f73263 Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger
b8ae2456b2 Backing out bf0a78471e5e:dc7022e2d807 for inexplicable windows crashes. 2012-04-14 17:52:34 +02:00
Ms2ger
ff2abebdbd Bug 745427 - Fix XPCWrappedNativeScope::SetContext; r=gal 2012-04-14 15:10:05 +02:00
Ms2ger
949f55309d Bug 742893 - Part a: Make xpc_qsValueTo{Uint,Int}64 public; r=bholley 2012-04-14 15:07:31 +02:00
Ms2ger
f8dc9d4d20 Bug 741349 - Get rid of the mozilla::xpconnect::memory namespace; r=bholley 2012-04-14 15:05:19 +02:00
Ms2ger
bd900a0e7f Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger
9f95d23e65 Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-04-14 15:05:01 +02:00
Bobby Holley
a496ec55ac Bug 745661 - Make TI assertion handle safe mode, too. r=khuey 2012-04-16 16:57:36 -07:00
David Anderson
3a7a15cbe2 Remove more uses of JS_FrameIterator (bug 744617, r=mrbkap). 2012-04-16 12:30:04 -07:00
David Anderson
f0a562ebba Remove simple JS_FrameIterator uses in xpconnect (bug 744617, r=bholley).
--HG--
extra : rebase_source : c206450cf46011543f58cded4c5aff2d49932afd
2012-04-16 12:25:28 -07:00
Steve Fink
f05afcc260 Bug 730208 - UnmarkGray fixups for globals and contexts. r=billm
A common source of potential black -> gray edges is JSAPI calls made on objects with gray globals or contexts holding gray globals. (The call could potentially update a black object with a pointer to that global.) This patch mostly traps places where contexts are used, and unmarks their globals. It also includes some more global unmarking.

--HG--
extra : rebase_source : 1286bdbc4c337956242c292e0fa385629ee8850b
2012-03-14 09:32:58 -07:00
Steve Fink
86212c400a Bug 730208 - XPConnect changes to UnmarkGray some more objects and return them for convenience. r=mccr8
--HG--
extra : rebase_source : a1d56aa4dc9dcf1fe280c42667710494f2481a7c
2012-03-20 21:22:40 -07:00
Mark Capella
1839be84c0 Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Luke Wagner
e7a6830156 Bug 744842 - don't include actual args in error.stack.toString (r=dmandelin)
--HG--
extra : rebase_source : 66a780c6abfc4fadc7cc08ed97224296af20ad61
2012-04-11 18:07:44 -07:00
Bobby Holley
babe364f16 Bug 744034 - Link the script context to the outer window earlier to ensure that we always have TI for content. r=mrbkap 2012-04-12 11:21:12 -07:00
Masatoshi Kimura
0cd58c8a6f Bug 730161 - Replace IDBDatabaseException and FileException with DOMException. r=sicking 2012-04-11 17:55:21 -04:00
Andrew McCreight
c3b5a510a8 Bug 744272. disable test_watchpoints due to bogus failures. rs=billm 2012-04-10 18:43:22 -07:00
Kyle Huey
902e133eab Refix bug 741248 harder. r=me 2012-04-09 17:41:22 -07:00
Matt Brubeck
4ee87a2a2f Merge last green changeset from inbound to mozilla-central 2012-04-09 10:05:48 -07:00
Igor Bukanov
d3018bc6d8 Bug 737364 - part 2 - replace JSContext with JSRuntime in the GC-related API
This part replaces the JSContext *cx argument in most GC-related API
with JSRuntime *rt. When possible, the patch removes the code to obtain
a temporary cx just to run the GC.

The patch also removes JS_DestroyContextMaybeGC. That function is not
used in FF code base and its implementation is broken. It requires that
the context has an entered compartment when it is destroyed, which in
turns implies a missing leave compartment call.
2012-03-28 12:13:30 +02:00
Kyle Huey
c06dcdfb58 Fix Bug 743376. r=bz 2012-04-06 17:44:50 -07:00
Bill McCloskey
714dde6b82 Bug 742570 - Change API for compartment GCs (r=igor) 2012-04-03 12:23:11 -07:00
Bill McCloskey
210b823250 Bug 742570 - Remove the compartment option for gczeal (r=igor) 2012-04-03 11:41:56 -07:00
Gabor Krizsanits
74922f0040 Bug 733035 - postMessage support for sandboxes. r=khuey 2012-04-05 18:33:20 -04:00
Takanori MATSUURA
ad43cf956c Bug 737006 - Use internal ply only if needed. r=khuey 2012-04-06 14:06:52 -04:00
Bobby Holley
b36c773a23 Bug 739796 - Make same-origin cross-compartment Location object access go through the LW in the host compartment. r=gal
--HG--
extra : rebase_source : d5e07d4628bfd5990d127b4316219a43c4e0de88
2012-04-05 12:21:12 -07:00
Bobby Holley
b1e579a168 Bug 739796 - Make js_TransplantObjectWithWrapper and GetSameCompartmentSecurityWrapper play nicely together. r=mrbkap
--HG--
extra : rebase_source : c132069987b4cae121dfcf1b19ffacaee845df1e
2012-04-05 12:21:12 -07:00
Bobby Holley
6192344bd1 Bug 739796 - Move same-compartment security wrapping into a method on XPCWrappedNative. r=gal
--HG--
extra : rebase_source : 48c61d699d27d390be2bcfb006f12264345f9d49
2012-04-05 12:21:12 -07:00
Igor Bukanov
aabce5f94f Bug 737365 - stop using the cx during finalization, part 3.
This part removes the usage of JSContext* during the finalization and
when sweeping the compartments. That required to change quite a few
methods in type inference, jit and debugger implementation to take a
FreeOp rather than JSContext pointer. In turn that also often required
to replace cx->compartment usage with extracting the compartment from
the passed objects or pass the compartment explicitly. On the plus side
it allowed to remove fallible compartment enter code in methods that
could be called during finalization.
2012-03-20 11:22:05 +01:00
Igor Bukanov
3a859b7a76 Bug 737365 - stop using the cx during finalization, part 1.
This part changes the signatures for various finalization API to take
not JSContext* but rather either JSFreeOp structure or its
library-private counterpart FreeOp. These structures wrap parameters
that are passed to the finalizers removing most of explicit dependencies
on JSContext in the finalization code.
2012-03-19 15:34:55 +01:00
Justin Lebar
e71332b560 Bug 738624 - Add ghost windows to about:compartments. r=njn
--HG--
extra : rebase_source : c16cdfc4c06b363f54f1d0f37bb006cf977b079a
2012-04-02 22:28:05 -04:00
Terrence Cole
fe3125c03a Bug 741005 - Remove XPCNativeWrapperMap; r=bholley
This appears to be completely unused.
2012-03-30 15:56:35 -07:00
Matt Brubeck
678b0cfe89 Back out bug 738011, bug 738624, and bug 737857 because of WinXP debug reftest log errors
--HG--
extra : rebase_source : 965c755f6416e2ca102b38633fe7a2c7267e956e
2012-04-02 12:44:31 -07:00
Matt Brubeck
8771612c40 Merge mozilla-central to mozilla-inbound 2012-04-02 11:03:29 -07:00
Kyle Huey
69f68d7938 Bug 722671: Components.utils.getWeakReference should get a reference to the underlying native object if possible. r=mrbkap 2012-04-01 19:21:13 -07:00
Ed Morley
651aa424a1 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-31 22:41:59 +01:00
Olli Pettay
f198500ad9 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Peter Van der Beken
09128a75d3 Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Terrence Cole
315c82925b Bug 738868 - Switch JSObject2JSObjectMap to new HashTable; r=mrbkap 2012-03-27 09:55:55 -07:00
Peter Van der Beken
8944dee246 Fix for bug 740064 (Refactor XrayWrapper). r=bholley.
--HG--
extra : rebase_source : 60559d74b10761a794d83a0a63dc60a92b2d48eb
2012-03-27 16:31:37 -07:00
Doug Turner
71e90e76a3 Bug 739760 - doubles and floats can't be used in dictionaries. r=khuey 2012-03-29 00:05:44 -07:00
Luke Wagner
ad32da72b6 Bug 733793 - Check for null return from JS_ObjectToOuterObject (r=bholley)
--HG--
extra : rebase_source : 2b7fbb3a72f641785de7f7707e9b6e8013b4eb6d
2012-03-28 16:15:38 -07:00
Andrew McCreight
d986e69874 Bug 738700 - unmark wrapped gray objects from nsISupports. r=smaug 2012-03-28 21:51:46 -07:00
Andrew McCreight
241631d5df Bug 712735 - Don't add JS holders with no gray children as XPConnect roots. r=smaug 2012-03-28 21:23:01 -07:00
Jared Wein
642a4f48c0 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-28 08:53:56 -07:00
Jared Wein
e34baf2131 Backed out changeset 8e42ba558f07 (bug 730318) CLOSED TREE 2012-03-27 15:23:53 -07:00
Andrew McCreight
742f5949dc Bug 708825 - set mIdentity to null if compartment enter fails. r=bholley 2012-03-09 18:41:13 -08:00
Justin Lebar
007d8115b5 Bug 738624 - Add ghost windows to about:compartments. r=njn
--HG--
extra : rebase_source : a486e644351af72a4276f26de2e4588ee851426f
2012-04-02 10:37:04 -04:00
Tom Schuster
0fe26d128c Bug 711843 - Update JSAPI for typed arrays, remove uses of jstypedarray.h outside the engine [r=Waldo,bz,Ms2ger,bholley,bjacob,philikon,evilpie,bent,yourmama] [a=mfinkle thanks to gkw] 2012-01-14 09:43:00 -08:00
Boris Zbarsky
4571359b0e Bug 726949. Instead of using the given proto for the sandbox directly, use a proxy that forwards to the given proto but rebinds all getters/setters/methods to use the given proto, not the sandbox global, as this. r=bholley, a=tracking-firefox
The code in XPCQuickStubs.h just moved from XPCQuickStubs.cpp.
2012-04-19 14:19:41 -04:00
Ed Morley
b9555a71ef Backout 3e24a0ebd104 (bug 726949) for M-oth orange; a=backout 2012-04-19 12:28:43 -07:00
Boris Zbarsky
549135f239 Bug 726949. Instead of using the given proto for the sandbox directly, use a proxy that forwards to the given proto but rebinds all getters/setters/methods to use the given proto, not the sandbox global, as this. r=bholley, a=tracking-firefox
The code in XPCQuickStubs.h just moved from XPCQuickStubs.cpp.
2012-04-19 14:19:41 -04:00
Matt Brubeck
fbe5dd5a57 Bug 743325 - Back out 554ab0a2f470 (bug 734503) because it broke touch events in XUL Fennec [r=peterv] 2012-04-24 07:51:56 -07:00
Jared Wein
5c1c03e064 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-27 13:50:50 -07:00
Andrew McCreight
a2f68f19c5 Bug 736563 - mark global objects held by live windows black during GC. r=smaug 2012-03-27 12:22:10 -07:00
Gregor Wagner
746c6fda8d Bug 678695 - Settings API. r=sicking, fabrice, smaug 2012-03-26 14:49:38 -07:00
Bobby Holley
e3ef16972d Bug 738874 - Don't allow non-classinfo XPCWNs to be wrapped cross-compartment. r=mrbkap 2012-03-25 22:35:50 -07:00
Makoto Kato
6736ffe11b Bug 716333 - get rid of WithConversion (xpconnect part). r=bholley 2012-03-26 14:12:15 +09:00
Igor Bukanov
77f4a42ed3 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
extra : rebase_source : f8f1536a86b7c3fe7296a16b6677bd21664af98a
2012-02-20 11:58:00 +01:00
Matt Brubeck
21e24f0ef9 Merge mozilla-central and mozilla-inbound 2012-03-24 09:05:27 -07:00
Masatoshi Kimura
749ec9839a Bug 736686 - Part 1: Make dictionary initializers callable off main thread. r=khuey 2012-03-24 12:33:49 +01:00
Dão Gottwald
63ed9dae81 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Peter Van der Beken
4c5904d14e Bug 738593 - Rename IsProxy to IsDOMBinding; r=mrbkap 2012-03-16 16:44:09 +01:00
Ms2ger
1b0103ba21 Bug 736619 - remove the unused struct ClearedGlobalObject from XPCJSRuntime; r=bholley 2012-03-24 09:18:22 +01:00
Jared Wein
4920fd9f8d Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:46:12 -07:00
Jared Wein
589f9135f9 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-22 13:53:59 -07:00
Hessam Salehi
7d69570885 Bug 474505 - Replace uses of nsVoidPtrHashkey with nsPtrHashKey<T>; r=bsmedberg 2012-03-21 14:07:31 -04:00
Igor Bukanov
24b01abf6b bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Ms2ger
198867ded9 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
7226b2e716 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Bobby Holley
2672787670 Bug 733984 - Explicitly disallow shadowing on location wrappers. r=mrbkap
This was taken care of in other ways before, but we need to be more explicit about it now that we're doing more Xray stuff with Location wrappers.
2012-03-23 15:58:18 -07:00
Bobby Holley
9146523a9f Bug 667388 - Introduce the PUNCTURE wrapper action. r=mrbkap 2012-03-23 14:59:27 -07:00
Bobby Holley
57296aa50b Bug 667388 - Make the chrome-to-content Xray wrapper derive CrossCompartmentWrapper. r=mrbkap
The current situation seems incorrect, especially given the behavior of CrossOriginWrapper and XrayProxy. Currently it doesn't matter, but it probably will in the future.
2012-03-23 14:59:27 -07:00
Bobby Holley
041837d99f Bug 733984 - Apply Location wrappers for same-origin cross-compartment wrapping. r=mrbkap
This isn't an issue right now, since it can't ever happen outside of sandboxes, which content can't use. But if it could, it could get a pure CrossCompartmentWrapper to a Location object, which is bad.
2012-03-23 14:59:23 -07:00
Bobby Holley
011c97a205 Bug 733984 - Use the Location security policy even for content accessing chrome. r=mrbkap
I'm adding asserts about when we do and don't have a Location object behind the wrapper, and this case was hitting them. What we do here doesn't so much matter given how this stuff all works. On the one hand, statically using a restrictive policy is slightly more defense-in-depth. On the other hand, if this stuff is broken we're screwed in much more serious ways than content reading chrome locations, and using a consistent wrapper scheme allows us to make stronger asserts and assumptions.

I opted for stronger assumptions and more understandable security code. If Blake feels strongly though, I could go the other way and sprinkle '|| isChrome(obj)' throughout the asserts though.
2012-03-23 14:59:19 -07:00
Bobby Holley
a44b6d76ac Bug 733984 - Clarify the security characteristics of Location objects. r=mrbkap
I was getting confused by some of the naming and lack of comments here.
2012-03-23 14:59:07 -07:00
Bobby Holley
4d5b2ef225 Bug 733984 - Stop specializing createHolder, and simplify holder creation in WrapperFactory::Rewrap. r=mrbkap 2012-03-23 14:59:04 -07:00
Jared Wein
30d9fd445e Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:11:31 -07:00
Igor Bukanov
5542df3342 bug 730221 - delegating serialization of script principals to the embedding. r=:luke,:bz
Currently to serialize principals stored in JSScript we have a rather complex
schema. First there is the transcode callback that the embedding must provide
to transcode principals using XDR API. Second we use rather complex glue code
to implement that callback in terms of writing/reading nsIObjectOutputStream/
nsIObjectInputStream. This glue code is duplicated in 3 places. All this can
be avoided if we simply delegate transcoding of principals to the caller. In
addition, at least in the case of the cached startup scripts we do not even
need to transcode the principals as the the cached scripts always have the
system principal so we can skip all the transcode complexity there.

The patch implemnts this idea. In particular, the code in JS engine
responsible for transcoding of principals is replaced by the single API
function JS_XDRSetPrincipals that the embedding can use to set principals for
decoded scripts and functions. Then the startup cache uses this to set the
principals for the decoded script to the system principals. The other two
places in nsJSContext::Serialize and  XBL_SerializeFunction that need to
serialize principals together with a function or script now uses common
utilities in nsXPConnect so the serialization complexity resides in the single
 place.
2012-02-13 14:10:04 +01:00
Igor Bukanov
ed3f5972bd bug 736978 - remove JS_FinalizeStub. r=:billm
Currently the GC finalizes on the background thread only objects with null
JSClass::finalize. However, this implies that any object that uses
JS_FinalizeStub for the finalizer would be prevented from the background
finalization.

To fix this the patch removes JS_FinalizeStub replacing it with NULL in all
cases when the class has no custom finalizer. For style consistency the patch
also removed the usage of JSCLASS_NO_OPTIONAL_MEMBERS in the static
declarations as the compiler fills the missing fields with null in any cases.
2012-03-19 15:27:58 +01:00
Prabindh Sundareson
e9c8c2fdde Bug 735594 - Add check for MOZ_JSDEBUGGER so that --enable-jsd=no works. r=bholley+khuey 2012-03-15 20:12:45 -04:00
Bobby Holley
a150898fc0 Bug 734475 - Take the full union of native sets when bringing non-PreCreate XPWNs across compartments. r=mrbkap 2012-03-16 12:47:20 -07:00
Peter Van der Beken
299c3b3d05 Fix for bug 736229 (Stop storing expando objects in the wrapper cache, store the proxy instead). r=jst. 2012-03-14 15:22:10 +01:00
Marco Bonardo
312ed3ed80 Merge inbound and central 2012-03-16 13:42:16 +01:00
Ms2ger
a494664e3f Bug 722154 - Part f: Remove custom quickstubs for vertexAttrib[1-4]fv; r=bjacob 2012-03-16 10:53:41 +01:00
Ms2ger
3456d2d5e4 Bug 722154 - Part e: Remove custom quickstubs for uniform[1-4][i,f]v and uniformMatrix[2-4]fv; r=bjacob 2012-03-16 10:52:42 +01:00
Ms2ger
d5d2b74974 Bug 722154 - Part d: Remove custom quickstub for readPixels; r=bjacob 2012-03-16 10:50:51 +01:00
Ms2ger
58d4fde71b Bug 722154 - Part c: Remove custom quickstubs for compressedTexImage2D and compressedTexSubImage2D; r=bjacob 2012-03-16 10:50:33 +01:00
Ms2ger
3850828e22 Bug 722154 - Part b: Remove custom quickstub for bufferSubData; r=bjacob 2012-03-16 10:50:18 +01:00