Commit Graph

1161 Commits

Author SHA1 Message Date
Jan de Mooij
91b8b2eab2 Bug 837628 - Add baseline JIT browser prefs. r=djvj 2013-02-05 11:11:26 +01:00
L. David Baron
b6b42cafaa Bug 563195: Fix -Wshadow warnings in public JS API headers (those used from layout/style/). r=njn 2013-02-17 22:56:32 -08:00
Nicholas Nethercote
0ecd4216a9 Bug 836949 (part 1) - Clean up the versions/options code. r=jorendorff. 2013-02-06 21:35:16 -08:00
Ehsan Akhgari
58241be690 Bug 853556 - Make nsRootedJSValueArray::SetCapacity return void; r=bzbarsky 2013-03-21 14:39:17 -04:00
Dave Hylands
b3a05563e5 Bug 842932 - Update to use Preferences::RegisterCallbackAndCall to correct pref callback from getting wrong params. r=smaug 2013-02-20 11:49:51 -08:00
Bobby Holley
396e37a781 Bug 834732 - Improve pushing in nsJSEnvironment. r=mrbkap 2013-02-26 11:04:12 -08:00
Bobby Holley
f6920a0bac Bug 834732 - Make nsCxPusher.Push(JSContext*) infallible. r=mrbkap
We leave the nsIDOMEventTarget* versions fallible for now, but this makes the
common case a lot simpler. Note that this means that pushing a null JSContext,
a bug, is no longer handled at runtime. But I think we should just assert
against it, since there are already callers that don't check the return value.
2013-02-26 11:04:11 -08:00
Bobby Holley
4b13cc3ad2 Bug 834732 - Remove PushBehavior. r=mrbkap
Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
2013-02-26 11:04:11 -08:00
Bobby Holley
7570d65d99 Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap
The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
2013-02-26 11:04:09 -08:00
Luke Wagner
df1c6eeff2 Bug 840282 - OdinMonkey (sr=dmandelin) 2013-03-15 02:29:02 -07:00
Ryan VanderMeulen
f2151cfdbc Backed out 12 changesets (bug 834732) for b2g bustage and OSX mochitest-1 crashes on a CLOSED TREE. 2013-02-12 20:54:48 -05:00
Bobby Holley
919377d94c Bug 834732 - Improve pushing in nsJSEnvironment. r=mrbkap 2013-02-13 00:22:27 +01:00
Bobby Holley
1673008ebe Bug 834732 - Make nsCxPusher.Push(JSContext*) infallible. r=mrbkap
We leave the nsIDOMEventTarget* versions fallible for now, but this makes the
common case a lot simpler. Note that this means that pushing a null JSContext,
a bug, is no longer handled at runtime. But I think we should just assert
against it, since there are already callers that don't check the return value.
2013-02-13 00:22:26 +01:00
Bobby Holley
1c187f957b Bug 834732 - Remove PushBehavior. r=mrbkap
Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
2013-02-13 00:22:26 +01:00
Bobby Holley
03a8c695c6 Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap
The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
2013-02-13 00:22:26 +01:00
Gabriele Svelto
60bd57564a Bug 820438 - Immediately apply changes in maximum script runtime to make them visible in content processes. r=jst 2013-01-31 18:23:50 +01:00
Nicholas Nethercote
03e9f7ae1b Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!
2013-01-24 21:24:57 -08:00
Phil Ringnalda
6c1eebfede Back out 66882ea6f8c7 (bug 788293) and 32f09cb3c7b6 (bug 834090) for bustage
CLOSED TREE
2013-01-31 22:29:30 -08:00
Nicholas Nethercote
2d2d004475 Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!
2013-01-24 21:24:57 -08:00
Olli Pettay
877d8a2477 Bug 836457 - Don't start forgetSkippable/GC timer before first GC, r=mccr8 2013-01-31 00:46:37 +02:00
Ryan VanderMeulen
f24b6c842c Merge m-c to inbound. 2013-01-29 10:50:01 -05:00
Boris Zbarsky
d499c92995 Bug 834785. Make sure to not ask the JS engine for return values in toplevel scripts, so it'll be able to ion-compile them as needed. r=bholley 2013-01-29 08:44:00 -05:00
Olli Pettay
b9ff44f3d6 Bug 835503 - Remove nsCycleCollector::ShouldBeFreed/WasFreed, r=mccr8 2013-01-29 12:45:38 +02:00
Bill McCloskey
49041b2d51 Bug 751618 - Zone renaming part 7 (r=jonco) 2013-01-27 13:51:41 -08:00
Bill McCloskey
a02e677988 Bug 751618 - Zone renaming part 2 (r=jonco) 2013-01-27 13:51:35 -08:00
Bill McCloskey
cdd3c037a9 Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Bobby Holley
07aa499c7c 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
fd4be09dae Bug 832041 - Remove nsJSContext::CompileEventHandler and move consumers to nsJSUtils::CompileFunction. r=bz 2013-01-23 07:12:50 +01:00
Ryan VanderMeulen
ecf1ffe62f Merge m-c to inbound. 2013-01-23 18:30:46 -05:00
Olli Pettay
00c2b01d2b Bug 822849 - Don't run CC/GC timers during shutdown, r=mccr8 2013-01-22 21:17:48 +02:00
Bobby Holley
4918f2ad45 Bug 832435 - Fix compartment handling for EvaluteString and javascript: uris. r=bz 2013-01-21 12:56:28 +01:00
Andrew McCreight
4e9071f35b Bug 830595 - Add JSAutoCompartment to nsJSContext::ExecuteScript. r=bz 2013-01-22 11:48:46 -08:00
Phil Ringnalda
64bcfd2022 Back out 7dbbb6e3d240 (bug 832435) for assertion failures 2013-01-18 21:29:05 -08:00
Bobby Holley
2bf737fd79 Bug 832435 - Fix compartment handling for EvaluteString and javascript: uris. r=bzbarsky 2013-01-18 23:33:26 -05:00
Bobby Holley
cd8da80c92 Bug 824864 - Fix Ms2ger nits. r=me 2013-01-16 18:50:27 -08:00
Bobby Holley
1712c18669 Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley
7ce552bb77 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
ab59caa6a7 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
12a948d258 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
2f862505c0 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
6bb403898b Bug 824864 - Remove nsIScriptContext::EvaluateString. r=bz 2013-01-16 18:50:26 -08:00
Bobby Holley
5c46589e4c 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
4f1806aee9 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
7146a68795 Bug 824864 - Hoist the guts of CompileFunction into nsJSUtils. r=bz 2013-01-16 18:50:25 -08:00
Trevor Saunders
c55a85644c bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Ehsan Akhgari
99c3ac0dfa Merge mozilla-central into mozilla-inbound 2013-01-15 09:10:19 -05:00
Olli Pettay
afb06d2c0a 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
57ff986dd8 Bug 829439 (part 1) - Add MemoryReporterBase class that promotes better encapsulation within nsIMemoryReporter sub-classes. r=jlebar. 2013-01-14 16:26:47 -08:00
Olli Pettay
40ae856b23 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
642d6c8181 Bug 810644 - Fix merge conflict after separate backouts on multiple trees; r=me 2013-01-08 10:13:30 +00:00