Commit Graph

159 Commits

Author SHA1 Message Date
Bobby Holley
7c26851804 Bug 901106 - Make nsJSRuntime initialization infallible and do it implicitly in the nsJSContext constructor. r=mrbkap
We also move the runtime out of the namespace, which requires some updates.
2013-08-19 16:24:29 -07:00
Bobby Holley
d192e30f6e Bug 901106 - Get rid of vestigial nsJSRuntime instance and make it a namespace. r=mrbkap
We'll rename the namespace shortly.
2013-08-19 16:24:29 -07:00
Bobby Holley
684f16b450 Bug 901106 - Remove nsIScriptRuntime. r=mrbkap
All this stuff is now for nsGlobalWindow's use only.
2013-08-19 16:24:28 -07:00
Bobby Holley
ce13d4df7a Bug 901106 - Inline and remove nsIScriptContext::{Serialize,Deserialize}. r=smaug 2013-08-19 16:24:27 -07:00
Bobby Holley
2ce8f2d13b Bug 903212 - Remove nsIXPCScriptNotify machinery. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley
ecce09df53 Bug 903212 - Remove ScriptEvaluated, and simplify callers. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley
7f8ef2275d Bug 903212 - Remove activity tracking from nsJSContext. r=smaug
This only has an impact when we enable explict compartmental GCs, which have
been preffed off for a while.
2013-08-14 14:00:02 -07:00
Bobby Holley
81026a6fdf Bug 901364 - Remove a bunch of now-unused modal state tracking machinery. r=mrbkap 2013-08-12 12:54:51 -07:00
Bobby Holley
b5464322cb Bug 901162 - Inline ExecuteScript in the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley
4e21a1faaf Bug 901162 - Inline CompileScript into the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley
252d99069f Bug 901162 - Remove unused mExecuteDepth machinery. r=bz 2013-08-08 16:51:34 -07:00
Nicholas Nethercote
b756f6b258 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Arnaud Sourioux
4f029c7b82 Bug 877746 - Annotate ~230 methods with MOZ_OVERRIDE in /dom. r=Ms2ger 2013-06-05 12:15:48 -04:00
Boris Zbarsky
e1d7ebf663 Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug 2013-05-29 16:16:04 -04:00
Bobby Holley
d1daeb827a Bug 868110 - Introduce a more private API for the consumers that really do need the default compartment object. r=luke
The primary consumer of this is the whole inner/outer DOM window setup, which
uses the default global to track the current inner. But there are few other
random ones as well.

We use this as an opportunity to convert a bunch of consumers from the two-step
GetNativeContext() -> JS_GetGlobalObject() into just |GetNativeGlobal()|. This
will make things much easier to convert when we start tracking the current inner
explicitly.
2013-05-22 15:42:44 -06:00
Bobby Holley
1e852f571d Bug 841312 - Remove the termination function API. r=bz
\o/
2013-05-21 11:45:56 -06:00
Andrew McCreight
b13ef63428 Bug 865320 - Move the logic for deciding when to doing a merging CC into the cycle collector. r=smaug 2013-04-29 16:41:41 -07:00
David Zbarsky
4cf96f4173 Bug 868312 - Rooting fixes for dom r=bz 2013-05-12 01:17:42 -04:00
David Zbarsky
ae680f2b5f Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
David Zbarsky
7921fbf41a Bug 868312: Root dom/workers r=bz 2013-05-09 03:27:40 -04:00
Bobby Holley
5b4a6b5b06 Bug 868122 - Remove nsIScriptContextPrincipal. r=gabor
\o/
2013-05-06 16:53:10 -07:00
David Zbarsky
e6b1eb46b4 Bug 866450 Part 2: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:46 -04:00
Ed Morley
dfe0338333 Backed out changeset b514d768d793 (bug 866450) 2013-05-02 11:57:14 +01:00
David Zbarsky
bc9b1bccdc Bug 866450 Part 2: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:46 -04:00
Andrew McCreight
fd769e05e8 Bug 866151 - Clean up usage of nsCycleCollector.h and nsCycleCollectorUtils.h. r=smaug,bsmedberg
--HG--
rename : xpcom/base/nsCycleCollector.h => xpcom/glue/nsCycleCollectionJSRuntime.h
2013-04-30 10:41:22 -07:00
Jose Cortes
5a8bc5381c Bug 842186 - Replace use of jsval with JS::Value in dom/base. r=jwalden
From 1a684ed61615d32965201e55335478d5f403ac4a Mon Sep 17 00:00:00 2001
 cpp files in the dom/base/ directory. r=jwalden
