Commit Graph

794 Commits

Author SHA1 Message Date
David Zbarsky
a3eafcf007 Bug 857884 - Use dom::EventTarget more in content/ and dom/ r=Ms2ger 2013-04-05 20:44:15 -04:00
Bobby Holley
0c00d801cd Bug 858642 - Null-check the XBL scope. r=bz 2013-04-05 12:04:09 -07:00
Tom Schuster
c11b2ed39b Bug 855411 - Root XBL_DeserializeFunction. r=bz,terrence 2013-04-05 15:21:03 +02:00
Tom Schuster
ec87b7de30 Bug 855411 - Root various things. r=bz,terrence 2013-04-05 15:21:03 +02:00
Tom Schuster
d3ebb2d912 Bug 855411 - Root InstallField. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
cc6b62046b Bug 855411 - Root InstallAccessors. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
ffa0382dc0 Bug 855411 - Root InstallXBLField. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
f955317578 Bug 855411 - Root Execute. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
dfdfeab850 Bug 855411 - Root Read. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
fba2a086ce Bug 855411 - Root CompileMember. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
985a0f1a7f Bug 855411 - InstallMember. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
152458d4d1 Bug 855411 - Root doCheckAccess. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
556e3087f2 Bug 855411 - Root LookupMember. r=bz,terrence 2013-04-05 15:21:01 +02:00
Tom Schuster
4a0f5a6352 Bug 855411 - Root Init{JS}Class. r=bz,terrence 2013-04-05 15:21:01 +02:00
Tom Schuster
f989076385 Bug 855411 - Root ChangeDocument. r=bz,terrence 2013-04-05 15:21:01 +02:00
Gabor Krizsanits
b999241fc8 Bug 820170 - using nsIGlobalObject in documents. r=smaug 2013-04-04 11:27:41 +02:00
Gabor Krizsanits
23e12dce05 Bug 820170 - nsIGlobalObject. r=bholley 2013-04-04 11:27:06 +02:00
Bobby Holley
eb199ec0c8 Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
c038c610e6 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
43eb484613 Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley
5acffc4e54 Bug 843829 - Fix incorrect test. r=mrbkap
This wasn't actually testing anything, because |is| is defined in the scope of
the content, so by passing the objects as arguments, we end up re-wrapping them
in the content scope, where the distinction between waived and non-waived
objects doesn't exist.

We're actually just about to remove this test in the next patch, but I wanted
to make it correct first. :-)
2013-04-03 11:41:23 -07:00
matekm
00c2965124 Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : cfdb682506acc14ec811e21ae42f067950e1ff0c
2013-04-02 21:14:24 -04:00
Ehsan Akhgari
9df6dde4c7 Backed out 6 changesets (bug 843829, bug 845862) because of broken mochitest-5
Backed out changeset 1df3bdadb7ce (bug 843829)
Backed out changeset 64f001fe04fb (bug 843829)
Backed out changeset 57652d8f0827 (bug 843829)
Backed out changeset 2e889cd77a48 (bug 843829)
Backed out changeset 97d16e7beb27 (bug 843829)
Backed out changeset 6c6ab0e54917 (bug 845862)

Landed on a CLOSED TREE
2013-04-02 23:05:48 -04:00
Bobby Holley
b7d2424ff1 Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley
b8f153dab6 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley
3beb744c60 Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley
ced70f3e62 Bug 843829 - Fix incorrect test. r=mrbkap
This wasn't actually testing anything, because |is| is defined in the scope of
the content, so by passing the objects as arguments, we end up re-wrapping them
in the content scope, where the distinction between waived and non-waived
objects doesn't exist.

