added url checks for edge case urls
This commit is contained in:
parent
e7824f367b
commit
87a2aa5f1e
2 changed files with 21 additions and 12 deletions
|
@ -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
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue