Update initialization
This commit is contained in:
parent
35216332bf
commit
7ae0584077
@ -47,14 +47,15 @@ class SettingsPopupPreview {
|
||||
window.apiOptionsGet = (...args) => this.apiOptionsGet(...args);
|
||||
|
||||
// Overwrite frontend
|
||||
this.frontend = Frontend.create();
|
||||
const popup = PopupProxyHost.instance.createPopup(null, 0);
|
||||
popup.setChildrenSupported(false);
|
||||
|
||||
this.frontend = new Frontend(popup);
|
||||
|
||||
this.frontend.setEnabled = function () {};
|
||||
this.frontend.searchClear = function () {};
|
||||
|
||||
this.frontend.popup.setChildrenSupported(false);
|
||||
|
||||
await this.frontend.isPrepared();
|
||||
await this.frontend.prepare();
|
||||
|
||||
// Overwrite popup
|
||||
Popup.injectOuterStylesheet = (...args) => this.popupInjectOuterStylesheet(...args);
|
||||
|
@ -17,4 +17,13 @@
|
||||
*/
|
||||
|
||||
|
||||
Frontend.create();
|
||||
async function main() {
|
||||
const data = window.frontendInitializationData || {};
|
||||
const {id, depth=0, parentFrameId, ignoreNodes, url, proxy=false} = data;
|
||||
|
||||
const popup = proxy ? new PopupProxy(depth + 1, id, parentFrameId, url) : PopupProxyHost.instance.createPopup(null, depth);
|
||||
const frontend = new Frontend(popup, ignoreNodes);
|
||||
await frontend.prepare();
|
||||
}
|
||||
|
||||
main();
|
||||
|
@ -34,23 +34,10 @@ class Frontend extends TextScanner {
|
||||
url: popup.url
|
||||
};
|
||||
|
||||
this.isPreparedPromiseResolve = null;
|
||||
this.isPreparedPromise = new Promise((resolve) => { this.isPreparedPromiseResolve = resolve; });
|
||||
|
||||
this._orphaned = true;
|
||||
this._lastShowPromise = Promise.resolve();
|
||||
}
|
||||
|
||||
static create() {
|
||||
const data = window.frontendInitializationData || {};
|
||||
const {id, depth=0, parentFrameId, ignoreNodes, url, proxy=false} = data;
|
||||
|
||||
const popup = proxy ? new PopupProxy(depth + 1, id, parentFrameId, url) : PopupProxyHost.instance.createPopup(null, depth);
|
||||
const frontend = new Frontend(popup, ignoreNodes);
|
||||
frontend.prepare();
|
||||
return frontend;
|
||||
}
|
||||
|
||||
async prepare() {
|
||||
try {
|
||||
await this.updateOptions();
|
||||
@ -58,16 +45,11 @@ class Frontend extends TextScanner {
|
||||
yomichan.on('orphaned', () => this.onOrphaned());
|
||||
yomichan.on('optionsUpdate', () => this.updateOptions());
|
||||
chrome.runtime.onMessage.addListener(this.onRuntimeMessage.bind(this));
|
||||
this.isPreparedPromiseResolve();
|
||||
} catch (e) {
|
||||
this.onError(e);
|
||||
}
|
||||
}
|
||||
|
||||
isPrepared() {
|
||||
return this.isPreparedPromise;
|
||||
}
|
||||
|
||||
async onResize() {
|
||||
const textSource = this.textSourceCurrent;
|
||||
if (textSource !== null && await this.popup.isVisible()) {
|
||||
|
Loading…
Reference in New Issue
Block a user