diff --git a/server/src/browser-management/classes/RemoteBrowser.ts b/server/src/browser-management/classes/RemoteBrowser.ts index 5573a540..c8ea375d 100644 --- a/server/src/browser-management/classes/RemoteBrowser.ts +++ b/server/src/browser-management/classes/RemoteBrowser.ts @@ -157,4 +157,21 @@ export class RemoteBrowser { }, 100); }); }; + + /** + * Terminates the screencast session and closes the remote browser. + * If an interpretation was running it will be stopped. + * @returns {Promise} + */ + public switchOff = async() : Promise => { + await this.interpreter.stopInterpretation(); + if (this.browser) { + await this.stopScreencast(); + await this.browser.close(); + } else { + logger.log('error', 'Browser wasn\'t initialized'); + logger.log('error','Switching off the browser failed'); + } + }; + }