---
 dom/base/Crypto.cpp                     |  3 +-
 dom/base/DOMRequest.cpp                 | 12 +++---
 dom/base/DOMRequest.h                   |  4 +-
 dom/base/Navigator.cpp                  | 10 ++---
 dom/base/nsDOMJSUtils.h                 |  6 +--
 dom/base/nsDOMWindowUtils.cpp           | 20 ++++-----
 dom/base/nsGlobalWindow.cpp             | 24 +++++------
 dom/base/nsIJSNativeInitializer.h       |  4 +-
 dom/base/nsJSEnvironment.cpp            | 73 +++++++++++++++++----------------
 dom/base/nsJSEnvironment.h              |  8 ++--
 dom/base/nsJSTimeoutHandler.cpp         |  4 +-
 dom/base/nsJSUtils.h                    |  2 +-
 dom/base/nsStructuredCloneContainer.cpp | 10 ++---
 13 files changed, 91 insertions(+), 89 deletions(-)

--HG--
extra : rebase_source : af1420550a745aba9fd6c20297ac3cd0075f5ead
2013-04-11 18:52:10 -04:00
Boris Zbarsky
d2beaf77f2 Bug 810644 part 2. Eliminate the now-unused CallEventHandler. r=smaug, sr=peterv 2013-01-03 14:02:42 -05:00
Terrence Cole
dac56af76e Bug 851568 - Remove HoldScriptObject and DropScriptObject; r=smaug
--HG--
extra : rebase_source : d5bb9bff3dcdb8ceaf8ecb3ea60c96f75e0bc82a
2013-03-19 10:20:22 -07:00
Terrence Cole
5f4e4d162b Bug 850293 - Remove nsScriptObjectHolder; r=mccr8,bholly sr=smaug
nsScriptObjectHolder is not needed with either conservative or exact rooting.
2013-03-20 13:09:09 -07:00
Olli Pettay
25044dfc64 Bug 844313 - Call GC more likely when there are lots of Events to collect, r=mccr8
--HG--
extra : rebase_source : 675ad0e5b5e22b3ccc1ec2bddac7048df57f522a
2013-03-07 20:53:19 +02:00
Bill McCloskey
8544cb4e1d Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08: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
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
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
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
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
Boris Zbarsky
4400c50ec5 Bug 810644 part 2. Eliminate the now-unused CallEventHandler. r=smaug, sr=peterv 2013-01-03 14:02:42 -05: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
Saurabh Anand
c9e3659e16 Bug 818817 - Fix some compiler warnings, r=Ms2ger 2012-12-09 22:53:19 +05:30
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
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
Oonishi Atsushi
4dfc130001 Bug 801357 - Remove Get/SetProcessingScriptTag(). r=smaug 2012-10-19 21:44:13 -04:00
Bobby Holley
b9afeeb542 Bug 795275 - Introduce an explicit mechanism for determining if a script is from XBL. r=mrbkap
We want this right now so that we can avoid the scary warning when content Components
access happens in XBL (which we're allowing going forward). This patch would be overkill
just for that, but I also have plans to introduce a SOW-like protection of the Components
wrapper filtering policy. I can't just do the filename hack for that though, because real-
world XBL filenames might be all over the place. So let's just be safe here.
2012-10-03 11:44:18 +02:00
Ehsan Akhgari
0fd9123eac Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Benjamin Peterson
b97eb065c8 Bug 779724 - Use finer-grain source controls in the browser. r=jorendorff, sr=jst 2012-08-07 10:39:47 -07:00