Allow to enable extensions for gdm and unlock-dialog modes
I wonder if we would want something similar to the following code:
diff --git a/js/ui/sessionMode.js b/js/ui/sessionMode.js
index b8b627370..78cbeffae 100644
--- a/js/ui/sessionMode.js
+++ b/js/ui/sessionMode.js
@@ -104,7 +104,7 @@ function _loadMode(file, info) {
let suffix = name.indexOf('.json');
let modeName = suffix == -1 ? name : name.slice(name, suffix);
- if (Object.prototype.hasOwnProperty.call(_modes, modeName))
+ if (Object.prototype.hasOwnProperty.call(_modes, modeName) && modeName != 'gdm' && modeName != 'unlock-dialog')
return;
let fileContent, success_, newMode;
@@ -116,14 +116,21 @@ function _loadMode(file, info) {
return;
}
- _modes[modeName] = {};
- const excludedProps = ['unlockDialog'];
- for (let prop in _modes[DEFAULT_MODE]) {
- if (newMode[prop] !== undefined &&
- !excludedProps.includes(prop))
- _modes[modeName][prop] = newMode[prop];
+ // For gdm and unlock-dialog we only allow to set extensions
+ if (modeName == 'gdm' || modeName == 'unlock-dialog') {
+ if (newMode['enabledExtensions'] !== undefined) {
+ _modes[modeName]['enabledExtensions'] = newMode['enabledExtensions'];
+ }
+ } else {
+ _modes[modeName] = {};
+ const excludedProps = ['unlockDialog'];
+ for (let prop in _modes[DEFAULT_MODE]) {
+ if (newMode[prop] !== undefined &&
+ !excludedProps.includes(prop))
+ _modes[modeName][prop] = newMode[prop];
+ }
+ _modes[modeName]['isPrimary'] = true;
}
- _modes[modeName]['isPrimary'] = true;
}
function _loadModes() {
Note that I have not even tried it and I will let @abono to test it and debug it tomorrow, but I would like to understand if you would be willing to take something like this or if you would prefer another approach