Organize directory structure for new DOM bindings

RESOLVED WORKSFORME

Status

()

Core
XPConnect
RESOLVED WORKSFORME
6 years ago
6 years ago

People

(Reporter: bholley, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
Currently, js/xpconnect/src has a few different families of things all smushed together:

* XPCFoo.{cpp,h} - Classical xpconnect source files
* Codegen python and config files for quickstubs, new dom bindings, and dictionary helpers
* Support code for generated code, i.e. XPCQuickStubs.{cpp,h} and dombindings.{cpp,h}

It's starting to feel a bit crowded, so it would be good if we could abstract some of this stuff to its own directory, similar to what happened with xpconnect/wrappers.

I'm a bit concerned that if we wait until the paris meetup to do this, we won't get around to it (since directory moves are messy when everyone's hurriedly hacking on the same code), and we'll end up piling all the new code we write into xpconnect/src, making it hard to extricate later.

So if we know where we want to put this stuff (and maybe we don't), I'd like to get the moves done ahead of time. What do people think? xpconnect/dom? Should codegen live in its own directory? Is there anything we'll need to keep quickstubs around for after the new dom bindings are ready?
<bikeshed> dom/bindings </bikeshed>
(Reporter)

Comment 2

6 years ago
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #1)
> <bikeshed> dom/bindings </bikeshed>

I think the code is likely to play much more heavily with the things in js/xpconnect/src, js/xpconnect/wrappers, and js/src than anything in dom/, so it seems more logical to me to put it in js/xpconnect/. But I'll defer to Blake & co.
(In reply to Bobby Holley (:bholley) from comment #2)
> (In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #1)
> > <bikeshed> dom/bindings </bikeshed>
> 
> I think the code is likely to play much more heavily with the things in
> js/xpconnect/src, js/xpconnect/wrappers, and js/src than anything in dom/,
> so it seems more logical to me to put it in js/xpconnect/. 

Agreed.

Now, people, there's a bike shed to paint, why is everyone so silent? :)
When people go hunting for code that controls the new dom bindings I bet they'd look in dom/ first. Who cares if the code is going to play with xpconnect (most of our code does so). Let's build the world we want. dom/bindings++
I think I'm with bent on this one.

Of course I also think we should move most of content/ somewhere into dom/.....

Also, purple with yellow polka dots.
I also think this should be somewhere in dom, and I think that's why this is premature. We should do the move when we're much farther along, when we've untangled the new bindings from quickstubs and from most of XPConnect.
(Reporter)

Comment 7

6 years ago
We're putting this stuff in dom/bindings. We'll take care of the XPConnect stuff later.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.