Friday, February 07, 2014

Новые приключения с Crossrider

Только мы с Crossrider прошли квест по фиксу утечки памяти при работе расширения в Firefox, как история получила продолжение, но уже с другими бразуерами.

1. Интернет Эксплорер. Расширение прекрасно работает под админским аккаунтом, но не работает под пользовательским. Покопал немного и выяснил, что не заносятся данные (скрипты) в реестр. Кроссрайдеровцы, не следуя мануалам Майкрософт, сохраняют все скрипты в реестре. А скрипты там немаленькие, представьте размер JQuery, а там их 2 версии присутствует, да и плюсом другие скрипты движка.

Пусть будет так, если это работает. Но это работает только под админской учёткой, но у меня есть привычка работать под пользовательским аккаунтом с ограниченными правами. И тут решение от Кроссрайдер почему то не работает. Инсталлятор говорит всё Ок, всё установлено. Но скрипты в реестре не появляются. И соответственно расширение в такой конфигурации не работает. Ищу дальше и нахожу, что при использовании regedit многострочные текстовые данные, где присутствуют символы перевода строки chr(13) и возможно chr(10), не сохраняются в реестре. Даже ключи не создаются. Видимо ошибка в парсинге таких данных при импорте regedit'ом. Возможно и Кроссайдеровцы используют regedit (или самописную тулзу) для переноса ключей реестра в юзерскую ветку реестра из админской при установке.

Кстати, MSFT рекомендует экранировать спецсимволы при сохранении строк в реестре, и хотя статья на сайте MSFT относится к сохранению путей к файлам, но не исключено, что это относится ко всем не ANSI символам.

Написал обо всём найденном в хелпдеск Кроссайдера. И приступил к другому браузеру.

2. Safari. Чтобы получить расширение для Сафари сначала необходимо залить сертификат разработчика от Эппл. Сертификат у меня был получен (недавно описывал), только несколько в другой форме. OpenSSL и инструкция с сайта Кроссрайдера помогла получить нужный тип сертификата. Залил. Получаю ссылку на скачивания расширения для Сафари. Скачиваю. Устанавливаю. Не работает.

Смотрю ошибки. Не находит мою функцию. Смотрю содержимое расширения - файл, где должен находиться код расширения пустой. Размером в 1 байт. Пишу об этом в хелпдеск Кроссрайдера. И жду ответа, который скорее всего появится в понедельник вечером.


No comments: