Commit Graph

581 Commits

Author SHA1 Message Date
Bill McCloskey
8544cb4e1d Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Bobby Holley
800db35b78 Bug 833856 - Handle errors better in EvaluateString. r=bz
This bug happens when we take the !useSandbox path. Basically, when the code
throws, we can end up with garbage in *aRetValue while still returning true
from EvaluateString. It looks like the convention is for these kind of eval
functions to return success even for invalid code, so lets just make sure we
check things a bit better.

This crashtest is kind of half-baked in the sense that it doesn't actually
crash without the rest of the patch. But the testcase here involves a lot of
undefined behavior (what ends up getting left in *aRetValue) during a call
to window.open (which spins the event loop, etc). I already sunk about half
an hour into trying to make it crash, so I'm just going to go with this for
now.
2013-01-25 11:17:40 +01:00
Bobby Holley
cec2ed5339 Bug 832041 - Remove nsJSContext::CompileEventHandler and move consumers to nsJSUtils::CompileFunction. r=bz 2013-01-23 07:12:50 +01:00
Ryan VanderMeulen
e97eef4d6f Merge m-c to inbound. 2013-01-23 18:30:46 -05:00
Olli Pettay
bfbe7518c7 Bug 822849 - Don't run CC/GC timers during shutdown, r=mccr8
--HG--
extra : rebase_source : 173e02106457b6867db8c4cf734a93366f4b31dd
2013-01-22 21:17:48 +02:00
Bobby Holley
464998681a Bug 832435 - Fix compartment handling for EvaluteString and javascript: uris. r=bz 2013-01-21 12:56:28 +01:00
Andrew McCreight
3ebd8b5ab9 Bug 830595 - Add JSAutoCompartment to nsJSContext::ExecuteScript. r=bz 2013-01-22 11:48:46 -08:00
Phil Ringnalda
67c7e25d7b Back out 7dbbb6e3d240 (bug 832435) for assertion failures 2013-01-18 21:29:05 -08:00
Bobby Holley
cf97537345 Bug 832435 - Fix compartment handling for EvaluteString and javascript: uris. r=bzbarsky 2013-01-18 23:33:26 -05:00
Bobby Holley
7a0d54fa07 Bug 824864 - Fix Ms2ger nits. r=me 2013-01-16 18:50:27 -08:00
Bobby Holley
fe9b482b3b Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley
80fbe9010d Bug 824864 - Move responsibility for checking for JSVERSION_UNKNOWN to the one caller of EvaluateString that might pass it. r=bz 2013-01-16 18:50:26 -08:00
Bobby Holley
b5e0ee1f7c Bug 824864 - Use an nsCxPusher in EvaluateString, and pull the principal off the target object. r=bz
This simplifies a lot of code, and makes the function scope-agnostic.
2013-01-16 18:50:26 -08:00
Bobby Holley
89a6e0fc9e Bug 824864 - Rename EvaluateStringWithValue to EvaluateString. r=bz
Now that there's only one of them, we can get rid of the silly suffix. \o/
2013-01-16 18:50:26 -08:00
Bobby Holley
5dfabb90ca Bug 824864 - Remove unused optional arguments from nsIScriptContext::ExecuteScript. r=bz
This lets us get rid of a bunch of junk.
2013-01-16 18:50:26 -08:00
Bobby Holley
9f95924a28 Bug 824864 - Remove nsIScriptContext::EvaluateString. r=bz 2013-01-16 18:50:26 -08:00
Bobby Holley
1724ed7409 Bug 824864 - Improve the API for EvaluateStringWithValue. r=bz
There are a few changes we make here:
1 - Having callers pass JS::CompileOptions directly.
2 - Removing aUndefined, which makes no sense and is unused by consumers.
3 - Making aScopeObject and aRetValue non-optional, via references.
3 - Adding an argument to optionally coerce the return value to a string.

