summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/lib/sdk/indexed-db.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/lib/sdk/indexed-db.js')
-rw-r--r--addon-sdk/source/lib/sdk/indexed-db.js79
1 files changed, 0 insertions, 79 deletions
diff --git a/addon-sdk/source/lib/sdk/indexed-db.js b/addon-sdk/source/lib/sdk/indexed-db.js
deleted file mode 100644
index d4d166c02..000000000
--- a/addon-sdk/source/lib/sdk/indexed-db.js
+++ /dev/null
@@ -1,79 +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";
-
-module.metadata = {
- "stability": "experimental"
-};
-
-const { Cc, Ci } = require("chrome");
-const { id } = require("./self");
-
-// placeholder, copied from bootstrap.js
-var sanitizeId = function(id){
- let uuidRe =
- /^\{([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\}$/;
-
- let domain = id.
- toLowerCase().
- replace(/@/g, "-at-").
- replace(/\./g, "-dot-").
- replace(uuidRe, "$1");
-
- return domain
-};
-
-const PSEUDOURI = "indexeddb://" + sanitizeId(id) // https://bugzilla.mozilla.org/show_bug.cgi?id=779197
-
-// Use XPCOM because `require("./url").URL` doesn't expose the raw uri object.
-var principaluri = Cc["@mozilla.org/network/io-service;1"].
- getService(Ci.nsIIOService).
- newURI(PSEUDOURI, null, null);
-
-var ssm = Cc["@mozilla.org/scriptsecuritymanager;1"]
- .getService(Ci.nsIScriptSecurityManager);
-var principal = ssm.createCodebasePrincipal(principaluri, {});
-
-function toArray(args) {
- return Array.prototype.slice.call(args);
-}
-
-function openInternal(args, forPrincipal, deleting) {
- if (forPrincipal) {
- args = toArray(args);
- } else {
- args = [principal].concat(toArray(args));
- }
- if (args.length == 2) {
- args.push({ storage: "persistent" });
- } else if (!deleting && args.length >= 3 && typeof args[2] === "number") {
- args[2] = { version: args[2], storage: "persistent" };
- }
-
- if (deleting) {
- return indexedDB.deleteForPrincipal.apply(indexedDB, args);
- }
-
- return indexedDB.openForPrincipal.apply(indexedDB, args);
-}
-
-exports.indexedDB = Object.freeze({
- open: function () {
- return openInternal(arguments, false, false);
- },
- deleteDatabase: function () {
- return openInternal(arguments, false, true);
- },
- openForPrincipal: function () {
- return openInternal(arguments, true, false);
- },
- deleteForPrincipal: function () {
- return openInternal(arguments, true, true);
- },
- cmp: indexedDB.cmp.bind(indexedDB)
-});
-
-exports.IDBKeyRange = IDBKeyRange;
-exports.DOMException = Ci.nsIDOMDOMException;