mirror of
https://github.com/zen-browser/components.git
synced 2025-07-08 00:49:58 +02:00
Added glance overlay and functionality
This commit is contained in:
parent
01905fa4e4
commit
a942043645
3 changed files with 55 additions and 4 deletions
|
@ -1,5 +1,57 @@
|
|||
|
||||
{
|
||||
|
||||
class ZenGlanceManager extends ZenDOMOperatedFeature {
|
||||
#currentBrowser = null;
|
||||
|
||||
init() {
|
||||
ChromeUtils.defineLazyGetter(
|
||||
this,
|
||||
'overlay',
|
||||
() => document.getElementById('zen-glance-overlay')
|
||||
);
|
||||
|
||||
ChromeUtils.defineLazyGetter(
|
||||
this,
|
||||
'browserWrapper',
|
||||
() => document.getElementById('zen-glance-browser-container')
|
||||
);
|
||||
|
||||
Services.obs.addObserver(this, "zen-glance-open");
|
||||
}
|
||||
|
||||
observe(subject, topic, data) {
|
||||
this.openGlance(data);
|
||||
}
|
||||
|
||||
openGlance(url) {
|
||||
if (this.#currentBrowser) {
|
||||
return;
|
||||
}
|
||||
const currentTab = gBrowser.selectedTab;
|
||||
const overlayWrapper = currentTab.linkedBrowser.closest(".browserSidebarContainer");
|
||||
overlayWrapper.appendChild(this.overlay);
|
||||
|
||||
window.requestAnimationFrame(() => {
|
||||
this.overlay.removeAttribute("hidden");
|
||||
});
|
||||
}
|
||||
|
||||
closeGlance() {
|
||||
this.#currentBrowser?.remove();
|
||||
this.#currentBrowser = null;
|
||||
|
||||
this.overlay.setAttribute("hidden", true);
|
||||
}
|
||||
|
||||
onLocationChange(_) {
|
||||
this.closeGlance();
|
||||
}
|
||||
}
|
||||
|
||||
window.gZenGlanceManager = new ZenGlanceManager();
|
||||
|
||||
|
||||
function registerWindowActors() {
|
||||
// TODO: Only if the pref is enabled
|
||||
gZenActorsManager.addJSWindowActor("ZenGlance", {
|
||||
|
|
|
@ -12,13 +12,13 @@ export class ZenGlanceParent extends JSWindowActorParent {
|
|||
return Services.prefs.getIntPref('zen.glance.hold-duration', 500);
|
||||
}
|
||||
case 'ZenGlance:OpenGlance': {
|
||||
this.openGlance();
|
||||
this.openGlance(message.data.url);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
openGlance() {
|
||||
console.log('Opening glance');
|
||||
openGlance(data) {
|
||||
Services.obs.notifyObservers(null, 'zen-glance-open', data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -178,7 +178,6 @@ export class ZenThemeMarketplaceParent extends JSWindowActorParent {
|
|||
|
||||
async removeTheme(themeId, triggerUpdate = true) {
|
||||
const themePath = PathUtils.join(this.themesRootPath, themeId);
|
||||
console.info('ZenThemeMarketplaceParent: Removing theme ', themePath);
|
||||
await IOUtils.remove(themePath, { recursive: true, ignoreAbsent: true });
|
||||
if (triggerUpdate) {
|
||||
this.triggerThemeUpdate();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue