Для чего это расширение
Мне нужна была функция в Chrome, чтобы выделять текст (аналог маркера на бумаге) и добавлять к нему небольшие заметки, содержащие, в том числе, гиперссылки, и с возможностью навигации по выделениям в большом тексте, т.е. чтобы в боковой панели рядом с веб-страницей был список отмеченных мест и можно было кликнув по элементу этого списка переместится в соответствующее место.
Так, чтобы выделение и их удаление работали из меню правой кнопки мыши. И критическим требованием был открытый код для устанавливаемого расширения.
В итоге написал такое сам. Код открытый и выложен на GitHub и GitLab.
Задача была сделать максимально легковесное приложение, которое минимально вмешивается в скрипты на странице, и максимально использует встроенные функции браузера.
С технической стороны код служит хорошей демонстраций понятия "грязный хак" :) Для работы с выделенным текстом я использую давно устаревшие (deprecated), но все еще поддерживаемые функции браузера предназ наченные для других целей.
Как работает видно на видео: