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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№124-06-2013 22:51:43

cs0ip
Участник
 
Группа: Members
Зарегистрирован: 24-06-2013
Сообщений: 5
UA: Firefox 21.0

Проблемы с nsINavBookmarksService и отладчиком

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

1. Если вызвать функцию nsINavBookmarksService.moveItem(id, aNewParentId, index) с параметром index, который на 1 больше текущего, то ничего не происходит, элемент не перемещается.

2. Встроенный отладчик javascript не работает для скриптов расположенных в XUL iframe, т.е. нет возможности выбрать соответствующие скрипты для отладки.

Отсутствует

 

№225-06-2013 12:08:07

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 22.0

Re: Проблемы с nsINavBookmarksService и отладчиком

cs0ip пишет:

то ничего не происходит

1. Совсем-совсем ничего? В консоли ошибок тоже ничего? И заворачивание в try-catch с выводом в последнем стектрейса тоже не дает ничего? Вообще, без приведенного проблемного кода отвечать на такие вопросы вряд ли кто-то будет.
2. Обычно для этого используют Venkman.

Отсутствует

 

№325-06-2013 14:38:51

cs0ip
Участник
 
Группа: Members
Зарегистрирован: 24-06-2013
Сообщений: 5
UA: Firefox 21.0

Re: Проблемы с nsINavBookmarksService и отладчиком

hydrolizer пишет:

cs0ip пишет:

то ничего не происходит

1. Совсем-совсем ничего? В консоли ошибок тоже ничего? И заворачивание в try-catch с выводом в последнем стектрейса тоже не дает ничего? Вообще, без приведенного проблемного кода отвечать на такие вопросы вряд ли кто-то будет.
2. Обычно для этого используют Venkman.

1. Совсем ничего, никаких исключений. Проблемный код очень прост, вызываем указанную функцию с указанным аргументом (<текущий индекс элемента> + 1) и ничего не происходит. Вроде бы дополнительные пояснения тут не нужны. Сейчас пытаюсь понять это баг, как это видится мне, или особо хитрая фича, которая не будет исправлена в следующих версиях.

2. Я его тоже ставил, но он аналогичным образом не видит мои скрипты и падает при любой попытке взаимодействовать.

Отредактировано cs0ip (25-06-2013 14:39:49)

Отсутствует

 

№425-06-2013 16:34:45

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 22.0

Re: Проблемы с nsINavBookmarksService и отладчиком

cs0ip пишет:

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

Не может это быть багом. Вот код из 22.6b, PlacesUtils.jsm:

Выделить код

Код:

PlacesMoveItemTransaction.prototype = {
  __proto__: BaseTransaction.prototype,

  doTransaction: function MITXN_doTransaction()
  {
    this.item.index = PlacesUtils.bookmarks.getItemIndex(this.item.id);
    PlacesUtils.bookmarks.moveItem(this.item.id,
                                   this.new.parentId, this.new.index);
    this._undoIndex = PlacesUtils.bookmarks.getItemIndex(this.item.id);
  },
.....

и он вполне работает (PlacesUtils.bookmarks - это lazy getter для nsINavBookmarksService). И ничего особенно хитрого здесь тоже не видно.

cs0ip пишет:

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

В окне Venkman'а в главном меню -> Debug галка на Exclude application files снята?
У себя падений как-то не замечал.

Отсутствует

 

№525-06-2013 17:27:55

cs0ip
Участник
 
Группа: Members
Зарегистрирован: 24-06-2013
Сообщений: 5
UA: Firefox 21.0

Re: Проблемы с nsINavBookmarksService и отладчиком

hydrolizer пишет:

Не может это быть багом. Вот код из 22.6b, PlacesUtils.jsm:
.....
и он вполне работает (PlacesUtils.bookmarks - это lazy getter для nsINavBookmarksService). И ничего особенно хитрого здесь тоже не видно.

Может это и не баг. Я ещё понаблюдал за поведением этой функции, и думаю, что с таким поведением можно в принципе жить. Хотя несколько странным кажется тот факт, что для того чтобы переместить элемент на 1 позицию вниз нужно задавать индекс больше текущего на 2. При этом при перемещении вверх только на 1.

hydrolizer пишет:

В окне Venkman'а в главном меню -> Debug галка на Exclude application files снята?
У себя падений как-то не замечал.

Была выставлена галка, но снятние не очень помогло. Проблема в том, что большинство файлов у меня через ajax подгружаются, а Venkman видит только статически указанные. Конечно в продакшене всё будет слито в один файл и будет грузиться статически, но вот на этапе разработки всё грузится динамически и эти файлы в отладчике не видны.

На счет встроенного отладчика, кстати, я бы и не думал про него писать, т.к. раньше он официально не поддерживал работу с расширениями, но к 21 версии поддержка такой работы была официально заявлена, поэтому вот и не понятно стоит ли об этом говорить или они и так всё знают.

Отсутствует

 

Board footer

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