The Media module uses an iframe to render a full Drupal page request (and uses page_alter to remove non-essential items). It's very similar to how Overlay works, but in that case, since overlay takes up the full browser window, having admin menu in that page works just fine. It does not however work for non-Overlay popups.
Currently we've had to patch media.module to add admin_menu_suppress() but I'm wondering if you know of a more general solution for 'hey this type of page build should not include an admin menu'?
Comments
Comment #1
sunFor now, module_invoke('admin_menu', 'suppress') is the best way.
For D7, the goal is to move the entire building and rendering into hook_page_build(), which likely eliminates most hiccups in iframe/ahah/ajax scenarios.
That said, I'd *highly* recommend Media module to not follow Overlay's insane example. Overlay's entire implementation idea is utterly wrong and way behind D7's possibilities. Instead, either register and use a new delivery callback, or conditionally override the html_page one based on a certain request parameter. To see an example of how to do that, look into admin_dialog module in my CVS sandbox, which will soon be a sub-module of the admin_menu project/package.