Commit Graph

1767 Commits

Author SHA1 Message Date
Terrence Cole
4e5da394ec Bug 848608 - Make eagerlyTraceWeakMaps an enum; r=billm
--HG--
extra : rebase_source : 20558f611dda644f966d4660b88895a0cbc5c7d1
2013-03-07 10:49:30 -08:00
Jon Coppeard
8d5fd16382 Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 35cbf3cc4da4598c2e9e6975028ef397718849db
2013-03-06 16:41:43 +00:00
Ed Morley
fe417ad697 Backed out changeset 28ef4bdff455 (bug 848395) 2013-03-07 13:03:35 +00:00
Jon Coppeard
fa71007e65 Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 866879df05e3ec3f8e93570eb3f6b71103636b41
2013-03-06 16:41:43 +00:00
Masatoshi Kimura
dd29852063 Bug 841289 - Remove prefable option from WebIDL codegen. r=bz 2013-03-06 07:09:38 +09:00
Ryan VanderMeulen
1ce2c3fc86 Backed out 5 changesets (bug 790732) for talos-other hangs/crashes on a CLOSED TREE. 2013-03-05 15:44:15 -05:00
Boris Zbarsky
7039e84fa4 Remove no longer used NodeIterator quickstubs. No bug. r=peterv 2013-03-05 13:42:06 -05:00
Bobby Holley
2e00ecfa83 Bug 790732 - Omit Components object for content scopes. r=mrbkap 2013-03-05 10:02:00 -08:00
Bobby Holley
cf88b2614c Bug 790732 - Remove Components warning and Telemetry. r=mrbkap 2013-03-05 10:01:59 -08:00
Bobby Holley
d80a23a7e1 Bug 790732 - Stop attaching Components in InitClasses. r=mrbkap
This method is larely deprecated. The only two consumers are JSD and the setup
for the safe JSContext, neither of which use system principal and thus neither
of which should have |Components|.
2013-03-05 10:01:59 -08:00
Bobby Holley
b8d46855f4 Bug 790732 - Remove the aTarget parameter from AttachComponentsObject. r=mrbkap
I added this when I thought we'd be defining Components on an object on the XBL
scope chain. At this point, it's not necessary anymore.
2013-03-05 10:01:59 -08:00
William Chen
f3658e2a5e Bug 783129 - Implementation of document.register without shadow DOM support. r=mrbkap 2012-11-01 11:18:08 -07:00
Igor Bukanov
6e38ffd2b4 Bug 743436 - remove XPCJSRuntime::mJSCycleCollectionContext and related code. r=peterv
The patch removes no longer used XPCJSRuntime::mJSCycleCollectionContext,
nsXPConnect::mCycleCollectionContext and related code to create/destroy
contexts. As that made nsCycleCollectionJSRuntime::FinishTraverse() empty
in all cases I removed that method as well.
2013-02-27 11:33:12 -08:00
Boris Zbarsky
4549dd5886 Bug 776536 part 4. Turn on WebIDL bindings for NodeIterator and TreeWalker. r=peterv
The behavior here is a bit weird because Document is still not a
WebIDL object, so calling createNodeIterator or createTreeWalker via
an Xray will call the XPCOM versions of those methods.  That means
that I can't just disable XPCOM-based wrapping for TreeWalker and
NodeIterator altogether, unfortunately, which means a web page could
try stashing a TreeWalker in something like userdata and then getting
it back and end up wrapping it as an XPCOM object the second time.

