Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№5104-12-2018 12:34:25

япогс
Участник
 
Группа: Members
Зарегистрирован: 08-03-2012
Сообщений: 343
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Я вот чего-то не пойму! Мне что оставаться на XP или как? Не стоит обновляться и гнаться за последними версиями. Что тут за ретро ажиотаж?

Отсутствует

 

№5204-12-2018 12:58:31

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 3604
UA: Firefox 63.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

япогс пишет

Мне что оставаться на XP или как?

Менять ОС лишь из-за одного браузера, по моему мнению, не стоит.

Отсутствует

 

№5304-12-2018 13:02:04

JustOff
Участник
 
Группа: Extensions
Зарегистрирован: 23-09-2015
Сообщений: 189
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

pag77 пишет

Mozilla выполнила своё обещание - всё XUL-версии удалены

Classic Add-ons Archive - тут они сохранены

Отсутствует

 

№5405-12-2018 13:48:35

Kero
Участник
 
Группа: Members
Зарегистрирован: 09-11-2012
Сообщений: 190
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

plymouth
респект

Я вот чего-то не пойму! Мне что оставаться на XP или как? Не стоит обновляться и гнаться за последними версиями.

XP последняя дружелюбная к пользователю система,
7 повёрнутая к пользователям уже задом
10 послала пользователей на :tongue2:

JustOff

тут они сохранены

только инфа оних :(

Отредактировано Kero (05-12-2018 14:47:32)

Отсутствует

 

№5505-12-2018 14:03:37

JustOff
Участник
 
Группа: Extensions
Зарегистрирован: 23-09-2015
Сообщений: 189
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Kero пишет
JustOff пишет

тут они сохранены

только инфа оних

Да, но все ссылки в этом каталоге ведут на независимое от AMO зеркало, откуда по-прежнему все можно скачать.

Отсутствует

 

№5605-12-2018 14:45:36

Kero
Участник
 
Группа: Members
Зарегистрирован: 09-11-2012
Сообщений: 190
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

JustOff а это вы сделали Classic Add-ons Archive  ?

Отсутствует

 

№5705-12-2018 15:10:16

JustOff
Участник
 
Группа: Extensions
Зарегистрирован: 23-09-2015
Сообщений: 189
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Kero пишет

JustOff а это вы сделали Classic Add-ons Archive  ?

Да.

Отсутствует

 

№5805-12-2018 15:26:10

Kero
Участник
 
Группа: Members
Зарегистрирован: 09-11-2012
Сообщений: 190
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

JustOff
ну тогда тоже респект :)

Отсутствует

 

№5905-12-2018 16:19:16

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1652
UA: Firefox 63.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

JustOff пишет

Kero пишет: JustOff а это вы сделали Classic Add-ons Archive  ?Да.

да же на gHacks отметили :)
https://www.ghacks.net/2017/11/10/firef … s-archive/

Отсутствует

 

№6005-12-2018 20:44:39

япогс
Участник
 
Группа: Members
Зарегистрирован: 08-03-2012
Сообщений: 343
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Coroner пишет

Менять ОС лишь из-за одного браузера

Так ведь не работает нормально, нет поддержки новых видео форматов. Ютуб по двойному клику запускается. 52.9.0 уже не торт. Да и другие программы ушли вперед.

Kero пишет

XP последняя дружелюбная к пользователю система

Возражать не буду, семерку видел поверхностно.  Мое: скачал установил и вперед без глубокой настройки. Без кастомизации и юзерхромизации.

Отсутствует

 

№6106-12-2018 00:20:55

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1109
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

JustOff пишет

patches to run CAA in non-e10 window are welcome

Что-то стало интересно возможно ли это в принципе.
Изложу некоторые изыскания для Firefox, а ты, может, подхватишь.
Извиняюсь за сумбурное многословие.

чтиво
db.js
Заменил первый аргумент у NetUtil.asyncFetch(), ну просто потому, что пора.
Services.dirsvc.get("ProfD", ...) не работает в контентском процессе,
поэтому, на скорую руку, пробросил стилем, иначе вообще ничего не посмотреть,
даже точку с запятой не разреплейсил, а она может быть в путях.

