Created
November 9, 2017 01:25
-
-
Save dbaldwin/2e082c7c26ce3b191bd687adfa9b1e10 to your computer and use it in GitHub Desktop.
PB Recycling UID test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| function allStorageGet(callback, key) { | |
| var storage = (browser.storage || {}).sync; | |
| var fn = (typeof callback === 'function') ? callback : (function () {}); | |
| // Test whether a string is enclosed by `{}`. | |
| function isObjectStr(str) { | |
| return /^{[\s\S]*}$/.test(str); | |
| } | |
| function parseLocalStorage() { | |
| var merged = {}; | |
| for (var i = 0; i < localStorage.length; i++) { | |
| try { | |
| var value = localStorage.getItem(localStorage.key(i)); | |
| merged[localStorage.key(i)] = isObjectStr(value) ? JSON.parse(value) : value; | |
| } catch (e) {} | |
| } | |
| return merged; | |
| } | |
| if (storage) { | |
| storage.get(function (local) { | |
| var merged = parseLocalStorage(); | |
| var keys = Object.keys(local); | |
| keys.forEach(function (key) { | |
| local[key] && (merged[key] = local[key]); | |
| }); | |
| merged = merged; | |
| fn(key ? merged[key] : merged); | |
| }); | |
| } else { | |
| var merged = parseLocalStorage(); | |
| merged = merged; | |
| fn(key ? merged[key] : merged); | |
| } | |
| } | |
| function allStorageSet(items, callback) { | |
| var storage = (browser.storage || {}).sync; | |
| var fn = (typeof callback === 'function') ? callback : (function () {}); | |
| items = items; | |
| if (typeof items === 'object') { | |
| storage && storage.set(items, fn); | |
| var keys = Object.keys(items); | |
| keys.forEach(function (key) { | |
| localStorage.setItem(key, typeof items[key] === 'object' ? JSON.stringify(items[key]) : items[key]); | |
| }); | |
| } | |
| } | |
| // For the local fields, if storage.local does not have value, while localStorage has values, copy over. | |
| allStorageGet(function (oldLocal) { | |
| // @todo remove this temp cleaning later. | |
| var local = oldLocal; | |
| allStorageSet(local, function () { | |
| var newLocalData = {}; | |
| console.log("1: " + uid); | |
| // Pick the uid from FireFox if there is any. | |
| var storageFromFF = local.storage || {}; | |
| uid = storageFromFF.uid || local.uid || localStorage.getItem('uid'); | |
| console.log("2: " + uid); | |
| if (!uid) { | |
| uid = guid(); | |
| // Let's go out and get the tax info | |
| try { | |
| browser.tabs.create({url: "https://www.priceblink.com/install?uid=" + uid + "&browser=" + currentBrowserType + "&ver=" + ver + "&partnerid=0"}); | |
| } catch (e) { | |
| console.error("Error during initialization."); | |
| } | |
| } | |
| newLocalData.uid = uid; | |
| console.log("3: " + uid); | |
| /*allStorageSet(newLocalData, function () { | |
| getParser(); | |
| getUniversalScrapes(); | |
| });*/ | |
| // Set the uninstall url here since it was previously null | |
| browser.runtime.setUninstallURL("https://www.priceblink.com/uninstall?browser=" + currentBrowserType + "&uid=" + uid + "&partnerid=0"); | |
| }); | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment