Граф коммитов

250 Коммитов

Автор SHA1 Сообщение Дата
Olli Pettay bed81b1fde Bug 1105089, try to have shorter ICC slices during animations, r=mccr8
--HG--
extra : rebase_source : bfe8cc2825b7cb2ec86f6e8f5ba590593e1c378b
2014-11-27 13:47:51 +02:00
Terrence Cole df4c5ce286 Bug 1099287 - Remove the unused nsJSContext::ReportPendingException; r=bholley
--HG--
extra : rebase_source : 5bd2dd41b5687632af5380a241ab683e1de8bc41
2014-11-14 14:58:58 -08:00
Olli Pettay f82ed0c20b Bug 1097302, increase the number of major forget skippables, r=mccr8
--HG--
extra : rebase_source : b465ff26006f688cb76d0f3bfe0ed1a564081992
2014-11-12 21:33:50 +02:00
Bobby Holley 9ff6cd212d Bug 1062077 - Merge NS_ScriptErrorReporter and xpc::SystemErrorReporter. r=bz
We keep the latter name because it's referenced in more places. Error reporters
will go away entirely in bug 981187.
2014-09-08 16:30:11 -07:00
Bobby Holley 7ba663f3ec Bug 1062077 - Hoist console logging duties into xpc::ErrorReport. r=bz 2014-09-08 16:30:11 -07:00
Bobby Holley e85bd78d5d Bug 1062077 - Introduce xpc::ErrorReport. r=bz
I've got it! Let's just wrap the JS thing in an XPCOM thing that duplicates
its fields with a different ownership model! We totally need another one of
those, right? And we could even stick it in XPConnect! </sarcasm>