Посмотрел, в принципе, само по себе, работает. Но операции
создания и удаления файлов не работают. Нужно у главного процесса просить.
Например сослаться в BSP/NSVO (то, что возвращает Cu.import()) на объект,
который создается ca-protocol.js (см. далее), а в нём метод чтоб заказать операцию.

Типа удалить, создать, получить путь до профиля.
Отправляется сообщение в главный процесс, слушается ответ, вызывается callback.
Всё это очень душно, не стал делать. А может и не нужно, всё это для старых версий,
где caa-страницы открываются в контентском процессе.


bootstrap.js
Тяп-ляп кое-что подпаял чтобы не доставало алертом и ошибками.
Ну и вышеупомянутый стиль с путём до профиля оттуда регистрируется.
Но главное — загрузка process script'а из функции startup() который отвечает за caa: протокол.


ca-protocol.js (новый файл)
Всё это была присказка, а теперь сказка.

С Firefox 54 в E10SUtils.jsm-переключатель, который отвечает за то,
в каком процессе будет открываться адрес, добавили проверку на nested URIs.

Таким образом, есть возможность заставить открываться caa-страницы
в главном процессе, даже из контентского. Для этого URI, возвращаемый
CAA nsIProtocolHandler'ом должен содержать соответстствующий nsINestedURI

Здесь подходит только адрес типа about: который,
с одной стороны, не содержит флагов, которые позволяют
открываться caa-адресам в контентском процессе,
а с другой стороны содержит флаги, которыми будет доволен nsIScriptSecurityManager

На Firefox 54 не проверял, но на Firefox 56 и Firefox 64, вроде, работает.
CAA-вкладки открываются как привилегированные и восстанавливаются после перезапуска.
И никаких контент-процессных ограничений.

Ну, то есть, если и у тебя подтвердится, то можно, например, декларировать,
что многопроцессность поддерживается с такой-то (54?) версии Firefox,
если не хочется перегонять межпроцессные сообщения туда-сюда для более старых версий.

Хотя, можно попробовать переопределить сам E10SUtils-переключатель,
если счесть такое позволительным.

Вобщем попробуй, если заинтересовало. Коды далее.


коды
db.js
bootstrap.js
ca-protocol.js


Выделить код

Код:

"use strict";
let EXPORTED_SYMBOLS = ["DB"];

var Cc = Components.classes, Ci = Components.interfaces, Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/NetUtil.jsm");
Cu.import("resource://gre/modules/FileUtils.jsm");

function copyDataURLToFile(document, url, file, callback) {
  //NetUtil.asyncFetch(url, function(istream) {
  NetUtil.asyncFetch({uri: url, loadUsingSystemPrincipal: true}, function(istream) {
    let ostream = Cc["@mozilla.org/network/file-output-stream;1"].
                  createInstance(Ci.nsIFileOutputStream);
    ostream.init(file, -1, -1, Ci.nsIFileOutputStream.DEFER_OPEN);
    NetUtil.asyncCopy(istream, ostream, function(result) {
      callback && callback(file, result, document);
    });
  });
}

function showMessage(document, msg, style) {
    let div = document.createElement("div");
    div.className = style;
    div.appendChild(document.createTextNode(msg));
    let page = document.getElementById("page");
    page.appendChild(div);
}

