Эмилио Посуэло (Emilio Pozuelo), участвующий в работе по адаптации Firefox для работы с GTK3+ сообщил (http://emilio.pozuelo.org/?p=75) об успешном запуске экспериментального GTK3-порта Firefox (http://copr-fe.cloud.fedoraproject.org/coprs/stransky/Firefo.../) в окружении композитного сервера Weston, развиваемого проектом Wayland. Сообщается, что в коде Firefox остаётся много привязок к X11, большинство из которых уже были отделены в блоки "#ifdef MOZ_X11". При организации запуска под управлением Wayland/Weston, код Firefox был дополнительно почищен и снабжён рядом "хаков" для обхода возникших проблем. В частности, пока при запуске в Weston наблюдаются проблемы с клавиатурой.
<center><a href="http://emilio.pozuelo.org/wp-content/uploads/2014/06/firefox... src="http://www.opennet.dev/opennews/pics_base/0_1403706128.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Кроме того, Эмилио рассказал о проблемах в процессе портирования Firefox на GTK3+ и способах их решения. Например, одной из самых неприятных проблем была необходимость одновременной загрузки GTK2+ и GTK3+, которая была обусловлена тем, что плагины, такие как Flash, остаются привязанными к GTK2+, в то время как сам браузер уже может использовать GTK3+. Данная проблема была решена через создание специальной прослойки libmozgtk.so, используемой между libxul и GTK+. Прослойка ссылается на GTK3+, но одновременно предоставляет набор символов, специфичных для GTK2+. Одновременно доступна противоположная прослойка libmozgtk2.so, которая ссылается на GTK2+, но одновременно предоставляет набор символов, специфичных для GTK3+. При работе Firefox используется libmozgtk.so, а при запуске плагина процесс plugin-container через LD_PRELOAD=libmozgtk2.so использует второй вариант прослойки. Так как libmozgtk2.so и libmozgtk.so предоставляют идентичный набор символов, их использование с единой библиотекой libxul.so не создаёт проблем.
URL: http://emilio.pozuelo.org/?p=75
Новость: http://www.opennet.dev/opennews/art.shtml?num=40079