Merge pull request #3657 from matrix-org/dbkr/matchmedia_conditional_events

Make addEventListener conditional
pull/21833/head
David Baker 2019-11-22 13:09:01 +00:00 committed by GitHub
commit abdf3c4a58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 4 deletions

View File

@ -41,14 +41,18 @@ export class ThemeWatcher {
start() { start() {
this._themeWatchRef = SettingsStore.watchSetting("theme", null, this._onChange); this._themeWatchRef = SettingsStore.watchSetting("theme", null, this._onChange);
this._systemThemeWatchRef = SettingsStore.watchSetting("use_system_theme", null, this._onChange); this._systemThemeWatchRef = SettingsStore.watchSetting("use_system_theme", null, this._onChange);
this._preferDark.addEventListener('change', this._onChange); if (this._preferDark.addEventListener) {
this._preferLight.addEventListener('change', this._onChange); this._preferDark.addEventListener('change', this._onChange);
this._preferLight.addEventListener('change', this._onChange);
}
this._dispatcherRef = dis.register(this._onAction); this._dispatcherRef = dis.register(this._onAction);
} }
stop() { stop() {
this._preferDark.removeEventListener('change', this._onChange); if (this._preferDark.addEventListener) {
this._preferLight.removeEventListener('change', this._onChange); this._preferDark.removeEventListener('change', this._onChange);
this._preferLight.removeEventListener('change', this._onChange);
}
SettingsStore.unwatchSetting(this._systemThemeWatchRef); SettingsStore.unwatchSetting(this._systemThemeWatchRef);
SettingsStore.unwatchSetting(this._themeWatchRef); SettingsStore.unwatchSetting(this._themeWatchRef);
dis.unregister(this._dispatcherRef); dis.unregister(this._dispatcherRef);