Commit Graph

2618 Commits

Author SHA1 Message Date
Ryan VanderMeulen
fab2c2a3c8 Backed out changesets 1fa1f28c6edf and e74f694f31c4 (bug 850380) for PGO bustage on a CLOSED TREE. 2013-08-14 15:12:20 -04:00
Brian O'Keefe
263f163332 Bug 896177 - Remove more config.mk includes; r=gps 2013-07-17 16:07:14 -04:00
Gregory Szorc
d87c91cf0c Bug 850380 - Derecursify and optimize XPIDL processing and move into precompile tier; r=glandium 2013-08-14 08:40:25 -07:00
Ryan VanderMeulen
2ae0ffbbc8 Merge m-c to inbound. 2013-08-09 19:29:45 -04:00
Nicholas Nethercote
5a24325d2f Bug 898263 (part 15) - Remove jsutil.h from EXPORTS. r=jorendorff.
--HG--
extra : rebase_source : 5a835a5229838dfa03d3536cd2a3569344ccadb1
2013-07-26 00:57:03 -07:00
Nicholas Nethercote
50ebc50e02 Bug 898263 (part 7) - Remove jsprvtd.h from EXPORTS. r=jorendorff.
--HG--
extra : rebase_source : eca8164f8652587796a8283932d8ba8ec76c0b5b
2013-07-25 22:52:59 -07:00
Nicholas Nethercote
292e8e2156 Bug 898263 (part 1) - Slim down jsprvtd.h. r=jorendorff.
--HG--
extra : rebase_source : 7a926428c59e388fc08148bf60f6dbc7bfe71271
2013-07-25 21:23:14 -07:00
Boris Zbarsky
a91edf5138 Bug 897913 part 2. Allow touching interface objects via an Xray even if the page they're in can't touch them. r=bholley,smaug 2013-08-07 17:40:00 -04: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
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
Mihnea Dobrescu-Balaur
90d5ef38c8 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
Justin Lebar
b23a69bbed Bug 899256 - Part 2: Change XPCJSRuntime.cpp's REPORT_BYTES so it doesn't require "nsIMemoryReporter::". r=me 2013-08-05 16:33:01 -07:00
Justin Lebar
23ec77afc9 Bug 899256 - Rework JS memory reporters so gc-heap is no longer a top-level node. r=njn 2013-08-05 16:33:01 -07:00
Justin Lebar
701905c8c9 Bug 893222 - Part 3: Modify the JS memory reporter to consider a string as "notable" if we have many small copies of it. r=njn 2013-08-05 16:33:00 -07:00
Justin Lebar
86bb070e23 Bug 893222 - Part 2: Fix escaping for huge strings displayed in about:memory. r=njn
We were escaping "/" to "\/", but about:memory expects us to escape "/" to "\".