I could "fix" that by adding a wrapper cache and whatnot, I guess, if
desired...  But the problem will go away once we convert Document in
any case.
2013-02-28 12:56:42 -05:00
Boris Zbarsky
09556095dd Bug 843261. Add support for sequence<DOMString> arguments in WebIDL callbacks. r=peterv
This does allow people to accidentally hit the slower path through use
of non-const strings, but I think that's OK now that we're mostly
autogenerating this stuff
2013-02-28 12:56:41 -05:00
Ryan VanderMeulen
ebcc7ae06a Backed out 7 changesets (bug 832920, bug 776536, bug 843261) for mochitest-a11y assertions on a CLOSED TREE.
--HG--
rename : content/base/src/NodeIterator.cpp => content/base/src/nsNodeIterator.cpp
rename : content/base/src/NodeIterator.h => content/base/src/nsNodeIterator.h
rename : content/base/src/TreeWalker.cpp => content/base/src/nsTreeWalker.cpp
rename : content/base/src/TreeWalker.h => content/base/src/nsTreeWalker.h
2013-02-28 14:41:30 -05:00
Olli Pettay
fee019f92c Bug 845631 - Remove nsXMLHttpProgressEvent, r=sicking
--HG--
extra : rebase_source : e5c6e80fbb656782bfe0f530c778cda9d9f97f0f
2013-02-28 20:53:04 +02:00
Boris Zbarsky
30f64b6cf1 Bug 776536 part 4. Turn on WebIDL bindings for NodeIterator and TreeWalker. r=peterv
The behavior here is a bit weird because Document is still not a
WebIDL object, so calling createNodeIterator or createTreeWalker via
an Xray will call the XPCOM versions of those methods.  That means
that I can't just disable XPCOM-based wrapping for TreeWalker and
NodeIterator altogether, unfortunately, which means a web page could
try stashing a TreeWalker in something like userdata and then getting
it back and end up wrapping it as an XPCOM object the second time.

I could "fix" that by adding a wrapper cache and whatnot, I guess, if
desired...  But the problem will go away once we convert Document in
any case.
2013-02-28 12:56:42 -05:00
Boris Zbarsky
7015a00262 Bug 843261. Add support for sequence<DOMString> arguments in WebIDL callbacks. r=peterv
This does allow people to accidentally hit the slower path through use
of non-const strings, but I think that's OK now that we're mostly
autogenerating this stuff
2013-02-28 12:56:41 -05:00
Ms2ger
3813557cac Merge m-i to b-s. 2013-02-28 14:46:10 +01:00
Gregory Szorc
f0b7e3972c Merge mozilla-central into build-system
There were merges in configure.in and some Makefile.in. None had any
conflicts. I spot verified the Makefile.in changes and confirmed that
the changes did not touch any DIRS* variables.
2013-02-27 10:03:52 -08:00
Ms2ger
cd9c6150fe Merge m-c to b-s. 2013-02-26 19:09:25 +01:00
Gregory Szorc
faf262c4ee Merge mozilla-central into build-system
Only conflict was configure.in amd was due to context, not
changed lines themselves.
2013-02-25 22:09:18 -08:00
Gregory Szorc
c1b5e29e19 Bug 784841 - Part 18s: Convert /js; r=glandium 2013-02-25 12:47:22 -08:00
Bobby Holley
c014987e4f Bug 836301 - Hoist some assertions, remove a bunch of no-op trap overrides, and add assertions that we've entered our policy. r=mrbkap 2013-02-25 13:54:18 -08:00
Bobby Holley
f84dddd71f Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-25 13:54:18 -08:00
Bobby Holley
83a57c8d91 Bug 836301 - Introduce an RAII class for entering policies. r=mrbkap
This will allow us to make some hard assertions that a given policy has been
entered exactly once.
2013-02-25 13:54:18 -08:00
Bobby Holley
a1a88275ee Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap 2013-02-25 13:54:17 -08:00
Bobby Holley
6f2c3cdc97 Bug 836301 - Stop using JSRESOLVE_ASSIGNING to determine GET vs SET. r=mrbkap
This is just a heuristic, anyway, and some of the usage is downright broken.
There are two cases here:

1 - Deciding what to do for get{Own,}PropertyDescriptor. In these cases, we can
just enter with GET and rely on the filtering machinery to filter out dangerous
setters for security wrappers.

2 - Custom Xray props. None of these make sense in a |set| context. In fact,
    they generally have null setters anyway, so we can just assume GET.

