123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- (function () {
- "use strict";
- var storageLocal = chrome.storage.local;
- var storageSync = chrome.storage.sync;
- if (!storageSync) {
-
- return;
- }
- getStorageNames(function (storageKeys) {
- storageLocal.get(storageKeys, function (values) {
- if (!values || !Object.keys(values).length) {
-
-
- migrateRenamedStorage();
- return;
- }
- migrateToSyncStorage(values);
- });
- });
- function getStorageNames(callback) {
- var x = new XMLHttpRequest();
- var schema_location = chrome.runtime.getManifest().storage.managed_schema;
- x.open("get", chrome.runtime.getURL(schema_location));
- x.onload = function () {
- var storageKeys = Object.keys(x.response.properties);
- callback(storageKeys);
- };
- x.responseType = "json";
- x.send();
- }
-
-
- function migrateToSyncStorage(values) {
- storageSync.set(values, function () {
- if (chrome.runtime.lastError) {
- console.error(
- "Failed to migrate settings due to an error: " +
- chrome.runtime.lastError.message
- );
- return;
- }
-
- storageLocal.remove(Object.keys(values), function () {
-
-
-
- console.log(
- "Successfully migrated preferences from local to sync storage."
- );
- migrateRenamedStorage();
- });
- });
- }
-
-
-
-
- function migrateRenamedStorage() {
- storageSync.get(
- [
- "enableHandToolOnLoad",
- "cursorToolOnLoad",
- "disableTextLayer",
- "enhanceTextSelection",
- "textLayerMode",
- "showPreviousViewOnLoad",
- "disablePageMode",
- "viewOnLoad",
- ],
- function (items) {
-
- if (typeof items.enableHandToolOnLoad === "boolean") {
- if (items.enableHandToolOnLoad) {
- storageSync.set(
- {
- cursorToolOnLoad: 1,
- },
- function () {
- if (!chrome.runtime.lastError) {
- storageSync.remove("enableHandToolOnLoad");
- }
- }
- );
- } else {
- storageSync.remove("enableHandToolOnLoad");
- }
- }
-
- if (typeof items.disableTextLayer === "boolean") {
- if (items.disableTextLayer) {
- storageSync.set(
- {
- textLayerMode: 0,
- },
- function () {
- if (!chrome.runtime.lastError) {
- storageSync.remove([
- "disableTextLayer",
- "enhanceTextSelection",
- ]);
- }
- }
- );
- } else {
- storageSync.remove(["disableTextLayer", "enhanceTextSelection"]);
- }
- }
-
- if (typeof items.showPreviousViewOnLoad === "boolean") {
- if (!items.showPreviousViewOnLoad) {
- storageSync.set(
- {
- viewOnLoad: 1,
- },
- function () {
- if (!chrome.runtime.lastError) {
- storageSync.remove([
- "showPreviousViewOnLoad",
- "disablePageMode",
- ]);
- }
- }
- );
- } else {
- storageSync.remove(["showPreviousViewOnLoad", "disablePageMode"]);
- }
- }
- }
- );
- }
- })();
|