Sure, but that's only in index.xul, which is a very small part of the project. Everything else is plain old js+html (xhtml necessary for localization). Apologies, I didn't notice that when I said "there's no XUL in there".
As a meta-discussion, <vbox> is just a fancy way of saying:
div {
display: -moz-box;
-moz-box-orient: vertical;
}
...which is the old flexbox implementation. But I digress :)
They didn't step down because of Brendan, but for different reasons.
"The three board members ended their terms last week for a variety of reasons. Two had been planning to leave for some time, one since January and one explicitly at the end of the CEO search, regardless of the person selected."
Promises and generators actually work magnificently well together. I would recomend taking a look at an implementation of Task.js [1][2] and, for example, some of its (increasing) usage across the Mozilla codebase [3].
These comparisons bring up memories of when we used to benchmark empty for loops. I think today’s microbenchmarks are starting to feel just like that.
Comparing the execution time of a hundred thousand (sync or not) callbacks vs. a hundred thousand (sync or not) promises is, in many cases, not a good or deciding factor for what tool you should pick from the toolbox. I would assert that in realistic scenarios, it really doesn't matter.
If you don't know already, a huge UI overhaul is planned to land sometimes between Firefox 25 or 26 [0]. As far as I know, better performance is a big reason for the change as well.
A small nitpicky correction: XUL is a markup language, but one can certainly write Firefox UI using HTML or XHTML as well. The logic is written JavaScript.
For example, the markup view itself from the Firefox Developer Tools is written in HTML [0] and JS [1]. Other tools like the Network Monitor use XUL.
The devtools are indeed dockable on the right now in FF 22, but not responsive yet (so when little horizontal real estate is available, the tools will look and feel very cramped).
The upcoming versions address this issue (in the end, it's all just CSS; for example: [0]).