For the past little while, I’ve been working on adding support for OS X Lion’s native Full Screen mode to Firefox. This was something that others had started before Lion was even released but nobody ever finished it. Since then, every other major browser has shipped support for the feature.

I decided to start working on it in December since nobody else was. Having never really touched Objective C(++) or Cocoa, the task took a bit longer for me than it would have others, but now it’s done and I have more experience with our widget/ code. At the end of the day, the changes need to hook everything up were suprisingly minimal. If you want to check out the process, the work was done in bug 639705.

The patches were landed the other day and are currently in Firefox Nightly. Assuming there are no major issues, this should ship in Firefox 14. Since this landed early in the release cycle, there should be plenty of time to catch any fallout. There are a few known bugs to follow up with (see below) but if you notice any other issues on the Firefox side, please file a new bug (already setup for a new bug in Firefox:General with me CCed).

Adding Support to Your Gecko Application

Since the feature is enabled down in the core, it’s now easy to support Lion Full Screen in your Gecko application. All that you need to do is add fullscreenbutton="true" to your <window>. Thunderbird is in the process of doing this. If you’d like your application to make UI changes (beyond just titlebar hiding), the fullscreen event is fired on the window after the transition is complete.

But wait, there’s more

What I’ve done so far is really just the baseline support. There are a few followup bugs: