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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.
  • Форумы
  •  » Новости
  •  » Очередной баг исправлен по программе «Деньги за исправление багов»

№7625-07-2008 21:03:15

powerfox
Участник
 
Группа: Members
Зарегистрирован: 05-02-2008
Сообщений: 36
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

А обо мне забыли...? tongue2

Мм? А вы кто? ;)

Ссылочку можно на "соглашения"? smile Что-то я не уверен, что есть именно нечто именно в какой-то такой форме - касательно перекодировок урлов, но точно не знаю.

Ссылку дать не могу, но в мозилла принято всё не-аски сохранять в эскейпнутом UTF-8. Ошибка заключалась в том, что FF в винде сохранял в родной кодировке (win-1251, а не utf-8), а при открытии ожидал, что имена как раз в эскейпнутом utf-8.
Вообще, я где-то писал, что можно использовать при сохранении специальные константы вида &1241 (не помню ни названия, ни точного вида). Но у меня из-за семейных проблем нет времени, чтобы покопаться в мозилле (ещё в разработке висит патч для адресной строки симанки =Bug 425480= — получил ряд замечаний, а переделать уже не успел). Кстати, по поводу симанки: кто-то из форумчан на JS что-то пытался фиксить, в принципе, для исправления Симанки не так много и надо времени (мои знания JS вообще стремятся к нулю).

Так, а это какой точно, чтоб я не напутал?

https://bugzilla.mozilla.org/show_bug.cgi?id=409796

Отсутствует

 

№7725-07-2008 22:10:08

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

powerfox

кто-то из форумчан на JS что-то пытался фиксить

Наверное misak.

https://bugzilla.mozilla.org/show_bug.cgi?id=409796

Что-то не вижу там поста biezi, а точно не biesi? И biesi не вижу.))

Отсутствует

 

№7826-07-2008 00:20:46

powerfox
Участник
 
Группа: Members
Зарегистрирован: 05-02-2008
Сообщений: 36
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

vladmir, значит обсуждение шло в IRC. Но то, что сейчас сделано всё по стандарту мозялкиных — 100%.

Отсутствует

 

№7910-09-2008 12:39:22

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

powerfox

ещё в разработке висит патч для адресной строки симанки =Bug 425480= — получил ряд замечаний, а переделать уже не успел). Кстати, по поводу симанки: кто-то из форумчан на JS что-то пытался фиксить, в принципе, для исправления Симанки не так много и надо времени (мои знания JS вообще стремятся к нулю).

Bug 425480 – non-ASCII characters should be decoded in the urlbar (like in FF3)
https://bugzilla.mozilla.org/show_bug.cgi?id=425480

Наблюдается заметный прогресс усилиями misak :)

powerfox, обращаю, типа, внимание.-)

Отсутствует

 

№8010-09-2008 13:36:33

powerfox_Лень логиниться
 
Группа: Guest
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

Наблюдается заметный прогресс усилиями misak smile

powerfox, обращаю, типа, внимание.-)

Видел :) Я подписан на этот баг. И это очень классно, так как я JS почти не помню (я пишу на С++).

 

№8110-09-2008 22:23:20

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

powerfox_Лень логиниться

А вот там ещё про

It Fixes the urlbar only. Autocomplition and bookmarks should be fixed too
(they still show encoded text), but I want to do it in the separate bug.

Ты их забацал - отдельные или уже не надо? :)

Отсутствует

 

№8215-09-2008 15:42:52

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

powerfox
И ещё, я таки собрался написать автору ViewSourceWith, он живо так заинтересовался, но у него что-то не получается. Я ему и страниц сохранил со скринами. Но я ж не знаю как точно описать и на что обратить внимание. Тем более на инглише.
Вот он пишет:

