Commit graph

178 commits

Author SHA1 Message Date
Boris Zbarsky
f86c21cecc Bug 1276317 part 1. Change JS_SetGCZeal to take a JSRuntime, not a JSContext. r=jandem 2016-06-02 10:34:38 -04:00
Boris Zbarsky
172598b4e2 Bug 1257335. Replace some AutoSafeJSContext uses with AutoJSAPI or AutoJSContext uses. r=bholley
In general, using an AutoJSAPI inited with an object is NOT the same as using
AutoSafeJSContext (or AutoJSAPI inited without an object) and then entering the
compartment of the object: the former will report exceptions to the global of
the object as it comes off the stack, while the latter will not.  This only
really matters if we have an object from a window or worker global and hence
might fire error events, or report internal stuff to the web console.

The changes to initing with an object made in this bug are OK for the following
reasons:

1) dom/base/Console.cpp: Always clears its exception before coming off the stack.
2) dom/base/nsDOMClassInfo.cpp: Inits with a non-web global.
3) dom/base/nsFrameMessageManager.cpp: Inits with a non-web global.
4) dom/media/MediaPermissionGonk.cpp: We probably want the caller to notice if
   anything here throws.
5) dom/xbl/nsXBLPrototypeBinding.cpp: Inits with a non-web global.
6) dom/xul/nsXULElement.cpp: Inits with a non-web global.
7) extensions/pref/autoconfig/src/nsJSConfigTriggers.cpp: Inits with a non-web global.
8) ipc/testshell/XPCShellEnvironment.cpp: Inits with a non-web global.
2016-03-18 10:48:38 -04:00
Lars T Hansen
7490b94ef4 Bug 1231337 - part 4, conditionally enable shared memory for ipc testshell. r=mrbkap
--HG--
extra : rebase_source : ca3549e9091cc0b64abd237a8ac67c675c54dce7
extra : histedit_source : 68569e3c33891f336802c6aee4deaacc77a8e076
2016-01-04 14:54:55 +01:00
Jeff Walden
5be7be38a1 Bug 1235615 - Split JS::CompartmentOptions into JS::CompartmentCreationOptions that are immutable characteristics of a compartment, and JS::CompartmentBehaviors that may be changed after the compartment's been created. r=terrence
--HG--
extra : rebase_source : f08c380ae247d3308d4c36788ac765de1b75af50
2015-12-28 16:15:52 -06:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Jan de Mooij
976586cb5f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Andrew McCreight
10dd21a3ef Bug 886459, part 3 - Remove simple uses of nsIJSRuntimeService to get the JSRuntime. r=bholley 2015-06-26 18:44:14 -07:00
Mike Hommey
1ec5ee71e9 Bug 1166243 - Remove build() function from js and xpc shells. r=bholley,r=efaust 2015-06-04 13:59:47 +09:00
Boris Zbarsky
58ae84cfe1 Bug 1143793 part 6. Drop the obj argument of JS::Compile. r=luke
This is technically a behavior change for the shell's disfile() function, but
I really doubt anyone is doing disfile.call(someObj).
2015-03-19 10:13:34 -04:00
Boris Zbarsky
5af7e8cdc5 Bug 1143793 part 2. Remove the obj argument of JS_CompileUCScript. r=luke 2015-03-19 10:13:34 -04:00
Boris Zbarsky
5529d8327d Bug 1143793 part 1. Remove the obj argument of JS_CompileScript. r=luke 2015-03-19 10:13:33 -04:00
Boris Zbarsky
d1e4959752 Bug 1097987 part 6. Require callers of JS_ExecuteScript to either use the global as the scope or pass in an explicit scopechain. r=waldo 2015-03-14 01:36:16 -04:00
Boris Zbarsky
0dbd99c459 Bug 1097987 part 3. Change XPCShellEnvironment to only use JS_ExecuteScript in global scopes. r=bholley 2015-03-14 01:36:16 -04:00
Jon Coppeard
12ae93f10e Bug 1107639 - Replace nsAutoJSValHolder with use of PersistentRooted r=bent 2015-01-23 10:23:57 +00:00
Boris Zbarsky
3ab8b7383a Bug 1088002 part 3. Stop requiring JSPROP_PROPOP_ACCESSORS just to use stub accessors. r=waldo 2014-10-29 15:06:32 -04:00
Boris Zbarsky
6ee4ab8789 Bug 1088002 part 2. Change JS_DefineElement, JS_DefineProperty, JS_DefineUCProperty, JS_DefinePropertyById, and JS_DefineProperties to default to using JSNative accessors, not JSPropertyOp accessors. r=waldo 2014-10-29 15:06:31 -04:00
Tom Schuster
bf9324688d Bug 1069694 - Remove OldDebugAPI from the browser. r=shu 2014-10-12 19:37:41 +02:00
Stephen Pohl
5704902134 Bug 1077099: Set mGREBinDir in nsXREDirProvider::Initialize to avoid returning NULL in nsXREDirProvider::GetGREBinDir. r=bsmedberg 2014-10-10 15:06:50 -04:00
Bobby Holley
7c712dca7b Bug 981198 - Make JS_{Get,Set}ErrorReporter take a JSRuntime. r=terrence,r=bz 2014-09-09 16:02:10 -07:00
Bobby Holley
e70ddb7476 Bug 1052052 - Hoist Auto*JSContext into nsContentUtils and kill nsCxPusher.{cpp,h}. r=gabor 2014-08-14 18:47:15 -07:00
Ryan VanderMeulen
30ae466592 Backed out changesets 5b1a3161f614, 17a9673ed782, and a9b8c346d295 (bug 1052052) for B2G non-unified bustage. 2014-08-14 17:23:10 -04:00
Bobby Holley
3e4d70a655 Bug 1052052 - Hoist Auto*JSContext into nsContentUtils and kill nsCxPusher.{cpp,h}. r=gabor 2014-08-14 12:54:34 -07:00
Jan de Mooij
44da586636 Bug 1034191 - Make nsDependentJSString users work with Latin1 strings and nursery-allocated strings. r=bz 2014-07-05 17:30:54 +02:00
Steve Fink
e0b7644d4e Bug 1022773 - Switch all JS Compile functions to use MutableHandle, r=terrence
--HG--
extra : rebase_source : e7542a31e4818e6beafd2b1dab096606370534bb
2014-06-25 15:35:35 -07:00
Birunthan Mohanathas
5f1fde8824 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Terrence Cole
581c606391 Bug 959787 - Handlify JS_DefineProperty; r=Waldo, r=bz
--HG--
extra : rebase_source : 87991ed47ed071550af4e4125eea54a66fdb0071
2014-01-21 18:11:17 -08:00
Jon Coppeard
fb6ccb11db Bug 959787 - Handlify JS_ExecuteScript and JS::Evaluate APIs r=terrence r=bz 2014-04-01 11:34:39 +01:00
Ehsan Akhgari
186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Birunthan Mohanathas
db98b1f766 Bug 845478 - Part 8: Use JS::CallArgs instead of JS_{ARGV,SET_RVAL,...} in remaining instances. r=Waldo 2014-03-25 14:42:33 -04:00
Jon Coppeard
09b45e921b Bug 959787 - Handlify JS_ExecuteScript, JS_EvaluateScript and other JS APIs r=sfink r=bz 2014-03-17 16:17:58 +00:00
Luke Wagner
1f15bc50e0 Bug 980180 - remove principals as an argument to compilation, part 1 (r=terrence)
--HG--
extra : rebase_source : 8bf0ff6974870d6772021aafa88dd8fd5132fc70
2014-03-06 16:28:05 -06:00
Mike Hommey
62cee4b707 Bug 944935 - Cleanup some useless AC_CHECK_FUNCS tests in configure.in. r=gps
- HAVE_RANDOM is not checked at all.
- HAVE_STRERROR is not checked in code built using the defines from the main
  configure.