Coercing jsvals to strings is the reason we currently have two nearly-identical
functions, EvaluateString and EvaluateStringWithValue, since the coercion can
trigger arbitrary script and thus needs to be bracketed by all the junk that
nsJSContext does. However, if callers can be guaranteed that the return value
will be a bonafide string, then they can easily extract the string themselves
if they so desire. This will allow us to combine the two functions.
2013-01-16 18:50:26 -08:00
Bobby Holley
8d5b0ca82e Bug 824864 - Move consumers of CompileFunction to the nsJSUtils version, and kill the nsJSContext version. r=bz
Note that the three consumers were all XBL, and were all passing aShared = true,
which had the effect of passing null for the target object. So we actually want
to pass JS::NullPtr() (the HandleObject version of nullptr) instead of
aClassObject in order to maintain the old behavior (whatever that is).
2013-01-16 18:50:25 -08:00
Bobby Holley
d8ecec9ede Bug 824864 - Hoist the guts of CompileFunction into nsJSUtils. r=bz 2013-01-16 18:50:25 -08:00
Trevor Saunders
9f0ad48b28 bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Ehsan Akhgari
d65042a63e Merge mozilla-central into mozilla-inbound 2013-01-15 09:10:19 -05:00
Olli Pettay
46d4422369 Bug 825544: backout Bug 825544, Bug 825544, Bug 765192 and Bug 808035 to bring back the old .location=val behavior, r=bz 2013-01-15 13:46:35 +02:00
Nicholas Nethercote
dc051e917d Bug 829439 (part 1) - Add MemoryReporterBase class that promotes better encapsulation within nsIMemoryReporter sub-classes. r=jlebar.
--HG--
extra : rebase_source : 53a77ea456f2aedafe05954ceece7e64db743e66
2013-01-14 16:26:47 -08:00
Olli Pettay
724caef0ef Bug 820378 - Try to postpone triggering CC if we're in middle of GC handling, r=mccr8 2013-01-08 13:11:01 +02:00
Ed Morley
4720893d6c Bug 810644 - Fix merge conflict after separate backouts on multiple trees; r=me 2013-01-08 10:13:30 +00:00
Ed Morley
998f574dcd Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2013-01-08 09:26:15 +00:00
Olli Pettay
a0d72846bb Bug 705371 - [CC] don't add JSContexts that have no children to the cycle collector graph, r=mccr8 2013-01-07 19:40:46 +02:00
Boris Zbarsky
89c9379923 Back out bug 810644 for now to fix bug 827035, until we manage to fix bug 765780. r=stuff-is-broken 2013-01-07 10:29:00 -05:00
Boris Zbarsky
b9b639512f Back out bug 810644 for now to fix bug 827035, until we manage to fix bug 765780. r=stuff-is-broken 2013-01-07 10:29:00 -05:00
Nicholas Nethercote
5ee4d74504 Bug 826183 - DMD: clear reportedness data before running memory reporters and dumping. r=jlebar.
--HG--
extra : rebase_source : 3ea1c71eacdee712b2d1739a8e25cbf854ea0424
2013-01-06 13:34:39 -08:00
Boris Zbarsky
4400c50ec5 Bug 810644 part 2. Eliminate the now-unused CallEventHandler. r=smaug, sr=peterv 2013-01-03 14:02:42 -05:00
Ryan VanderMeulen
59841fb747 Merge the last PGO-green inbound changeset to m-c. 2013-01-02 21:02:40 -05:00
Olli Pettay
845ba448f7 Additional patch for Bug 821371 to fix crashes on windows, r=timeless
--HG--
extra : rebase_source : 0addf10c8284e141f1dfa8ae2fac467e5232c4f2
2013-01-02 22:45:36 +02:00
Nicholas Nethercote
acc80a9abd Bug 819819 (part 2) - Remove |name| from NS_MEMORY_REPORTER_MALLOC_SIZEOF_FUN. r=jlebar.
--HG--
rename : dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing_perwindowpb.html => dom/tests/mochitest/localstorage/test_localStorageQuotaPrivateBrowsing.html
rename : toolkit/components/places/tests/browser/browser_favicon_privatebrowsing_perwindowpb.js => toolkit/components/places/tests/browser/browser_favicon_privatebrowsing.js
extra : rebase_source : 557cc60522970ce7eea3b006d357284d9b4694c4
2012-12-23 16:59:51 -08:00
Andrew McCreight
23309b60e7 Bug 821371, part 3: Remove bogus asserts. r=bustage 2012-12-31 17:03:54 -05:00
Andrew McCreight
dac46e438c Bug 821371, part 2 - Log time taken for cycle collector prep. r=smaug 2012-12-31 15:55:07 -05:00
Andrew McCreight
21289d5087 Bug 821371, part 1 - Don't finish GC when CCTimerFired calls CycleCollectNow. r=smaug 2012-12-31 15:54:37 -05:00
Nicholas Nethercote
884ca45414 Bug 819819 (part 1) - Remove DMDV. r=khuey.
--HG--
extra : rebase_source : af193a276409e33f0099d256cdfcd0f11917ea25
2012-12-20 23:03:50 -08:00
Bobby Holley
b9b954824f Bug 820666 - Tag XBL script for <field> elements and child scripts. r=jorendorff 2012-12-12 17:09:37 -08:00
Nicholas Nethercote
0d84313efb Bug 717853 - Add a native version of DMD. r=jlebar,glandium.
--HG--
extra : rebase_source : 9b824556591abd63b42aa7ff823e9cd25976c162
2012-12-10 16:05:07 -08:00
Trevor Saunders
4d16e0db71 backout 2bb432c47170 for debug asserts 2012-12-05 04:19:33 -05:00
Trevor Saunders
bd2d1feb84 bug 801466 - part 3 1/2 remove some prmem usage from dom/ and docshell/ r=mounir 2012-12-05 02:55:37 -05:00
Andrew McCreight
bf4449f2b7 Bug 792861 - Make HoldJSObjects/DropJSObjects infallible. r=smaug 2012-11-12 17:15:00 -08:00
Olli Pettay
1e72329799 Bug 811206, Fix JSHolder drop handling, part 3 (fixes), r=mccr8,khuey
--HG--
extra : rebase_source : 7b2726d2aa7f5764a3c4cb750e5a735728069687
2012-11-28 03:37:57 +02:00
Brian Hackett
4e0efb87f1 Add config option for off thread compilation, bug 815199. r=dvander 2012-11-26 16:30:37 -05:00
Benoit Jacob
a1d7e0f511 Bug 807437 - Eliminate redundant Traverse/Unlink CC macros - part 1: automatic changes - r=mccr8 2012-11-15 02:32:40 -05:00
Boris Zbarsky
7399600c6f Bug 779048 part 1. Implement a parent class for C++ reflections of callback functions in WebIDL. r=bholley,smaug 2012-11-09 07:43:57 -08:00
Nicholas Nethercote
bd6c82fd52 Bug 807850 - Add a memory reporter for the nsScriptNameSpaceManager. r=jst.
--HG--
extra : rebase_source : bd6e263678aab5477ba11c70015b1537278914b3
2012-11-04 14:18:44 -08:00
Ms2ger
5ffd0edacd Bug 807410 - Part b: Pass the "GC on destruction" flag to the nsJSContext constructor; r=jst 2012-11-04 09:05:23 +01:00
Ms2ger
ca9e7e960f Bug 807410 - Part a: Pass the global object to the nsJSContext constructor; r=jst 2012-11-04 09:04:04 +01:00