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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№87620-12-2024 09:24:09

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 614
UA: Seamonkey 2.38
Веб-сайт

Re: NoScript

Dumby
таки два сразу
https://m.freespeech.club//1_vCimNl.png — хром без контента (быстро исчезает)
https://m.freespeech.club//yvOsbcNN.png — сверху нормальное
Для "Cross-tab identity leak protection" тоже пустое открывается, только побольше.
 
Не знаю, имеет ли отношение, но чем богаты:

Выделить код

Код:

10:32:19.970 Promise rejected after context unloaded: Actor 'Conduits' destroyed before query 'RuntimeMessage' was resolved
2 Messages.js:127
    _send moz-extension://dcb8a0a3-ea56-41ef-98e5-0e15c59d4abf/nscl/common/Messages.js:127

10:32:42.206 sendRemoveListener on closed conduit {73a6fe31-595d-460b-a920-fcc0f8843232}.137438956382 ConduitsChild.sys.mjs:108
    _send resource://gre/modules/ConduitsChild.sys.mjs:108
    removeListener resource://gre/modules/ExtensionChild.sys.mjs:675
    removeListener resource://gre/modules/ExtensionChild.sys.mjs:940
    register chrome://extensions/content/child/ext-storage.js:175
    removeListener resource://gre/modules/ExtensionCommon.sys.mjs:2869
    revoke resource://gre/modules/ExtensionCommon.sys.mjs:2891
    close resource://gre/modules/ExtensionCommon.sys.mjs:2896
    unload resource://gre/modules/ExtensionCommon.sys.mjs:979
    unload resource://gre/modules/ExtensionPageChild.sys.mjs:282
    unload resource://gre/modules/ExtensionPageChild.sys.mjs:319
    destroyExtensionContext resource://gre/modules/ExtensionPageChild.sys.mjs:479
    observe resource://gre/modules/ExtensionPageChild.sys.mjs:388

> А что, тебя бы порадовало какое-нибудь бессодержательное высказывание от непричастных типа меня?
Порадовало. А «бессодержательное» — так это точно не про Вас. И насчёт непричастности не согласен — безвременно утраченную совместимость помогли восстановить.

_zt
Спасибо, понятно.

Отредактировано negodnik (20-12-2024 14:14:16)

Отсутствует

 

№87721-12-2024 12:00:09

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

Re: NoScript

negodnik пишет

без контента (быстро исчезает)
сверху нормальное

Хмм, убедительно. Но, в то же время, не совсем.
Дело в том, что NoScript заказывает ресайз этого окна,
типа подгонка под получившийся размер контента.


Поэтому, может сложиться впечатление,
что это уже другое окно (ресайз как исчезновение).


Вот если бы поймать на панели задач виндовс,
что окошек именно два, тогда было бы бесспорно.


Но, это если они существуют
в какой-то момент времени одновременно,
иначе, это вообще труднодоказуемо.

Отсутствует

 

№87821-12-2024 16:54:15

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 614
UA: unknown 0.0
Веб-сайт

Re: NoScript

> Вот если бы поймать на панели задач…
Ума не приложу как это сделать.
В 12.0.902 окно стало издеваться немного по-другому. Чтобы была видна вся мерзость происходящего, снят высокохудожественный фильм продолжительностью 25 секунд и весом 220 килобайт (но добраться до  него можно только окольным путём) — https://www.xmail.net/fatboy/Video/Zahvat3.mkv
Вот gif — https://m.freespeech.club//sD7tmsFA.gif, но он тяжелее (631).
 
Ох, г-споди! Как бы передать NoScript’у чтобы не горячился, не показывал процесс ресайза, я могу подождать лишних 400 миллисекунд.

Отредактировано negodnik (21-12-2024 17:30:12)

Отсутствует

 

№87923-12-2024 16:02:19

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

Re: NoScript

negodnik пишет

В 12.0.902

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


Изменился только объект tlds в .../nscl/common/tld.js
и в .../bg/LifeCycle.js в 268-ой строке изменился error()
«Can't run content script on tab»,
то есть всё это вообще не должно иметь отношения.

Как бы передать NoScript’у чтобы не горячился, не показывал процесс ресайза, я могу подождать

