Commit Graph

1867 Commits

Author SHA1 Message Date
Bobby Holley
4f92577540 Bug 806751 - Crashtest. r=me 2013-03-11 14:45:21 -07:00
Bobby Holley
9821938788 Bug 805807 - Tests. r=mrbkap 2013-03-11 14:45:20 -07:00
Bobby Holley
b53bd25034 Bug 786142 - Crashtest. r=me 2013-03-11 14:45:18 -07:00
Ryan VanderMeulen
fe36f261c6 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
aeed32709e Remove no longer used NodeIterator quickstubs. No bug. r=peterv 2013-03-05 13:42:06 -05:00
Bobby Holley
6f783fc8dc Bug 790732 - Omit Components object for content scopes. r=mrbkap 2013-03-05 10:02:00 -08:00
Bobby Holley
f12628d13f Bug 790732 - Remove Components warning and Telemetry. r=mrbkap 2013-03-05 10:01:59 -08:00
Bobby Holley
e60cb41952 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
c1f8743e0b 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
929291a8d9 Bug 783129 - Implementation of document.register without shadow DOM support. r=mrbkap 2012-11-01 11:18:08 -07:00
Jesse Ruderman
594ad00ba3 Bug 404077 followup - remove bug mention from a test. DONTBUILD 2013-03-12 12:36:08 -07:00
Julian Seward
e8bbb67556 Bug 779291: Implement SPS stackwalk using the breakpad unwinder. r=bgirard,glandium
bug 850089 - fix SPS with disable-crashreporter. Patch by Ted Mielczarek <ted@mielczarek.org>, r=glandium
Bug 850132 - SPS breakpad unwind (bug 779291) breaks Win64 builds with "Unsupported platform". Patch by Makoto Kato <m_kato@ga2.so-net.ne.jp>, r=ted
2013-03-10 23:00:23 +01:00
Igor Bukanov
1ea05be2db 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
615c1738c3 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
3875ee73e3 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
238b010bd5 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
510b79b08c Bug 845631 - Remove nsXMLHttpProgressEvent, r=sicking
--HG--
extra : rebase_source : e5c6e80fbb656782bfe0f530c778cda9d9f97f0f
2013-02-28 20:53:04 +02:00
Boris Zbarsky
24d39ed923 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
0c8bec67f1 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
c6832bb745 Merge m-i to b-s. 2013-02-28 14:46:10 +01:00
Gregory Szorc
803629b9c6 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
2801c25ab8 Merge m-c to b-s. 2013-02-26 19:09:25 +01:00
Gregory Szorc
16f0413b0c 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
51faf012ef Bug 784841 - Part 18s: Convert /js; r=glandium 2013-02-25 12:47:22 -08:00
Bobby Holley
71a3669399 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
c3361bfc99 Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-25 13:54:18 -08:00
Bobby Holley
256ed2c8ba 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
22266c42fe 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
3cd9119770 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
e2654f58c5 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 17:58:48 -08:00
Bobby Holley
076b7bfcfa Bug 843711 - Fix up new |Components| culprits in test suite. r=mccr8 2013-02-25 10:43:03 -08:00
Peter Van der Beken
60efffbed9 Fix for bug 844225 (Remove some DOMCI and quickstubs). r=bz. 2013-01-10 10:54:46 +01:00
L. David Baron
05d5d9dfa9 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
b51f6208c3 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
2c5746f6db Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap 2013-02-26 11:04:13 -08:00
Bobby Holley
169d010a55 Bug 834732 - Implement stricter cx handling in xpc_EvalInSandbox. r=mrbkap 2013-02-26 11:04:11 -08:00
Bobby Holley
e83e186c1b 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
784a476fb8 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
e04f8d807d 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
a0de2e2bc9 Bug 812693 - Remove GetJSObjectOfWrapper. r=mrbkap 2013-02-26 08:15:44 -08:00
Masatoshi Kimura
58be2f3664 Bug 842372 - Part 2: Hide getUserData and setUserData from content. r=bz 2013-02-23 13:46:06 +09:00
Trevor Saunders
1049ccba35 bug 833164 - consolodate the various makeDepend things in the tree r=ted 2013-02-14 07:06:16 -05:00
L. David Baron
4f4296979b Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Phil Ringnalda
03a1dc0a38 Back out 4d301b2bcad0:e0632e639097 (bug 836301) for Windows build bustage
CLOSED TREE
2013-02-22 08:41:37 -08:00
Bobby Holley
b9a551bd57 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
a98d6a7dfd Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley
9ea662d5a5 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
fa62b333b9 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
93369747ec 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
d5c80d07cc Bug 843231 - Compute whether to use an XBL scope exactly once. r=bz 2013-02-22 07:56:03 -08:00
Bobby Holley
ea51770fa3 Bug 843231 - Remove SetGlobal. r=bz
This stuff has all been simplified significantly with CPG, and this is no longer
necessary. We always have a global when we construct a scope, and it never
changes.
2013-02-22 07:56:03 -08:00
Bobby Holley
b1e6cef1c7 Bug 843231 - Move the nulling out of mPrototypeNoHelper from SetGlobal to RemoveWrappedNativeProtos. r=bz
The only call-site for both of these is JSD->nsXPConnect::InitClasses, so this
is equivalent. All this will go away soon anyhow when JSD goes away.
2013-02-22 07:56:02 -08:00
Peter Van der Beken
86d3fc6af5 Fix for bug 825628 (Implement NamedConstructor) - add codegen support for NamedConstructor. r=bz.
--HG--
extra : rebase_source : 8393995dca6f65cb49512874c1916ee745436638
2013-01-22 11:51:15 +01:00
Chuck Lee
e45fb52048 Bug 835719 - 0003. Rename JSAutoByteString.encode() to encodeLatin1(). r=terrence 2013-02-21 17:48:17 +08:00
Jonathan Kew
e04415fc7f backout cset 4ede352670cd (bug 759585) on a CLOSED TREE on suspicion of making windows reftests so slow that they timeout and burn 2013-02-22 09:36:41 +00:00
Bill McCloskey
6798be1a0e Bug 759585 - Change the granularity of collection from compartment to zone (r=jonco,bhackett,njn,dvander,mccr8,bz,luke,bholley) 2013-02-21 18:23:47 -08:00
Masatoshi Kimura
e34e3f60a9 Bug 842730 - Remove nsIJSNativeInitializer from nsXMLHttpRequest. r=sicking 2013-02-20 20:54:19 +09:00
Gavin Sharp
58c2d69de4 Bug 841359 - Always log error originating from windows with chrome principals. r=bz 2013-02-16 17:01:59 -08:00
Andrea Marchesini
d98c0993bb Bug 839447 - Rename nsHTMLOptionElement to HTMLOptionElement, r=Ms2ger
--HG--
rename : content/html/content/src/nsHTMLOptionElement.cpp => content/html/content/src/HTMLOptionElement.cpp
rename : content/html/content/src/nsHTMLOptionElement.h => content/html/content/src/HTMLOptionElement.h
2013-02-18 13:24:58 +01:00
Andrea Marchesini
fe3cb4351c Bug 838559 - Rename nsHTMLMenuElement to HTMLMenuElement. r=Ms2ger
--HG--
rename : content/html/content/src/nsHTMLMenuElement.cpp => content/html/content/src/HTMLMenuElement.cpp
rename : content/html/content/src/nsHTMLMenuElement.h => content/html/content/src/HTMLMenuElement.h
2013-02-18 06:59:08 -05:00
Randy Lin
90902b6a5b Bug 834165 - Implement BlobEvent. r=smaug
--HG--
extra : rebase_source : 5d8f13baa4b2ff00a63300be54edb81ab2555bd9
2013-02-18 14:06:27 +08:00
Boris Zbarsky
213f724948 Bug 822674. Give RTCPeerConnection a sane classinfo. r=jst,jesup. r=peterv pending 2013-02-15 22:41:31 -05:00
Steve Fink
2a42a7a9fb Bug 838014 - More rooting in Debugger, plus some minor rooting in JSD and xpconnect for some should-be-private JSAPI changes. r=terrence
--HG--
extra : rebase_source : 46febe5421f6e1901f0d5ac2707fb3fdde1894db
2013-02-12 12:27:02 -08:00
Bobby Holley
0cff91747e Bug 834697 - Enable XBL scopes, and disable assertion. r=bz,me 2013-02-14 15:15:59 +01:00
Makoto Kato
8d2aa4329c Bug 834645 - move -STACK parameter to config.mk. r=ted 2013-02-14 15:22:00 +09:00
Till Schneidereit
22ae6134ff Bug 679940 - Share bytecode, source notes and atoms of functions in a runtime wherever possible. r=bhackett
--HG--
extra : rebase_source : 1518f7830a5640a2216c2d828859b8660d3fff60
2013-02-02 00:02:08 +01:00
Ryan VanderMeulen
0e981ca346 Backed out 12 changesets (bug 834732) for b2g bustage and OSX mochitest-1 crashes on a CLOSED TREE. 2013-02-12 20:54:48 -05:00
Bobby Holley
f946ae9e15 Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap 2013-02-13 00:22:27 +01:00
Bobby Holley
9c9b132652 Bug 834732 - Implement stricter cx handling in xpc_EvalInSandbox. r=mrbkap 2013-02-13 00:22:27 +01:00
Bobby Holley
e9d5a91d21 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-13 00:22:26 +01:00
Bobby Holley
5a1f2c3927 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-13 00:22:26 +01:00
Bobby Holley
863479340f 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-13 00:22:26 +01:00
Andrew McCreight
0694a9d260 Bug 784730 - Add missing comment. r=bholley DONTBUILD 2013-02-12 09:46:34 -08:00
Ryan VanderMeulen
c32ab4bc8d Merge m-c to inbound. 2013-02-11 20:49:31 -05:00
Olli Pettay
ff9c34a6e4 Bug 839528 - Change the namespace of xpidl dictionary helpers, r=khuey 2013-02-11 21:37:50 +02:00
Olli Pettay
6e6150abc6 Bug 839465 - Implement SmartCardEvent using event code generator, r=mounir 2013-02-11 21:37:20 +02:00
Jeff Walden
149649e256 Bug 826009 - Move locale callback info, default locale, etc. data and APIs to be JSRuntime-centered. f=bholley, r=jorendorff
--HG--
extra : rebase_source : 35317f4c29e9dd70e7d4fd1292027cfd51ce2675
2013-02-07 18:04:11 -08:00
Bobby Holley
6c9a0d2a78 Bug 839867 - Align gecko with the spec on cross-origin access to Location.hash. r=bz
We update the tests to cover this case. There was also a bug in the tests where
we were accidentally testing non-writable Location properties against window
rather than window.location. :-(
2013-02-11 00:05:17 +01:00
Andrew McCreight
2093b2df88 Bug 784730 - Crash in ReparentWrapperIfFound if wrapper already in scope. r=bholley 2013-02-06 12:18:54 +00:00
Tom Schuster
d3846ae9e6 Bug 838558 and Bug 839027: checkin lost changsets in XPC. CLOSED TREE 2013-02-11 22:07:35 +01:00
Tom Schuster
b5f30783df Bug 839027 - Kill object typeof hook. r=jorendorff 2013-02-11 21:05:13 +01:00
Mike Hommey
414926b916 Bug 793767 - Use the executable file location to derive the update root. r=rstrong 2013-02-08 15:58:52 +01:00
Andrea Marchesini
01f03b4f30 Bug 839056 - Rename nsHTMLOptGroupElement to HTMLOptGroupElement. r=Ms2ger
--HG--
rename : content/html/content/src/nsHTMLOptGroupElement.cpp => content/html/content/src/HTMLOptGroupElement.cpp
rename : content/html/content/src/nsHTMLOptGroupElement.h => content/html/content/src/HTMLOptGroupElement.h
2013-02-08 11:34:48 -05:00
Boris Zbarsky
25613db785 Bug 839116 followup. Stop depending on <html> elements having a content-visible QueryInterface in the poor CLOSED TREE. r=mrbkap 2013-02-08 15:03:07 +00:00
Bobby Holley
a9cbc7eea3 Bug 821850 - Dynamically waive Xray for field access by XBL script on bound nodes. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
2be0c8d31e Bug 821850 - Expose XBL members via Xray wrappers. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
fd02fd27ef Bug 821850 - Clean up security wrappers for NAC. r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley
032bee38ff Bug 821850 - Check for XBL scopes in nsContentUtils::IsCallerXBL(). r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley
b757981155 Bug 821850 - Add infrastructure for lazily-created XBL scopes. r=bz 2013-02-08 14:24:19 +00:00
Bobby Holley
5c1e864319 Bug 812669 - Remove XPConnect equality hooks. r=mrbkap 2013-02-08 10:39:01 +00:00
Nicholas Nethercote
d8786a806d Bug 836949 (part 1) - Clean up the versions/options code. r=jorendorff.
--HG--
rename : content/html/content/test/test_meta_attributes_reflection.html => content/html/content/test/test_ol_attributes_reflection.html
extra : rebase_source : 970d8a542bb631ce3f18da26ece69667af29d0a9
2013-02-06 21:35:16 -08:00
Peter Van der Beken
871110115e Fix for bug 838228 (toString on an Xray for an interface object should stringify like Function.prototype.toString). r=bz.
--HG--
rename : content/html/content/test/test_map_attributes_reflection.html => content/html/content/test/test_ol_attributes_reflection.html
extra : rebase_source : 9bd7efb927e4eac96569ed629ee230dbf555fb63
2013-02-01 15:33:58 +01:00
Vicamo Yang
195ec21112 Bug 834193: Implement USSDReceivedEvent, DataErrorEvent and CFStateChangeEvent using codegenerator. r=smaug 2013-02-07 19:02:12 +08:00
Vicamo Yang
cacd4c86e3 Bug 835148: Implement SmsEvent using event generator. r=smaug
--HG--
rename : dom/sms/interfaces/nsIDOMSmsEvent.idl => dom/sms/interfaces/nsIDOMMozSmsEvent.idl
rename : dom/sms/interfaces/nsIDOMSmsMessage.idl => dom/sms/interfaces/nsIDOMMozSmsMessage.idl
2013-02-07 18:43:22 +08:00
Bill McCloskey
dafe7f51a1 Bug 836524 - Zone renaming part 2 (r=jonco) 2013-02-06 18:08:16 -08:00
Ryan VanderMeulen
6d4e2b111c Backed out changesets 34927afb65e2 and 2d0b056ced49 (bug 838559) for mochitest failures.
--HG--
rename : content/html/content/src/HTMLMenuElement.cpp => content/html/content/src/nsHTMLMenuElement.cpp
rename : content/html/content/src/HTMLMenuElement.h => content/html/content/src/nsHTMLMenuElement.h
2013-02-06 16:22:59 -05:00
Andrea Marchesini
c0ac3d2eb1 Bug 838559 - Rename nsHTMLMenuElement to HTMLMenuElement. r=Ms2ger
--HG--
rename : content/html/content/src/nsHTMLMenuElement.cpp => content/html/content/src/HTMLMenuElement.cpp
rename : content/html/content/src/nsHTMLMenuElement.h => content/html/content/src/HTMLMenuElement.h
2013-02-06 14:19:20 -05:00
Boris Zbarsky
ebdd009711 Bug 838518 part 2. Fix nodeiterator callers per the API change that was made. r=smaug 2013-02-06 14:22:33 +00:00
Boris Zbarsky
d71214e1ed Bug 838518 part 1. Fix treewalker callers per the API change that was made. r=smaug 2013-02-06 14:22:33 +00:00
Ryan VanderMeulen
67b204034f Backed out changeset 2861ef67390a (bug 837566) for Linux32 mochitest-other shutdown hangs. 2013-02-05 07:54:49 -05:00
Vicamo Yang
012d5c6218 Bug 833278 - Part 2/2: Implement MozVoicemailEvent using codegenerator. r=gwagner,smaug 2013-02-05 17:02:18 +08:00
Nicholas Nethercote
744586f40d Bug 837566 - Remove js_RemoveRoot. r=terrence. 2013-02-03 20:17:34 -08:00
Bobby Holley
9124b9b5fd Bug 831076 - Outerize during same-compartment wrapping so that JS_Wrap* is guaranteed to outerize. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley
b32a8d4b14 Bug 831076 - Outerize at the very beginning of XPConnect wrapping and remove other outerization checks. r=mrbkap 2013-02-04 15:13:13 +00:00
Andrew McCreight
ca5d0dc894 Bug 819131 - Preserve reflector delegate weak map keys. r=billm 2012-05-25 09:07:24 -07:00
Peter Van der Beken
ee4a060f18 Fix for bug 830879 (HTML Element WebIDL bindings require classinfo). r=bz.
--HG--
extra : rebase_source : a88a5f24d3d4c12b652f1228eb5b3b7bb8b9e5ee
2013-01-10 10:54:32 +01:00
Nicholas Nethercote
0bda4fcd31 Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!
2013-01-24 21:24:57 -08:00
Phil Ringnalda
2d79942fa4 Back out 66882ea6f8c7 (bug 788293) and 32f09cb3c7b6 (bug 834090) for bustage
CLOSED TREE
2013-01-31 22:29:30 -08:00
Nicholas Nethercote
46ba51002e Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!

--HG--
extra : rebase_source : 7574f5620e303c25120fcfc8ceb2099ad75c8f1b
2013-01-24 21:24:57 -08:00
Nicholas Nethercote
9987ec3eb4 Bug 833208 (part 5) - Remove e4x support from mochitests. r=jorendorff.
--HG--
extra : rebase_source : a88f8ed13299c566df2297729b3a5ddf21fcaafa
2013-01-28 14:55:17 -08:00
Nicholas Nethercote
d0f259110b Bug 833208 (part 4) - Remove e4x support from xpcshell tests. r=jorendorff.
--HG--
extra : rebase_source : a7bd33905120f74e6c242e0c236450dd3be54436
2013-01-30 16:56:16 -08:00
Boris Zbarsky
de131aa791 Add a test for WebIDL-weakmap stuff in addition to XPConnect-weakmap. No bug, no review
--HG--
rename : js/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297-1.html
rename : js/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297-2.html
2013-01-31 01:04:48 -05:00
Boris Zbarsky
e7f12d401a Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
e53ffbf3f0 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Boris Zbarsky
e15be64167 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
3ce404fddd Back out bug 829867 (rev 2a0424e177c1) on suspicion of Ts regression 2013-01-29 17:17:37 -05:00
Terrence Cole
812eb2db9f Bug 706885 - Rework Rooting APIs to preserve all available type information; r=billm 2013-01-28 18:25:23 -08:00
Boris Zbarsky
d29ed299fd Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
24d3443115 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Nils Maier
05cea1012b Bug 761552 - Part 2: Avoid external JS strings in XPCConvert. r=bholley
XPCConvert needs to convert some string types to JS strings in order to call
from C++ into JS land. Make those converted JS strings allocate the buffers
from the JS compartment memory pool, instead of making them external and
allocated from the main heap.
This improves memory reporting and may also influence memory fragmentation
and/or performance.
2013-01-29 10:50:04 -05:00
Boris Zbarsky
ffb6f4551e Bug 829252 followup. Now that WindowRoot has a wrapper cache, we need to be able to deal with ConstructSlimWrapper on things that have no classinfo. r=peterv pending, but landing on CLOSED TREE now to fix orange. 2013-01-29 10:18:05 -05:00
Boris Zbarsky
634d722804 Bug 834877 part 3. Add faster DOMString-to-JS conversion code. r=peterv 2013-01-29 09:42:14 -05:00
Boris Zbarsky
42d12beb79 Bug 829252 part 4. Turn on the EventTarget quickstubs. r=peterv 2013-01-29 08:44:01 -05:00
Nathan Froyd
e1f9ebca82 Bug 835358 - remove unused member nsXPConnect::mScopes; r=bholley
--HG--
extra : rebase_source : 7c5c2152666c9b8eb8860db4d7e39c274f772b5b
2013-01-28 10:37:57 -05:00
Peter Van der Beken
105d61cacc Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 2ced75b6d49dbab5afe9a6ce7c322bf18a634026
2013-01-14 11:29:48 +01:00
Ed Morley
19dd19ed37 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
18764acd4b Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 6bc420bd917e00a49dc5f6f3de13ff9e290c9580
2013-01-14 11:29:48 +01:00
Kyle Machulis
8a6e862a23 Bug 777271 - Re-implement nsIDOMCallEvent using event implementation codegen. r=bent,vicamo,hsinyi 2013-01-28 15:39:50 +08:00
Bill McCloskey
0b41061a2c Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Jan de Mooij
223b6a2efc Bug 833817 part 3 - Replace JSStackFrame with JSAbstractFramePtr. r=luke 2013-01-25 09:49:29 +01:00
Jon Coppeard
49c07872fb Bug 815542 - crash in IncrementalCollectSlice r=billm
--HG--
extra : rebase_source : d751b3684f6461b094278aa39508417928c2b660
2013-01-25 09:56:04 +00:00
Bobby Holley
29dd20ec7d Bug 833856 - Handle errors better in EvaluateString. r=bz
This bug happens when we take the !useSandbox path. Basically, when the code
throws, we can end up with garbage in *aRetValue while still returning true
from EvaluateString. It looks like the convention is for these kind of eval
functions to return success even for invalid code, so lets just make sure we
check things a bit better.

This crashtest is kind of half-baked in the sense that it doesn't actually
crash without the rest of the patch. But the testcase here involves a lot of
undefined behavior (what ends up getting left in *aRetValue) during a call
to window.open (which spins the event loop, etc). I already sunk about half
an hour into trying to make it crash, so I'm just going to go with this for
now.
2013-01-25 11:17:40 +01:00
Bobby Holley
bc4863413b Bug 823348 - Tests. r=mrbkap
We tack these onto the tests from bug 812415, adding coverage for
nsExpandedPrincipal and making sure that the waivers are deep.

We also take the opportunity to check the asymmetric security
relationship between a principal and its corresponding nsEP.
2013-01-23 06:04:39 +01:00
Bobby Holley
ded682bc4a Bug 823348 - Stop checking for Xray waivers in the Xray machinery. r=mrbkap
All the casese where we want to waive should now be going through WaiveXrayWrapper.
2013-01-23 06:04:39 +01:00
Bobby Holley
4e3138cf29 Bug 823348 - Replace security wrapper enumeration with a more rule-based approach. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
f7f57d1c83 Bug 823348 - Hoist special cases to the top of WrapperFactory::Rewrap. r=mrbkap
This paves the way for more rule-based selection of wrappers in the common case.
2013-01-23 06:04:39 +01:00
Bobby Holley
0d89c821ca Bug 823348 - Move COW prototype remapping out of wrapper selection. r=mrbkap
It's pretty orthogonal, and makes the critical block more complicated than it
needs to be.
2013-01-23 06:04:39 +01:00
Bobby Holley
08c058f711 Bug 823348 - Precompute various parameters in Rewrap. r=mrbkap
This is generally cleaner, and avoids potentially calling these functions
multiple times when we start moving this stuff around.
2013-01-23 06:04:39 +01:00
Bobby Holley
39b3f7c72e Bug 823348 - Use GetXrayType for content->chrome Xray wrappers. r=mrbkap
There's no reason to do this any different than we do for XOWs and such. The
only thing this might conceivably support would be certain chrome XPWNs-as-COWs.
But that would require that they forced a parent in precreate without being
flagged as DOM objects in classinfo. And it's not clear why we'd want to support
that. And we're generally moving away from COWs anyway.
2013-01-23 06:04:39 +01:00
Bobby Holley
69822a012d Bug 823348 - Use EnsureCompartmentPrivate In Rewrap and stop checking for null. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
c3882ecf88 Bug 823348 - Flip off the wantXrays for chrome sandboxes. r=mrbkap
wantXrays means that the sandbox wants Xray wrappers even when accessing same-
origin content. The default is true, which Blake says has something to do with
GreaseMonkey and days of old.

This flag never had an effect for chrome, because the chrome->chrome case always
short-circuited to &CrossCompartmentWrapper::singleton. But once we start
respecting the flag as a general-purpose indicator that Xrays should be applied
same-origin, we need to either add a special case in Rewrap or make the flag reflect
reality. The latter seems cleaner and more sane.

However, things are complicated by the fact that there's also a completely different,
orthogonal usage, whereby setting wantXrays to false implicitly waives Xray on the
returned sandbox _and_ on any results returned from evalInSandbox. This is just nuts.
The former can be accomplished by callers manually using .wrappedJSObject, and the
latter by having EvalInSandbox transitively apply waivers from their sandbox arguments.

I've updated the documentation on the MDN page so that it only describes the
reasonable usage. The next step is to get rid of the crazy behavior. I think the
best path of migration is to have wantXrays: false keep implicitly waiving, but
waive return values from EvalInSandbox based on whether the argument was waived. This
patch does that.
2013-01-23 06:04:39 +01:00
Bobby Holley
44a21fc15a Bug 823348 - Make NNXOWs use an explicitly opaque Policy. r=mrbkap
There's no reason to be doing a dynamic check here, given that the JSClasses
will never match. Lets be explicit and safe.
2013-01-23 06:04:38 +01:00
Bobby Holley
ddece7045a Bug 823348 - Do a better job of lying about the holder and make assertions fatal. r=mrbkap
I noticed this nonfatal assertion firing, unrelated to my patches. Leaking
the holder is not so great. Let's fix this for real.
2013-01-23 06:04:38 +01:00
Bobby Holley
d0a9794947 Bug 823348 - Remove broken and unused __scriptOnly__ check. r=mrbkap
__scriptOnly__ is unused on mxr and addons-mxr. Morevoer, the current
implementation is totally broken, because we check for NNXOW, which only
happens when a random content JS object ends up in some other cross-origin
scope (via addons, presumably), whereas chrome objects use ChomeObjectWrapper.

I'm soon going to replace SCRIPT_ACCESS_ONLY with checked unwrapping, and mark
all COWs as unsafe to unwrap (see bug 821573 and bug 658909). So let's just kill
this thing here.
2013-01-23 06:04:38 +01:00
Bobby Holley
c0cc2fa626 Bug 823348 - Don't set universalXPConnectEnabled for chrome compartments. r=mrbkap
There's a browser-chrome test that does this, which means that _all_ subsequent
browser-chrome tests inherit it. So depending on the ordering of cases in
WrapperFactory, we might end up using a CrossCompartmentWrapper rather than an
XrayWrapper, meaning that stuff like nodePrincipal doesn't work anymore.

The semantics of UniversalXPConnect are now entirely dicatated by what makes
our test suite go green. So let's not force ourselves to bend over backwards
during wrapping to handle this case. And let's fix that stupid test while
we're at it.
2013-01-23 06:04:38 +01:00
Bobby Holley
71cfd0816b Bug 823348 - Uninline UniversalXPConnect management. r=mrbkap
Every time the layout of CompartmentPrivate changes, I forget to rebuild in
caps/ and spend half an hour wondering what the heck is going on. :-(
2013-01-23 06:04:38 +01:00
Ehsan Akhgari
94b2981ab9 Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Steve Fink
d3f194fbfb Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Terrence Cole
6b98628bf0 Bug 803182 - Make the js shell stack limit match the browser's; r=dmandelin
This should help ensure that recursion errors found in the shell actually
represent real errors. This also attempts to account for the difference in size
between debug and optimized builds to the size of js::Interpret's stack frame.
2012-10-29 13:36:41 -07:00
Irving Reid
e97ded2b9d Bug 818958: Tell SPSProfiler when the JS runtime shuts down r=luke 2013-01-18 12:04:35 -05:00