Commit Graph

192 Commits

Author SHA1 Message Date
Benjamin Smedberg
9c04bbbd45 Bug 920695 part B - Remove references to JS_READLINE/EDITLINE since its in a different place now and won't work, r=bholley
--HG--
rename : js/xpconnect/shell/xpcshell.cpp => js/xpconnect/src/XPCShellImpl.cpp
extra : rebase_source : 01b0eb2d04a41fbc47f06c5030d730ae3e9323e2
2013-09-30 16:09:28 -04:00
Benjamin Smedberg
13993a098f Bug 920695 part A - move xpcshell code into libxul and make the xpcshell binary just a stub, r=bholley
--HG--
rename : js/xpconnect/shell/xpcshell.cpp => js/xpconnect/src/XPCShellImpl.cpp
rename : js/xpconnect/shell/jsshell.msg => js/xpconnect/src/jsshell.msg
extra : rebase_source : 9a2ab7508e3cb7a6bfec6b1e98f49799221d1376
2013-09-30 16:09:28 -04:00
Dan Gohman
a08337eb0c Bug 918023 - SpiderMonkey: Const-qualify various static variables. r=njn 2013-09-24 08:21:22 -07:00
Ryan VanderMeulen
9fa464d752 Backed out changeset 2c3d1c9241d7 (bug 918023) for Windows debug TestEndian failures.
CLOSED TREE
2013-09-24 14:09:15 -04:00
Dan Gohman
f4b8189f4a Bug 918023 - SpiderMonkey: Const-qualify various static variables. r=njn 2013-09-24 08:21:22 -07:00
Jon Coppeard
60622be6ee Bug 918373 - GC: Handlify various public APIs r=sfink r=bholley r=smaug 2013-09-20 10:22:59 +01:00
Bobby Holley
8f78b2faeb Bug 905926 - Remove workaround in xpcshell. r=billm 2013-09-17 09:46:33 -07:00
Ehsan Akhgari
a1158bad50 Bug 917267 - Remove some unneeded code in xpconnect; r=bholley 2013-09-17 12:38:56 -04:00
Dan Gohman
586b9aee99 Bug 910823 - Constify static js::Class/JSClass instances. r=waldo 2013-09-11 05:49:05 -07:00
Ehsan Akhgari
70bb3246bd Bug 913851 - Minimize the #includes in js/xpconnect; r=bholley
X-Git-Commit-ID: 78e6843063b303780a7dd2695dd2824a0a9c9a3c

--HG--
extra : rebase_source : 1dfcc228f43c68efbbc74f639570c227c26ef025
2013-09-09 23:14:10 +02:00
Bobby Holley
bcb3b4eb2c Bug 905364 - Force the SafeJSContext to fire up in xpcshell. r=bz 2013-09-06 11:35:12 -07:00
Mike Hommey
05b3f24e0e Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Nicholas Nethercote
b6d6b342af 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
Ted Mielczarek
3b54ae4d64 bug 842728 - init Breakpad from C++ in xpcshell, remove ability to init from script. r=bholley,gps 2013-08-15 14:48:12 -04:00
Phil Ringnalda
cfde005e04 Back out c39d60483813 (bug 905364) for xpcshell and b2g desktop bustage 2013-08-16 22:38:48 -07:00
Bobby Holley
f3b2fb17ba Bug 905364 - Stop using the SafeJSContext in nsScriptSecurityManager::Init. r=mrbkap
With this patch, I've confirmed that we instantiate the SafeJSContext much later
in startup, during nsAppStartupNotifier::Observe (which ends up invoking an
XPCWrappedJS). As such, this should solve a number of our startup ordering woes.
2013-08-16 20:28:17 -07:00
Ms2ger
363f72b597 Bug 903849 - Use MOZ_ASSERT consistently in XPConnect; r=bholley 2013-08-14 09:00:34 +02:00
Bobby Holley
32e6b2535f Bug 901364 - Make operation callbacks runtime-wide. r=mrbkap 2013-08-12 12:54:50 -07:00
Nicholas Nethercote
849635b8f1 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote
c1d8302699 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
Mihnea Dobrescu-Balaur
6133f659d2 Bug 899857 - Make xpcshell default to a plugins directory only if -p is not specified. r=ted 2013-08-02 15:07:54 -07:00
Kyle Huey
147c3dee65 Bug 845545: Part 2 - Refactor context creation callbacks. r=bholley,mccr8 2013-08-03 16:55:39 -07:00
Bobby Holley
99246966e4 Bug 899245 - Rename JS_GetGlobalForScopeChain to JS::CurrentGlobalOrNull. r=luke
This was done with perl/grep.
2013-07-29 16:45:27 -07:00
Bobby Holley
cb2e05a511 Bug 870043 - Add a way to simulate the JSRuntime activity callback from xpcshell. r=mrbkap
The JS engine fires this callback when the request count drops to zero, and we
use it determine when we should hibernate the watchdog thread. But since the
request count never drops to zero for nested event loops, the watchdog never
runs in those cases. And since our xpcshell harness runs tests in a nested event
loop, this means we can't test watchdog hibernation from xpcshell. And we don't
want to test it in mochitests, because the non-determinism of timer CCs and GCs
are likely to be problematic.