Escaping "/" to "\/" is probably quite sensible, since then we can represent strings which have both "\" and "/".  But that's a bigger change.
2013-08-05 16:33:00 -07:00
Jon Coppeard
fb6671743e Bug 900986 - Convert JS_*Element API to use MutableHandleValue for out params r=terrence r=bholley r=smaug 2013-08-05 14:02:47 +01:00
Jon Coppeard
7e34a56fc6 Bug 900979 - Change JS_DeleteProperty APIs to use a boolean out param rather than a value r=waldo r=bz 2013-08-05 14:01:53 +01:00
Carsten "Tomcat" Book
5c34d25a48 Merge b2g-inbound to m-c 2013-08-05 11:22:48 +02:00
Yoshi Huang
2e2cee1761 Bug 883741 - Part 1: WebCrypto: Move Crypto to WebIDL. r=bz 2013-08-01 14:57:25 +08:00
Ryan VanderMeulen
043432c180 Merge inbound to m-c. 2013-08-02 16:36:40 -04:00
Ryan VanderMeulen
9e494e325a Backed out 7 changesets (bug 893222, bug 899256) for build bustage on a CLOSED TREE.
Backed out changeset 4aa234138f44 (bug 893222)
Backed out changeset 4b0bf28abdf2 (bug 899256)
Backed out changeset ea8b6ba99c05 (bug 893222)
Backed out changeset ac8220cb61d5 (bug 893222)
Backed out changeset d01358ff4b15 (bug 893222)
Backed out changeset 3baebe7cc655 (bug 893222)
Backed out changeset 4bdf8611ec57 (bug 893222)
2013-08-02 14:49:38 -04:00
Justin Lebar
b9b6064407 Bug 893222 - Part 5: Fix bustage. r=me 2013-08-02 10:53:34 -07:00
Ed Morley
ce3bcd733c Merge mozilla-central and b2g-inbound 2013-08-02 13:51:22 +01:00
Ms2ger
e91a3ed10c Merge m-c to inbound. 2013-08-02 11:40:30 +02:00
Ms2ger
4565d33fad Backout changeset 531f544bc9ce for breaking B2G tests. 2013-08-02 11:38:49 +02:00
Ms2ger
50634577d5 Merge m-c to inbound. 2013-08-02 11:07:57 +02:00
Ms2ger
87ff310ef9 Bug 832883 - Move IDBKeyRange to WebIDL; r=khuey 2013-08-02 09:09:15 +02:00
Ms2ger
0f9d038985 Bug 897945 - Use an XPCOM string for nsContentUtils::ReportToConsole's category argument; r=bholley 2013-08-02 09:09:11 +02:00
Bobby Holley
6f87931f0a Bug 897322 - Allow callers to manually fire OnNewGlobalObject when bootstrapping is complete. r=luke 2013-08-01 18:38:47 -07:00
Mike Hommey
2e729aa83d Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Gina Yeh
59da7e9ae2 Bug 853221 - Patch 2: Distribute events from BluetoothAdapter, r=smaug, sr=mrbkap 2013-08-02 18:33:15 +08:00
Bill McCloskey
b4ad5a68ec Bug 899812 - Error reporters should consistently report errors to stderr (r=bholley) 2013-07-31 17:04:49 -07:00
Justin Lebar
25ba0bbd0d Bug 899256 - Rework JS memory reporters so gc-heap is no longer a top-level node. r=njn 2013-08-02 10:02:40 -07:00
Justin Lebar
4498ba1c56 Bug 893222 - Part 3: Modify the JS memory reporter to consider a string as "notable" if we have many small copies of it. 2013-08-02 10:02:40 -07:00
Justin Lebar
6ab03c952c Bug 893222 - Part 2: Fix escaping for huge strings displayed in about:memory. r=njn
We were escaping "/" to "\/", but about:memory expects us to escape "/" to "\".

