From 343bb1792d3425cdb97958c9966683c7c9068deb Mon Sep 17 00:00:00 2001 From: ShiKhu Date: Wed, 1 Dec 2021 21:56:52 +0100 Subject: [PATCH] fix(frontend-player): try-catch around insertRule and querySelector --- .../MessageDistributor/StatedScreen/Screen/BaseScreen.ts | 7 ++++++- .../app/player/MessageDistributor/managers/DOMManager.ts | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/frontend/app/player/MessageDistributor/StatedScreen/Screen/BaseScreen.ts b/frontend/app/player/MessageDistributor/StatedScreen/Screen/BaseScreen.ts index f3e332aa7..e2cd635fd 100644 --- a/frontend/app/player/MessageDistributor/StatedScreen/Screen/BaseScreen.ts +++ b/frontend/app/player/MessageDistributor/StatedScreen/Screen/BaseScreen.ts @@ -128,7 +128,12 @@ export default abstract class BaseScreen { getElementBySelector(selector: string): Element | null { if (!selector) return null; - return this.document?.querySelector(selector) || null; + try { + return this.document?.querySelector(selector) || null; + } catch (e) { + console.error("Can not select element. ", e) + return null + } } display(flag: boolean = true) { diff --git a/frontend/app/player/MessageDistributor/managers/DOMManager.ts b/frontend/app/player/MessageDistributor/managers/DOMManager.ts index c4a4b5ab0..0db1a199d 100644 --- a/frontend/app/player/MessageDistributor/managers/DOMManager.ts +++ b/frontend/app/player/MessageDistributor/managers/DOMManager.ts @@ -231,7 +231,11 @@ export default class DOMManager extends ListWalker { node.sheet.insertRule(msg.rule, msg.index) } catch (e) { logger.warn(e, msg) - node.sheet.insertRule(msg.rule) + try { + node.sheet.insertRule(msg.rule) + } catch (e) { + logger.warn("Cannot insert rule.", e, msg) + } } break; case "css_delete_rule":