- HAVE_LCHOWN is only checked in nsinstall.c, which means the test is also wrong
  since it's checking for the target instead of the host. Also, lchown is only
  used of the -o and -g options of nsinstall, which, as far as I know, we don't
  use (and if we were, that would fail with nsinstall.py, which explicitly rejects
  them).
- HAVE_FCHMOD is only checked in nsinstall.c, so same as above about the
  correctness of the check. If it's not available, nsinstall.c falls back to
  chmod, which is fine enough for our use.
- HAVE_SNPRINTF is not checked.
- HAVE_MEMMOVE is checked in parser/expat/lib/xmlparse.c, but it's also
  unconditionally defined in expat_config.h which is included from that file.
- HAVE_SETBUF is checked in a couple files, but setbuf is C89 and C99, I think
  it's safe to assume all compilers we support are C89 and C99. Interestingly,
  windows does have it, but since we skip this check on windows, we don't use it.
- HAVE_ISATTY, same as HAVE_SETBUF, except it's POSIX instead of C89/C99.
- HAVE_FLOCKFILE is not checked at all.
- HAVE_STRTOK_R is not checked.
- HAVE_FT_SELECT_SIZE is not checked.
- HAVE_DLADDR is not checked under js/src.
- HAVE_GETPAGESIZE is not checked under js/src (it is in libffi, but ffi uses
  its own configure)