Really, we should consider finding a way to integrate nested event loops into
the activity callback mechanism, and should probably get a bug on file. But such
a task is out of scope for this bug, so we just add a way to fake it.
2013-07-24 15:33:32 -07:00
Bobby Holley
22a7891400 Bug 870043 - Add support for scripted operation callbacks in XPCShell. r=mrbkap 2013-07-24 15:33:31 -07:00
Bobby Holley
26926302d8 Bug 889911 - Switch xpcshell to SystemErrorReporter with a little bit of special magic. r=mrbkap
XPCShell currently overrides all the JSContexts whose creation it observes with
its own custom error reporter. This reporter does all sorts of funny things which
we try to clean up for the most part. But there are a few very intricate
considerations at play.

First, the old xpcshell error reporter does some mumbo jumbo with the
XPCCallContext stack to try to guess whether some other code might catch the
exception. This is total garbage on a number of fronts, particularly because
the XPCCallContext stack has no concept of saved frame chains, nested event
loops, sandbox boundaries, origin boundaries, or any of the myriad of
complicating factors that determine whether or not an exception will propagate.

So we get rid of it. But this causes some crazy debugger tests to fail, because
they rely on an exception from uriloader/exthandler/nsHandlerService.js getting
squelched, and can't handle anybody reporting errors to the console service at
the particular moment of contortionism when the exception is raised. So we need
to introduce an explicit mechanism to disable the error reporter here to keep
things running.

Second, we have to be very careful about tracking the return status of the
xpcshell binary. The old code would simply flag an error code if the error
handler was invoked, and we can mostly continue to do that. But there are some
complications. See the comments.

Finally, we don't anything analogous in XPCShellEnvironment, because I have
patches in bug 889714 to remove its state-dependence on the error reporter.
I'll switch it to SystemErrorReporter in that bug.
2013-07-16 20:38:44 -07:00
Ryan VanderMeulen
5333a265b8 Backed out 10 changesets (bug 889911, bug 889714) due to merge conflicts on a CLOSED TREE.
Backed out changeset 1a1a536121da (bug 889714)
Backed out changeset 2cd88ef9eea5 (bug 889714)
Backed out changeset 489723887eca (bug 889714)
Backed out changeset 2b38ce22cf97 (bug 889714)
Backed out changeset 87b0a59a5d51 (bug 889714)
Backed out changeset 13229bab2ba4 (bug 889714)
Backed out changeset 234bd6d1fbed (bug 889714)
Backed out changeset 4f5f62284917 (bug 889714)
Backed out changeset 18537c4436c7 (bug 889911)
Backed out changeset ca7060ab1588 (bug 889911)
2013-07-16 21:16:31 -04:00
Bobby Holley
b6f705b27a Bug 889911 - Switch xpcshell to SystemErrorReporter with a little bit of special magic. r=mrbkap
XPCShell currently overrides all the JSContexts whose creation it observes with
its own custom error reporter. This reporter does all sorts of funny things which
we try to clean up for the most part. But there are a few very intricate
considerations at play.

First, the old xpcshell error reporter does some mumbo jumbo with the
XPCCallContext stack to try to guess whether some other code might catch the
exception. This is total garbage on a number of fronts, particularly because
the XPCCallContext stack has no concept of saved frame chains, nested event
loops, sandbox boundaries, origin boundaries, or any of the myriad of
complicating factors that determine whether or not an exception will propagate.

So we get rid of it. But this causes some crazy debugger tests to fail, because
they rely on an exception from uriloader/exthandler/nsHandlerService.js getting
squelched, and can't handle anybody reporting errors to the console service at
the particular moment of contortionism when the exception is raised. So we need
to introduce an explicit mechanism to disable the error reporter here to keep
things running.

