Commit Graph

174 Commits

Author SHA1 Message Date
Mohit Gahlot
466c217001 Bug 851377 - Now ResolvingId::isResolving is not called with a null object. r=bholley 2013-03-18 21:28:05 +05:30
Bobby Holley
2d898008d8 Bug 851987 - QI to nsPIDOMWindow instead of nsIDOMWindow in XPCWrappedJS. r=bz 2013-03-18 14:30:23 -07:00
Bobby Holley
71b63fdffa Bug 850517 - Support named window access via Xray. r=mrbkap 2013-03-14 22:38:26 -07: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
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
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
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
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
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
4b306e73c6 Bug 821850 - Expose XBL members via Xray wrappers. r=bz 2013-02-08 14:24:21 +00:00
Peter Van der Beken
4d5c0010c4 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
bc0702d0d7 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
a6ea06e0ab 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
Bobby Holley
f20eabe075 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
165e39b43e 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
Boris Zbarsky
d53ec45102 Bug 823228 part 2. Move indexed property access on windows from nsWindowSH::GetProperty to the outer window proxy. r=bholley 2013-01-17 12:30:37 -05:00
Jeff Walden
d9889b3184 Bug 826447 - Change all the proxy API signatures to take unsigned flags, rather than bool set, so that it's easier to find all tests of JSRESOLVE_ASSIGNING. r=bz
--HG--
extra : rebase_source : 3b88b411965087984d7973a90f8fa1b06457a6ce
2013-01-03 15:31:36 -06:00
Jeff Walden
320df44ab6 Bug 823283 - Remove all remaining uses of JSRESOLVE_QUALIFIED, and the few remaining tests (which were pretty much purely diagnostic). r=luke
--HG--
extra : rebase_source : 51e2ac7ccc76be84d12600baeb6d458c2927bea7
2012-09-15 11:19:55 -07:00
Bobby Holley
8fdea45364 Bug 808608 - Remove Xray shadowing protection infrastructure. r=mrbkap
This is now unused.
2012-11-21 13:20:05 -08:00
Peter Van der Beken
4362399169 Fix for bug 811895 (Fix WN Xray special methods so they can take new DOM binding objects). r=bz.
--HG--
extra : rebase_source : 4b4ade0c3cddee9241e94f2e20216cee73a8e284
2012-09-26 16:17:51 +02:00
Bobby Holley
a36b720564 Bug 800915 - Clarify and refine the semantics of SecurityWrapper so that it is used if and only if unwrapping is unsafe. r=mrbkap
The naming scheme for Xray typedefs is the concatenation of the tuple:
({SC,}, {Security,Permissive}, Xray, {XPCWN,DOM}). This is admittedly a bit
much, but I think it's still better than explicitly doing the "typdef Foo Xray"
everywhere. Moreover, once the new DOM bindings are done, the last component
in the tuple will go away.
2012-11-14 09:56:25 -08:00
Bobby Holley
0d4bc850b4 Bug 808611 - Move valueOf to nsIDOMLocation. r=mrbkap 2012-11-07 08:27:23 -08:00
Boris Zbarsky
e0cb69bbd9 Bug 807548. Enumerating an Xray should not see the 'constructor' property on DOM prototypes unless we're told to include non-enumerable properties. r=peterv 2012-11-05 11:58:03 -05:00
Peter Van der Beken
1ef60a85a4 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Bobby Holley
b4461f0bed Bug 803068 - Merge DirectWrapper and Wrapper. r=ejpbruel
--HG--
extra : rebase_source : a2b98a9585c6f7761747cfaf55684e6eeed91344
2012-10-29 16:52:53 +01:00
Peter Van der Beken
0fca6b2112 Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
Bobby Holley
8f227813bb Bug 793969 - Define an identity transformation at the Xray layer. r=mrbkap 2012-10-19 21:00:48 +02:00
Boris Zbarsky
a8b8db0ee0 Bug 798011. Deal with JS_ValueToString failing. r=gabor 2012-10-06 12:06:24 -04:00
Bobby Holley
54d2fc8eec Bug 761695 - Put Proxy and DOM expandos on the expando object, rather than the holder. r=peterv 2012-10-05 18:59:24 +02:00
Bobby Holley
19863fe088 Bug 761695 - Hoist expando-checking (but not expando-creating) operations into common code. r=peterv
We do this for delete_, enumerateNames, and resolveOwnProperty. This doesn't change
existing behavior, because for ProxyXrayTraits and DOMXrayTraits the expando object
will (currently) always be null.
2012-10-05 18:59:24 +02:00
Bobby Holley
b6b60bd403 Bug 761695 - Create XrayTraits::resolveOwnProperty. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
2f074e80e0 Bug 761695 - Reorder checks for expandos and nodePrincipal. r=peterv
Peter and I decided this was ok. We can't hoist expando stuff otherwise.
2012-10-05 18:59:23 +02:00
Bobby Holley
02fbd34534 Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Bobby Holley
513593624e Bug 761695 - Move wrapper preservation stuff into a virtual trap. r=peterv
I'm not sure this stuff is correct for non-WN objects. Hopefully that will
come out in review.