- HAVE_LSTAT64, HAVE_STAT64, HAVE_STATVFS, HAVE_STATVFS64, HAVE_TRUNCATE64 are
  not checked under js/src.
- HAVE_SBRK is not checked under js/src. Moreover,
  js/src/assembler/wtf/Platform.h defines it depending on the platform.
- HAVE_SNPRINTF is not checked under js/src.
- HAVE_HYPOT is not checked under js/src.
- HAVE__UNWIND_BACKTRACE is not checked under js/src.
2013-12-11 10:57:53 +09:00
Eddy Bruel
afa82c35ec Bug 938907 - Get rid of the compile and go flag on ContextOptions; r=bholley 2013-11-19 12:41:42 +01:00
Tom Schuster
4478f5b384 Bug 933834 - Rename and handlify JS_ValueToString. r=terrence,bz 2013-11-16 13:31:36 +01:00
Ms2ger
cca4d45da6 Backout changesets ded0d64f6786:03f041d03f24 and 30cbd1abde1a (bug 935696, bug 933834 and bug 939194) for build bustage. 2013-11-17 16:39:25 +01:00
Tom Schuster
bc757ef965 Bug 933834 - Rename and handlify JS_ValueToString. r=terrence,bz 2013-11-16 13:31:36 +01:00
Tom Schuster
822b70dad6 Bug 933946 - Remove the rest of the old number conversion functions from SpiderMonkey. r=terrence 2013-11-02 13:48:09 +01:00
Tom Schuster
37ee9de83c Bug 933810 - Really remove JS_ValueToECMAUint32. r=terrence f=mccr8 2013-11-01 20:44:05 +01:00
Nicholas Nethercote
3c5b0c6b29 Bug 909597 (part 2) - Rename jsdbgapi.{h,cpp} as {js,vm}OldDebugAPI.{h,cpp}. r=luke.
--HG--
rename : js/src/jsdbgapi.h => js/public/OldDebugAPI.h
rename : js/src/jsdbgapi.cpp => js/src/vm/OldDebugAPI.cpp
extra : rebase_source : 9cd65a698e726c43d88d650f40823367bf98feae
2013-08-26 19:05:20 -07:00
Birunthan Mohanathas
8923c06ee9 Bug 784739 - Switch from NULL to nullptr in ipc/. r=ehsan 2013-08-23 15:51:44 -04:00
Nicholas Nethercote
785fe13da4 Bug 904962 (part 5) - Don't #include jsprf.h in three places it isn't needed. r=luke.
--HG--
extra : rebase_source : 9fb24d11c47bab29be9bf3027e78a92819a3e3ae
2013-08-11 23:34:14 -07:00
Ms2ger
1a5ae526d9 Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Nicholas Nethercote
d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote
8ce53f9ffd Bug 902332 - Replace JS_{FALSE,TRUE} with {false,true} almost everywhere. r=luke,bz.
--HG--
extra : rebase_source : 25f4de1bfae830b0af6407d260a70b787ab1dc9b
2013-08-06 23:59:54 -07:00
Terrence Cole
3438cc1b1a Bug 902236 - Fix an exact rooting hazard in ~XPCShellEnvironment; r=jonco 2013-08-07 16:14:20 -07:00
Terrence Cole
24a5b6b39c Bug 902231 - Fix two exact rooting hazards in XPCShellEnvironment; r=jonco 2013-08-07 16:13:34 -07:00
Nicholas Nethercote
9624be5713 Bug 901750 - Change return type of |JSNative| from |JSBool| to |bool|. code=nnethercote,jandem. r=luke,bz.
--HG--
extra : rebase_source : 5b3d7cc339af6d93bde078322e25c6e740d1b617
2013-08-02 00:41:57 -07:00
Bobby Holley
98a0425f0f Bug 899245 - Rename JS_GetGlobalForScopeChain to JS::CurrentGlobalOrNull. r=luke
This was done with perl/grep.
2013-07-29 16:45:27 -07:00
Jon Coppeard
20fb51afdd Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Carsten "Tomcat" Book
ce93df92db Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00