Developers from Nokia and Mozilla have been working hard to port the Mozilla Platform and Firefox to Qt and there are now some solid results available. An experimental build of Firefox Qt is available, and you can download the sources from Mozilla's mercurial repository. The plan is to merge the Qt branch into the central Mozilla branch to make the port official. KDE Dot News spoke to developer Oleg Romaxa from Nokia who came to Akademy 2008 from Finland.
Why did you do this port?
Because we were going to make Maemo use Qt in the future and we were making a browser based on Mozilla for the N810, so now we are making this new browser version based on Qt. Before, there was no Qt port available for Mozilla. It only took us 5 days to port it. We asked for help from Mozilla and they sent a team to Finland for a week.
What's the current state of the port?
The Qt port is mostly ready now for our browser. For full Firefox support, we need to implement XUL widgets, theming, and make some implementation for Flash player (NPAPI) support: it works but doesn't currently draw anything.
Will this be supported in future?
Yes, we will support it. We will cooperate with Trolltech to ensure it continues to be supported.
What is Mozilla's interest in this?
Mozilla are interested in mobile devices. Nokia make mobile devices, and will be using Qt. If you look at the mobile Firefox requirements, Qt support is in that.
Why are Nokia now developing two browsers? This one and QtWebKit?
Nokia will use the best browser for the job. Currently, we cannot make a full-featured and integrated browser with WebKit in mobile. But with Mozilla, we do not need to do anything, we can take existing models and API's which are available. Also, NPAPI support is already in the Gecko web rendering engine. They are also concerned that WebKit is to some extent controlled by Apple, who are in competition to Nokia with their iPhone.
What are you hoping to get out of Akademy?
I'm hoping to find people and ask them what they think about the Qt port and having Mozilla integrated into KDE. So far people are just talking about WebKit.
Will distributions package it?
That would be interesting to know. Maybe Kubuntu would like to have it...
Also, i've heard of Russian companies making KDE-based distributions and they might be interested in having Firefox without having GTK installed.
Do you think Mozilla will get rid of GTK?
No, Mozilla will support officially only the ports they have a particular interest in. If it helps to expand their market they will be more interested.
Where can people find more information?
There is a branch available on Mozilla's Mercurial repository. http://hg.mozilla.org/users/romaxa_gmail.com/index.cgi/mozilla-qt/ is the latest branch, it should soon be merged when I fix a final outstanding bug.
What needed doing for the port?
We ported Cairo to gain a QPainter backend. It's not full-featured, but it's enough for a web browser. Qt's implementation of the Cairo backend is much simpler than with GTK, because Qt is better able to integrate graphics and widgets.
Can the Cairo backend be used for other Cairo applications, like swfdec?
I'm sure it's already possible to do most of what's needed, images and compositing are there. It's not fully implemented but it's mostly complete. We are talking to Cairo developers to push the Qt backend into the Cairo source tree.