diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/js/app/popup-factory.js | 28 | ||||
| -rw-r--r-- | ext/js/app/popup-proxy.js | 15 | ||||
| -rw-r--r-- | ext/js/app/popup-window.js | 13 | ||||
| -rw-r--r-- | ext/js/app/popup.js | 17 | ||||
| -rw-r--r-- | ext/js/background/backend.js | 22 | ||||
| -rw-r--r-- | ext/js/background/offscreen.js | 14 | ||||
| -rw-r--r-- | ext/js/comm/clipboard-monitor.js | 4 | ||||
| -rw-r--r-- | ext/js/comm/clipboard-reader.js | 7 | ||||
| -rw-r--r-- | ext/js/display/display-generator.js | 5 | ||||
| -rw-r--r-- | ext/js/display/display-history.js | 5 | ||||
| -rw-r--r-- | ext/js/display/display-profile-selection.js | 5 | ||||
| -rw-r--r-- | ext/js/display/display.js | 23 | ||||
| -rw-r--r-- | ext/js/display/query-parser.js | 6 | ||||
| -rw-r--r-- | ext/js/display/search-display-controller.js | 10 | ||||
| -rw-r--r-- | ext/js/dom/dom-data-binder.js | 13 | ||||
| -rw-r--r-- | ext/js/dom/panel-element.js | 5 | ||||
| -rw-r--r-- | ext/js/dom/selector-observer.js | 9 | ||||
| -rw-r--r-- | ext/js/language/translator.js | 5 | ||||
| -rw-r--r-- | ext/js/media/audio-downloader.js | 4 | ||||
| -rw-r--r-- | ext/js/pages/settings/generic-setting-controller.js | 14 | ||||
| -rw-r--r-- | ext/js/pages/settings/modal.js | 5 | ||||
| -rw-r--r-- | ext/js/pages/settings/status-footer.js | 5 | 
22 files changed, 108 insertions, 126 deletions
| diff --git a/ext/js/app/popup-factory.js b/ext/js/app/popup-factory.js index 4338bb3a..9cada2c8 100644 --- a/ext/js/app/popup-factory.js +++ b/ext/js/app/popup-factory.js @@ -120,12 +120,12 @@ export class PopupFactory {              if (id === null) {                  id = generateId(16);              } -            const popup = new PopupWindow({ -                application: this._application, +            const popup = new PopupWindow( +                this._application,                  id,                  depth, -                frameId: currentFrameId -            }); +                currentFrameId +            );              this._popups.set(id, popup);              return popup;          } else if (frameId === currentFrameId) { @@ -133,13 +133,13 @@ export class PopupFactory {              if (id === null) {                  id = generateId(16);              } -            const popup = new Popup({ -                application: this._application, +            const popup = new Popup( +                this._application,                  id,                  depth, -                frameId: currentFrameId, +                currentFrameId,                  childrenSupported -            }); +            );              if (parent !== null) {                  if (parent.child !== null) {                      throw new Error('Parent popup already has a child'); @@ -162,13 +162,13 @@ export class PopupFactory {                  childrenSupported              });              id = info.id; -            const popup = new PopupProxy({ -                application: this._application, +            const popup = new PopupProxy( +                this._application,                  id, -                depth: info.depth, -                frameId: info.frameId, -                frameOffsetForwarder: useFrameOffsetForwarder ? this._frameOffsetForwarder : null -            }); +                info.depth, +                info.frameId, +                useFrameOffsetForwarder ? this._frameOffsetForwarder : null +            );              this._popups.set(id, popup);              return popup;          } diff --git a/ext/js/app/popup-proxy.js b/ext/js/app/popup-proxy.js index 910b2f06..40baf65b 100644 --- a/ext/js/app/popup-proxy.js +++ b/ext/js/app/popup-proxy.js @@ -26,16 +26,13 @@ import {log} from '../core/log.js';   */  export class PopupProxy extends EventDispatcher {      /** -     * Creates a new instance. -     * @param {import('popup').PopupProxyConstructorDetails} details Details about how to set up the instance. +     * @param {import('../application.js').Application} application The main application instance. +     * @param {string} id The identifier of the popup. +     * @param {number} depth The depth of the popup. +     * @param {number} frameId The frameId of the host frame. +     * @param {?import('../comm/frame-offset-forwarder.js').FrameOffsetForwarder} frameOffsetForwarder A `FrameOffsetForwarder` instance which is used to determine frame positioning.       */ -    constructor({ -        application, -        id, -        depth, -        frameId, -        frameOffsetForwarder -    }) { +    constructor(application, id, depth, frameId, frameOffsetForwarder) {          super();          /** @type {import('../application.js').Application} */          this._application = application; diff --git a/ext/js/app/popup-window.js b/ext/js/app/popup-window.js index 32c4d67b..01696676 100644 --- a/ext/js/app/popup-window.js +++ b/ext/js/app/popup-window.js @@ -24,15 +24,12 @@ import {EventDispatcher} from '../core/event-dispatcher.js';   */  export class PopupWindow extends EventDispatcher {      /** -     * Creates a new instance. -     * @param {import('popup').PopupWindowConstructorDetails} details Details about how to set up the instance. +     * @param {import('../application.js').Application} application The main application instance. +     * @param {string} id The identifier of the popup. +     * @param {number} depth The depth of the popup. +     * @param {number} frameId The frameId of the host frame.       */ -    constructor({ -        application, -        id, -        depth, -        frameId -    }) { +    constructor(application, id, depth, frameId) {          super();          /** @type {import('../application.js').Application} */          this._application = application; diff --git a/ext/js/app/popup.js b/ext/js/app/popup.js index 4caf8241..e9c37d00 100644 --- a/ext/js/app/popup.js +++ b/ext/js/app/popup.js @@ -32,16 +32,13 @@ import {ThemeController} from './theme-controller.js';   */  export class Popup extends EventDispatcher {      /** -     * Creates a new instance. -     * @param {import('popup').PopupConstructorDetails} details The details used to construct the new instance. -     */ -    constructor({ -        application, -        id, -        depth, -        frameId, -        childrenSupported -    }) { +     * @param {import('../application.js').Application} application The main application instance. +     * @param {string} id The identifier of the popup. +     * @param {number} depth The depth of the popup. +     * @param {number} frameId The frameId of the host frame. +     * @param {boolean} childrenSupported Whether or not the popup is able to show child popups. +     */ +    constructor(application, id, depth, frameId, childrenSupported) {          super();          /** @type {import('../application.js').Application} */          this._application = application; diff --git a/ext/js/background/backend.js b/ext/js/background/backend.js index 8b0853d2..03c0b5fe 100644 --- a/ext/js/background/backend.js +++ b/ext/js/background/backend.js @@ -68,16 +68,14 @@ export class Backend {              /** @type {DictionaryDatabase|DictionaryDatabaseProxy} */              this._dictionaryDatabase = new DictionaryDatabase();              /** @type {Translator|TranslatorProxy} */ -            this._translator = new Translator({ -                database: this._dictionaryDatabase -            }); +            this._translator = new Translator(this._dictionaryDatabase);              /** @type {ClipboardReader|ClipboardReaderProxy} */ -            this._clipboardReader = new ClipboardReader({ +            this._clipboardReader = new ClipboardReader(                  // eslint-disable-next-line no-undef -                document: (typeof document === 'object' && document !== null ? document : null), -                pasteTargetSelector: '#clipboard-paste-target', -                richContentPasteTargetSelector: '#clipboard-rich-content-paste-target' -            }); +                (typeof document === 'object' && document !== null ? document : null), +                '#clipboard-paste-target', +                '#clipboard-rich-content-paste-target' +            );          } else {              /** @type {?OffscreenProxy} */              this._offscreen = new OffscreenProxy(webExtension); @@ -90,9 +88,7 @@ export class Backend {          }          /** @type {ClipboardMonitor} */ -        this._clipboardMonitor = new ClipboardMonitor({ -            clipboardReader: this._clipboardReader -        }); +        this._clipboardMonitor = new ClipboardMonitor(this._clipboardReader);          /** @type {?import('settings').Options} */          this._options = null;          /** @type {import('../data/json-schema.js').JsonSchema[]} */ @@ -102,9 +98,7 @@ export class Backend {          /** @type {RequestBuilder} */          this._requestBuilder = new RequestBuilder();          /** @type {AudioDownloader} */ -        this._audioDownloader = new AudioDownloader({ -            requestBuilder: this._requestBuilder -        }); +        this._audioDownloader = new AudioDownloader(this._requestBuilder);          /** @type {OptionsUtil} */          this._optionsUtil = new OptionsUtil();          /** @type {AccessibilityController} */ diff --git a/ext/js/background/offscreen.js b/ext/js/background/offscreen.js index dbdb9773..3b8b6a3e 100644 --- a/ext/js/background/offscreen.js +++ b/ext/js/background/offscreen.js @@ -34,15 +34,13 @@ export class Offscreen {          /** @type {DictionaryDatabase} */          this._dictionaryDatabase = new DictionaryDatabase();          /** @type {Translator} */ -        this._translator = new Translator({ -            database: this._dictionaryDatabase -        }); +        this._translator = new Translator(this._dictionaryDatabase);          /** @type {ClipboardReader} */ -        this._clipboardReader = new ClipboardReader({ -            document: (typeof document === 'object' && document !== null ? document : null), -            pasteTargetSelector: '#clipboard-paste-target', -            richContentPasteTargetSelector: '#clipboard-rich-content-paste-target' -        }); +        this._clipboardReader = new ClipboardReader( +            (typeof document === 'object' && document !== null ? document : null), +            '#clipboard-paste-target', +            '#clipboard-rich-content-paste-target' +        );          /* eslint-disable @stylistic/no-multi-spaces */ diff --git a/ext/js/comm/clipboard-monitor.js b/ext/js/comm/clipboard-monitor.js index a7cd8833..d101b467 100644 --- a/ext/js/comm/clipboard-monitor.js +++ b/ext/js/comm/clipboard-monitor.js @@ -24,9 +24,9 @@ import {isStringPartiallyJapanese} from '../language/ja/japanese.js';   */  export class ClipboardMonitor extends EventDispatcher {      /** -     * @param {{clipboardReader: import('clipboard-monitor').ClipboardReaderLike}} details +     * @param {import('clipboard-monitor').ClipboardReaderLike} clipboardReader       */ -    constructor({clipboardReader}) { +    constructor(clipboardReader) {          super();          /** @type {import('clipboard-monitor').ClipboardReaderLike} */          this._clipboardReader = clipboardReader; diff --git a/ext/js/comm/clipboard-reader.js b/ext/js/comm/clipboard-reader.js index b040d6ca..c09e9ff2 100644 --- a/ext/js/comm/clipboard-reader.js +++ b/ext/js/comm/clipboard-reader.js @@ -23,10 +23,11 @@ import {getFileExtensionFromImageMediaType} from '../media/media-util.js';   */  export class ClipboardReader {      /** -     * Creates a new instances of a clipboard reader. -     * @param {{document: ?Document, pasteTargetSelector: ?string, richContentPasteTargetSelector: ?string}} details Details about how to set up the instance. +     * @param {?Document} document +     * @param {?string} pasteTargetSelector +     * @param {?string} richContentPasteTargetSelector       */ -    constructor({document = null, pasteTargetSelector = null, richContentPasteTargetSelector = null}) { +    constructor(document, pasteTargetSelector, richContentPasteTargetSelector) {          /** @type {?Document} */          this._document = document;          /** @type {?import('environment').Browser} */ diff --git a/ext/js/display/display-generator.js b/ext/js/display/display-generator.js index 65736759..22912e9f 100644 --- a/ext/js/display/display-generator.js +++ b/ext/js/display/display-generator.js @@ -26,9 +26,10 @@ import {StructuredContentGenerator} from './sandbox/structured-content-generator  export class DisplayGenerator {      /** -     * @param {import('display').DisplayGeneratorConstructorDetails} details +     * @param {import('./display-content-manager.js').DisplayContentManager} contentManager +     * @param {?import('../input/hotkey-help-controller.js').HotkeyHelpController} hotkeyHelpController       */ -    constructor({contentManager, hotkeyHelpController = null}) { +    constructor(contentManager, hotkeyHelpController) {          /** @type {import('./display-content-manager.js').DisplayContentManager} */          this._contentManager = contentManager;          /** @type {?import('../input/hotkey-help-controller.js').HotkeyHelpController} */ diff --git a/ext/js/display/display-history.js b/ext/js/display/display-history.js index 255a8536..67690219 100644 --- a/ext/js/display/display-history.js +++ b/ext/js/display/display-history.js @@ -24,9 +24,10 @@ import {generateId, isObject} from '../core/utilities.js';   */  export class DisplayHistory extends EventDispatcher {      /** -     * @param {{clearable?: boolean, useBrowserHistory?: boolean}} details +     * @param {boolean} clearable +     * @param {boolean} useBrowserHistory       */ -    constructor({clearable = true, useBrowserHistory = false}) { +    constructor(clearable, useBrowserHistory) {          super();          /** @type {boolean} */          this._clearable = clearable; diff --git a/ext/js/display/display-profile-selection.js b/ext/js/display/display-profile-selection.js index 0aa08b00..6fd25835 100644 --- a/ext/js/display/display-profile-selection.js +++ b/ext/js/display/display-profile-selection.js @@ -35,10 +35,7 @@ export class DisplayProfileSelection {          /** @type {HTMLElement} */          const profilePanelElement = querySelectorNotNull(document, '#profile-panel');          /** @type {PanelElement} */ -        this._profilePanel = new PanelElement({ -            node: profilePanelElement, -            closingAnimationDuration: 375 // Milliseconds; includes buffer -        }); +        this._profilePanel = new PanelElement(profilePanelElement, 375); // Milliseconds; includes buffer          /** @type {boolean} */          this._profileListNeedsUpdate = false;          /** @type {EventListenerCollection} */ diff --git a/ext/js/display/display.js b/ext/js/display/display.js index d0edd0bd..750e0d69 100644 --- a/ext/js/display/display.js +++ b/ext/js/display/display.js @@ -83,16 +83,13 @@ export class Display extends EventDispatcher {          /** @type {HotkeyHelpController} */          this._hotkeyHelpController = new HotkeyHelpController();          /** @type {DisplayGenerator} */ -        this._displayGenerator = new DisplayGenerator({ -            contentManager: this._contentManager, -            hotkeyHelpController: this._hotkeyHelpController -        }); +        this._displayGenerator = new DisplayGenerator(this._contentManager, this._hotkeyHelpController);          /** @type {import('display').DirectApiMap} */          this._directApiMap = new Map();          /** @type {import('api-map').ApiMap<import('display').WindowApiSurface>} */ // import('display').WindowApiMap          this._windowApiMap = new Map();          /** @type {DisplayHistory} */ -        this._history = new DisplayHistory({clearable: true, useBrowserHistory: false}); +        this._history = new DisplayHistory(true, false);          /** @type {boolean} */          this._historyChangeIgnore = false;          /** @type {boolean} */ @@ -126,11 +123,7 @@ export class Display extends EventDispatcher {          /** @type {TextSourceGenerator} */          this._textSourceGenerator = new TextSourceGenerator();          /** @type {QueryParser} */ -        this._queryParser = new QueryParser({ -            api: application.api, -            getSearchContext: this._getSearchContext.bind(this), -            textSourceGenerator: this._textSourceGenerator -        }); +        this._queryParser = new QueryParser(application.api, this._textSourceGenerator, this._getSearchContext.bind(this));          /** @type {HTMLElement} */          this._contentScrollElement = querySelectorNotNull(document, '#content-scroll');          /** @type {HTMLElement} */ @@ -1712,8 +1705,7 @@ export class Display extends EventDispatcher {          const popupFactory = new PopupFactory(this._application);          popupFactory.prepare(); -        /** @type {import('frontend').ConstructorDetails} */ -        const setupNestedPopupsOptions = { +        const frontend = new Frontend({              application: this._application,              useProxyPopup,              parentPopupId, @@ -1723,10 +1715,9 @@ export class Display extends EventDispatcher {              pageType: this._pageType,              allowRootFramePopupProxy: true,              childrenSupported: this._childrenSupported, -            hotkeyHandler: this._hotkeyHandler -        }; - -        const frontend = new Frontend(setupNestedPopupsOptions); +            hotkeyHandler: this._hotkeyHandler, +            canUseWindowPopup: true +        });          this._frontend = frontend;          await frontend.prepare();      } diff --git a/ext/js/display/query-parser.js b/ext/js/display/query-parser.js index 875d9d5a..d27b9394 100644 --- a/ext/js/display/query-parser.js +++ b/ext/js/display/query-parser.js @@ -27,9 +27,11 @@ import {TextScanner} from '../language/text-scanner.js';   */  export class QueryParser extends EventDispatcher {      /** -     * @param {import('display').QueryParserConstructorDetails} details +     * @param {import('../comm/api.js').API} api +     * @param {import('../dom/text-source-generator').TextSourceGenerator} textSourceGenerator +     * @param {import('display').GetSearchContextCallback} getSearchContext       */ -    constructor({api, getSearchContext, textSourceGenerator}) { +    constructor(api, textSourceGenerator, getSearchContext) {          super();          /** @type {import('../comm/api.js').API} */          this._api = api; diff --git a/ext/js/display/search-display-controller.js b/ext/js/display/search-display-controller.js index d8126027..e23d5d50 100644 --- a/ext/js/display/search-display-controller.js +++ b/ext/js/display/search-display-controller.js @@ -63,12 +63,12 @@ export class SearchDisplayController {          this._introAnimationTimer = null;          /** @type {boolean} */          this._clipboardMonitorEnabled = false; +        /** @type {import('clipboard-monitor').ClipboardReaderLike} */ +        const clipboardReader = { +            getText: this._display.application.api.clipboardGet.bind(this._display.application.api) +        };          /** @type {ClipboardMonitor} */ -        this._clipboardMonitor = new ClipboardMonitor({ -            clipboardReader: { -                getText: this._display.application.api.clipboardGet.bind(this._display.application.api) -            } -        }); +        this._clipboardMonitor = new ClipboardMonitor(clipboardReader);          /** @type {import('application').ApiMap} */          this._apiMap = createApiMap([              ['searchDisplayControllerGetMode', this._onMessageGetMode.bind(this)], diff --git a/ext/js/dom/dom-data-binder.js b/ext/js/dom/dom-data-binder.js index d33f1a2b..14b3b2cd 100644 --- a/ext/js/dom/dom-data-binder.js +++ b/ext/js/dom/dom-data-binder.js @@ -25,9 +25,14 @@ import {SelectorObserver} from './selector-observer.js';   */  export class DOMDataBinder {      /** -     * @param {import('dom-data-binder').ConstructorDetails<T>} details +     * @param {string} selector +     * @param {import('dom-data-binder').CreateElementMetadataCallback<T>} createElementMetadata +     * @param {import('dom-data-binder').CompareElementMetadataCallback<T>} compareElementMetadata +     * @param {import('dom-data-binder').GetValuesCallback<T>} getValues +     * @param {import('dom-data-binder').SetValuesCallback<T>} setValues +     * @param {import('dom-data-binder').OnErrorCallback<T>|null} [onError]       */ -    constructor({selector, createElementMetadata, compareElementMetadata, getValues, setValues, onError = null}) { +    constructor(selector, createElementMetadata, compareElementMetadata, getValues, setValues, onError = null) {          /** @type {string} */          this._selector = selector;          /** @type {import('dom-data-binder').CreateElementMetadataCallback<T>} */ @@ -45,14 +50,14 @@ export class DOMDataBinder {          /** @type {TaskAccumulator<import('dom-data-binder').ElementObserver<T>, import('dom-data-binder').AssignTaskValue>} */          this._assignTasks = new TaskAccumulator(this._onBulkAssign.bind(this));          /** @type {SelectorObserver<import('dom-data-binder').ElementObserver<T>>} */ -        this._selectorObserver = /** @type {SelectorObserver<import('dom-data-binder').ElementObserver<T>>} */ (new SelectorObserver({ +        this._selectorObserver = new SelectorObserver({              selector,              ignoreSelector: null,              onAdded: this._createObserver.bind(this),              onRemoved: this._removeObserver.bind(this),              onChildrenUpdated: this._onObserverChildrenUpdated.bind(this),              isStale: this._isObserverStale.bind(this) -        })); +        });      }      /** diff --git a/ext/js/dom/panel-element.js b/ext/js/dom/panel-element.js index 0f2801e6..97b05599 100644 --- a/ext/js/dom/panel-element.js +++ b/ext/js/dom/panel-element.js @@ -23,9 +23,10 @@ import {EventDispatcher} from '../core/event-dispatcher.js';   */  export class PanelElement extends EventDispatcher {      /** -     * @param {import('panel-element').ConstructorDetails} details +     * @param {HTMLElement} node +     * @param {number} closingAnimationDuration       */ -    constructor({node, closingAnimationDuration}) { +    constructor(node, closingAnimationDuration) {          super();          /** @type {HTMLElement} */          this._node = node; diff --git a/ext/js/dom/selector-observer.js b/ext/js/dom/selector-observer.js index 86607130..032805e8 100644 --- a/ext/js/dom/selector-observer.js +++ b/ext/js/dom/selector-observer.js @@ -25,7 +25,14 @@ export class SelectorObserver {       * Creates a new instance.       * @param {import('selector-observer').ConstructorDetails<T>} details The configuration for the object.       */ -    constructor({selector, ignoreSelector = null, onAdded = null, onRemoved = null, onChildrenUpdated = null, isStale = null}) { +    constructor({ +        selector, +        ignoreSelector = null, +        onAdded = null, +        onRemoved = null, +        onChildrenUpdated = null, +        isStale = null +    }) {          /** @type {string} */          this._selector = selector;          /** @type {?string} */ diff --git a/ext/js/language/translator.js b/ext/js/language/translator.js index 4f9304b5..568c12bd 100644 --- a/ext/js/language/translator.js +++ b/ext/js/language/translator.js @@ -27,10 +27,9 @@ import {getAllLanguageTextPreprocessors} from './languages.js';   */  export class Translator {      /** -     * Creates a new Translator instance. -     * @param {import('translator').ConstructorDetails} details The details for the class. +     * @param {import('../dictionary/dictionary-database.js').DictionaryDatabase} database       */ -    constructor({database}) { +    constructor(database) {          /** @type {import('../dictionary/dictionary-database.js').DictionaryDatabase} */          this._database = database;          /** @type {LanguageTransformer} */ diff --git a/ext/js/media/audio-downloader.js b/ext/js/media/audio-downloader.js index b594db7f..d3bec75a 100644 --- a/ext/js/media/audio-downloader.js +++ b/ext/js/media/audio-downloader.js @@ -27,9 +27,9 @@ import {isStringEntirelyKana} from '../language/ja/japanese.js';  export class AudioDownloader {      /** -     * @param {{requestBuilder: RequestBuilder}} details +     * @param {RequestBuilder} requestBuilder       */ -    constructor({requestBuilder}) { +    constructor(requestBuilder) {          /** @type {RequestBuilder} */          this._requestBuilder = requestBuilder;          /** @type {?JsonSchema} */ diff --git a/ext/js/pages/settings/generic-setting-controller.js b/ext/js/pages/settings/generic-setting-controller.js index 54d87f8d..812520e4 100644 --- a/ext/js/pages/settings/generic-setting-controller.js +++ b/ext/js/pages/settings/generic-setting-controller.js @@ -31,13 +31,13 @@ export class GenericSettingController {          /** @type {import('settings-modifications').OptionsScopeType} */          this._defaultScope = 'profile';          /** @type {DOMDataBinder<import('generic-setting-controller').ElementMetadata>} */ -        this._dataBinder = new DOMDataBinder({ -            selector: '[data-setting]', -            createElementMetadata: this._createElementMetadata.bind(this), -            compareElementMetadata: this._compareElementMetadata.bind(this), -            getValues: this._getValues.bind(this), -            setValues: this._setValues.bind(this) -        }); +        this._dataBinder = new DOMDataBinder( +            '[data-setting]', +            this._createElementMetadata.bind(this), +            this._compareElementMetadata.bind(this), +            this._getValues.bind(this), +            this._setValues.bind(this) +        );          /** @type {Map<import('generic-setting-controller').TransformType, import('generic-setting-controller').TransformFunction>} */          this._transforms = new Map(/** @type {[key: import('generic-setting-controller').TransformType, value: import('generic-setting-controller').TransformFunction][]} */ ([              ['setAttribute', this._setAttribute.bind(this)], diff --git a/ext/js/pages/settings/modal.js b/ext/js/pages/settings/modal.js index 7e20dcb4..1eee00d7 100644 --- a/ext/js/pages/settings/modal.js +++ b/ext/js/pages/settings/modal.js @@ -23,10 +23,7 @@ export class Modal extends PanelElement {       * @param {HTMLElement} node       */      constructor(node) { -        super({ -            node, -            closingAnimationDuration: 375 // Milliseconds; includes buffer -        }); +        super(node, 375); // Milliseconds; includes buffer          /** @type {?Element} */          this._contentNode = null;          /** @type {boolean} */ diff --git a/ext/js/pages/settings/status-footer.js b/ext/js/pages/settings/status-footer.js index 786e1d55..420dd044 100644 --- a/ext/js/pages/settings/status-footer.js +++ b/ext/js/pages/settings/status-footer.js @@ -24,10 +24,7 @@ export class StatusFooter extends PanelElement {       * @param {HTMLElement} node       */      constructor(node) { -        super({ -            node, -            closingAnimationDuration: 375 // Milliseconds; includes buffer -        }); +        super(node, 375); // Milliseconds; includes buffer          /** @type {HTMLElement} */          this._body = querySelectorNotNull(node, '.status-footer');      } |