Second, we have to be very careful about tracking the return status of the
xpcshell binary. The old code would simply flag an error code if the error
handler was invoked, and we can mostly continue to do that. But there are some
complications. See the comments.

Finally, we don't anything analogous in XPCShellEnvironment, because I have
patches in bug 889714 to remove its state-dependence on the error reporter.
I'll switch it to SystemErrorReporter in that bug.
2013-07-16 18:04:49 -07:00
Brian O'Keefe
f98dd45a72 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04:00
Joey Armstrong
df6123b0bc bug 870407: cleanup bug. r=mshal 2013-07-08 11:53:00 -04:00
David Anderson
a52a14df6e Rewrite CPOWs to use one actor per process (bug 853209, r=billm,bholley,smaug). 2013-07-03 00:24:32 -07:00
Joey Armstrong
b7ee853939 bug 870407: move CMMSRCS to mozbuild (file batch #3). r=mshal 2013-07-02 17:09:08 -04:00
Bobby Holley
d74725cf62 Bug 880917 - Add an API to mutate the version on the compartment and use it from the shells. r=luke 2013-06-29 09:11:19 -06:00
Bobby Holley
c5c7c812ca Bug 880917 - Convert JS_SetVersion API consumers to per-compartment versions. r=luke 2013-06-29 09:11:18 -06:00
Bobby Holley
49f8ff5f9d Bug 880917 - Generalize JS_NewGlobalObject API to take CompartmentOptions. r=luke
This will be useful for versioning, as well as JIT options and all the other
stuff that eventually needs to move out of the JSContext.
2013-06-29 09:11:17 -06:00
Jan Varga
24f8419a8f Bug 884936 - Add Blob/File support to xpcshell. r=bent 2013-06-21 17:15:46 +02:00
Jon Coppeard
cdf1583b6e Bug 885310 - 2 Rename JSHandleFoo in js directory r=bholley 2013-06-21 14:12:46 +01:00
Jon Coppeard
fb1219b24e Bug 884371 - Remove JSMutableHandleXXX from the js directory r=bholley 2013-06-19 11:32:27 +01:00
Ed Morley
aa048e78a3 Merge mozilla-central and inbound 2013-06-12 08:41:06 +01:00
Ms2ger
43b0a494b4 Bug 881358 - Kill build warnings in XPConnect; r=bholley 2013-06-12 09:00:09 +02:00
Terrence Cole
6df78c5573 Bug 880392 - Fix use-after free with exact rooting in XPCShell; r=sfink
--HG--
extra : rebase_source : a509e84b7165b8a40f4a06e006dfc614665eef2c
2013-06-07 11:34:57 -07:00
Bobby Holley
6592cd4cc4 Bug 877478 - Remove SetSecurityManagerForJSContext and related APIs. r=mrbkap
The only consumers here were the shells, which we've now fixed.
2013-06-04 19:56:43 -07:00
Bobby Holley
213d43e430 Bug 877478 - Remove FullTrustSecMan junk. r=mrbkap
This stuff shouldn't be necessary anymore. The default security manager should
do the right thing given for script running in the scope of a BackstagePass.
2013-06-04 19:56:42 -07:00
Benjamin Peterson
f4dc321a08 Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
--HG--
extra : rebase_source : 34f95fc6017d3f3f4f091083debacbd466b51bf6
2013-06-11 12:49:11 -07:00
Ryan VanderMeulen
79cab24538 Backed out changeset 1df122edcf0d (bug 823978) for bustage (again).
CLOSED TREE (again)
2013-06-11 15:27:46 -04:00
Benjamin Peterson
ad3fb45421 Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
--HG--
extra : rebase_source : 1396c8ec5bd99ab35343cfff2b87d22955671243
2013-06-11 11:30:18 -07:00
Ryan VanderMeulen
911f19ec09 Backed out changeset 7e69e102a432 (bug 823978) for bustage.
CLOSED TREE
2013-06-11 14:28:17 -04:00
Benjamin Peterson
bf9614501d Bug 823978 - Rename JSOPTION_STRICT to JSOPTION_EXTRA_WARNINGS. r=Waldo
--HG--
extra : rebase_source : f5c0e9c743dadb0431eacef6b46b6e274264d3aa
2013-06-11 10:55:21 -07:00
Mike Shal
6f32ddf61c Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Bobby Holley
1b2f22fe61 Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00