We're actually just about to remove this test in the next patch, but I wanted
to make it correct first. :-)
2013-04-02 18:51:19 -07:00
Kyle Machulis
5aa83c3e11 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
c79ccc0693 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
a59d40f143 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Jose Cortes
ed1d7393df Bug 842186 - Update use of jsval with JS::Value in cpp and h files in the content/xul/ content/canvas/ content/xslt/ and content/xbl/ directories. r=jwalden
--HG--
extra : rebase_source : fc2809818c2601d0b58f503968d579d09de98ea9
2013-03-22 22:05:20 -07:00
David Zbarsky
5cc0fcdcdf Bug 847007: Remove nsIContent includes r=Ms2ger 2013-03-21 20:05:20 -04:00
Bobby Holley
3ee39985ec Bug 844783 - Tests. r=bz 2013-03-21 09:33:35 -07:00
Ryan VanderMeulen
f2110c1812 Backed out changesets 775abfe4876f and 1b75fab8561b (bug 844783) under suspicion of breaking Windows debug builds on a CLOSED TREE. 2013-03-21 14:15:31 -04:00
Bobby Holley
4bd2744634 Bug 844783 - Tests. r=bz 2013-03-21 09:33:35 -07:00
Terrence Cole
5f4e4d162b 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
Boris Zbarsky
48065c3f32 Bug 848386 part 4. Rename nsXMLDocument to mozilla::dom::XMLDocument. r=peterv
--HG--
rename : content/xml/document/src/nsXMLDocument.cpp => content/xml/document/src/XMLDocument.cpp
rename : content/xml/document/src/nsXMLDocument.h => content/xml/document/src/XMLDocument.h
2013-03-20 12:22:26 -04:00
Mike Shal
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
2288b28e43 Bug 844635 - Part 3: Remove empty Makefile.in files; r=glandium 2013-03-17 18:01:25 -07:00
Ms2ger
2ef57946b1 Merge m-c to m-i. 2013-03-17 13:22:37 +01:00
Ms2ger
a2173990cc Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Bill McCloskey
a3cea08b3a Bug 759585 - Zones (r=jonco,bhackett,njn,dvander,luke,bz,mccr8,bholley) 2013-03-16 20:36:37 -07:00
Nicholas Nethercote
08daa3b287 Bug 847248 (part 8) - Remove nsFixedSizeAllocator from xbl/. r=bz.
--HG--
extra : rebase_source : 3e4675e525674e9fda53831676d8440ff55a49cb
2013-03-05 05:12:16 -08:00
Masatoshi Kimura
e5e5a90814 Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Nicholas Nethercote
f42c5af971 Bug 847248 (part 7) - Remove nsFixedSizeAllocator from nsXBLService. r=bz.
--HG--
extra : rebase_source : df6db83d51472ec57a72bf657e38f126326b389a
2013-03-05 04:37:47 -08:00
Ms2ger
2cf07efa15 Bug 847195 - Make NamedNodeMap only deal with Attrs; r=khuey
--HG--
rename : dom/interfaces/core/nsIDOMNamedNodeMap.idl => dom/interfaces/core/nsIDOMMozNamedAttrMap.idl
2013-03-10 09:00:33 +01: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
Jim Chen
c55a0c09f7 Bug 831144 - Add Android XBL key bindings; r=neil
--HG--
rename : content/xbl/builtin/unix/Makefile.in => content/xbl/builtin/android/Makefile.in
rename : content/xbl/builtin/unix/jar.mn => content/xbl/builtin/android/jar.mn
rename : content/xbl/builtin/unix/moz.build => content/xbl/builtin/android/moz.build
2013-03-05 11:08:08 +00: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
aa0fed2e03 Bug 784841 - Part 18g: Convert /content; r=glandium 2013-02-25 12:47:19 -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
Ryan VanderMeulen
f6564cf84f Backed out changesets 77a94dc888c9 and 3f6e6912e71a (bug 831144) for Android mochitest failures on a CLOSED TREE. 2013-02-25 12:35:33 -05:00
Jim Chen
5a5bc20b45 Bug 831144 - Add Android XBL key bindings; r=neil
--HG--
rename : content/xbl/builtin/unix/Makefile.in => content/xbl/builtin/android/Makefile.in
rename : content/xbl/builtin/unix/jar.mn => content/xbl/builtin/android/jar.mn
2013-02-25 11:33:29 -05: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
Bobby Holley
d1a3436036 Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -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
L. David Baron
57d19fbb86 Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Bobby Holley
c8f55e8889 Bug 843231 - Alter the XBL scope test to make it compatible with reading the dom.xbl_scopes only once per global. r=bz
--HG--
rename : content/xbl/test/test_bug821850.xhtml => content/xbl/test/file_bug821850.xhtml
2013-02-22 07:56:03 -08:00
Jonathan Kew
5219b8ae03 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
c330d96d13 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
Bobby Holley
89e4df03dc Bug 839792 - Revert Tamper-proofing. r=bz
This reverts bug 821850 part 16, and updates the tests accordingly.
2013-02-13 19:16:19 +01:00
Bobby Holley
b1f783c725 Bug 839792 - Do XBL lookups on the shadow prototype. r=bz 2013-02-13 19:16:19 +01:00
Bobby Holley
135c73b30d Bug 839792 - Store members on a shadow proto in the XBL scope. r=bz 2013-02-13 19:16:19 +01:00
Bobby Holley
70a369794a 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
b55e2ecc2b 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
Bobby Holley
6ccfc2d64b Bug 821850 - Tests. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
0a9cda6738 Bug 821850 - Clone XBL into the XBL scope's compartment. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
dc7e7a50d2 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
e47fde05d0 Bug 821850 - Add API to lookup implementation members on XBL bindings. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
8d1e313928 Bug 821850 - Make XBL prototype setup tamper-proof for Xrays. r=bz
We make the class object readonly/non-configurable, as well as all the properties
and methods on the class object.
2013-02-08 14:24:21 +00:00
Bobby Holley
2eef2f91f9 Bug 821850 - Unwrap |callee| before passing it to InstallXBLField. r=bz
InstallXBLField knows how to handle cross-compartment |callee|. However,
The current value will always be wrapped. We need to unwrap said wrappers,
otherwise we'll end up with objects that aren't functions.
2013-02-08 14:24:21 +00:00
Bobby Holley
85c0f5cf46 Bug 821850 - Install XBL field accessors on prototype objects at setup time, and nuke XBLResolve. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
c6479a3444 Bug 821850 - Hoist Field machinery into nsXBLProtoImplField. r=bz
This is a pure cut/paste except for removing |static| from XBLResolve.
XBLResolve will go away soon, so there's no need to put it in a header.
2013-02-08 14:24:21 +00:00
Bobby Holley
f1ce397128 Bug 821850 - Remove unused arguments from InstallMember and simplify calling convention. r=bz
Let's just pass a JSContext and do Requests/Compartments in the caller.
2013-02-08 14:24:21 +00:00
Bobby Holley
3d089c3644 Bug 821850 - Store a strong ref to the JSClass in nsXBLBinding. r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley
8dfc5ae9df Bug 821850 - Make DoInitJSClass unconditionally fill in aClassObject. r=bz
Right now, DoInitJSClass only returns non-null if the class object is new
(and thus needs to have members installed on it). The code then goes and
unconditionally tries to install the members, null-checking and aborting
each time.