let DB = {

    db: null,

    openDB: function(dbname, document) {
        //let dir = Services.dirsvc.get("ProfD", Ci.nsIFile); dir.append("ca-archive");

        var profDirPath = document.defaultView
            .getComputedStyle(document.documentElement)
            .getPropertyValue("--profile-directory");

        let dir = FileUtils.File(profDirPath); dir.append("ca-archive");
        try {
            let storageService = Cc["@mozilla.org/storage/service;1"].getService(Ci.mozIStorageService);
            let dbFile = dir.clone(); dbFile.append(dbname);
            if (dbFile.exists() && dbFile.fileSize > 0) {
                this.db = storageService.openDatabase(dbFile);
            } else {
                if (!dir.exists()) {
                    showMessage(document, "Performing initial database provisioning ...", "db-warning ok");
                    throw "Init";
                } else {
                    throw "CA Archive database has just been updated, not ready or corrupted!";
                }
            }
            return true;
        } catch (e) {
            if (e != "Init") {
                Cu.reportError(e);
                showMessage(document, e, "db-warning");
                showMessage(document, "Trying to (re)provision database, please wait ...", "db-warning");
            }
            let tmpFile = FileUtils.getFile("TmpD", ["ca-archive.tmp"]);
            tmpFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
            let src = Services.io.newURI("chrome://ca-archive/content/db/" + dbname, null, null);
            copyDataURLToFile(document, src, tmpFile, function(file, result, document) {
                try {
                    if (result == 0 && file.exists()) {
                        if (dir.exists()) {
                            dir.remove(true);
                        }
                        dir.create(Ci.nsIFile.DIRECTORY_TYPE, FileUtils.PERMS_DIRECTORY);
                        tmpFile.moveTo(dir, dbname);
                        showMessage(document, "Database has been processed successfully!", "db-warning ok");
                        showMessage(document, "Please reload the page.", "db-warning ok");
                    } else {
                        throw "CA Archive database Fatal Error!";
                    }
                } catch (e) {
                    Cu.reportError(e);
                    showMessage(document, e, "db-warning bad");
                    showMessage(document, "Try to reinstall CA Archive.", "db-warning bad");
                }
            });
            return false;
        }
    },

    closeDB: function() {
        this.db.close();
    }

};

Отсутствует

 

№6206-12-2018 17:59:31

JustOff
Участник
 
Группа: Extensions
Зарегистрирован: 23-09-2015
Сообщений: 189
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Dumby пишет

Изложу некоторые изыскания для Firefox, а ты, может, подхватишь.

Спасибо, я экспериментировал приблизительно похожим образом, но безглючного варианта, увы, так и не получилось.

всяческие подробности
Я точно так же вынес поддержку протокола в отдельный модуль для загрузки через loadProcessScript, а потом затосковал от необходимости переделывать всю логику работы с базой на клиент-сервер через сообщения. Ну вот как-то вот вообще нет желания этим заниматься, от слова совсем.

Дальше добрался до E10SUtils.jsm и попытался подменить canLoadURIInProcess, но так и не придумал как это нормально сделать. А вот до идеи с nsINestedURI не дошел, т.к. ковырял ESR52, в котором этой логики еще нет, хотя, если честно, я и сейчас не до конца понимаю код makeURI в котором вы это сделали.

Впрочем, похоже проблемы этим не исчерпываются: в вашем варианте у меня сами страницы caa:* отображаются успешно, но при попытке загрузить или установить дополнение содержимое текущей страницы просто молча исчезает и как-то даже никаких идей какого-такого собственно.

Отсутствует

 

№6307-12-2018 15:10:13

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 1109
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

JustOff

скрытый текст

не до конца понимаю код makeURI

Попробую объяснить.
Нужно создать функцию, которая вернёт nested URI.

Для этого проверяем есть ли у какого-нибудь URI метод "mutate",
который добавили в Firefox 59, а проверяем потому,
что всё в том же Firefox 59 выпилили nsINetUtil.newSimpleNestedURI()

Если метод "mutate" есть

Преподготовка: создаём URI с адресом "view-source:about:caa"
(это nested URI у которого innerURI будет "about:caa").
У него будем вызвать mutate() чтобы получить nsIURIMutator.

Функция: получаем мутатор, setSpec() установит адрес и вернёт этот же мутатор,
а finalize() вернёт свежеиспечённый URI (у которого innerURI останется "about:caa").
Его и возвращаем.

Если метода "mutate" нет

Преподготовка: получаем nsINetUtil, создаём URI с адресом "about:caa"
и пропускаем через nsINetUtil.toImmutableURI().
Полученный URI (это будет будущий innerURI) понадобится как аргумент
для nsINetUtil.newSimpleNestedURI().

Функция: вызываем newSimpleNestedURI() с подготовленным URI,
вернется пустая болванка с нужным innerURI.
Устанавливаем spec, возвращаем новорождённый URI.