I have bad news :(

Under Linux I've fixed the bug but under Windows seems impossible because the calling routine used by Mozilla to run external programs (eg run the editor) doesn't allow to pass parameters containing UTF-8 characters

И на зине:

I've a local file containing cyrillic characters in name (dir or filename)and I need to pass the corresponding path string as parameter to nsIProcess.run().

After a great discussion on extension dev irc I'm able to pass string under linux, but under Windows doesn't work.

Below I show the code I use.

I convert the uri into a nsiFile using the code shown below

Выделить код

Код:

var ioService = Components.classes["@mozilla.org/network/io-service;1"]
                            .getService(Components.interfaces.nsIIOService);
    return ioService.newURI(url, null, null)
            .QueryInterface(Components.interfaces.nsIFileURL)
            .file;

Then I convert the path from unicode and under Linux works fine

Выделить код

Код:

runArgument = fromUnicode(file.path, "UTF-8");

function fromUnicode(text, charset) {
    var unicodeCvt = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
             .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
    unicodeCvt.charset = charset;
        return converter.ConvertFromUnicode(text) + converter.Finish();
}

I've tried different charset under Windows without success

Выделить код

Код:

runArgument = fromUnicode(file.path, "xxxxxx");

Может сообщишь ему правильное направление мысли? Лучше на инглише.

Отсутствует

 

№8315-09-2008 16:50:14

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

И Firebug не может открыть сорс html локальных страниц с именами в кириллице.

Отсутствует

 

№8415-09-2008 20:27:46

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

vladmir

Может сообщишь ему правильное направление мысли? Лучше на инглише.

Например, можно заглянуть в IE Tab... Правда, там тоже не всегда правильно перекодирует.

У меня работает примерно следующее:

Выделить код

Код:

var myObj = {
	openUriWithApp: function( ... ) {
		// ...
		// var path = "c:\\Program Files\\Internet Explorer\\iexplore.exe";
		// var args = [];
		args.push(this.convertStrFromUnicode(uri));
		this.startProcess(path, args);
	},
	startProcess: function(path, args) {
		args = args || [];
		var file = Components.classes["@mozilla.org/file/local;1"]
			.createInstance(Components.interfaces.nsILocalFile);
		file.initWithPath(path);
		if(!file.exists()) {
			alert(path + "\nnot found!");
			return;
		}
		var process = Components.classes["@mozilla.org/process/util;1"]
			.getService(Components.interfaces.nsIProcess);
		process.init(file);
		process.run(false, args, args.length);
	},
	convertStrFromUnicode: function(str) {
		var charset = this.charset;
		if(!charset)
			return str;
		// this.ut._log("convertStrFromUnicode -> charset -> " + charset);
		var suc = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"]
			.createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
		suc.charset = charset;
		try {
			str = decodeURIComponent(str); // to UTF-8
		}
		catch(e) { // does not work in fx 1.5
			str = suc.ConvertToUnicode(unescape(str)); // Thanks to IE Tab!
			str = decodeURI(str);
		}
		return suc.ConvertFromUnicode(str);
	},
	get charset() {
		var charset = "";
		if(this.ut.pref("convertURIs")) {
			charset = this.ut.pref("convertURIsTo");
			if(!charset) {
				charset = this.ut.getPref("intl.charset.default");
				if(!charset || charset.indexOf("chrome://") == 0)
					charset = this.defaultCharset;
			}
		}
		return charset;
	},
	_defaultCharset: null,
	get defaultCharset() { // thanks to IE Tab!
		if(this._defaultCharset == null) {
			var strBundle = Components.classes["@mozilla.org/intl/stringbundle;1"]
				.getService(Components.interfaces.nsIStringBundleService);
			try {
				this._defaultCharset = strBundle.createBundle("chrome://global-platform/locale/intl.properties")
					.GetStringFromName("intl.charset.default");
			}
			catch(e) {
				this._defaultCharset = "";
			}
		}
		return this._defaultCharset;
	}
};
myObj.openUriWithApp( ... );

this.ut.pref(prefName) и this.ut.getPref(prefName) возвращают значение настройки по ее имени.

Отредактировано Infocatcher (16-09-2008 00:42:05)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№8515-09-2008 22:15:52

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

Infocatcher
Только это не мне надо пояснять, а автору расширения, ну вот я ему скопипащу этот код и что приписать?

А IE Tab что во что перекодирует?
Он же со страницами в онлайне работает, а тут проблема с сохранёнными.
При чём, что интересно, во ViewSourceWith не открывается сорс, а подключённые к той же странице css и js открываются - из окошка расширения.

У меня работает

В смысле - где у тебя?

Отредактировано vladmir (15-09-2008 22:18:52)

Отсутствует

 

№8616-09-2008 00:34:54

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

vladmir

Только это не мне надо пояснять, а автору расширения, ну вот я ему скопипащу этот код и что приписать?

Я думаю, он поймет, что есть что в коде. =)
Приписать, что основано на коде IE Tab (уже не помню, но, вроде, я что-то менял).

При этом, кстати, в Win XP + Firefox 3.0 для http-ссылок работает без перекодирования (можно передать любую ссылку и Opera, и IE).
При этом IE 7.0 нормально открывает