Instead, let's use an explicit boolean and one early return. This lets us
get a reference to our JSClass no matter what, which we need.
2013-02-08 14:24:20 +00:00
Bobby Holley
b3559180d2 Bug 821850 - Remove bogus comment/check and replace with an assert. r=bz
This confused me, because fields are, in fact, exposed via the prototype
via the complicated two-step solution defined in InstallField. As it turns
out, CompilePrototypeMembers throws if mClassObject ends up null.
2013-02-08 14:24:20 +00:00
Bobby Holley
698846e095 Bug 821850 - Pass nsXBLBinding instead of nsIContent during implementation installation. r=bz
This lets us hook up the binding to the JSClass.
2013-02-08 14:24:20 +00:00
Bobby Holley
c1612afa13 Bug 821850 - Make XBL-in-content tests Xray-safe. r=bz
We use XPCNativeWrapper.unwrap rather than .wrappedJSObject so that the tests
are agnostic to whether there's an Xray wrapper or not.

I converted test_tree_column_reorder.xul into a chrome test because it does
all sorts of crazy introspection on the binding, and it really should be
a chrome test anyway.
2013-02-08 14:24:19 +00:00
Josh Matthews
c747c518a0 Bug 829360 - Keep non-browser windows from extending the lifetime of the private session. r=bz 2013-02-04 23:22:51 +00:00
Mounir Lamouri
3570a22696 Bug 833009 - Remove "nsContentUtils.h" inclusions from headers in content/xbl/. r=Ms2ger 2013-02-01 10:56:02 +00:00
Bobby Holley
5b106e3b14 Bug 833412 - Remove AddBinding/RemoveBinding and remove dead code. r=bz 2013-01-24 18:45:50 +01:00
Bobby Holley
54be1dda8b Bug 833412 - Make nsXMLPrettyPrinter use nsXBLService/BindingManger to load/remove bindings. r=bz 2013-01-24 18:45:50 +01:00
Bobby Holley
bec0b2c540 Bug 833412 - Fix tests that call addBinding. r=bz 2013-01-24 18:45:49 +01:00
Olli Pettay
dd1a06e287 Bug 831421 - Arrow keys are broken in test-ipc.xul, r=neil 2013-01-24 18:38:59 +02:00
Bobby Holley
cec2ed5339 Bug 832041 - Remove nsJSContext::CompileEventHandler and move consumers to nsJSUtils::CompileFunction. r=bz 2013-01-23 07:12:50 +01:00
Steve Fink
57a2c2471b Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Steve Fink
380ecf9335 Backed out changeset fce4e0f8a553 (bug 828753) for breaking windows warnings-as-errors (stop adding JSObject forward decls, please!) 2013-01-18 13:20:21 -08:00
Steve Fink
01f8a5b4d8 Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence
--HG--
extra : rebase_source : c8806b27677594925ad0e6b54c47af5cf17e1153
2012-12-31 12:40:21 -08:00
Bobby Holley
fe9b482b3b Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley
89a6e0fc9e 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
1724ed7409 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
8d5b0ca82e 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
Trevor Saunders
9f0ad48b28 bug 822289 - remove NS_IMPL_CYCLE_COLLECTION_CLASS and friends r=mccr8 2013-01-12 07:40:33 -05:00
Boris Zbarsky
5be1bca34a Bug 830614. Wrapping a wrappercached WebIDL object should watch out for reentry via WrapNativeParent. r=peterv 2013-01-15 14:04:24 -05:00