Anyway, with this change, the expando infrastructure in XrayTraits is now
fully generic and non-WN-specific. To make things work for other objects,
we now need to implement the virtual traps and hoist the code that calls the
expando machinery out of XPCWrappedNativeXrayTraits.
2012-10-05 18:59:23 +02:00
Bobby Holley
764ba38fdf Bug 761695 - Make expando chain getting/setting a virtual trap. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
522451000d Bug 761695 - Hoist expando infrastructure into XrayTraits. r=peterv
It's still WN-only, now we can move the WN-only bits into virtual traps.

Note that the new-binding reparenting code will need to have a call to
CloneExpandoChain.
2012-10-05 18:59:23 +02:00
Bobby Holley
2b6769e01a Bug 761695 - Hoist Xray identification machinery into XrayWrapper, and use it for trait identification. r=peterv
We don't currently have a good way of selecting the traits used by a given Xray
wrapper. This lets us do that.

Note: We add a call to js::UnwrapObject to GetXrayType while hoisting it. When
it was used only in WrapperFactory, this was unnecessary, because |obj| was
always unwrapped. But for our new purposes, it might not be. Aside from that,
there are no changes to the function.
2012-10-05 18:59:23 +02:00
Bobby Holley
52b466bd70 Bug 761695 - Move Xray expando infrastructure further down in the file. r=peterv
Just cut/paste. No code changes.
2012-10-05 18:59:23 +02:00
Bobby Holley
f025bdc025 Bug 761695 - Unify holder creation and access. r=peterv
With this patch, all holders are created lazily. There are two common accessors,
getHolder() and ensureHolder(). The former returns null if no holder exists, the
latter lazily creates the holder if it doesn't exist. It does this by calling into
a virtual trap on XrayTraits, which lets the appropriate Xray type do its thing.
2012-10-05 18:59:23 +02:00
Bobby Holley
7ca744b818 Bug 761695 - Get the WN directly from the wrapper. r=peterv
All this indirection was getting seriously mucky. This, incidentally, means that
the XPCWN holder no longer needs a reserved slot pointing to the WN.
2012-10-05 18:59:23 +02:00
Bobby Holley
b250c23a43 Bug 761695 - Hoist call and construct traps into Traits, since the current implementations are XPCWN-specific. r=peterv 2012-10-05 18:59:22 +02:00
Bobby Holley
1a61d79fcf Bug 761695 - Rename getInnerObject to getTargetObject. r=peterv
The current name potentially implies that the object returned is an inner
object in the JS sense, which isn't true. Really we just want the thing
we're Xraying to.
2012-10-05 18:59:22 +02:00
Bobby Holley
c701c6c8c9 Bug 761695 - Hoist getInnerObject into XrayTraits. r=peterv
The only special handling here with wrapped natives is to make sure that we
bypass outer windows. But we can do this with js::UnwrapObject.
2012-10-05 18:59:22 +02:00
Bobby Holley
4d248020dd Bug 761695 - Make Xray traits inherit from a common superclass and give them a singleton instance. r=peterv
There's some code that can be shared between different Xray traits, but can't
(yet) be hoisted into XrayWrapper, because it needs to be callable from outside
XrayWrapper where we don't have the appropriate template parameters. Moreover,
this code benefits from virtual function specialization. The use case here is
illuminated in the next patch.

