Являются ли надстройки xpi Firefox для нескольких элементов устаревшими отдельно и опережают остальные дополнения SDK?
В текущей версии Firefox для разработчиков (53.0a2) попытки установить многопозиционный xpi терпят неудачу с ошибкой, указывающей, что xpi-файл поврежден. Консоль браузера определяет проблему как неизвестный тип xpi (т. Е. Тип 32 для многоэлементных xpi стал неизвестным).
В последнем коде, начиная со строки 228 https://github.com/mozilla/gecko-dev/blob/master/toolkit/mozapps/extensions/internal/XPIProvider.jsm
Мы читаем:
// Map new string type identifiers to old style nsIUpdateItem types
// Type 32 was previously used for multipackage xpi files so it should
// not be re-used since old files with that type may be floating around.
const TYPES = {
extension: 2,
theme: 4,
locale: 8,
dictionary: 64,
experiment: 128,
};
Как говорится в комментарии, тип 32, который был для многоэлементных типов xpi, был удален из кода.
Однако я не могу найти документации о том, что тип расширения для нескольких пакетов устарел отдельно или раньше, чем сам SDK-надстройка, который ранее его поддерживал. Кроме того, веб-страница:
Упаковка расширений: https://developer.mozilla.org/en-US/Add-ons/Extension_Packaging была обновлена менее месяца назад со следующей отметкой об обновлении: Последнее обновление: wbamberg, 10 января 2017 г., 3:51:23 вечера
На этой странице есть раздел "XPI-расширения для нескольких элементов"; Несмотря на вышеупомянутое удаление из последнего кода, этот раздел документа идет дальше и рассказывает, как создавать многоэлементные xpi-файлы. Обратите внимание, что разработчики, которые фактически следуют этому направлению или пытаются перенести устаревшую надстройку, не смогут самостоятельно подписать надстройку или отключить проверку подписей в текущих стандартных сборках Firefox; таким образом, они должны использовать версию Firefox для разработчиков, но текущая версия Firefox для разработчиков не поддерживает такое дополнение.
Каково / было действительное намерение здесь в отношении надстроек для расширения из нескольких элементов? Например, они устарели отдельно и опережают остальную часть дополнительного SDK? Можем ли мы использовать новую строковую идентификацию, а не целое число, что подразумевается в приведенном выше комментарии к коду, где говорится "Сопоставить новые идентификаторы строковых типов с типами nsIUpdateItem старого стиля"?