> плагин != расширение? какая разница?В том, что плагин это готовый бинарный код, а расширения в фоксе собираются в рантайме из сорцов. Бинарный код очень сильно зависит от окружения, а сорцы (да ещё и на JS) практически не зависят.
> портирования нет, но написание с нуля есть. с каких пор написание с
> нуля стало более эффективным применением времени программиста?
Когда сторонние решения не подходят по своему устройству, то это более чем разумный подход.
> пока в жабаскрипте нет weak указателей, утечки будут
Дело не в утечках памяти. Памяти это всё будет жрать в несколько раз больше флэша просто по-определению и всегда. Проблема с безопасностью и крашами.