Merge reused code into a common file
Change-Id: I264aaa67ae1103df2292e17d1eb46b3054799994
diff --git a/src/common/common.js b/src/common/common.js
new file mode 100644
index 0000000..28c233a
--- /dev/null
+++ b/src/common/common.js
@@ -0,0 +1,44 @@
+const defaultOptions = {
+ 'list': true,
+ 'thread': true,
+ 'threadall': false,
+ 'fixedtoolbar': false,
+ 'redirect': false,
+ 'history': false,
+ 'loaddrafts': false,
+ 'batchduplicate': false,
+ 'escalatethreads': false,
+ 'movethreads': false,
+ 'increasecontrast': false,
+ 'stickysidebarheaders': false,
+ 'profileindicator': false,
+};
+
+const deprecatedOptions = [
+ 'escalatethreads',
+ 'movethreads',
+ 'batchduplicate',
+];
+
+function isEmpty(obj) {
+ return Object.keys(obj).length === 0;
+}
+
+function cleanUpOptions(options) {
+ console.log('[cleanUpOptions] Previous options', options);
+ var ok = true;
+ for (const [opt, value] of Object.entries(defaultOptions)) {
+ if (!(opt in options)) {
+ ok = false;
+ options[opt] = value;
+ }
+ }
+
+ console.log('[cleanUpOptions] New options', options);
+
+ if (!ok) {
+ chrome.storage.sync.set(options);
+ }
+
+ return options;
+}