Escaping "/" to "\/" is probably quite sensible, since then we can represent strings which have both "\" and "/".  But that's a bigger change.
2013-08-02 10:02:40 -07:00
Ms2ger
d930d52b3d Bug 900987 - Handle a null category argument to nsScriptError::Init without crashing; pending-r=bholley 2013-08-04 11:18:41 +02:00
Kyle Huey
b0e1508e38 Bug 845545: Part 4 - Create a worker implementation of CycleCollectedJSRuntime. r=mccr8,bent 2013-08-03 16:55:40 -07:00
Kyle Huey
9908c2bd93 Bug 845545: Part 3 - Give the CycleCollectedJSRuntime more control over
SnowWhite. r=smaug
2013-08-03 16:55:39 -07:00
Kyle Huey
6687175a2c Bug 845545: Part 2 - Refactor context creation callbacks. r=bholley,mccr8 2013-08-03 16:55:39 -07:00
Kyle Huey
92d60a1477 Bug 845545: Part 1 - Fix heap dumping to work off the main thread. r=mccr8 2013-08-03 16:55:39 -07:00
Andrea Marchesini
8f98621998 Bug 887524 - Move IDBRequest to WebIDL, r=janv 2013-08-01 00:28:15 +02:00
Andrea Marchesini
3c66a55593 Bug 891944 - Move IDBCursor to WebIDL, r=janv 2013-08-01 00:28:13 +02:00
Masatoshi Kimura
dc1ac1fe9c Backed out changeset 2aa62db58f24 (bug 673919) due to Web compat 2013-08-01 06:44:51 +09:00
Tom Schuster
dc4bd05cb5 Bug 884410 - Handlify JS_GetPrototype. r=terrence 2013-07-31 12:20:33 -04:00
Andrea Marchesini
af936eab73 Bug 888596 - Move IDBDatabase to WebIDL, r=janv 2013-07-31 17:48:46 +02:00
Andrea Marchesini
7d820ab021 Bug 892065 - Move IDBIndex to WebIDL, r=janv 2013-07-31 17:48:40 +02:00
Andrea Marchesini
37ded34aa5 Bug 888597 - Move IDBObjectStore to WebIDL, r=janv 2013-07-31 17:48:36 +02:00
Bobby Holley
60c481ba17 Bug 898939 - Disable crashtest on android. r=me CLOSED TREE 2013-07-30 11:11:44 -07:00
Bobby Holley
fa1271ad7b Bug 897676 - Null out |si| if we end up using that of the proto in WrapNewGlobal. r=mrbkap 2013-07-30 08:53:56 -07:00
Bobby Holley
43e0a82bf7 Bug 898939 - Crashtest. r=me 2013-07-30 08:43:46 -07:00
Bobby Holley
d129f0e5cd Bug 898939 - Loosen assertion. r=bz
This is just an overzealous assertion, rather than a security issue.
2013-07-30 08:43:46 -07:00
Ehsan Akhgari
ef4b479714 Bug 872127 - Part 2: Replace mozilla/StandardInteger.h with stdint.h; r=Waldo,ted 2013-07-30 10:25:31 -04:00
Wes Kocher
7019ef3730 Backed out changeset a0bc16b5a428 (bug 897676) for causing mochitest failures on a CLOSED TREE 2013-07-29 18:27:04 -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
Bobby Holley
43974de990 Bug 899245 - Rename JS_SetGlobalObject and move it into jsfriendapi. r=luke 2013-07-29 16:45:26 -07:00
Bobby Holley
acaaa3b1a2 Bug 899245 - Rename js::GetDefaultGlobalForContext to js::DefaultObjectForContextOrNull. r=luke
This is more correct, since the object very often is not a global.
2013-07-29 16:45:25 -07:00
Bobby Holley
7fdc576ed0 Bug 897676 - Null out |si| if we end up using that of the proto in WrapNewGlobal. r=mrbkap 2013-07-29 16:03:04 -07:00
Andrea Marchesini
9609933949 Bug 888598 - Move IDBTransaction to WebIDL, r=janv 2013-07-29 19:12:21 +02: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
Jeff Walden
2b0de653cc Bug 896124 - Implement a JS_Init() JSAPI function, to be called before any other JSAPI operations (except JS_SetICUMemoryFunctions) are performed, to centralize whole-engine initialization tasks. r=bsmedberg for the XPCOM bits, r=luke for the JS bits
--HG--
extra : rebase_source : fd308ab3bd76c67a0b128eaefae3edf177893fe1
2013-07-19 20:14:34 -07:00
Carsten "Tomcat" Book
ce93df92db Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00
Jon Coppeard
9709d43d76 Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Jon Coppeard
ebf3afbab4 Bug 896949 - JS_SetProperty APIs should take an immutable parameter r=waldo r=bz 2013-07-26 10:00:38 +01:00
Ryan VanderMeulen
c5cf7535b6 Backed out 3 changesets (bug 896124, bug 784739, bug 894026) for Windows checktest orange on a CLOSED TREE.
Backed out changeset 631b3d5d54f4 (bug 896124)
Backed out changeset 5e1dd28ede5d (bug 894026)
Backed out changeset c10c0a6270ec (bug 784739)
2013-07-26 00:08:51 -04:00
Peter Van der Beken
f3d03f59de Bug 894448 part 2 - Remove nativeOwnership = 'nsisupports'. r=bzbarsky 2013-07-04 17:24:59 +02:00
Boris Zbarsky
bd1400ee1f Bug 894448 part 1. Move IsChromeOrXBL to xpcpublic.h. r=bholley 2013-07-25 19:41:46 -07:00
Jeff Walden
6cad720747 Bug 896124 - Implement a JS_Init() JSAPI function, to be called before any other JSAPI operations are performed, to centralize whole-engine initialization tasks. r=bsmedberg for the XPCOM bits, r=luke for the JS bits 2013-07-19 20:14:34 -07:00
Terrence Cole
28afcc4d1d Bug 887563 - Convert CallArgs::operator[] to return a Handle; r=Waldo,bz
--HG--
extra : rebase_source : a06130820b34f6e1f5bc317e89c087cf0db9eeb8
2013-06-26 16:26:45 -07:00
Jon Coppeard
e6cd070d3d Bug 896540 - GC: Convert JS_SetProperty* to take MutableHandleValue - browser changes r=bz 2013-07-25 13:57:00 +01:00
Bobby Holley
ba2b09a6d5 Bug 897789 - Add a fuzz factor to watchdog tests. r=Waldo
CLOSED TREE
2013-07-24 23:00:22 -04:00
Bobby Holley
7f34ef8467 Bug 870043 - Watchdog tests. r=mrbkap 2013-07-24 15:33:32 -07:00
Bobby Holley
2ebcd3fcad 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
62012e69a1 Bug 870043 - Add support for scripted operation callbacks in XPCShell. r=mrbkap 2013-07-24 15:33:31 -07:00
Bobby Holley
0b181bd709 Bug 870043 - Add a script-accessible statistics for various watchdog events. r=mrbkap
We need this even for testing wakeups, because we can't be certain that any
given operation callback was necessarily triggered from the watchdog thread
(since it's triggered from within the JS engine in various cases as well).
2013-07-24 15:33:31 -07:00
Bobby Holley
402d6c0b43 Bug 870043 - Factor the watchdog machinery into a helper class. r=mrbkap
This is a long-overdue change in general. It's now particularly necessary
because we want to start and stop the watchdog, potentially multiple times
during a session. Encapsulating this into a class that we can
destroy/instantiate several times means that we don't end up with inconsistent
state.

As a nice bonus, this centralizes the whole setup and makes it easier to
comprehend. I actually had this nicely split up into several patches, but
I accidentally squashed them while rebasing. :-(
2013-07-24 15:33:31 -07:00
Jon Coppeard
a9d33996dd Bug 899973 - GC: Convert the rest of the JS property API to use MutableHandleValue for out params - browser changes r=bz 2013-08-02 13:15:39 +01:00
Jon Coppeard
7b8eb7770e Bug 899976 - GC: Fix unsafe references related to ToInt* functions - browser changes r=bholley 2013-08-02 13:15:38 +01:00
Ms2ger
3c48262d76 Merge m-c to inbound. 2013-07-24 11:53:22 +02:00
Ms2ger
87d5bcc7e7 Bug 896280 - Pass MutableHandleValue to JS::Call(); r=terrence 2013-07-24 09:40:01 +02:00
Ms2ger
8609abdb1f Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Nicholas Nethercote
d601f5454b Bug 890238 - Add a memory reporter for ICU. r=jwalden.
--HG--
extra : rebase_source : 05721759ca5abc45d3bcf133eb6559c23de36a54
2013-07-07 20:29:14 -07:00
Bill McCloskey
050814f5b7 Bug 895340 - Fix error reporting of JS exceptions from C++ (r=bholley) 2013-07-23 08:32:36 -07:00
Joshua Cranmer
b82a7849fb Bug 884061 - Part 4: Remove nsAtomicRefcnt.h, r=jlebar
--HG--
extra : rebase_source : ce24ab345baa48104328e3c101b7266a31e81870
2013-07-11 15:21:45 -05:00
Joshua Cranmer
34d98a815e Bug 884061 - Part 3n: Use NS_DECL_THREADSAFE_ISUPPORTS in js/, r=bholley
--HG--
extra : rebase_source : 4f888058e3f842affd496e35bdd3c2037d1abf43
2013-07-18 21:23:32 -05:00
Jon Coppeard
c345d7c19b Bug 896398 - GC: Fix some reported rooting hazards in XPConnect r=bholley 2013-07-23 10:58:28 +01:00
Jon Coppeard
d89b7ac583 Bug 888338 - 5 - post barrier remaining heap-based GC things in XPConnect r=bholley 2013-07-23 10:58:27 +01:00
Jon Coppeard
32ce417dc5 Bug 888338 - 2 - give post barrier callback function an extra data argument r=terrence 2013-07-23 10:58:26 +01:00
Jon Coppeard
e526358777 Bug 888338 - 1 - Add TenuredHeap<T> class r=terrence r=bz 2013-07-23 10:58:26 +01:00
Masatoshi Kimura
769fcf1170 Bug 895231 - Make sure the Components shim is consistent with the real Components. r=bholley 2013-07-20 07:53:51 +09:00
Luke Wagner
972a7ce908 Bug 893434 - OdinMonkey: make accessing non-data properties a link-time validation error (r=bbouvier)
--HG--
extra : rebase_source : beb308b3455d0fae18a6d6d5fee744f8b59dc2f2
2013-07-17 17:22:07 -05:00
Gervase Markham
5103d820f9 Bug 715549 - remove last vestiges of tri-licence. DONTBUILD. 2013-07-19 16:08:33 +01:00
Ehsan Akhgari
192bc42d5e Bug 895141 - Remove useless prlong.h inclusions from the tree; r=jcranmer 2013-07-18 12:06:38 -04:00
Bobby Holley
181585f9f6 Bug 887334 - Enter a compartment in b2g-only unloading code. r=me CLOSED TREE 2013-07-17 14:28:54 -07:00
Bobby Holley
676b2c13a5 Bug 887334 - Add a JSAutoCompartment to AutoCxPusher. r=luke,gabor
This should hopefully take care of any cases where consumers expect to be in
the default compartment.
2013-07-17 11:53:52 -07:00
Bobby Holley
2ea92e7e0c Bug 887334 - Don't rethrow in quickstubs if there's already an exception pending. r=luke 2013-07-17 11:53:52 -07:00
Bobby Holley
a5537d985f Bug 887334 - Rejigger the string manipulation in OnJSContextNew to avoid depending on being in a compartment. r=luke
The current code makes calls that assume (implicitly, via assertions) that |cx|
is in a compartment, which isn't a valid assumption going forward.
2013-07-17 11:53:51 -07:00
Bobby Holley
eb2e873e6c 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
Bobby Holley
8676271e71 Bug 889911 - Replace mozJSLoaderErrorReporter with SystemErrorReporter and remove the former. r=mrbkap 2013-07-16 20:38:44 -07:00
Bobby Holley
55116a74ad Bug 889911 - Introduce xpc::SystemErrorReporter, roughly based on mozJSComponentLoader's error reporter. r=mrbkap 2013-07-16 20:38:44 -07:00
Ryan VanderMeulen
e168631670 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
c1403cacc4 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
Bobby Holley
feb75218b2 Bug 889911 - Introduce xpc::SystemErrorReporter, roughly based on mozJSComponentLoader's error reporter. r=mrbkap 2013-07-16 18:04:48 -07:00
Masatoshi Kimura
9da15f76e5 Bug 899388 - Part 3: Remove XUL-related interfaces and ChromeWindow from content. r=bz 2013-08-09 23:35:54 +09:00
Terrence Cole
09de524f1a Bug 862115 - Use Rooted<JSPropertyDescriptor> in favor of JSPropertyDescriptor::AutoRooter r=terrence r=smaug r=bholley 2013-04-30 10:29:40 -07:00
Nicholas Nethercote
d8f824e34e Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Trevor Saunders
99d8dc50c9 bug 659722 - remove _IMPL_NS_LAYOUT r=bz 2013-03-16 00:31:38 -04:00
Brian O'Keefe
f4815f2203 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04:00
Gabor Krizsanits
5cbb7ab212 Bug 874158 - Crash in GetNativeForGlobal. r=bholley 2013-07-16 15:04:28 +02:00
Boris Zbarsky
2e1a03a7a3 Bug 838146 part 10. Turn on WebIDL bindings for Navigator. r=smaug 2013-07-12 10:37:23 -04:00
Ryan VanderMeulen
0c9a0a1b98 Backed out 4 changesets (bug 889911) for Windows bustage.
Backed out changeset 5e55ddfc9dc3 (bug 889911)
Backed out changeset 5e296989dd3d (bug 889911)
Backed out changeset 6e48a408d1de (bug 889911)
Backed out changeset e4ec71ab768f (bug 889911)
2013-07-15 15:28:29 -04:00
Bobby Holley
5ceb4432cd 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-15 11:44:51 -07:00
Bobby Holley
fb145e40d2 Bug 889911 - Replace mozJSLoaderErrorReporter with SystemErrorReporter and remove the former. r=mrbkap 2013-07-15 11:44:50 -07:00
Bobby Holley
9d6c49843f Bug 889911 - Introduce xpc::SystemErrorReporter, roughly based on mozJSComponentLoader's error reporter. r=mrbkap 2013-07-15 11:44:49 -07:00
Trevor Saunders
f33ade0d68 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Hsin-Yi Tsai
c016ff00c3 Bug 888592 - move Telephony and TelephonyCall to webidl. sr=sicking, r=bent 2013-07-15 16:27:19 +08:00
Gregory Szorc
19850b9b8e Bug 891632 - Port NO_DIST_INSTALL to moz.build; r=joey
Many of the moved variables are likely not needed. moz.build should one
day validate the sandbox's output and error if "useless" variables are
present.

--HG--
extra : rebase_source : 3abdea056c18d00ede8c15b37db60532eca58630
2013-07-10 12:08:21 -07:00
Ryan VanderMeulen
03e73d9988 Backed out changeset b7d6458d2a3c (bug 887483) for apparently causing Android robocop-2 failures. 2013-07-10 13:51:28 -04:00
Trevor Saunders
63ed0e9589 bug 887483 - rm a bunch of useless assignments to FORCE_STATIC_LIB r=mshal 2013-06-25 14:29:26 -04:00
Ryan VanderMeulen
d806e1e244 Merge m-c to inbound. 2013-07-10 09:45:16 -04:00
Olli Pettay
b002b30b2a bug 789919, (snow-white) make addref/release of CCable objects faster by removing indirect refcnt increase/decrease, r=mccr8, test changes r=ehsan
--HG--
extra : rebase_source : 2a3b22425c14d6daedc91d62a652c34431acd2fb
2013-07-09 13:30:58 -04:00
Peter Van der Beken
343818a218 Bug 734503 - Add new DOM binding for TouchList; r=jst. 2013-07-10 11:53:53 +02:00
Bobby Holley
ce5879ea33 Bug 867486 - Remove |Components| from content sandboxes. r=gabor 2013-07-08 10:05:31 -07:00
Joey Armstrong
38ca368790 bug 870407: cleanup bug. r=mshal 2013-07-08 11:53:00 -04:00
Randy Lin
1163c249a3 Bug 803414 - Part 0: Add RecordErrorEvent. r=smaug 2013-06-20 14:06:39 +08:00
Ehsan Akhgari
fd1d2f2354 Bug 890382 - Implement a Web IDL event constructor for IDBVersionChangeEvent; r=smaug 2013-07-05 13:57:28 -04:00
Masatoshi Kimura
133cedaf8b Bug 889148 - Remove legacy QS/classinfo bits from events even more. r=smaug, peterv 2013-07-05 07:53:59 +09:00
Bobby Holley
a2697cd423 Bug 860085 - Remove XPCCallContext refcounting optimization. r=gabor
We only use XPCCallContext for reflector calls now, at which point an AddRef
is totally insignificant. Using an auto pointer here lets us clean up some
code, and makes the XPCCallContext destructor start to look pretty sane. :-)
2013-07-03 11:05:20 -06:00
Bobby Holley
6aa989b495 Bug 860085 - Remove nsIXPConnect::ReleaseJSContext. r=gabor 2013-07-03 11:05:19 -06:00
Bobby Holley
919587b427 Bug 860085 - Stop using XPConnect::ReleaseJSContext in nsJSEnvironment::DestroyJSContext. r=gabor,mccr8
We now have the invariant that any in-use cx must be pushed onto the JSContext
stack with one of our stack-scoped automatic nsCxPusher classes. These classes
hold a strong ref to the nsIScriptContext associated with the JSContext they
push (if any). This means that, if this cx is in use, we will always have at
least one strong reference to the nsJSContext coming from the stack, meaning
that neither the destructor nor the Unlink() implementation will be called.
So we don't need to do any deferred destruction of the cx anymore.
2013-07-03 11:05:19 -06:00
Bobby Holley
6c10fadc89 Bug 860085 - Make XPCJSContextStack manipulators private to enforce that we go through the RAII classes. r=gabor
With this change, we can be very, very sure that we never push an nsJSContext
without instantiating an AutoCxPusher on the stack.
2013-07-03 11:05:19 -06:00
Bobby Holley
fbb5534815 Bug 860085 - Remove unused AutoPopJSContext. r=gabor 2013-07-03 11:05:19 -06:00
Bobby Holley
9316537b6d Bug 860085 - Rename xpc::{Push,Pop}JSContext and make them assert against DOM JSContexts. r=gabor 2013-07-03 11:05:18 -06:00
Bobby Holley
e11487b445 Bug 860085 - Use an AutoPushJSContext in XPCCallContext instead of doing it manually. r=gabor 2013-07-03 11:05:18 -06:00
Kyle Huey
ab927a2cc9 Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff 2013-07-09 07:28:15 -07:00
David Anderson
71e7bc4fc9 Rewrite CPOWs to use one actor per process (bug 853209, r=billm,bholley,smaug). 2013-07-03 00:24:32 -07:00
Bobby Holley
e9b6ede2ec Bug 888104 - Fix xpcshell linkage error on windows. r=me CLOSED TREE 2013-07-02 16:34:33 -06:00
Joey Armstrong
53426849e7 bug 870407: move CMMSRCS to mozbuild (file batch #3). r=mshal 2013-07-02 17:09:08 -04:00
Bobby Holley
18fac862c5 Bug 888104 - Reimplement Auto*JSContext in terms of AutoCxPusher. r=gabor 2013-07-02 14:39:03 -06:00
Bobby Holley
d21616e1f1 Bug 888104 - Introduce AutoCxPusher and reimplement nsCxPusher in terms of it. r=gabor 2013-07-02 14:39:03 -06:00
Bobby Holley
a53d0adad4 Bug 888104 - Move nsCxPusher's mScx grabbing code into the common helper method. r=gabor
This function is called by Push and PushNull, so with the added null check this
is equivalent. This facilitates the refactoring in the next patch.
2013-07-02 14:39:02 -06:00
Mike Shal
884dee0b5a Bug 880245 - Move EXTRA_JS_MODULES to moz.build (batch #4); r=joey 2013-07-01 11:34:30 -04:00
Jeff Walden
6f242a6502 Bug 888106 - Add too-much-recursion detection to isExtensible tests, and make the isExtensible hook capable of failing. r=bholley, r=ejpbruel
--HG--
extra : rebase_source : fe7345322f87dd214aa5122ea8704750e8b2375a
2013-06-28 14:01:09 -07:00
Terrence Cole
9ecda8d7ad Bug 878160 - GC: post barrier weak references in the browser - part 2 browser r=terrence r=billm
--HG--
extra : rebase_source : a1856a7dce28da5086f6fbeaeda15596193aa7ad
2013-06-05 16:40:02 -07:00
Ms2ger
12bdf91609 Bug 888579 - Remove some code that handled WN Nodes; r=bholley 2013-07-01 09:14:36 +02:00
Ms2ger
a2f191d90a Bug 887909 - Convert IDBFileHandle to WebIDL; r=janv 2013-07-01 09:02:37 +02:00
Bobby Holley
439ae70017 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
05ff64f03e Bug 880917 - Remove XPConnect version munging test. r=luke
This test calls the version() shell command, and expects it to work like an
override, rather than the dumb compartment-mutator that I'm turning it into.
Let's just kill the test.
2013-06-29 09:11:18 -06:00
Bobby Holley
306f8a67ea Bug 880917 - Convert JS_SetVersion API consumers to per-compartment versions. r=luke 2013-06-29 09:11:18 -06:00
Bobby Holley
fbb93f2c02 Bug 880917 - Add support for "latest" as a version to evalInSandbox, and use it for sjs files. r=luke
Sandboxes always default to JSVERSION_DEFAULT in the browser. But XPCShell sets
up a ContextCallback that does JS_SetVersion(cx, JSVERSION_LATEST) on every
context that gets created, including the ephemerial Sandbox JSContexts. Since
httpd.js runs in xpcshell and evaluates SJS in a sandbox, we've (somewhat
accidentally) supported JSVERSION_LATEST in SJS, which certain SJS files have
taken advantage of. Let's continue to support it explicitly.
2013-06-29 09:11:18 -06:00
Bobby Holley
270f94dd2f 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