In seriousness - the code to own, format, and display error reports is
currently spread between the JS engine, JSErrorReporters, an async Runnable
abstraction, and elsewhere. We need to condense it somewhere to start chipping
away at this mess.
2014-09-08 16:30:10 -07:00
Benoit Jacob ec742680c8 Bug 1028588 - Fix dangerous public destructors in the rest of dom/ - r=ehsan 2014-06-23 15:56:07 -04:00
Andrew McCreight 50648bc638 Bug 1019101 - Add a way to get the max CC pause during a given period of time. r=smaug 2014-06-14 16:43:45 -07:00
Ms2ger 6558df9772 Bug 1018103 - Remove support for the "JavaScript-global-static-nameset" category; r=bholley
The only in-tree consumer was removed in bug 1012320; the addons MXR and a web
search suggest that it is unused outside the tree as well.
2014-06-06 10:06:26 +02:00
Ms2ger 5dfc16607b Bug 1007243 - Remove nsJSContext::GarbageCollectNow's unused IsCompartment argument; r=bholley
It has been unused since changeset 82f8c3925056 in bug 903212.
2014-05-20 21:50:59 +02:00
Andrew McCreight 4f600d1b82 Bug 958353, part 3 - Finish any IGC in progress when manually triggering an ICC slice. r=smaug 2014-05-13 11:58:39 -07:00
Andrew McCreight fd34a4955e Bug 949607, part 2 - Add and use runNextCollectorTimer. r=smaug 2014-04-25 13:21:04 -07:00
Ms2ger 862563be61 Bug 973950 - Remove sContextList from nsJSEnvironment; r=bholley 2014-03-27 21:05:15 +01:00
Bobby Holley 917d0952c8 Bug 986304 - Stop using (and kill) BindCompileEventHandler. r=bz 2014-03-21 23:31:02 -03:00
Bob Owen 1b7c64aef6 Bug 978042 - Part 8: AutoPushJSContext in nsXBLProtoImplField::InstallField. r=bholley 2014-03-19 12:09:33 +00:00
Andrew McCreight ccea4e7f95 Bug 979047, part 4 - Run ICCSliceTime() after PrepareForCollectionSlice. r=smaug
This way we take into account time spent finishing off a GC, or something.
2014-03-04 16:21:48 -08:00
Jon Coppeard f9b9e81392 Bug 965830 - Remove AutoArrayRooter from the public API r=terrence r=smaug 2014-02-11 10:59:15 +00:00
Andrew McCreight 91646dadb8 Bug 950959 - Rename scheduled cycle collector stuff to slice. r=smaug 2014-01-01 11:00:35 -08:00
Andrew McCreight 53e4433905 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-22 09:58:19 -05:00
Andrew McCreight 748da4eaa4 Bug 937960, part 2 - Add ICC slice timer and scheduling. r=smaug 2013-12-21 09:35:08 -05:00
Ryan VanderMeulen e8e36d08b0 Backed out changesets ccdc3d4f4571, 4dcc91e771e3, 0ae14946314b, and 94d22ab0b17f (bug 937960) for Windows 7 debug xpcshell failures. 2013-12-19 16:57:55 -05:00
Andrew McCreight 03a8a8e082 Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 21:22:55 -08:00
Andrew McCreight 9d296c7f10 Bug 937960, part 2 - Add ICC slice timer and scheduling. r=smaug 2013-12-18 21:22:55 -08:00
Ryan VanderMeulen 96ec232042 Backed out changesets b03bd1170d1c, 419615a1195d, a1b699b80442, and 524c573fd8a6 (bug 937960) for Win7 debug xpcshell orange. 2013-12-18 19:04:11 -05:00
Andrew McCreight 890aa014bf Bug 937960, part 3 - Pass in a small time budget with ICC. r=smaug 2013-12-18 11:42:16 -08:00
Andrew McCreight 40b5bfe7e9 Bug 937960, part 2 - Add ICC slice timer and scheduling. r=smaug 2013-12-18 11:42:16 -08:00
Ehsan Akhgari e004ec8ac0 Bug 947736 - Build modules/libpref/ in unified mode; r=bsmedberg 2013-12-10 18:10:01 -05:00
Andrew McCreight 6663405c37 Bug 935721, part 10 - Separate nsCycleCollector_collect and nsCycleCollector_scheduledCollect. r=smaug 2013-11-20 14:35:17 -08:00
Andrew McCreight 96e1092a51 Bug 935721, part 5 - Invert the control flow of CycleCollectNow's pre- and post-collection work, add CCResults as a field on the CC. r=smaug
nsJSEnvironment::CycleCollectNow does work before and after a CC runs. With ICC, nsJSEnv won't
know where in the CC when a CC is about to begin or end, so this patch reorganizes that work
into two separate callback hooks.  This requires adding a new struct, CycleCollectorStats, to
hold data nsJSEnv needs between the two calls.

