Pour dessiner une page Firefox utilise principalement Mozilla-Azure, qui lui même a plusieurs backend (ha j'ai trouvé ça pour dégrossir le terrain). :
- Direct2/3D (Windows),
- Quartz/Coregraphique (OSX),
- OpenGL/Cairo (Linux)
A partir de là, je pense qu'un toolkit (Xul compris) est superflu et que c'est à Gecko/Servo d'avoir des backends qui utilisent soit OpenGl/Cairo, soit Wayland/X11/Mir directement.
Comme le fait blender en utilisant de l'OpenGL pour son interface : puisque de toute façon ce logiciel implémente un rendu OpenGL et que celui-ci sera forcément lancé, on peut utiliser OpenGL partout.
Pour Firefox, mon raisonnement est le même : on a un moteur html qui est lancé, pourquoi ne pas l'utiliser partout.
Et je pense que c'est l'idée du dev mozilla à l'origine de browser.html, puisque son objectif est de ne plus avoir besoin de Xul (Xul qui est utilisé actuellement comme surcouche à Gtk2/3, cocoa, windows).
petite réflexion (mais arrêtez moi si je dis des âneries) :
- Gtk3 utilise cairo comme backend
- Gecko utilise Cairo comme failsafe backend (si il n'y a pas OpenGL)
Donc si on fait un portage Gtk3 de firefox on se retrouvera avec des cas où firefox fera appel à cairo pour dessiner la page, puis à Xul qui sous linux fera appel à Gtk3 (pour les éléments genre boutons) qui fera lui même appel à cairo pour faire ce rendu.
[^] # Re: Et quid du portage gtk3 ?
Posté par trancheX . En réponse à la dépêche Firefox 35 heures. Évalué à 2.
Pour dessiner une page Firefox utilise principalement Mozilla-Azure, qui lui même a plusieurs backend (ha j'ai trouvé ça pour dégrossir le terrain). :
- Direct2/3D (Windows),
- Quartz/Coregraphique (OSX),
- OpenGL/Cairo (Linux)
A partir de là, je pense qu'un toolkit (Xul compris) est superflu et que c'est à Gecko/Servo d'avoir des backends qui utilisent soit OpenGl/Cairo, soit Wayland/X11/Mir directement.
Comme le fait blender en utilisant de l'OpenGL pour son interface : puisque de toute façon ce logiciel implémente un rendu OpenGL et que celui-ci sera forcément lancé, on peut utiliser OpenGL partout.
Pour Firefox, mon raisonnement est le même : on a un moteur html qui est lancé, pourquoi ne pas l'utiliser partout.
Et je pense que c'est l'idée du dev mozilla à l'origine de browser.html, puisque son objectif est de ne plus avoir besoin de Xul (Xul qui est utilisé actuellement comme surcouche à Gtk2/3, cocoa, windows).
petite réflexion (mais arrêtez moi si je dis des âneries) :
- Gtk3 utilise cairo comme backend
- Gecko utilise Cairo comme failsafe backend (si il n'y a pas OpenGL)
Donc si on fait un portage Gtk3 de firefox on se retrouvera avec des cas où firefox fera appel à cairo pour dessiner la page, puis à Xul qui sous linux fera appel à Gtk3 (pour les éléments genre boutons) qui fera lui même appel à cairo pour faire ce rendu.