Files
tubestation/browser/components/sidebar/sidebar-page.mjs
Jonathan Sudiaman 4976e075f8 Bug 1886408 - History in sidebar: Remove row limit, fix empty state, add hover button. r=sidebar-reviewers,desktop-theme-reviewers,fxview-reviewers,fluent-reviewers,kcochrane,nsharpley
- max-history-rows pref set to 0 for Nightly only.
- Add the X button to close a tab on hover.
- Introduce an extension to `fxview-tab-list` which handles the differences between here and FxView.
- Reuse the empty state for when history is cleared (same as firefox view).
- Update the logic of `fxview-empty-state` to allow for opening prefs link in the parent window (instead of the sidebar browser).

Differential Revision: https://phabricator.services.mozilla.com/D217111
2024-07-25 16:03:17 +00:00

50 lines
1.5 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
import { MozLitElement } from "chrome://global/content/lit-utils.mjs";
import { html } from "chrome://global/content/vendor/lit.all.mjs";
// eslint-disable-next-line import/no-unassigned-import
import "chrome://browser/content/sidebar/sidebar-panel-header.mjs";
export class SidebarPage extends MozLitElement {
constructor() {
super();
this.clearDocument = this.clearDocument.bind(this);
}
connectedCallback() {
super.connectedCallback();
this.ownerGlobal.addEventListener("beforeunload", this.clearDocument);
this.ownerGlobal.addEventListener("unload", this.clearDocument);
}
disconnectedCallback() {
super.disconnectedCallback();
this.ownerGlobal.removeEventListener("beforeunload", this.clearDocument);
this.ownerGlobal.removeEventListener("unload", this.clearDocument);
}
/**
* Clear out the document so the disconnectedCallback() will trigger properly
* and all of the custom elements can cleanup.
*/
clearDocument() {
this.ownerGlobal.document.body.textContent = "";
}
/**
* The common stylesheet for all sidebar pages.
*
* @returns {TemplateResult}
*/
stylesheet() {
return html`
<link
rel="stylesheet"
href="chrome://browser/content/sidebar/sidebar.css"
/>
`;
}
}