summaryrefslogtreecommitdiffstats
path: root/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
diff options
context:
space:
mode:
authorAscrod <32915892+Ascrod@users.noreply.github.com>2019-04-18 20:35:10 -0400
committerAscrod <32915892+Ascrod@users.noreply.github.com>2019-04-18 20:35:10 -0400
commitaf7e140d4ed8f5bc9a69da2f0338ad3cb1319dec (patch)
tree4aac6c4383fb9e279fccb13c65a4e44595fd4cf6 /services/cloudsync/CloudSyncBookmarksFolderCache.jsm
parent40fc72376411587e7bf9985fb9545eca1c9aaa8e (diff)
parent51722cd4fecb5c8c79a302f2771cad71535df5ea (diff)
downloadUXP-af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec.tar
UXP-af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec.tar.gz
UXP-af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec.tar.lz
UXP-af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec.tar.xz
UXP-af7e140d4ed8f5bc9a69da2f0338ad3cb1319dec.zip
Merge branch 'master' into default-pref
Diffstat (limited to 'services/cloudsync/CloudSyncBookmarksFolderCache.jsm')
-rw-r--r--services/cloudsync/CloudSyncBookmarksFolderCache.jsm105
1 files changed, 0 insertions, 105 deletions
diff --git a/services/cloudsync/CloudSyncBookmarksFolderCache.jsm b/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
deleted file mode 100644
index f3c3fc8f2..000000000
--- a/services/cloudsync/CloudSyncBookmarksFolderCache.jsm
+++ /dev/null
@@ -1,105 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-"use strict";
-
-this.EXPORTED_SYMBOLS = ["FolderCache"];
-
-// Cache for bookmarks folder heirarchy.
-var FolderCache = function () {
- this.cache = new Map();
-}
-
-FolderCache.prototype = {
- has: function (id) {
- return this.cache.has(id);
- },
-
- insert: function (id, parentId) {
- if (this.cache.has(id)) {
- return;
- }
-
- if (parentId && !(this.cache.has(parentId))) {
- throw new Error("insert :: parentId not found in cache: " + parentId);
- }
-
- this.cache.set(id, {
- parent: parentId || null,
- children: new Set(),
- });
-
- if (parentId) {
- this.cache.get(parentId).children.add(id);
- }
- },
-
- remove: function (id) {
- if (!(this.cache.has(id))) {
- throw new Error("remote :: id not found in cache: " + id);
- }
-
- let parentId = this.cache.get(id).parent;
- if (parentId) {
- this.cache.get(parentId).children.delete(id);
- }
-
- for (let child of this.cache.get(id).children) {
- this.cache.get(child).parent = null;
- }
-
- this.cache.delete(id);
- },
-
- setParent: function (id, parentId) {
- if (!(this.cache.has(id))) {
- throw new Error("setParent :: id not found in cache: " + id);
- }
-
- if (parentId && !(this.cache.has(parentId))) {
- throw new Error("setParent :: parentId not found in cache: " + parentId);
- }
-
- let oldParent = this.cache.get(id).parent;
- if (oldParent) {
- this.cache.get(oldParent).children.delete(id);
- }
- this.cache.get(id).parent = parentId;
- this.cache.get(parentId).children.add(id);
-
- return true;
- },
-
- getParent: function (id) {
- if (this.cache.has(id)) {
- return this.cache.get(id).parent;
- }
-
- throw new Error("getParent :: id not found in cache: " + id);
- },
-
- getChildren: function (id) {
- if (this.cache.has(id)) {
- return this.cache.get(id).children;
- }
-
- throw new Error("getChildren :: id not found in cache: " + id);
- },
-
- setChildren: function (id, children) {
- for (let child of children) {
- if (!this.cache.has(child)) {
- this.insert(child, id);
- } else {
- this.setParent(child, id);
- }
- }
- },
-
- dump: function () {
- dump("FolderCache: " + JSON.stringify(this.cache) + "\n");
- },
-};
-
-this.FolderCache = FolderCache;