Выделить код

Код:

http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9F%D0%BE%D0%B8%D1%81%D0%BA

без перекодирования, а вот

Выделить код

Код:

file:///D:/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F%20%D0%9F%D0%BE%D0%B8%D1%81%D0%BA.htm

– уже нет. А Opera не особо кушает cp1251...
Т.е. проблема в том, что запускаемое с параметром приложение неправильно читает этот параметр (ссылку). И надо угадать, во что следует эту ссылку перекодировать.
В общем, темное это дело...

А IE Tab что во что перекодирует?
Он же со страницами в онлайне работает, а тут проблема с сохранёнными.

В cp1251 (windows-1251) для русской версии Windows. Адреса страниц с Википедии, например, перекодирует и локальные странички – тоже (file://...).
Давно не пользовался и подробностей не помню, но факт в том, что IE Tab лучше всех IE* работает с кириллицей в пути к файлу.

При чём, что интересно, во ViewSourceWith не открывается сорс, а подключённые к той же странице css и js открываются - из окошка расширения.

Гм, не знаю... Но, кажется, сорс сначала в %temp%/ сохраняется. А локальные файлы без перекодирования пути к ним открываться не всегда желают.

В смысле - где у тебя?

У меня в расширении. Только оно еще не дописано – интерфейс для редактирования настроек не доделан (а править настройки вручную неудобно, от того и с тестированием вяло). В общем, суть в том, что код работает, но местами. А в Linux я вообще еще не смотрел.

Добавлено Tue Sep 16 00:42:28 2008 :
P.S. Немного подкорректировал код.

Отредактировано Infocatcher (16-09-2008 00:45:12)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№8716-09-2008 08:23:32

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

Infocatcher

Первый кусок запостил на зине, только вот это я сходу не рискну перевести: "this.ut.pref(prefName) и this.ut.getPref(prefName) возвращают значение настройки по ее имени." и всё остальное техническое.-)

Вот эта тема:
Uri with cyrillis characters, Windows and unicode
http://forums.mozillazine.org/viewtopic.php?f=19&t=850765

Отсутствует

 

№8816-09-2008 09:54:07

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 3.0

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

vladmir

только вот это я сходу не рискну перевести: "this.ut.pref(prefName) и this.ut.getPref(prefName)

Ну, можно и их код привести, только он несущественен в данном случае.
... return value of prefName preference (да-да, с буржуйским у меня не очень =))
this.ut.pref(prefName) used for extensions settings and this.ut.getPref – for other (like intl.charset.default).

P.S. А ссылаться можно на мой профиль там: http://forums.mozillazine.org/memberlis … e&u=282648


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№8916-09-2008 13:35:12

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

Ха! В Эхплорере тоже быват всяко:

You cannot open a Web page by using Windows Internet Explorer 7 if the URL of the Web page contains non-ASCII characters
http://support.microsoft.com/kb/935729/

Добавлено Tue Sep 16 13:42:19 2008 :
Infocatcher

(да-да, с буржуйским у меня не очень =))

У нас с тобой, смотрю, одинаково.)) Я и в твоих постах ошибки вижу и в своих.-(

Отсутствует

 

№9026-09-2008 15:02:31

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»

Вскрылось новое грустное обстоятельство.
В самом Файрфоксе есть встроенная функция - переключение на просмотр исходника во внешнем редакторе (Вид - Исходный код страницы).
Включается переключением параметра
pref("view_source.editor.external", false);
на true и указанием в параметре
pref("view_source.editor.path", "");
пути к внешнему редактору.

Так вот оно не срабатывает, если страница с кириллицей в пути или имени.
Сообщено в теме:
http://forum.mozilla-russia.org/viewtopic.php?id=26626

Хотя в Нетскейпе 9, смотрю, аналогично то есть и во втором фоксе то есть это-то давняя история.

Отредактировано vladmir (26-09-2008 17:35:48)

Отсутствует

 

№9126-09-2008 19:07:47

Viper
Участник
 
Группа: Extensions
Откуда: Нижний Новгород
Зарегистрирован: 24-12-2004
Сообщений: 2092
UA: Minefield 3.1

Re: Очередной баг исправлен по программе «Деньги за исправление багов»


---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

Отсутствует

 
  • Форумы
  •  » Новости
  •  » Очередной баг исправлен по программе «Деньги за исправление багов»

Board footer

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