The urlbar dropdown is a popup window at the moment. However, this causes some problems, and to the best of my knowledge, it does not need to be a popup window any more - it could just be a regular XUL/HTML element that is overlaid on top of the other browser elements, for example using a XUL stack or CSS positioning.
As far as I know, the main advantage of a XUL popup / panel is the fact that it can extend beyond the window that opened it. But the current design does not really require this ability: The panel is usually contained entirely within the browser window. The only exception I've found to this is the case where the browser window is very narrow vertically, and the panel extends a bit downwards below the browser window's bottom edge. I question whether this behavior makes a big difference in actual usage.
Using a regular XUL/HTML element instead would have the following advantages:
- More predictable positioning and sizing behavior: Popup windows come with all kinds extra behavior that makes sense for context menus or tooltips, but which is not needed for the autocomplete panel. Regular CSS-controlled sizing would be easier to reason about, I think.
- Performance: Popup windows are their own special thing when it comes to drawing. A popup gets its own OS window + layer manager + compositor, which has overhead, and depending on the platform this compositor might not be hardware accelerated. And animations of popup window sizes are not optimized. Basically, if you paint into the browser window itself, you get to take advantage of all the graphics optimization work that was done for websites. If you paint into a popup window, you're on your own, and a lot of that graphics work does not benefit you.
Chrome also does not use a separate OS window for its urlbar dropdown, it paints it into the browser window and constrains it to the browser window's bounds.