summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/lib/sdk/url/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/lib/sdk/url/utils.js')
-rw-r--r--addon-sdk/source/lib/sdk/url/utils.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/addon-sdk/source/lib/sdk/url/utils.js b/addon-sdk/source/lib/sdk/url/utils.js
new file mode 100644
index 000000000..aa5759204
--- /dev/null
+++ b/addon-sdk/source/lib/sdk/url/utils.js
@@ -0,0 +1,29 @@
+/* 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, Cr } = require("chrome");
+const IOService = Cc["@mozilla.org/network/io-service;1"].
+ getService(Ci.nsIIOService);
+const { isValidURI } = require("../url");
+const { method } = require("../../method/core");
+
+function newURI (uri) {
+ if (!isValidURI(uri))
+ throw new Error("malformed URI: " + uri);
+ return IOService.newURI(uri, null, null);
+}
+exports.newURI = newURI;
+
+var getURL = method('sdk/url:getURL');
+getURL.define(String, url => url);
+getURL.define(function (object) {
+ return null;
+});
+exports.getURL = getURL;