For the moment, we skip converting the bulk of the traits calls to virtual
methods, because they're working just fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
22cdfb3eb3 Bug 761695 - Stop stashing a raw WN pointer in XPCWN Xray holders. r=peterv
We might as well do this dynamically, which simplifies the code. Note that we
could avoid the reserved slot by parenting the holder to the wrapper. But the
JS parent API is deprecated, and we need to move away from it to reserved slots
anyhow. We might as well start here, with the added advantage that parenting
to the global makes us consistent with the other Xray types.
2012-10-05 18:59:22 +02:00
Bobby Holley
612c502d18 Bug 761695 - Simplify XPCWN Xray holder creation. r=peterv
The major semantic change here is that we parent holders directly to their
global. This should be fine.
2012-10-05 18:59:22 +02:00
Bill McCloskey
2e75082f62 Bug 787856 - Convert JS_GetPrototype to support lazy protos (r=bhackett) 2012-09-03 16:42:17 -07:00
Bill McCloskey
88913893e5 Bug 787856 - Convert js::GetObjectProto to support lazy protos (r=bhackett) 2012-09-03 16:42:10 -07:00
Ms2ger
1cee7fe10d Bug 792474 - Don't JS_ASSERT in xpconnect; rs=bholley 2012-09-20 09:55:37 +02:00
Gabor Krizsanits
56f2a0f30d Bug 791845 - mozMatchesSelectorStub should return false on error. r=bholley 2012-09-19 10:53:42 +02:00
Bobby Holley
4473d2369c Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-11 01:05:10 -07:00
Bobby Holley
9d14b3e60e Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-11 01:05:10 -07:00
Bobby Holley
0900323b2e Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-11 01:05:10 -07:00
Ryan VanderMeulen
bdca80da9c Backout bug 788914 and bug 789494 because they were backed out on inbound. 2012-09-07 19:40:57 -04:00
Bobby Holley
cd6c993710 Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-07 11:28:56 -07:00
Bobby Holley
cc73672f56 Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-07 11:28:56 -07:00
Bobby Holley
b0860342e5 Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-07 11:28:56 -07:00
Ed Morley
38c6f2fdd8 Backout 5853df66d488, e8fadd906232, d787279d282c, 8c1ed6327355, 94cfcf5da7c8, 87aa103d7e87 (bug 585922) for failures in test_bug411236.html 2012-09-07 09:15:34 +01:00
Bobby Holley
27358249f4 Bug 788914 - Kill the XOW flag. r=mrbkap
There are really two questions to be asked: is the caller chrome, and does the
caller subsume the callee. We have other, more precise ways of asking both of
these questions.
2012-09-06 22:55:18 -07:00
Bobby Holley
3b8d75b1cc Bug 788914 - Kill partially transparent wrappers. r=mrbkap 2012-09-06 22:55:18 -07:00
Bobby Holley
5b16b0b95a Bug 788914 - Remove dynamic UniversalXPConnect checks sprinkled around the wrapper code. r=mrbkap 2012-09-06 22:55:18 -07:00
Gabor Krizsanits
a4a418d2ac Bug 763897 - Incorrect behaviour of mozMatchesSelector.call through xray; r=bholley 2012-08-27 15:15:20 +02:00
Gabor Krizsanits
56e99a4fb8 Bug 738244 - Supporting DOM specific collection properties through xray wrappers; r=mrbkap 2012-08-27 15:06:34 +02:00
Peter Van der Beken
deff3652d9 Fix for bug 785188 (Make Xrays work with newest DOM list bindings). r=mrbkap. 2012-06-06 21:52:26 +02:00
Luke Wagner
94264a0bc8 Bug 625199 - s/JSAutoEnterCompartment/JSAutoCompartment/ and make it infallible (r=bholley)
--HG--
extra : rebase_source : 12acf2288285f5caefd7fecea8207de3a47eab5b
2012-08-21 18:42:53 -07:00
Peter Van der Beken
13f425b97c Fix for bug 768692 (Move DOM list binding generation to the new DOM binding codegen). r=bzbarsky.
--HG--
extra : rebase_source : 651a0fac4c9a87ef1c0a9cd91588c6421fd050c4
2012-05-22 15:46:20 +02:00
Ehsan Akhgari
b40b21d633 Merge the nullptr conversion from mozilla-central into mozilla-inbound 2012-07-30 10:28:15 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Brian Hackett
ffc948bbbe Use HandleValue and MutableHandleValue in API hooks where possible, bug 776579. r=billm, sr=dmandelin 2012-07-30 05:19:09 -06:00
Ehsan Akhgari
bbea1a843e Bug 776660 - Return null from EnsureExpandoObject instead of false; r=bholley 2012-07-23 15:58:41 -04:00
Bobby Holley
5eac963c7a Bug 774245 - Add WrapperFactory and XrayWrapper machinery to allow same-compartment Xray wrapping. r=mrbkap 2012-07-18 13:51:28 +02:00
Gabor Krizsanits
0908f47e39 Bug 771081 - part2: Rename CrossOriginWrapper files. r=gal
--HG--
rename : js/xpconnect/wrappers/CrossOriginWrapper.cpp => js/xpconnect/wrappers/WaiveXrayWrapper.cpp
rename : js/xpconnect/wrappers/CrossOriginWrapper.h => js/xpconnect/wrappers/WaiveXrayWrapper.h
2012-07-16 19:22:51 +02:00
Bobby Holley
bf7c218243 Bug 655649 - Stop doing dynamic security checks for document.domain. r=mrbkap 2012-07-12 10:10:15 +02:00
Eddy Bruel
aeda49b01d Bug 771908 - Get rid of Wrapper::leave; r=bholley, sr=mrbkap 2012-07-11 14:01:10 +02:00
Eddy Bruel
560a0f014c Bug 703537: Rename AbstractWrapper to IndirectWrapper + adding comments; r=bholley 2012-07-08 19:04:14 +02:00
Ehsan Akhgari
b7c1969ac5 Backout changeset 20b0bce4c165 (bug 703537) under the suspicion of breaking Linux32 mochitest-chrome without framepointers 2012-07-04 19:24:04 -04:00
Eddy Bruel
62517a803b Bug 703537 - Rename AbstractWrapper to IndirectWrapper; r=bholley 2012-07-04 01:20:35 +02:00
Bobby Holley
1578d01098 Bug 767306 - Temporarily make assertion from bug 766641 non-fatal. r=me 2012-06-22 12:01:18 +02:00
Bobby Holley
d169ad7176 Bug 763433 - Clarify compartment situation in Xray wrapper. r=mrbkap
Adding to the mess of the NodePrincipal (et al) check isn't great, but I'm refactoring that in bug 761704.
2012-06-18 15:47:09 +02:00
Bobby Holley
d0bbff2627 Bug 763381 - Fix up compartment situation for expando objects. r=mrbkap 2012-06-18 15:28:11 +02:00
Bobby Holley
96e9ccb417 Bug 763381 - Pass cx around in more places. r=mrbkap 2012-06-18 15:28:11 +02:00
Bobby Holley
b52375725c Bug 758415 - Rip out old expando architecture. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
b6893e41c6 Bug 758415 - Switch WN Xrays to use the new expando infrastructure. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
b59ab77e3d Bug 758415 - Copy expando objects during object transplanting. r=mrbkap 2012-06-05 19:07:37 +02:00
Bobby Holley
9610f7f05a Bug 758415 - Implement expando object infrastructure for WN Xrays. r=mrbkap
Note: This overloads the naming of some of the existing infrastructure,
but the signatures etc are sufficient to disambiguate. The other infrastructure
goes away in a subsequent patch.

