added url checks for edge case urls

This commit is contained in:
Kendall Werts 2019-10-24 16:16:02 -05:00
parent e7824f367b
commit 87a2aa5f1e
2 changed files with 21 additions and 12 deletions

View file

@ -319,21 +319,33 @@ const assignManager = {
async _onClickedBookmark(info) { async _onClickedBookmark(info) {
async function _getBookmarksFromInfo(info) { async function _getBookmarksFromInfo(info) {
const bookmarkTreeNode = await browser.bookmarks.get(info.bookmarkId); const [bookmarkTreeNode] = await browser.bookmarks.get(info.bookmarkId);
const firstBookmark = bookmarkTreeNode[0]; if (bookmarkTreeNode.type === "folder") {
if (firstBookmark.type === "folder") { return await browser.bookmarks.getChildren(bookmarkTreeNode.id);
return await browser.bookmarks.getChildren(firstBookmark.id);
} else { } else {
return bookmarkTreeNode; return [bookmarkTreeNode];
} }
} }
const bookmarks = await _getBookmarksFromInfo(info); const bookmarks = await _getBookmarksFromInfo(info);
for (const bookmark of bookmarks) { for (const bookmark of bookmarks) {
browser.tabs.create({ // Some checks on the urls from https://github.com/Rob--W/bookmark-container-tab/ thanks!
cookieStoreId: info.menuItemId, if ( !/^(javascript|place):/i.test(bookmark.url) && bookmark.type !== "folder") {
url: bookmark.url const openInReaderMode = bookmark.url.startsWith("about:reader");
}); if(openInReaderMode) {
try {
const parsed = new URL(bookmark.url);
bookmark.url = parsed.searchParams.get("url") + parsed.hash; // can't believe const lets me do this ...
} catch (err) {
return err.message;
}
}
browser.tabs.create({
cookieStoreId: info.menuItemId,
url: bookmark.url,
openInReaderMode: openInReaderMode
});
}
} }
}, },

View file

@ -46,9 +46,6 @@ const backgroundLogic = {
donePromise = browser.contextualIdentities.create(options.params); donePromise = browser.contextualIdentities.create(options.params);
} }
await donePromise; await donePromise;
browser.runtime.sendMessage({
method: "refreshNeeded"
});
}, },
async openNewTab(options) { async openNewTab(options) {