А толку-то? Это же WebExtensions,
у них нет возможности как-то на это повлиять.


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


Вот, попробовал uc-like скриптом
это дело прихорошить, и вроде, чуть получше.
Но, там используется счётчик, а это как-то ненадёжно.
Вобщем, не знаю как ещё, такая шляпа:

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

Выделить код

Код:

(async re => {
	var match = window.arguments?.[0]?.match?.(re);
	if (!match) return;
	var policy = WebExtensionPolicy.getByID("{73a6fe31-595d-460b-a920-fcc0f8843232}");
	if (!policy || match[1] != policy.mozExtensionHostname) return;

	var {resizeTo: rt, moveTo: mt, windowUtils: wu} = window;
	mt(1e4, 1e4);
	wu.loadSheetUsingURIString(
		"data:text/css,%23tabbrowser-tabpanels>:first-child browser{margin:0!important}"
	, wu.USER_SHEET);

	var parent = BrowserWindowTracker.getTopWindow();
	var refocus = () => Services.focus.focusedWindow = parent;
	window.addEventListener("activate", refocus);

	var width, num = 5;
	window.resizeTo = (w, h) => rt((width ||= w + 20) + --num, h);

	var count = 3;
	window.moveTo = () => {
		refocus();
		if (--count) return;

		window.moveTo = mt;
		window.resizeTo = rt;
		window.removeEventListener("activate", refocus);

		var aw = win => win.docShell.treeOwner
			.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIAppWindow);
		aw(window).center(aw(parent), false, false);

		setTimeout(window.focus, 150);
	}
})(/^moz-extension:\/\/(.{36})\/ui\/prompt.html$/);


И, в фильме, какие-то отступы в окошке видно, похоже на letterboxing.
Добавил стиль поперёк.
Но, у меня, и без letterboxing'а, иногда, ни с того ни с сего,
надпись «Объекты, заблокированные NoScript’ом»
сваливается в отображение в три строки вместо двух,
что приводит к появлению скроллбара, а это нехорошо.
Поэтому добавил ещё 20 пикселей к ширине.


Ну, и наконец, чисто теоретически, есть ещё два таких же окошка.
XSS_promptTitle — «XSS предупреждение NoScript» и
TabGuard_title — «Потенциальная утечка данных идентификации».
Как их обрести — я без понятия, поэтому как они будут отображаться не знаю.

Отсутствует

 

№88023-12-2024 18:16:51

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 614
UA: unknown 0.0
Веб-сайт

Re: NoScript

>>> Это же WebExtensions, у них нет возможности как-то на это повлиять.
Т.е., нет смысла дать автору NS ссылку на этот код. Или он сможет что-то полезное почерпнуть?
 
>> шляпа
Шляпа работает (webgl, media, object). Большое спасибо.
XSS и TabGuard, как назло, не попадаются.
 
> надпись … сваливается в отображение в три строки вместо двух
Всё под короткие английские слова рассчитано. Одно время были удалены все локализации, когда немцы достали автора со своими длинными, непомещающимися в отведённое место словами.
 

Отсутствует

 

№88123-12-2024 21:23:24

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

Re: NoScript

negodnik пишет

Т.е., нет смысла дать автору NS ссылку на этот код.

Да, полагаю, что никакого смысла.

Даже если представить, что можно сделать только на одной рефокусировке,
(а у меня сходу в скипте не получается, всё равно иногда мелькает),
то, из WE, это же пойдёт запрос из дугого процесса,
что, наверно, будет недостаточно быстро.


А, как в скрипте, задвинуть окно за пределы экрана они не дадут.
В chrome://browser/content/parent/ext-windows.js
есть функция sanitizePositionParams()
и комментарий в ней
// boundary check: don't put window out of visible area

Отсутствует

 

№88223-12-2024 22:01:56

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 614
UA: Seamonkey 2.38
Веб-сайт

Re: NoScript

> Да, полагаю, что никакого смысла.
Так тому и быть.
Ничего не мелькает и скроллбара ненужного нет.
Ещё раз спасибо.
 
UPD: Нашёл окно XSS. С ним всё хорошо.

Отредактировано negodnik (Вчера 16:53:14)

Отсутствует

 

Board footer

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