mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-07 11:58:20 +00:00
Merge pull request #7921 from Slowlife01/cache-favicon
This commit is contained in:
@@ -83,8 +83,23 @@
|
|||||||
|
|
||||||
onTabIconChanged(tab, url = null) {
|
onTabIconChanged(tab, url = null) {
|
||||||
const iconUrl = url ?? tab.iconImage.src;
|
const iconUrl = url ?? tab.iconImage.src;
|
||||||
if (tab.hasAttribute('zen-essential')) {
|
if (!iconUrl) {
|
||||||
tab.querySelector('.tab-background').style.setProperty('--zen-tab-icon', `url(${iconUrl})`);
|
try {
|
||||||
|
setTimeout(() => {
|
||||||
|
PlacesUtils.favicons.getFaviconURLForPage(
|
||||||
|
tab.linkedBrowser.currentURI,
|
||||||
|
(url) => {
|
||||||
|
if (url) gBrowser.setIcon(tab, url.spec);
|
||||||
|
},
|
||||||
|
|
||||||
|
0
|
||||||
|
);
|
||||||
|
});
|
||||||
|
} catch {}
|
||||||
|
} else {
|
||||||
|
if (tab.hasAttribute('zen-essential')) {
|
||||||
|
tab.querySelector('.tab-background').style.setProperty('--zen-tab-icon', `url(${iconUrl})`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// TODO: work on this
|
// TODO: work on this
|
||||||
//if (tab.hasAttribute('zen-pinned-changed') || !this._pinsCache) {
|
//if (tab.hasAttribute('zen-pinned-changed') || !this._pinsCache) {
|
||||||
|
@@ -68,10 +68,9 @@
|
|||||||
|
|
||||||
async function setCachedFaviconForURL(pageUrl, iconURL) {
|
async function setCachedFaviconForURL(pageUrl, iconURL) {
|
||||||
try {
|
try {
|
||||||
// TODO: This always return "NS_ERROR_NOT_AVAILABLE" for some reason, figure out why
|
|
||||||
await PlacesUtils.favicons.setFaviconForPage(
|
await PlacesUtils.favicons.setFaviconForPage(
|
||||||
Services.io.newURI(pageUrl),
|
Services.io.newURI(pageUrl),
|
||||||
Services.io.newURI('fake-favicon-uri:' + pageUrl),
|
Services.io.newURI(iconURL),
|
||||||
Services.io.newURI(iconURL)
|
Services.io.newURI(iconURL)
|
||||||
);
|
);
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
@@ -84,6 +83,18 @@
|
|||||||
['https://reddit.com/r/zen_browser', 'Zen on Reddit', 'https://private-cdn.zen-browser.app/reddit.png'],
|
['https://reddit.com/r/zen_browser', 'Zen on Reddit', 'https://private-cdn.zen-browser.app/reddit.png'],
|
||||||
['https://x.com/zen_browser', 'Zen on Twitter', 'https://private-cdn.zen-browser.app/x.png'],
|
['https://x.com/zen_browser', 'Zen on Twitter', 'https://private-cdn.zen-browser.app/x.png'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
await PlacesUtils.history.insertMany(
|
||||||
|
tabs.map((site) => ({
|
||||||
|
url: site[0],
|
||||||
|
visits: [
|
||||||
|
{
|
||||||
|
transition: PlacesUtils.history.TRANSITIONS.TYPED,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}))
|
||||||
|
);
|
||||||
|
|
||||||
for (const site of tabs) {
|
for (const site of tabs) {
|
||||||
const tab = window.gBrowser.addTrustedTab(site[0], {
|
const tab = window.gBrowser.addTrustedTab(site[0], {
|
||||||
inBackground: true,
|
inBackground: true,
|
||||||
@@ -443,6 +454,18 @@
|
|||||||
const selectedTabs = document
|
const selectedTabs = document
|
||||||
.getElementById('zen-welcome-initial-essentials-browser-sidebar-essentials')
|
.getElementById('zen-welcome-initial-essentials-browser-sidebar-essentials')
|
||||||
.querySelectorAll('.tabbrowser-tab[visuallyselected]');
|
.querySelectorAll('.tabbrowser-tab[visuallyselected]');
|
||||||
|
|
||||||
|
await PlacesUtils.history.insertMany(
|
||||||
|
[...selectedTabs].map((tab) => ({
|
||||||
|
url: tab.getAttribute('data-url'),
|
||||||
|
visits: [
|
||||||
|
{
|
||||||
|
transition: PlacesUtils.history.TRANSITIONS.TYPED,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}))
|
||||||
|
);
|
||||||
|
|
||||||
for (const tab of selectedTabs) {
|
for (const tab of selectedTabs) {
|
||||||
const url = tab.getAttribute('data-url');
|
const url = tab.getAttribute('data-url');
|
||||||
const createdTab = window.gBrowser.addTrustedTab(url, {
|
const createdTab = window.gBrowser.addTrustedTab(url, {
|
||||||
|
Reference in New Issue
Block a user