Mozilla использует различные «бэкэнды», которые отвечают за низкоуровневую операционную систему - например, создание окон верхнего уровня и управление ими, предоставление диалога выбора файлов, воспроизведение звуков. Для Linux существует два таких бэкэнда: один на основе GTK2 , другой на QT . Официальные сборки Linux используют бэкэнд GTK2, но, как я слышал, бэкэнд QT довольно заброшен.
Что касается вещей высокого уровня - все сделано в XUL , который не зависит от платформы. На этом этапе бэкэнд был в основном абстрагирован.