On Fri, 14 Aug 2009 08:55:43 +0200 Sergey Spiridonov <sena@hurd.homeunix.org> wrote: > > Ничего тут невообразимого нет. Описать интерфейсы и не ломать их. > > Ну и модули в отдельные процессы вынести, чтобы никакой плагин не мог > > попортить чужое адресное пространство. > > Просто интересно, есть ли уже готовая идея, как это приблизительно > сделать для браузера, например? То есть что должно быть в центре, что > на периферии. Для микроядра известно что делать, есть примеры. А для > браузера? Для офиса? Навскидку для файрфокса: 1. Оторвать хранилище паролей и научить его либо читать .netrc, либо спрашивать пароль у внешней команды. Лично меня уже порядком утомило, что при каждом запуске приходится нажимать "ок" в окне запроса пароля на прокси. Было бы сделано как указано, я бы написал 5 строк на шелле и более бы не вспоминал о том, что хожу через прокси. 2. Оторвать транспортный уровень. Скармливать рендереру html по мере прибытия и получать от него запросы на картинки/css, которых ему не хватает. 3. Вынести каждый таб в отдельный процесс. Как показал опыт гуглохрома, от этого тормозить не начинает. 4. Определить интерфейсы рендерера, DOM и javascript интерпретатора. Их из-за интенсивного обмена данными разнести по процессам вряд ли получится, но сделать их хотя бы заменяемыми тоже неплохо. 5. В итоге от всей махины "файрфокс" останется только программка, которая будет рисовать страницу в указанное иксовое окошко. Предвижу вопрос "а что же станет с плагинами?". Поэтому отвечу сразу: плагины уйдут в соответствующий модуль. Причём вещи типа adblock можно будет реализовать фильтром на линке между "рисовалкой" и транспортом. В результате чего писать их станет возможно не только на дикой смеси javascript и xml, но и на языке, который захочет выбрать конкретный плагинописатель. -- Alexander Galanin http://galanin.nnov.ru
Attachment:
pgpgB1zZFsCrI.pgp
Description: PGP signature