Rather than trying to pass around a pointer to a results structure, this patch just adds
it to the nsCycleCollector struct, and always stores them. The results are passed back
to the end CC callback.
2013-11-20 14:35:16 -08:00
Bobby Holley 8e73b817c0 Bug 840488 - Remove per-JSContext script toggling. r=bz
Note that the checks in nsJSEnvironment::EvaluateString and EvalInWindow
can safely go away, because we call ssm->ScriptAllowed() in
nsJSUtils::EvaluateString.
2013-11-12 16:43:35 -08:00
Nikhil Marathe c2194944f9 Bug 933010 - AsyncErrorReporter takes bool isChromeError. r=bz 2013-10-30 16:17:36 -07:00
Eddy Bruel 7f0f636fdf Bug 880330 - Refactor dom to use the new options API (1/2); r=khuey 2013-10-28 12:48:23 +01:00
Brian Hackett 50b241c8d8 Bug 906371 - Use off thread JS parsing when loading async scripts, r=bz,billm. 2013-09-11 17:42:09 -06:00
Bobby Holley 83c76ab760 Bug 899367 - Make GetNativeGlobal consumers call GetWindowProxy and rm the former. r=mccr8
Some of the uses of this are a bit nonsensical now, but that's a problem for
another day.
2013-09-04 14:06:57 -07:00
Bobby Holley 44f0d562b5 Bug 899367 - Stop storing the window proxy on the JSContext. r=mccr8
We need to simultaneously report the new Heap Pointer to the cycle collector,
and remove the old machinery for cycle-collecting the default object via the
JSContext.
2013-09-04 14:06:56 -07:00
Bobby Holley c8fbffcb9d Bug 899367 - Have nsGlobalWindow go through nsJSContext to access the outer. r=mccr8 2013-09-04 14:06:55 -07:00
Bobby Holley d4eab5f3af Bug 899367 - Explicitly traverse outer windows, rather than doing it via JSContext iteration. r=mccr8
Note that this machinery will go away in further patches. But we want to be
deliberate about each of these steps.
2013-09-04 14:06:54 -07:00
Bobby Holley 6188191d87 Bug 899367 - Explicitly trace outer windows, rather than doing it via JSContext iteration. r=mccr8 2013-09-04 14:06:54 -07:00
Boris Zbarsky b8e47c2682 Bug 903419 part 2. Report unhandled rejections in promises. r=smaug,bholley,luke 2013-08-29 00:30:06 -04:00
Nicholas Nethercote 2585de9a07 Bug 905017 (part 1) - Minimize inclusions of JS engine headers in .h and .idl files. r=billm.
--HG--
extra : rebase_source : 984c61ab12f46be0509b1ce0d458d9a6e5841c64
2013-08-17 15:50:18 -07:00
Bobby Holley 9d466e12cc Bug 901106 - Eliminate the nsJSRuntime namespace. r=mrbkap 2013-08-19 16:24:29 -07:00
Bobby Holley b1f301a7a7 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 ae0d0745b3 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 b4dde9a0ba 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 9ccecb62c8 Bug 901106 - Inline and remove nsIScriptContext::{Serialize,Deserialize}. r=smaug 2013-08-19 16:24:27 -07:00
Bobby Holley 03c1b0ddf4 Bug 903212 - Remove nsIXPCScriptNotify machinery. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley 0846601377 Bug 903212 - Remove ScriptEvaluated, and simplify callers. r=mrbkap 2013-08-14 14:00:03 -07:00
Bobby Holley 4c9559f8e1 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 3ed72e3e52 Bug 901364 - Remove a bunch of now-unused modal state tracking machinery. r=mrbkap 2013-08-12 12:54:51 -07:00
Bobby Holley d7fb701374 Bug 901162 - Inline ExecuteScript in the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley ad01da34e4 Bug 901162 - Inline CompileScript into the one caller. r=bz 2013-08-08 16:51:34 -07:00
Bobby Holley f2b057f9f0 Bug 901162 - Remove unused mExecuteDepth machinery. r=bz 2013-08-08 16:51:34 -07:00
Nicholas Nethercote d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Arnaud Sourioux 8ebb1ca3e6 Bug 877746 - Annotate ~230 methods with MOZ_OVERRIDE in /dom. r=Ms2ger 2013-06-05 12:15:48 -04:00
Boris Zbarsky 3eabb6ea4b Bug 876805. Fix unsafe reference gc hazards in dom/ code. r=smaug 2013-05-29 16:16:04 -04:00
Bobby Holley 8f823bfe9a 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 c1533a7e3b Bug 841312 - Remove the termination function API. r=bz
\o/
2013-05-21 11:45:56 -06:00
Andrew McCreight 8765722e58 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 bd907d5829 Bug 868312 - Rooting fixes for dom r=bz 2013-05-12 01:17:42 -04:00
David Zbarsky 480bf64980 Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
David Zbarsky b287cc2cb5 Bug 868312: Root dom/workers r=bz 2013-05-09 03:27:40 -04:00
Bobby Holley 31412343f1 Bug 868122 - Remove nsIScriptContextPrincipal. r=gabor
\o/
2013-05-06 16:53:10 -07:00
David Zbarsky 261b97262e Bug 866450 Part 2: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:46 -04:00
Ed Morley cb8f2e846d Backed out changeset b514d768d793 (bug 866450) 2013-05-02 11:57:14 +01:00
David Zbarsky 4b33572311 Bug 866450 Part 2: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:46 -04:00
Andrew McCreight 3c9c388be6 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 1068414e39 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 a2f56bac6b Bug 810644 part 2. Eliminate the now-unused CallEventHandler. r=smaug, sr=peterv 2013-01-03 14:02:42 -05:00
Terrence Cole da1156a8b0 Bug 851568 - Remove HoldScriptObject and DropScriptObject; r=smaug
--HG--
extra : rebase_source : d5bb9bff3dcdb8ceaf8ecb3ea60c96f75e0bc82a
2013-03-19 10:20:22 -07:00
Terrence Cole cd9b9a5a15 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 c4afb9df69 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 f192791e29 Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Bobby Holley d0c7862f5e Bug 832041 - Remove nsJSContext::CompileEventHandler and move consumers to nsJSUtils::CompileFunction. r=bz 2013-01-23 07:12:50 +01:00
Bobby Holley 9fce3b092f Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley 5515799556 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 746d5bebee 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 d3d15aa3fe Bug 824864 - Remove nsIScriptContext::EvaluateString. r=bz 2013-01-16 18:50:26 -08:00
Bobby Holley a14609b21a 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 5a19a07bef 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 1defaa48e6 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 29436c441d 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 ccbf48cfbb Bug 810644 part 2. Eliminate the now-unused CallEventHandler. r=smaug, sr=peterv 2013-01-03 14:02:42 -05:00
Bobby Holley be465ba470 Bug 820666 - Tag XBL script for <field> elements and child scripts. r=jorendorff 2012-12-12 17:09:37 -08:00
Saurabh Anand 6de7befa37 Bug 818817 - Fix some compiler warnings, r=Ms2ger 2012-12-09 22:53:19 +05:30
Boris Zbarsky 05e4e3b75a 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 b903541457 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 af22942dae Bug 807410 - Part a: Pass the global object to the nsJSContext constructor; r=jst 2012-11-04 09:04:04 +01:00
Oonishi Atsushi fdba665101 Bug 801357 - Remove Get/SetProcessingScriptTag(). r=smaug 2012-10-19 21:44:13 -04:00
Bobby Holley 9b319107a7 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 e368dc9c85 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 f1b4836bc8 Bug 779724 - Use finer-grain source controls in the browser. r=jorendorff, sr=jst 2012-08-07 10:39:47 -07:00
Ms2ger 78e3c35a3c Bug 672814 - Part a: Move nsJSRuntime::ParseVersion to nsContentUtils; r=bz 2012-08-04 09:43:59 +02:00
Ed Morley f4181983a1 Revert inbound to 3d5d1daa2505 to stop OS X M5 failures (backout not clean/could have been a bad merge) on a CLOSED TREE 2012-08-04 18:05:15 +01:00
Ms2ger 2304ff656b Bug 672814 - Part a: Move nsJSRuntime::ParseVersion to nsContentUtils; r=bz 2012-08-04 09:43:59 +02:00
Bill McCloskey 0601c9b406 Bug 767209 - Consider changing GC slice time, or making it dynamic (r=terrence,smaug) 2012-07-31 18:39:39 -07:00
Aryeh Gregor d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Bill McCloskey 5ba066f3bb Bug 758034 - Clean up browser GC API (r=smaug) 2012-06-30 14:16:32 -07:00
Andrew McCreight fd586ea5d8 Bug 754495, part 7 - indicate if CycleCollectNow is forced. r=smaug 2012-06-27 08:10:20 -07:00
Ehsan Akhgari 4830dd98a3 Bug 758992 - Make the classes which use the XPCOM nsISupports implementation macros final, to avoid the warning about deleting using a pointer to a base class with virtual functions and no virtual dtor (dom parts); r=bzbarsky 2012-06-14 22:31:55 -04:00
Bill McCloskey 04230e70f9 Bug 758034 - Create separate inter-slice GC timer (r=smaug) 2012-06-10 21:27:59 -07:00