Note: We tag sandbox expandos with their global to make sure that the expandos
are never shared between sandboxes. A consequence of this scheme is that an
expando from a sandbox to an object will _always_ result in a GC edge back to
the sandbox, meaning that the sandbox is always kept alive for the lifetime of
the expando target. This could happen before, but only if a non-primitive expando
was placed (since the value of the expando would live in the consumer's
compartment). We could avoid this edge by using a reference-counted Identity()
object instead, but I suspect it's not worth worrying about.
2012-06-05 19:07:37 +02:00
Ms2ger
a552eafda2 Bug 758143 - Add xpc::GetCompartmentPrivate; r=bholley 2012-05-25 09:18:31 +02:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Brian Hackett
c07eaa0e3e Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 15:03:45 -07:00
Brian Hackett
9ae1966596 Backed out changeset 5fc7462dd394 for android orange. 2012-05-19 11:52:55 -07:00
Brian Hackett
a863456144 Use handles in API object hooks where possible, bug 750733. r=billm 2012-05-19 09:48:09 -07:00
Eddy Bruel
36436d48e3 Bug 703537 - Add IndirectProxyhandler; r=bholley,jorendorff 2012-05-17 13:19:37 +02:00
Boris Zbarsky
32c7f6e634 Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom.  General files not specific to an interface are also exported into
mozilla/dom.

In terms of namespaces, most things now live in mozilla::dom.  Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).

IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum.  We then typedef
EnumFooValues::valuelist to EnumFoo.  That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.

The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.

The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.

--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Mark Capella
2599ced77f Bug 723530 - double error reporting in ctype JS api implementation, r=bholley 2012-04-27 12:47:00 +02:00