В дерево исходных текстов web-браузера Epiphany, разрабатываемого в рамках проекта GNOME, интегрирована поддержка создания дополнений на языке JavaScript. Возможность реализована через задействование системы Seed, GObject обвязки (биндинга) для JavaScript на основе WebKit/JavaScriptCore. Изначально Seed разрабатывается как средство для создания полноценных десктоп приложений на языке JavaScript, интегрируемых в среду GNOME и использующих API GTK+.
В основанной на Seed системе расширений Epiphany предусмотрены объекты для управления табами, элементами интерфейса, окнами, для обработки событий. Интроспекция с GObject позволяет при разработке расширений значительно упростить доступ к Epiphany API из JavaScript скриптов. Скрипт расширения и связанные с ним мета-данные помещаются в директорию ~/.gnome2/epiphany/extensions. Для демонстрации возможностей новой системы расширений представлено несколько примеров дополнений.
|