The policy-entering code in XrayWrapper is super haphazard. We'll get rid of it
entirely later in these patches.
2013-02-25 13:54:17 -08:00
L. David Baron
9b9f1bc887 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 17:58:48 -08:00
Bobby Holley
440bea3fd7 Bug 843711 - Fix up new |Components| culprits in test suite. r=mccr8 2013-02-25 10:43:03 -08:00
Peter Van der Beken
410cee5e49 Fix for bug 844225 (Remove some DOMCI and quickstubs). r=bz. 2013-01-10 10:54:46 +01:00
L. David Baron
a144cc1c82 Bug 404077: Use navigator.platform.startsWith rather than navigator.platform.indexOf, at Jesse's suggestion. 2013-02-26 22:23:08 -08:00
Bobby Holley
3ee5ff0ef1 Bug 845201 - Pass mayThrow=true to iterate. r=mrbkap
We only want fallback behavior here if the policy decides to fail silently. If
the policy passes *bp == false, we want to just throw.
2013-02-26 16:41:55 -08:00
Bobby Holley
2473e41a58 Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap 2013-02-26 11:04:13 -08:00
Bobby Holley
1ffc542460 Bug 834732 - Implement stricter cx handling in xpc_EvalInSandbox. r=mrbkap 2013-02-26 11:04:11 -08:00
Bobby Holley
51ba6ef50d Bug 834732 - Make nsCxPusher.Push(JSContext*) infallible. r=mrbkap
We leave the nsIDOMEventTarget* versions fallible for now, but this makes the
common case a lot simpler. Note that this means that pushing a null JSContext,
a bug, is no longer handled at runtime. But I think we should just assert
against it, since there are already callers that don't check the return value.
2013-02-26 11:04:11 -08:00
Bobby Holley
9190ce39d5 Bug 834732 - Remove PushBehavior. r=mrbkap
Now that we only have ALWAYS_PUSH and ASSERT_SCRIPT_CONTEXT, we have uniform
release-mode behavior everywhere. Remove the crap.
2013-02-26 11:04:11 -08:00
Bobby Holley
997dcc7d65 Bug 834732 - Get rid of footgun bool param for nsCxPusher and use an explicit enum. r=mrbkap
The goal here is to get rid of this crap entirely, and make nsCxPusher always
push. But that's a scary change, so we do it in chunks. This patch, in particular,
should have zero behavioral change. This means preserving some very wrong behavior.
For instance, currently SafeAutoJSContext never pushes a damn thing, because the
safe JSContext doesn't have an associated nsIScriptContext. We preserve this
behavior, and in fact convert various similarly-buggy consumers to
SafeAutoJSContext, so that we can hoist the behavioral change into a subsequent
patch.
2013-02-26 11:04:09 -08:00
Bobby Holley
3ed822eacf Bug 812693 - Remove GetJSObjectOfWrapper. r=mrbkap 2013-02-26 08:15:44 -08:00
Masatoshi Kimura
b1f455df2c Bug 842372 - Part 2: Hide getUserData and setUserData from content. r=bz 2013-02-23 13:46:06 +09:00
Trevor Saunders
7c8cb0d304 bug 833164 - consolodate the various makeDepend things in the tree r=ted 2013-02-14 07:06:16 -05:00
L. David Baron
57d19fbb86 Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Phil Ringnalda
f3f16b4069 Back out 4d301b2bcad0:e0632e639097 (bug 836301) for Windows build bustage
CLOSED TREE
2013-02-22 08:41:37 -08:00
Bobby Holley
c1bc13e0dd Bug 836301 - Hoist some assertions, remove a bunch of no-op trap overrides, and add assertions that we've entered our policy. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley
1b08378825 Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley
c9d462848e Bug 836301 - Introduce an RAII class for entering policies. r=mrbkap
This will allow us to make some hard assertions that a given policy has been
entered exactly once.
2013-02-22 08:14:33 -08:00
Bobby Holley
bc476a22e1 Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap 2013-02-22 08:14:33 -08:00
Bobby Holley
31e8680c22 Bug 836301 - Stop using JSRESOLVE_ASSIGNING to determine GET vs SET. r=mrbkap
This is just a heuristic, anyway, and some of the usage is downright broken.
There are two cases here:

1 - Deciding what to do for get{Own,}PropertyDescriptor. In these cases, we can
just enter with GET and rely on the filtering machinery to filter out dangerous
setters for security wrappers.

2 - Custom Xray props. None of these make sense in a |set| context. In fact,
    they generally have null setters anyway, so we can just assume GET.

The policy-entering code in XrayWrapper is super haphazard. We'll get rid of it
entirely later in these patches.
2013-02-22 08:14:32 -08:00
Bobby Holley
722e4eafbb Bug 843231 - Compute whether to use an XBL scope exactly once. r=bz 2013-02-22 07:56:03 -08:00