Commit Graph

854 Commits

Author SHA1 Message Date
Bill McCloskey
41e825178d Bug 715761 - Replace xpconnect automarker macros with templates (r=bholley) 2012-05-07 10:01:44 -07:00
Bill McCloskey
f7ce0e4046 Bug 715761 - Move xpconnect mark bits (r=bholley) 2012-05-07 10:01:39 -07:00
Bill McCloskey
58f1dc82f3 Bug 715761 - Add a comment explaining xpconnect (r=bholley) 2012-05-07 10:01:33 -07:00
Nicholas Nethercote
de5ab7a0de Bug 752381 - Merge System Principal compartments in about:memory. r=jlebar. 2012-05-06 22:05:16 -07:00
Andrew Paprocki
5d846bbd8f 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
17aaa24bab Bug 749173 - Remove AutoPreserveCompartment. r=luke 2012-05-06 13:09:49 +02:00
Ms2ger
3b04c7d79e Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-05-05 11:00:05 +02:00
Ms2ger
3a093c7580 Bug 745427 - Fix XPCWrappedNativeScope::SetContext; r=gal 2012-05-05 11:00:04 +02:00
Doug Turner
68e34b4226 Bug 738465 - implement device light sensor. r=smaug 2012-05-02 09:43:45 -07:00
Doug Turner
63408865d2 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
2c59d5586c 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
80175b16ed 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
fecdb93ec9 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
dcc0543487 Bug 744103, part 4 - Remove nsCycleCollectionLanguageRuntime. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
a6b24a3344 Bug 744103, part 3 - Change NoteRoot to NoteJSRoot and NoteNativeRoot. r=smaug 2012-05-03 12:28:11 -07:00
Andrew McCreight
3ac11cfc5b Bug 744103, part 2 - Change NoteScriptChild to NoteJSChild. r=smaug 2012-05-03 12:28:10 -07:00
Peter Van der Beken
25970d2711 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
26aae65fb6 Bug 751280 - Remove 2-arg form of xpc_FastGetCachedWrapper. r=bholley 2012-05-03 06:22:58 -04:00
Luke Wagner
712afdc579 Bug 720753 - hoist JaegerCompartment and MathCache from JSCompartment into JSRuntime (r=bhackett,njn) 2012-05-03 09:12:47 +02:00
Luke Wagner
f80844498f Bug 650353 - Implement Compartment-Per-Global in XPConnect. r=mrbkap 2012-05-03 09:10:12 +02:00
Luke Wagner
aa6d7ccb08 Bug 722775 - rm sameGroupAs. r=mrbkap 2012-05-03 09:10:10 +02:00
Boris Zbarsky
32c7f6e634 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
8bc0b852b9 Bug 750859 - Remove {Disable,Revert}Capability. r=bz, PGO helper on CLOSED TREE 2012-05-02 23:57:43 +02:00
Bobby Holley
37471e102e Bug 750859 - Remove (most of) SetCanEnableCapability. r=bz 2012-05-02 23:57:34 +02:00
Justin Lebar
e7e161cf7f 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
2cfdab8b94 Bug 750253: Reorder generation of quickstubs header/cpp to avoid unnecessary rebuilds. r=ted 2012-04-30 12:30:00 -04:00
Mike Hommey
90af61ce13 Bug 749573 - Declare run-mozilla.sh and xpcshell as SDK_BINARY. r=ted 2012-04-30 08:05:34 +02:00
Mark Capella
2599ced77f Bug 723530 - double error reporting in ctype JS api implementation, r=bholley 2012-04-27 12:47:00 +02:00
Gabor Krizsanits
4ab96d9a72 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-28 09:12:28 -04:00
Gabor Krizsanits
d3cb3d3e52 Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-28 09:12:27 -04:00
Gabor Krizsanits
e04309157b Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-28 09:12:27 -04:00
Eddy Bruel
8266662238 Bug 703537: Removing the fix trap r=jorendorff@mozilla.com 2012-04-27 17:09:32 -04:00
Peter Van der Beken
d4809c1dce 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
7d387b6e1a 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
ae54e2bc78 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
c48d120359 Bug 747749 - Remove call to JS_SetGlobalObject in mozJSComponentLoader. r=luke 2012-04-26 20:40:11 +02:00
Nicholas Nethercote
08dc2dae6b 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
e2ed0fe94a Bug 747815. Use const strings for arguments in DOM bindings. r=peterv 2012-04-26 00:42:03 -04:00
Ryan VanderMeulen
3d3d4922c1 Backout a0b3af4ac9f5 (bug 735280) due to Android jsreftest orange. 2012-04-25 21:59:36 -04:00
Gabor Krizsanits
0f38ab4f31 Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-25 20:12:33 -04:00
Gabor Krizsanits
07fb83f53a Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-25 20:12:33 -04:00
Gabor Krizsanits
a9ded93717 Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-25 20:12:33 -04:00
Andrew McCreight
a9c6928a04 Bug 678615, part 2: remove FinishCycleCollection. r=smaug 2012-04-25 08:10:09 -07:00
Andrew McCreight
a5af270e47 Bug 678615 - remove ExplainLiveExpectedGarbage. r=smaug sr=peterv 2012-04-25 08:10:09 -07:00
Mike Hommey
79542a4d88 Bug 747870 - Properly align XPCLazyCallContext::mData. r=bholley 2012-04-25 09:09:08 +02:00
Matt Brubeck
d5da39b00f Back out bug 730208 and bug 747543 because of xpcshell test failures 2012-04-24 20:47:16 -07:00
Ryan VanderMeulen
d485f6d4b3 Backout 0b170d1f5d10 (bug 735280) due to red. 2012-04-24 22:09:23 -04:00
Gabor Krizsanits
f58f1c2ecd Bug 735280 - Part 3: Components object specific wrapper. r=bholley 2012-04-24 21:48:02 -04:00
Gabor Krizsanits
8abef4d8c3 Bug 735280 - Part 2: Add pre-create to nsXPComponents. r=bholley 2012-04-24 21:48:01 -04:00
Gabor Krizsanits
e6e268bb09 Bug 735280 - Part 1: Connect XPCWrappedNativeScope and Components. r=bholley 2012-04-24 21:47:54 -04:00
Ehsan Akhgari
a992263c77 Merge mozilla-central into mozilla-inbound 2012-04-24 21:29:44 -04:00
Patrick Wong
30fd6e9e6a 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
624b7c422e Merge from mozilla-central 2012-04-23 18:17:44 -04:00
Kyle Huey
a2478f9645 Bug 747245: Fix a silly weak reference assertion. r=bent a=mfinkle 2012-04-23 14:14:10 -07:00
Ehsan Akhgari
06098487ea Merge mozilla-central into birch 2012-04-22 16:10:35 -04:00
Boris Zbarsky
e6901a65af 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
8fd56f3066 Merge last green PGO from inbound to central 2012-04-17 15:31:58 +02:00
Olli Pettay
d796636855 Bug 731875 - Geolocation doorhanger might cause a zombie compartment, GeoPositionOptions part, r=dougt 2012-04-16 22:08:48 +03:00
Justin Lebar
5766598758 Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 12:20:54 +10:00
Justin Lebar
b391903730 Back out changeset 21f34fdd64a3 (bug 741378) because it breaks telemetry. r=me 2012-04-16 11:34:00 +10:00
Justin Lebar
dbb7a3bbac Bug 741378 - Rejigger the js memory reporters to match jemalloc's. r=njn 2012-04-16 11:17:26 +10:00
Bobby Holley
1037d6c217 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
b0e37aa6d8 Bug 743843 - Introduce the options object for Components.Exception. r=Ms2ger,sr=mrbkap 2012-04-15 17:51:37 -07:00
Bobby Holley
50e6634137 Bug 743843 - Ditch the confusing switch-based parsing and add some comments. r=Ms2ger 2012-04-15 17:51:36 -07:00
Bobby Holley
1e648b7690 Bug 743843 - Factor individual argument parsers into helper methods. r=Ms2ger 2012-04-15 17:51:36 -07:00
Bobby Holley
d8267ab1e1 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
1de8ab38d4 Bug 742893 - Part a: Make xpc_qsValueTo{Uint,Int}64 public; r=bholley 2012-04-14 15:07:31 +02:00
Ms2ger
c6ce9f7d79 Bug 741349 - Get rid of the mozilla::xpconnect::memory namespace; r=bholley 2012-04-14 15:05:19 +02:00
Ms2ger
a37d5dbaac Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger
8299fe6b09 Backing out bf0a78471e5e:dc7022e2d807 for inexplicable windows crashes. 2012-04-14 17:52:34 +02:00
Ms2ger
2b4ce9574c Bug 745427 - Fix XPCWrappedNativeScope::SetContext; r=gal 2012-04-14 15:10:05 +02:00
Ms2ger
7164d44025 Bug 742893 - Part a: Make xpc_qsValueTo{Uint,Int}64 public; r=bholley 2012-04-14 15:07:31 +02:00
Ms2ger
5a16b6f2fa Bug 741349 - Get rid of the mozilla::xpconnect::memory namespace; r=bholley 2012-04-14 15:05:19 +02:00
Ms2ger
ead7156eeb Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger
f88fab52fb Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-04-14 15:05:01 +02:00
Bobby Holley
dd4ac27670 Bug 745661 - Make TI assertion handle safe mode, too. r=khuey 2012-04-16 16:57:36 -07:00
David Anderson
f84d3b7b8d Remove more uses of JS_FrameIterator (bug 744617, r=mrbkap). 2012-04-16 12:30:04 -07:00
David Anderson
2b1abddde3 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
c7e97d8358 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
4642a9a56c 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
1a44f1208f 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
f5f4ed58b7 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
ac0a01ac3b 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
23049011a9 Bug 730161 - Replace IDBDatabaseException and FileException with DOMException. r=sicking 2012-04-11 17:55:21 -04:00
Andrew McCreight
0f2d884b02 Bug 744272. disable test_watchpoints due to bogus failures. rs=billm 2012-04-10 18:43:22 -07:00
Kyle Huey
a321486239 Refix bug 741248 harder. r=me 2012-04-09 17:41:22 -07:00
Matt Brubeck
0f3bc5ceb0 Merge last green changeset from inbound to mozilla-central 2012-04-09 10:05:48 -07:00
Igor Bukanov
5220367ed1 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
e680841744 Fix Bug 743376. r=bz 2012-04-06 17:44:50 -07:00
Bill McCloskey
90e65d2fdb Bug 742570 - Change API for compartment GCs (r=igor) 2012-04-03 12:23:11 -07:00
Bill McCloskey
3ace6566fe Bug 742570 - Remove the compartment option for gczeal (r=igor) 2012-04-03 11:41:56 -07:00
Gabor Krizsanits
c306ffc838 Bug 733035 - postMessage support for sandboxes. r=khuey 2012-04-05 18:33:20 -04:00
Takanori MATSUURA
6ba21f9576 Bug 737006 - Use internal ply only if needed. r=khuey 2012-04-06 14:06:52 -04:00
Bobby Holley
6d5b3754f7 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
5c79d2757f 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
a3abb07ffe 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
45bee87157 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
83623b313c 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
c7747cbafe 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
f55deb7328 Bug 741005 - Remove XPCNativeWrapperMap; r=bholley
This appears to be completely unused.
2012-03-30 15:56:35 -07:00
Matt Brubeck
6b29960c06 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
ee9f4c7f0f Merge mozilla-central to mozilla-inbound 2012-04-02 11:03:29 -07:00
Kyle Huey
8a52e3998a 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
7b8f9d67b3 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-03-31 22:41:59 +01:00
Olli Pettay
aef37dab12 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Peter Van der Beken
c2e642fbcc 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
f39a8777a1 Bug 738868 - Switch JSObject2JSObjectMap to new HashTable; r=mrbkap 2012-03-27 09:55:55 -07:00
Peter Van der Beken
42c9f22f81 Fix for bug 740064 (Refactor XrayWrapper). r=bholley.
--HG--
extra : rebase_source : 60559d74b10761a794d83a0a63dc60a92b2d48eb
2012-03-27 16:31:37 -07:00
Doug Turner
1971e5dc9f Bug 739760 - doubles and floats can't be used in dictionaries. r=khuey 2012-03-29 00:05:44 -07:00
Luke Wagner
bcfb0e3bd1 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
a59c979d1b Bug 738700 - unmark wrapped gray objects from nsISupports. r=smaug 2012-03-28 21:51:46 -07:00
Andrew McCreight
6b700b5814 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
ac11ea4de6 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
a80b6db592 Backed out changeset 8e42ba558f07 (bug 730318) CLOSED TREE 2012-03-27 15:23:53 -07:00
Andrew McCreight
b2648dcd9f Bug 708825 - set mIdentity to null if compartment enter fails. r=bholley 2012-03-09 18:41:13 -08:00
Justin Lebar
155a287d43 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
fef9c89dba 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
a3e1420cf0 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
8043672933 Backout 3e24a0ebd104 (bug 726949) for M-oth orange; a=backout 2012-04-19 12:28:43 -07:00
Boris Zbarsky
757816f10d 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
955934c3d9 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
883053cd10 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
d1c47fdce5 Bug 736563 - mark global objects held by live windows black during GC. r=smaug 2012-03-27 12:22:10 -07:00
Gregor Wagner
ec5cd78551 Bug 678695 - Settings API. r=sicking, fabrice, smaug 2012-03-26 14:49:38 -07:00
Bobby Holley
e3df69dd0f 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
a41e6dd26b Bug 716333 - get rid of WithConversion (xpconnect part). r=bholley 2012-03-26 14:12:15 +09:00
Igor Bukanov
7296e0408c 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
f83a9ab93e Merge mozilla-central and mozilla-inbound 2012-03-24 09:05:27 -07:00
Masatoshi Kimura
9177b368f2 Bug 736686 - Part 1: Make dictionary initializers callable off main thread. r=khuey 2012-03-24 12:33:49 +01:00
Dão Gottwald
766a2b3244 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Peter Van der Beken
6fd0c1b877 Bug 738593 - Rename IsProxy to IsDOMBinding; r=mrbkap 2012-03-16 16:44:09 +01:00
Ms2ger
679b93a7ba Bug 736619 - remove the unused struct ClearedGlobalObject from XPCJSRuntime; r=bholley 2012-03-24 09:18:22 +01:00
Jared Wein
3f49c23fdd Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:46:12 -07:00
Jared Wein
61ab14237c 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
25b8143afe Bug 474505 - Replace uses of nsVoidPtrHashkey with nsPtrHashKey<T>; r=bsmedberg 2012-03-21 14:07:31 -04:00
Igor Bukanov
f8a4496d31 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
8775c56114 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
8e97874303 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
5213bf72dd 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
f8fe97314f Bug 667388 - Introduce the PUNCTURE wrapper action. r=mrbkap 2012-03-23 14:59:27 -07:00
Bobby Holley
563b97de8f 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
4a0cc78ae2 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
da79fb87b2 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
1b0610af05 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
ac2c44ee09 Bug 733984 - Stop specializing createHolder, and simplify holder creation in WrapperFactory::Rewrap. r=mrbkap 2012-03-23 14:59:04 -07:00
Jared Wein
3c05f07191 Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:11:31 -07:00
Igor Bukanov
fbeb82e29f 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
877dee50e1 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
b62d17df9a 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
7aa891a8c8 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
526e189372 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
ff249f47c5 Merge inbound and central 2012-03-16 13:42:16 +01:00
Ms2ger
126a61ae1e Bug 722154 - Part f: Remove custom quickstubs for vertexAttrib[1-4]fv; r=bjacob 2012-03-16 10:53:41 +01:00
Ms2ger
0fa822c551 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
6c8b1e6b1c Bug 722154 - Part d: Remove custom quickstub for readPixels; r=bjacob 2012-03-16 10:50:51 +01:00
Ms2ger
9fe057f15e Bug 722154 - Part c: Remove custom quickstubs for compressedTexImage2D and compressedTexSubImage2D; r=bjacob 2012-03-16 10:50:33 +01:00
Ms2ger
475f50510f Bug 722154 - Part b: Remove custom quickstub for bufferSubData; r=bjacob 2012-03-16 10:50:18 +01:00
Ms2ger
3b2c005617 Bug 722154 - Part a: Remove custom quickstub for bufferData; r=bjacob 2012-03-16 10:50:00 +01:00
Ms2ger
90fe48b371 Bug 550309 - Part e: Remove custom quickstub for getImageData and return an actual ImageData; r=bz 2012-03-16 10:48:55 +01:00
Ms2ger
364d2a12d3 Bug 550309 - Part c: Implement ImageData; r=bz 2012-03-16 10:44:08 +01:00
Bobby Holley
6261b39dd3 Bug 736316 - Components.utils.getGlobalForObject should unwrap cross-compartment wrappers. r=khuey 2012-03-15 19:47:06 -07:00
Ryan VanderMeulen
4c60195e21 Backout ca1873b20652 (bug 735594) due to mochitest-4 orange. r=http://i.qkme.me/36kr7a.jpg 2012-03-15 21:27:51 -04:00
Prabindh Sundareson
fd437e4fad Bug 735594 - Add check for MOZ_JSDEBUGGER so that --enable-jsd=no works. r=bholley 2012-03-15 20:12:45 -04:00
Blake Kaplan
7a4eeff601 Bug 727884 - Make nsWrapperCache::WrapObject take a JSObject scope instead of XPCWrappedNativeScope. r=peterv 2012-03-14 16:25:40 +01:00
Ekanan Ketunuti
6dd7569b81 Bug 722180 - Remove error codes for proxies. r=khuey 2012-02-01 18:53:29 +07:00
Bobby Holley
c9729c8e9a Bug 735544 - Allow exception stacks to cross compartment boundaries. r=luke 2012-03-15 15:19:52 -07:00
Kyle Huey
3232e8df17 No bug: Fix ply being stupid, take 2. r=me 2012-03-13 10:31:53 -07:00
Marco Bonardo
3e58667468 Merge last green PGO from inbound to central 2012-03-13 11:17:21 +01:00
Masatoshi Kimura
e441461b51 Bug 721569 - Implement Blob constructor. r=sicking 2012-03-12 21:44:56 -07:00
Masatoshi Kimura
c89a117b0c Bug 721569 - Implement nullable types. r=khuey 2012-03-12 21:44:51 -07:00
Masatoshi Kimura
1f2073f34c Bug 721569 - Support default values for Web IDL dictionaries. r=khuey CLOBBER BUILD 2012-03-12 21:44:48 -07:00
David Anderson
67bb3e5986 Remove JS_GetScriptedCaller (bug 732652, r=luke,mrbkap,bholley,smaug,bent). 2012-03-06 15:33:12 -08:00
Peter Van der Beken
c3b954ffff Add new DOM binding for SVG list classes. r=jst.
--HG--
extra : rebase_source : ce84f9457d7b9a14a0a65db5c643938d0e0e05bc
2011-08-22 11:14:13 +02:00
Peter Van der Beken
7c7ace6986 Fix for bug 734506 (Fix DOM list binding generation - fix bad argument throwing). r=jst.
--HG--
extra : rebase_source : b71d386827bb0114be6e68a696270868e487fe1c
2011-10-14 23:52:31 +02:00
Peter Van der Beken
eee1fec521 Fix for bug 734506 (Fix DOM list binding generation - add includes for all types). r=jst.
--HG--
extra : rebase_source : 113e8e7e98dfea4b67cfa5e08bd281c5f105ab92
2011-10-14 23:18:41 +02:00
Peter Van der Beken
96b0afb0da Fix for bug 734508 (Add new DOM binding for SVG list classes). r=jst.
--HG--
extra : rebase_source : c32d2fd124093ae437f000655bba7f3a5f17d99d
2011-08-22 11:14:13 +02:00
Peter Van der Beken
7d36526803 Backout 790be8926d50 to fix commit message
--HG--
extra : rebase_source : 930b7802b35784ef5d70ed359d5d9932013ad62d
2012-03-12 21:13:23 +01:00
Peter Van der Beken
c2e7269a78 Fix for bug 734505 (Add new DOM binding for FileList). r=jst.
--HG--
extra : rebase_source : 7a563b1af70c24f9117b813016b7a37612e92431
2011-08-22 11:14:13 +02:00
Peter Van der Beken
4d875e976f Fix for bug 734503 (Add new DOM binding for TouchList). r=jst.
--HG--
extra : rebase_source : 701eb8d9a60ffa981ebcd24f426109bd70cc5cbf
2011-08-22 11:14:13 +02:00
Peter Van der Beken
31fa18aab8 Fix for bug 734499 (Add new DOM binding for PaintRequestList). r=jst.
--HG--
extra : rebase_source : 37f4a1ea723db150abc07d66c6f167c27fd9c354
2011-08-22 11:14:13 +02:00
Peter Van der Beken
752e2223e7 Fix for new bug 734497 (Add new DOM binding for ClientRectList). r=jst.
--HG--
extra : rebase_source : 1cc96b94d21940ac1ed75ec6d46d9c2964fc54a0
2011-08-22 11:14:13 +02:00
Ms2ger
e016675b5e Bug 733872 - Use JS_GetObjectPrototype in XPCWrappedNativeScope::SetGlobal; r=bholley 2012-03-11 09:43:22 +01:00
Igor Bukanov
30d3de8268 bug 728250 - remove JSPrincipals::codebase. r=:luke,:bz
In just 2 cases where JSPrincipals::codebase is used it can be reconstructed from the values stored in the associated nsJSPrincipal. In addition the patch makes nsJSprincipals to inherit both from nsIPrincipal and JSPrincipals allowing to use static_cast to convert between nsIPrincipal and JSPrincipals pointers and to drop many cases of manual JSPrincipal reference counting.
2012-03-09 10:48:50 +01:00
Nicholas Nethercote
55f276020a Bug 732843 - Handle Callback() failures in memory multi-reporters. r=jlebar.
--HG--
extra : rebase_source : 54af85a1ef839922d5443cdc36f601611258944a
2012-03-04 15:26:30 -08:00
Matt Brubeck
465b97cf40 Merge mozilla-central to mozilla-inbound 2012-03-08 16:27:40 -08:00
Olli Pettay
4d4b25de9e Bug 730891, event ctor for StorageEvent, r=sicking,kyle 2012-03-08 23:27:05 +02:00
Christian Holler
c75048ad98 Bug 727445 - Add --enable-address-sanitizer for ASan specific workarounds. Add --enable-llvm-hacks to pass CFLAGS to NSS and omit -Wl,-z,defs for shared libs. r=khuey,kaie 2012-03-07 15:11:15 -08:00
Igor Bukanov
553cbdfc40 bug 730234 - remove GC locking from activities, operation callbacks-related code and for code that accesses the JSContext list. r=luke 2012-02-24 12:03:28 +01:00
Bobby Holley
53efbc78aa Bug 731804 - nsXPCWrappedJSClass::GetNamedPropertyAsVariant should jsvalify strings _after_ changing compartments. r=peterv 2012-03-08 11:13:34 -08:00
David Mandelin
68c407c176 Bug 733260 followup: use uint32_t for array and string lengths, r=luke
--HG--
extra : rebase_source : 1729b4b927fde0678872b9de62a7466381aa07c3
2012-03-06 15:52:55 -08:00
Bobby Holley
2dc291ee58 Bug 731845 - XPCWrappedNative::ReparentWrapperIfFound should handle preserved wrappers. r=mrbkap 2012-03-05 16:58:59 -08:00
Bill McCloskey
84718f7e90 Bug 729369 - Expose the same set of SpiderMonkey testing APIs to debug shell and debug browser chrome (r=Waldo) 2012-03-06 11:38:44 -08:00
Matt Brubeck
18cd6fbeaa Back out 2fbc7d9ac670 (bug 731845) on suspicion of causing test_native_mouse_mac.xul timeouts 2012-03-06 11:05:37 -08:00
Nicholas Nethercote
e93c8baf5c Bug 729403 (follow-up) - Use the right KIND for runtime/gc-marker, thus avoiding warnings about explicit mismatches. r=me.
--HG--
extra : rebase_source : 4625531f438d5e1e6a2e600134dee959a45e8204
2012-03-05 21:04:38 -08:00
Mark Hammond
6f18fbf7c7 Bug 728986: dump() writes to stdout instead of stderr. r=bent 2012-03-06 15:44:37 +11:00
David Mandelin
5e02d0630c Bug 733260: remove typedef jsuint, r=luke
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -08:00
Andrew McCreight
7f86c54ec3 Bug 723971 - unmark gray for shapes. r=billm 2012-03-05 18:11:29 -08:00
Bobby Holley
ac1fbc4a6a Bug 731845 - XPCWrappedNative::ReparentWrapperIfFound should handle preserved wrappers. r=mrbkap 2012-03-05 16:58:59 -08:00
Bobby Holley
ba4156b5cf Bug 720580 - Assert that we have the global jsclass flag if and only if we're a global. r=mrbkap 2012-03-05 15:22:53 -08:00
Bobby Holley
24197270eb Bug 720580 - Assert against creating globals in xpc_NewSystemInheritingJSObject. r=mrbkap
With this patch, the only call to JS_NewGlobalObject in XPConnect happens in xpc_CreateGlobalObject. \o/
2012-03-05 15:22:45 -08:00
Bobby Holley
87d7f5f353 Bug 720580 - Do the last bit of wrapped global initialization once the dust has settled. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
eb0a73527c Bug 720580 - Kill temporary globals. r=mrbkap
This patch breaks the "every commit is a 100% correct tree" invariant a little bit, because constructors and prototypes for DOM globals are broken (PostCreatePrototype never gets called). This is fixed in the next patch. Doing it this way makes for a cleaner series of commits, and the browser still builds and runs fine.
2012-03-05 15:22:45 -08:00
Bobby Holley
f43429b675 Bug 720580 - Introduce XPCWrappedNative::WrapNewGlobal. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
3523199f9a Bug 720580 - Call TraceDOMPrototypes via TraceXPCGlobal, and avoid the verification process for wrapped natives. r=mrbkap 2012-03-05 15:22:45 -08:00
Bobby Holley
4b0b1b7f62 Bug 720580 - Make the call to PostCreatePrototype optional. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
d5786b3e4f Bug 720580 - Factor out the call to PostCreatePrototype into a helper method. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
221605656b Bug 720580 - Accept an explicit native global during XPCWrappedNativeScope creation. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
fa19fcd55d Bug 720580 - Manually resolve |Object| on the global in XPCWrappedNativeScope::SetGlobal() to avoid calling into the XPConnect resolve hook too early. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
9146075c05 Bug 720580 - Make JSID class initialization happen on demand. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
1d80caf8a2 Bug 720580 - Modify the semantics of XPCWrappedNative::FinishCreate() so that it doesn't muck around with the refcounts of its inparam. r=mrbkap
The current semantics involve the caller transfering ownership of the input wrapper to FinishCreate(), which is complicated and error-prone. Now that we're using nsRefPtr at the callsites, we can get rid of it.
2012-03-05 15:22:44 -08:00
Bobby Holley
dd0c70edd5 Bug 720580 - Use nsRefPtr instead of manual AddRef/Release in XPCWrappedNative::{GetNewOrUsed,Morph}. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
5115bb9cb6 Bug 720580 - Move the AutoMarkingWrappedNativePtr in XPCWrappedNative::{GetNewOrUsed,Morph} closer to where we need it. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
fe4872737f Bug 720580 - Stop passing isGlobal everywhere and use the nsIXPCScriptable flags instead. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
ccb745bc93 Bug 720580 - Stop passing aExtraPtr to InitClassesWithNewWrapedGlobal. r=mrbkap
We only ever pass null here anyway, and this whole infrastructure is going away real soon now.
2012-03-05 15:22:44 -08:00
Bobby Holley
2cb54e998b Bug 720580 - Remove unnecessary aIID parameter from nsIXPConnect::InitClassesWithNewWrappedGlobal. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
f43e9eb936 Bug 720580 - Introduce a flag for global natives and assert that we have it. r=mrbkap 2012-03-05 15:22:44 -08:00
Bobby Holley
c03737bfa1 Bug 720580 - Indicate free bits in nsIXPCScriptable.idl. r=mrbkap 2012-03-05 15:22:43 -08:00
Ed Morley
d27ab2302c Backout afeafc02c1de, dfae37833c9b & f9f51c726fa7 (bug 729940 parts 1-3) for talos regressions 2012-03-05 15:22:28 +00:00
Justin Lebar
eabf2efeae Bug 729940 - Part 2: Stop using crappy hash functions in the js engine. r=bhackett 2012-03-04 15:58:06 -05:00
Justin Lebar
8f94cc1764 Back out bug 729940 (a108aee:d75775d) due to 32-bit red. 2012-03-04 14:20:34 -05:00
Justin Lebar
379c6ab88b Bug 729940 - Part 2: Stop using crappy hash functions in the js engine. r=bhackett 2012-03-04 13:49:41 -05:00
Matheus Kerschbaum
89b7db65ac Bug 687579 part 1: Remove globalStorage implementation. r=jst
Bug 687579 part 1: Remove globalStorage implementation. r=jst
2011-10-09 22:14:00 -04:00
Peter Van der Beken
52dc54f3e9 Fix for bug 732175 (Generate DOM list bindings that aren't controlled by the dom.new_bindings pref and remove old bindings for NodeList/HTMLCollection/HTMLOptionsCollection). r=jst.
--HG--
extra : rebase_source : 2eeeec059fe3467769ebcc5af01c8d472c2afbb6
2012-02-27 18:02:47 +01:00
Peter Van der Beken
c1cb66d9c8 Fix for bug 717013 (Add new DOM binding for DOMTokenList). r=jst.
--HG--
extra : rebase_source : 6ae0abe3bbe33a140c62c193685e23529d44e6d4
2011-08-22 11:14:13 +02:00
David Mandelin
e2e9eb9eb3 Bug 731898: Remove typedef jsrefcount, r=luke
--HG--
extra : rebase_source : 1e0c99c44a8d6d2807a647273b1d07691f8c983e
2012-03-01 11:43:17 -08:00
Marco Bonardo
d433f51394 Backout 51bff179fa81 (bug 731898) for Android bustage 2012-03-01 21:57:14 +01:00
David Mandelin
64337d4c17 Bug 731898: Remove typedef jsrefcount, r=luke 2012-03-01 11:43:17 -08:00
Igor Bukanov
182e2dd994 bug 723286 - remove JSContext * parameter from heap-traversal and related API. r=:billm 2012-02-29 21:23:38 +01:00
Bobby Holley
e6beee84d8 Bug 731471 - Don't reparent wrappers that don't want to move. r=peterv 2012-02-29 21:21:57 -08:00
Matt Brubeck
710e5b9000 Back out 2778f515ed5a (bug 723286) on suspicion of causing OSX64 crashes 2012-02-29 16:18:22 -08:00
Igor Bukanov
267b62cdb3 Bug 731618 - remove JSContext * parameter from heap iteration API. r=:Billm 2012-02-29 21:23:53 +01:00
Igor Bukanov
2139e49ce8 bug 723286 - remove JSContext * parameter from heap-traversal and related API. r=:billm 2012-02-29 21:23:38 +01:00
Bill McCloskey
594ab1a09f Bug 731052 - Clean up incremental resets (r=igor) 2012-02-29 10:28:30 -08:00
Igor Bukanov
3732e3e290 bug 730281 - remove cx argument from GC and compartment related functions. r=:billm 2012-02-29 13:18:16 +01:00
David Mandelin
0be0db4666 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Nicholas Nethercote
9727de241c Bug 729403 (part 2, take 2) - Add js/runtime/gc-marker memory reporter. r=wmccloskey.
--HG--
extra : rebase_source : c48aacddd186be0de3c74153f5e5e4049d09a87b
2012-02-26 20:20:15 -08:00
Phil Ringnalda
2e98180c3d Back out a7255af10a2a and da193f5b526b (bug 729403) for xpcshell assertions in test_TelemetryPing.js 2012-02-26 18:39:06 -08:00
Nicholas Nethercote
7d90bc00d0 Bug 729403 (part 2) - Add js/runtime/gc-marker memory reporter. r=wmccloskey.
--HG--
extra : rebase_source : 9f078515b971e3de4156bb3edd3f8aea74c9fa8f
2012-02-21 21:43:45 -08:00
Nicholas Nethercote
f65c98bbba Bug 730182 - Show location for "[System Principal]" compartments in about:compartments. r=bholley.
--HG--
extra : rebase_source : 084b36938e00058503fba426aeb42ca5cd85698d
2012-02-26 13:23:32 -08:00
Peter Van der Beken
3b0644136d Fix for bug 691707 (Enumerating new proxy-based DOM bindings should enumerate the prototype too). r=mrbkap.
--HG--
extra : rebase_source : 788c2b3f9666ca654fab67047f6309937360f725
2012-02-07 20:55:37 +01:00
L. David Baron
5c4dc186ed Add a header file for CSS property aliases (and temporarily resurrect the aliases whose DOM properties we forgot to remove). (Bug 730532, patch 1) r=bzbarsky 2012-02-24 21:23:14 -08:00
David Mandelin
59dcf8cdf7 Bug 725550: remove obsolete typedef jsdouble, r=jwalden 2012-02-24 14:19:52 -08:00
Marco Bonardo
74afb56c79 Backout 4fc2f49371a8 (bug 725550) for build failures 2012-02-25 00:16:47 +01:00
David Mandelin
ad7cda83f5 Bug 725550: remove obsolete typedef jsdouble, r=jwalden
--HG--
extra : rebase_source : 772c2982184d7b3d1680737323395365e6b218da
2012-02-24 14:19:52 -08:00
Marco Bonardo
bcb8184750 Backout 92c25caf3990 (bug 691707) for m-oth failures 2012-02-24 20:05:44 +01:00
Peter Van der Beken
6bb126a26b Fix for bug 691707 (Enumerating new proxy-based DOM bindings should enumerate the prototype too). r=mrbkap.
--HG--
extra : rebase_source : 2877f225f60750d27005fccc0225e5c0482fb441
2012-02-07 20:55:37 +01:00
Daniel Holbert
72dfdfe8df Bug 730074: Use JSCLASS_NO_OPTIONAL_MEMBERS in JSClass definition within XrayWrapper.cpp, to fix build warning about missing braces. r=mrbkap 2012-02-24 14:31:49 +01:00
Richard Newman
f8f9fa6f5d Merge m-c to m-i. 2012-02-23 18:37:12 -08:00
Richard Newman
85840c2035 Merge last win pgo-green changeset from m-i to m-c. 2012-02-23 18:35:17 -08:00
Ben Turner
7af9098625 Backed out changeset 1f3643b7de2d 2012-02-23 07:09:11 -08:00
Ben Turner
3dc2527e7f Bug 717414 - 'Telephony: Make calls array live'. r=sicking. 2012-02-23 03:48:35 -08:00
Florian Boesch
fc9e33241d Bug 728354 - Implement WebGL EXT_texture_filter_anisotropic extension *proposal* - r=bjacob
The spec proposal for this extension is at
  https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html

This adds a conformance test as well, that will have to be merged upstream.
2012-02-23 08:43:57 -05:00
Kyle Huey
8482a5faf3 Bug 728429: Require ASLR for binary components on Windows. r=bsmedberg,ehsan 2012-02-22 15:05:28 -08:00
Phil Ringnalda
83cb7a525c Back out b27980f1de54 and 39ea8d8f9768 (bug 728429) for potential Windows PGO build bustage on a CLOSED TREE 2012-02-21 20:01:01 -08:00
Kyle Huey
e45a96deb7 Bug 728429: Require ASLR for binary components on Windows. r=bsmedberg,ehsan 2012-02-21 16:09:39 -08:00
Ed Morley
465164e131 Merge mozilla-central to mozilla-inbound 2012-02-21 14:15:58 +00:00
Ed Morley
ec5a7c5b3d Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-02-21 11:59:33 +00:00
Ms2ger
5ed0ff5c65 Bug 726964 - Remove unused sDOMStringFinalizerIndex; r=bholley 2012-02-21 10:34:02 +01:00
Ms2ger
1944749327 Bug 726960 - Introduce xpc::NonVoidStringToJsval; r=bholley 2012-02-21 10:34:02 +01:00
Nicholas Nethercote
f407686454 Bug 702300 (part 8) - Add about:compartments. r=jlebar, ehsan.
--HG--
extra : rebase_source : ad9de010f0b51d5ae7d74b8cbc04c8748767ec0b
2012-02-16 22:10:39 -08:00
Nicholas Nethercote
c34bc1317f Bug 702300 (part 7) - Add the "compartments" multi-reporter. r=billm.
--HG--
extra : rebase_source : e45e59bd8657197dbd61c257f46ad6396cdda3c3
2012-02-16 22:10:39 -08:00
Luke Wagner
e360e8fdf0 Bug 729584 - mozJSComponentLoader::ImportInto needs to wrap exceptions (r=bholley)
--HG--
extra : rebase_source : c5c575a789647348fcca5bf9ef5368873f0016f4
2012-02-23 13:50:01 -08:00
Igor Bukanov
87ee03b495 bug 726944 - Remove JSClass::xdrObject and related functionality. r=luke 2012-02-13 09:02:21 +01:00
Bobby Holley
196a0a6768 Bug 700561 - Relax short-circuit principal checks on account of inner window reuse. r=bz 2012-02-18 08:55:28 -08:00
Bill McCloskey
c6cd982f05 Bug 641025 - Incremental GC (r=igor,smaug,roc,cdleary,gregor) 2012-02-17 14:35:20 -08:00
Bobby Holley
fe2e5fde31 Bug 714590 - Use the helper jsclass format everywhere. r=mrbkap 2012-02-16 12:22:16 -08:00
Terrence Cole
ed5d8783f0 Bug 726115 - Make the tracer callback take an indirect pointer; r=billm
This will be required for a tracer to move objects.  This patch only
updates the tracer interface and users of the interface.

--HG--
extra : rebase_source : 844d819a80cf6cb1dba0d07ea97f647802c66d40
2012-02-15 16:28:41 -08:00
Jeff Walden
7086420197 Convert the last remaining direct JS_Assert users to MOZ_Assert, followup to bug 717540 that seems to have been missed in my initial review. Also switch the JS_ASSERT uses to MOZ_ASSERT in passing. r=trivial
--HG--
extra : rebase_source : 70746d934b529c3e28d83dc2aced690ba92044db
2012-02-14 16:16:14 -08:00
Olli Pettay
49ff9c7a84 Bug 725768 - BBP for ObjectHolders, additional patch 2, r=mccr8 2012-02-13 22:59:14 +02:00
Bill McCloskey
03499f06a0 Bug 716067 - UnmarkGray more often (r=bent) 2012-02-10 18:32:13 -08:00
Phil Ringnalda
aa7113899f Back out 5f623a11c6cb (bug 713226), 1ed8ccf96402 (bug 721579), 32af27f89c49 (bug 722028), 1300d282fd22 (bug 716067), dc0f6ad7eff3 (bug 723313), 0d2ab3f2e9b9 (bug 723773) for talos crashes 2012-02-10 19:47:48 -08:00
Bill McCloskey
c96a433a29 Bug 716067 - UnmarkGray more often (r=bent) 2012-02-10 18:32:13 -08:00
Olli Pettay
0fe1640d6b Bug 725768 - BBP for ObjectHolders, r=mccr8
--HG--
extra : rebase_source : 31e088050144099582d035f758d716516885ebd3
2012-02-10 21:50:37 +02:00
Ed Morley
04d8171793 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-02-10 12:14:39 +00:00
Ms2ger
ccee066e87 No bug - Propagate false return value from xpc_qsThrowMethodFailedWithDetails; r=bz 2012-02-07 21:31:29 +01:00
Jeff Walden
e46b0ed4d4 Bug 725888 - Remove some js_GetClassPrototype calls, using faster methods on GlobalObject instead. Also introduce JS_GetObjectPrototype to retrieve Object.prototype so that a friend API can be made un-friendly. r=dmandelin
--HG--
extra : rebase_source : d68d7f1fdcc1bc9a1a027c08ea62bebd8e9d0178
2012-02-07 11:45:18 -08:00
Igor Bukanov
18e6a2e079 bug 724310 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : b78519db2ff008eb5143676d2db47935f0e89f45
2012-02-05 21:07:23 +01:00
Igor Bukanov
eb3cfce3dc backout merge for bug 724310. r=irc 2012-02-09 21:28:22 +01:00
Igor Bukanov
efe64d22c0 bug 723517 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : c461dfc0e0e0462ab262cc01c2a771d3bb0971cc
2012-02-05 21:07:23 +01:00
Bobby Holley
29328b7b57 Bug 622301 - Remove now-obsolete 'callee' parameter. r=mrbkap 2012-02-07 18:06:41 -08:00
Bobby Holley
09d06adbcf Bug 622301 - Don't use XPCWrappedNative::GetWrappedNativeOfJSObject in quickstub unwrapping. r=mrbkap 2012-02-07 18:06:34 -08:00
Igor Bukanov
672b98ffbe bug 660441 - removal of cx parameter from IsAboutToBeFinalized. r=anygregor 2012-02-08 01:51:32 +01:00
Andrew McCreight
ed6da3301f Bug 696174 - Log JS heap at the same time as CC heap. r=bholley,smaug 2012-02-02 16:32:30 -08:00
Igor Bukanov
249bae9bfd bug 724810 - storing finalizer in external strings directly. r=luke
--HG--
extra : rebase_source : d3222c685190bbdbe9446628f2f73f2a6f81eb11
2012-02-07 19:44:54 +01:00
Jason Orendorff
4e6e2ddc69 Bug 699565 - Part 4 - for-of loops on array-like DOM object. r=bz. 2012-02-07 12:57:17 -06:00
Marco Bonardo
3cb51695d8 Bug 722254 - Add an XPCOMUtils method to generate a singleton factory.
Use the new factory in Places js services, to ensure they can't be instanced multiple times.
r=bsmedberg
2012-02-07 10:17:42 +01:00
Nicholas Nethercote
ddd936d488 Bug 689583 - Add names for memory multi-reporters. r=jlebar.
--HG--
extra : rebase_source : adb3fb2cbbb8a07b60edd48c7dc9a3a4a4763b79
2012-02-06 17:02:59 -08:00
Andrew McCreight
e74e061086 Bug 724398 - specialize GCThingIsMarked to GRAY. r=billm 2012-02-05 19:43:35 -08:00
Nicholas Nethercote
aada2ed431 Bug 722609 - Rename the js-total memory reports. r=luke. 2012-01-30 20:03:29 -08:00
Nicholas Nethercote
a1ab9492f5 Bug 722595 - Add memory reporters for misc things hanging off JS objects. r=bhackett.
--HG--
extra : rebase_source : 211b35134923f4cb99625bb240b96e81f0f28b4b
2012-01-30 18:12:03 -08:00
Masatoshi Kimura
885fc84d72 Bug 723894 - Crash when Web IDL dictionary object is null; r=mrbkap 2012-02-05 18:57:46 +00:00
Igor Bukanov
afb57a37a5 bug 723517 - Drop cx argumrent from JS_GetClass(cx, obj). r=luke 2012-02-04 01:54:57 +01:00
Luke Wagner
b78ff5f631 Bug 722594 - Remove xpc_CreateMTGlobalObject and mMTCompartmentMap (r=mrbkap)
--HG--
extra : rebase_source : 6dd76009eb8029499efcbe6bbb0b74d58000612c
2012-02-01 13:36:51 -08:00
Luke Wagner
492489ef53 Bug 692269 - Remove jsstr.h, vm/String.h, jsautokw.h, jsclone.h, jsopcode.tbl, jsopcode.h, jsstdint.h from INSTALLED_HEADERS (r=billm)
--HG--
extra : rebase_source : f9e20f1d52987251ad3d58c76531dcd5135076ad
2012-01-30 09:17:38 -08:00
Blake Kaplan
2718588789 Bug 723111 - Add an option to js::UnwrapObject so that it doesn't stop at outer windows when unwrapping. This is useful for cases where we are trying to find the wrapped native for a security wrapper. r=bzbarsky 2012-01-26 14:55:27 +01:00
Igor Bukanov
08ee5eda35 bug 723021 - moving native stack limits into runtime. r=luke 2012-01-31 23:28:22 +01:00
Phil Ringnalda
23ca89ddfb Back out 9aac714775b9 (bug 723111) for make check orange 2012-02-01 10:25:04 -08:00
Blake Kaplan
7cce8db259 Bug 723111 - Add an option to js::UnwrapObject so that it doesn't stop at outer windows when unwrapping. This is useful for cases where we are trying to find the wrapped native for a security wrapper. r=bzbarsky
--HG--
extra : rebase_source : 51216cf21b63554e50633c89f393c5888241dee2
2012-01-26 14:55:27 +01:00
Peter Van der Beken
5be8d4ae29 Fix for bug 717009 (Inline ListBase<LC>::instanceIsListObject and ListBase<LC>::getListObject). r=bz.
--HG--
extra : rebase_source : 368514fa942cb31751e5c6b4ff9d206c1bb609bc
2011-11-09 11:37:47 +01:00
Peter Van der Beken
8f4abab950 Fix for bug 716997 (Allow new DOM bindings with 0 methods or properties). r=jst.
--HG--
extra : rebase_source : 2b16fa38254362cdedc136a8a4b07261ab2f6a76
2011-10-14 23:21:39 +02:00