Display owner frame (#751)

* Move ownerFrameId definition to Display

* Rename _invoke to _invokeOwner
This commit is contained in:
toasted-nutbread 2020-08-23 11:15:23 -04:00 committed by GitHub
parent a96e1c20a7
commit 1ab853a4d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 6 deletions

View File

@ -25,7 +25,6 @@ class DisplayFloat extends Display {
constructor() {
super(document.querySelector('#spinner'), document.querySelector('#definitions'));
this._nestedPopupsPrepared = false;
this._ownerFrameId = null;
this._frameEndpoint = new FrameEndpoint();
this._windowMessageHandlers = new Map([
['extensionUnloaded', {async: false, handler: this._onMessageExtensionUnloaded.bind(this)}]
@ -59,7 +58,7 @@ class DisplayFloat extends Display {
}
onEscape() {
this._invoke('closePopup');
this._invokeOwner('closePopup');
}
async setOptionsContext(optionsContext) {
@ -99,7 +98,7 @@ class DisplayFloat extends Display {
}
async _onMessageConfigure({frameId, ownerFrameId, popupId, optionsContext, childrenSupported, scale}) {
this._ownerFrameId = ownerFrameId;
this.ownerFrameId = ownerFrameId;
this.setOptionsContext(optionsContext);
await this.updateOptions();
@ -158,7 +157,7 @@ class DisplayFloat extends Display {
_copySelection() {
if (window.getSelection().toString()) { return false; }
this._invoke('copySelection');
this._invokeOwner('copySelection');
return true;
}
@ -197,7 +196,7 @@ class DisplayFloat extends Display {
await onOptionsUpdated();
}
_invoke(action, params={}) {
return api.crossFrame.invoke(this._ownerFrameId, action, params);
_invokeOwner(action, params={}) {
return api.crossFrame.invoke(this.ownerFrameId, action, params);
}
}

View File

@ -82,6 +82,7 @@ class Display extends EventDispatcher {
documentUtil: this._documentUtil
});
this._mode = null;
this._ownerFrameId = null;
this.registerActions([
['close', () => { this.onEscape(); }],
@ -147,6 +148,14 @@ class Display extends EventDispatcher {
return this._mode;
}
get ownerFrameId() {
return this._ownerFrameId;
}
set ownerFrameId(value) {
this._ownerFrameId = value;
}
async prepare() {
this._updateMode();
this._setInteractive(true);