Всё. Все инстанции созданы, функция определена.

Теперь (при первом вызове) заменяем в прототипе метод makeURI
на нашу созданную функцию, вызываем её и возвращаем результат вызова.
Это что-то типа lazy getter'а.

Ну вот, как-то так.

добрался до E10SUtils.jsm и попытался подменить canLoadURIInProcess, но так и не придумал как это нормально сделать
...
содержимое текущей страницы просто молча исчезает и как-то даже никаких идей какого-такого собственно

У меня есть предположение, что это всё тот же E10SUtils-переключатель так выкрутасничает.
Прощай caa-страница из главного процесса, здравствуй about:blank из дочернего.

А подменить, давай я пропробую, чисто теоретически, сделать набросок подменялки,
а ты скажешь, полный отстой или в этом что-то есть.

CAAHandler.prototype.init()


Выделить код

Код:

    init() {
        var isTargetLink = url =>
            url.startsWith("https://ca-archive.biz.tm/storage/") &&
            Services.focus.focusedWindow &&
            Services.focus.focusedWindow.location &&
            Services.focus.focusedWindow.location.href.startsWith("caa:");
        try {
            var {E10SUtils} = Cu.import("resource:///modules/E10SUtils.jsm", {});
        } catch(ex) {
            var {E10SUtils} = Cu.import("resource://gre/modules/E10SUtils.jsm", {}); // Firefox 59+
        }
        var method, key = "getRemoteTypeForURI"; // Firefox 53+
        if (key in E10SUtils)
            if ("getRemoteTypeForURIObject" in E10SUtils) // Firefox 54+
                method = E10SUtils[key = "getRemoteTypeForURIObject"],
                E10SUtils[key] = function(uri) {
                    return uri.schemeIs("caa:") || isTargetLink(uri.spec)
                        ? E10SUtils.NOT_REMOTE : method.apply(this, arguments);
                }
            else
                method = E10SUtils[key],
                E10SUtils[key] = function(url) {
                    return url.startsWith("caa:") || isTargetLink(url)
                        ? E10SUtils.NOT_REMOTE : method.apply(this, arguments);
                }
        else
            method = E10SUtils[key = "canLoadURIInProcess"],
            E10SUtils[key] = function(url, process) {
                if (url.startsWith("caa:"))
                    return process == Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT;
                if (isTargetLink(url))
                    return true;
                return method.apply(this, arguments);
            }

        Cm.QueryInterface(Ci.nsIComponentRegistrar);
        this.observe = this.receiveMessage = () => {
            E10SUtils[key] = method;

            Services.obs.removeObserver(this, this.topic);
            removeMessageListener(this.message, this);
            this.unregister();
        }
        Services.obs.addObserver(this, this.topic, false);
        addMessageListener(this.message, this);
        this.register();
    },

Отсутствует

 

№6430-12-2018 21:18:15

c@s
Участник
 
Группа: Members
Зарегистрирован: 30-12-2018
Сообщений: 4
UA: unknown 0.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

