diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/fg/js/popup-proxy.js | 61 | 
1 files changed, 38 insertions, 23 deletions
| diff --git a/ext/fg/js/popup-proxy.js b/ext/fg/js/popup-proxy.js index aec3dbce..d90d98be 100644 --- a/ext/fg/js/popup-proxy.js +++ b/ext/fg/js/popup-proxy.js @@ -19,30 +19,45 @@  class PopupProxy {      constructor(depth, parentId, parentFrameId, url) { -        this.parentId = parentId; -        this.parentFrameId = parentFrameId; -        this.id = null; -        this.idPromise = null; -        this.parent = null; -        this.child = null; -        this.depth = depth; -        this.url = url; +        this._parentId = parentId; +        this._parentFrameId = parentFrameId; +        this._id = null; +        this._idPromise = null; +        this._depth = depth; +        this._url = url; +        this._apiSender = new FrontendApiSender(); +    } + +    // Public properties + +    get parent() { +        return null; +    } -        this.container = null; +    get child() { +        return null; +    } + +    get depth() { +        return this._depth; +    } -        this.apiSender = new FrontendApiSender(); +    get url() { +        return this._url;      } +    // Public functions +      async setOptions(options) {          const id = await this._getPopupId();          return await this._invokeHostApi('setOptions', {id, options});      }      async hide(changeFocus) { -        if (this.id === null) { +        if (this._id === null) {              return;          } -        return await this._invokeHostApi('hide', {id: this.id, changeFocus}); +        return await this._invokeHostApi('hide', {id: this._id, changeFocus});      }      async isVisibleAsync() { @@ -56,10 +71,10 @@ class PopupProxy {      }      async containsPoint(x, y) { -        if (this.id === null) { +        if (this._id === null) {              return false;          } -        return await this._invokeHostApi('containsPoint', {id: this.id, x, y}); +        return await this._invokeHostApi('containsPoint', {id: this._id, x, y});      }      async showContent(elementRect, writingMode, type=null, details=null) { @@ -74,32 +89,32 @@ class PopupProxy {      }      async clearAutoPlayTimer() { -        if (this.id === null) { +        if (this._id === null) {              return;          } -        return await this._invokeHostApi('clearAutoPlayTimer', {id: this.id}); +        return await this._invokeHostApi('clearAutoPlayTimer', {id: this._id});      }      // Private      _getPopupId() { -        if (this.idPromise === null) { -            this.idPromise = this._getPopupIdAsync(); +        if (this._idPromise === null) { +            this._idPromise = this._getPopupIdAsync();          } -        return this.idPromise; +        return this._idPromise;      }      async _getPopupIdAsync() { -        const id = await this._invokeHostApi('createNestedPopup', {parentId: this.parentId}); -        this.id = id; +        const id = await this._invokeHostApi('createNestedPopup', {parentId: this._parentId}); +        this._id = id;          return id;      }      _invokeHostApi(action, params={}) { -        if (typeof this.parentFrameId !== 'number') { +        if (typeof this._parentFrameId !== 'number') {              return Promise.reject(new Error('Invalid frame'));          } -        return this.apiSender.invoke(action, params, `popup-proxy-host#${this.parentFrameId}`); +        return this._apiSender.invoke(action, params, `popup-proxy-host#${this._parentFrameId}`);      }      static _convertDOMRectToJson(domRect) { |