Проблема со свойством «индекс» закладок при создании новых закладок с помощью Firefox WebExtensions API - PullRequest
0 голосов
/ 27 июня 2019

При создании новых закладок в Firefox с использованием API bookmarks.create () из Firefox Web Extensions порядок, в котором новые созданные закладки / подпапки помещаются в родительскую папку (управляется свойством index) закладка) неверна.

Если в родительской папке нет закладок / подпапок, то для свойства «index» для всех вновь создаваемых закладок API устанавливает значение 0.

В случае, если в родительской папке имеется 5 существующих закладок, например, свойство 'index' для первых 5 вновь созданных закладок установлено правильно - скажем, от 0 до 4, как во входных данных. Свойство index для всех последующих закладок после no. 5 снова устанавливается как 0.

function testOnBookmarkCreated(node) {
  console.log('Inside testOnCreatedBookmark');
  console.log(node);
}

function testBookmarkCreation() {

  for (let i = 0; i < 5; i++) {

    console.log("calling browser.bookmarks.create");

    var testBookmark = browser.bookmarks.create(  {
      index: i,
      parentId: 'toolbar_____',
      title: 'testName',
      url: 'http://testURL'
    });

    testBookmark.then(testOnBookmarkCreated);

  }

}

В идеале , свойство index для каждой закладки должно быть установлено правильно с первого запуска кода. Однако свойство индекса задано неправильно для первого прохода, а затем правильно установлено для второго прохода.


Первый прогон - Вывод: 'index' неправильно установлен в 0 для всех закладок -

calling browser.bookmarks.create popup_v2.js:496:13

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "Jcr-x-lF8PYy", title: "testName", **index: 0**, dateAdded: 1561620807650, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "8ljfDMuh-o-q", title: "testName", **index: 0**, dateAdded: 1561620807651, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "gofKPh9HNGBc", title: "testName", **index: 0**, dateAdded: 1561620807651, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "5DlcwJ2SvhHF", title: "testName", **index: 0**, dateAdded: 1561620807652, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "AvsjIgR5Gdcs", title: "testName", **index: 0**, dateAdded: 1561620807653, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Второй прогон , сразу после создания первого набора из 5 закладок - Вывод: 'index' правильно установлен в 0-4 для 5 закладок -

Inside testOnCreatedBookmark popup_v2.js:477:11 
Object { id: "9LBw0vByVxqG", title: "testName", **index: 0**, dateAdded: 1561620820045, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "G69Ojwtrvdcj", title: "testName", **index: 1**, dateAdded: 1561620820047, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "4BwXhyQghwYa", title: "testName", **index: 2**, dateAdded: 1561620820048, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "z88JWTZXHlZD", title: "testName", **index: 3**, dateAdded: 1561620820048, type: "bookmark", url: "htt [changed for SO guidelines]p://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11

Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "09NMoLidnLvl", title: "testName", **index: 4**, dateAdded: 1561620820049, type: "bookmark", url: "htt [changed for SO guidelines] p://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
...