А кто знает, где можно рабочие версии Stylish (которые для старого теплого лампового Фокса) найти? походу их отовсюду выпилили :(

Отсутствует

 

№6530-12-2018 23:31:31

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 721
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

c@s
Скачайте вот это: classic addons archive. Там есть и Stylish и много чего ещё.

Отсутствует

 

№6631-12-2018 04:54:11

Karn
Участник
 
Группа: Members
Зарегистрирован: 11-12-2018
Сообщений: 45
UA: Firefox 64.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

В ESR60 XUL-а уже нет?

Отсутствует

 

№6731-12-2018 19:00:04

c@s
Участник
 
Группа: Members
Зарегистрирован: 30-12-2018
Сообщений: 4
UA: unknown 0.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

kokoss пишет

c@sСкачайте вот это: classic addons archive. Там есть и Stylish и много чего ещё.

Спасибо, скачал посмотрел. Там только список названий расширений и сайтов, где их можно скачать. Stylish там есть и есть сайт userstyles.org, где оно есть, но только для Хрома. Старых версий там нет и эта штука к сожалению не всегда полезна.

Отсутствует

 

№6831-12-2018 19:44:19

sandro79
Участник
 
Группа: Members
Откуда: Гиперборея
Зарегистрирован: 15-11-2017
Сообщений: 844
UA: Firefox 58.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

c@s пишет: Старых версий там нет и эта штука к сожалению не всегда полезна.

Ну почему же нет? Есть. Если установить это дополнение, предварительно отключив проверку цифровых подписей в дополнениях Firefox, то можно найти много чего полезного. Ниже скрин страницы этого архива.

скрытый текст
2973886a6610.png

This add-on has been tested with the following browsers (in alphabetical order): Basilisk RC1, Firefox ESR 45-52, Firefox 45-58b, Pale Moon 27 and Waterfox 55. In order to install it into Firefox release or beta, you need to disable the extensions signing requirement. Multi-process mode (e10s) is not supported. The installation package is located in the releases section.

Отсутствует

 

№6931-12-2018 19:52:24

Странник
Участник
 
Группа: Members
Зарегистрирован: 06-09-2016
Сообщений: 133
UA: Firefox 56.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

<del>

Отредактировано Странник (31-12-2018 20:03:24)

Отсутствует

 

№7016-01-2019 15:50:41

Ярослав89
Участник
 
Группа: Members
Зарегистрирован: 16-01-2019
Сообщений: 1
UA: Chrome 71.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Спасибо,ответы нашол.

Отсутствует

 

№7110-03-2019 11:49:41

lbfgnmabdq
Участник
 
Группа: Members
Зарегистрирован: 06-03-2019
Сообщений: 27
UA: Firefox 52.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Всем привет.

Что делать разработчикам XUL-addon'ов, которые выпустили новые XUL-версии своих addon'ов для своих верных пользователей старых версий [firefox]?
В AMO, я полагаю, они уже эти новые XUL-версии загрузить не смогут. Правильно?
В новые альтернативные зеркала-архивы XUL-addon'ов (которые в этой теме выше перечислены) можно как-то добавить новые версии XUL-addon'ов? Прежде всего, в https://github.com/JustOff/ca-archive можно их будет добавлять?
Или разработчикам остаётся только на своих сайтах новые XUL-версии addon'ов выкладывать?

Сам я не разработчик addon'ов. Но хочу попросить некоторых разработчиков выпусть новые XUL-версии для старых версий [firefox]. Например, хочется иметь FoxyTab для [firefox] 52.9ESR такой же, какой он имеется для [firefox] 60.5.2ESR.

Отредактировано lbfgnmabdq (10-03-2019 11:51:56)

Отсутствует

 

№7210-03-2019 20:29:50

Eddileo
Участник
 
Группа: Members
Зарегистрирован: 29-01-2016
Сообщений: 83
UA: Firefox 65.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

не понимаю никак..... 21-ый век на дворе
html5 бежит к нам
flash adobe отмирает
зачем мучаться со старыми файерфоксами???? мазохизм???? купте уже норм тачку и спокойно работайте....

Отсутствует

 

№7310-03-2019 20:33:50

Странник
Участник
 
Группа: Members
Зарегистрирован: 06-09-2016
Сообщений: 133
UA: Firefox 56.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Eddileo

okkamas_knife пишет

я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.

Отсутствует

 

№7410-03-2019 20:39:13

pag77
Участник
 
Группа: Extensions
Зарегистрирован: 20-03-2012
Сообщений: 1652
UA: Firefox 65.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

Странник пишет

Eddileookkamas_knife пишет: я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.

Изменения в новой версии: "Мы устранили старые ошибки и добавили новые" :D

Отсутствует

 

№7510-03-2019 20:46:00

Dzirt
Участник
 
Группа: Members
Зарегистрирован: 26-02-2012
Сообщений: 1814
UA: Chrome 72.0

Re: Озвучен срок прекращения работы XUL/XPCOM аддонов

pag77 пишет

Изменения в новой версии: "Мы устранили старые ошибки (но это не точно...) и добавили новые (а вот это без балды, так и есть!)"

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]