aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.12/lib/sdk/net
diff options
context:
space:
mode:
Diffstat (limited to 'tools/addon-sdk-1.12/lib/sdk/net')
-rw-r--r--tools/addon-sdk-1.12/lib/sdk/net/url.js108
-rw-r--r--tools/addon-sdk-1.12/lib/sdk/net/xhr.js154
2 files changed, 0 insertions, 262 deletions
diff --git a/tools/addon-sdk-1.12/lib/sdk/net/url.js b/tools/addon-sdk-1.12/lib/sdk/net/url.js
deleted file mode 100644
index 5992e0d..0000000
--- a/tools/addon-sdk-1.12/lib/sdk/net/url.js
+++ /dev/null
@@ -1,108 +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/. */
-
-const { Cu, components } = require("chrome");
-const { defer } = require("../core/promise");
-const { merge } = require("../util/object");
-
-const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm", {});
-
-/**
- * Open a channel synchronously for the URI given, with an optional charset, and
- * returns a resolved promise if succeed; rejected promise otherwise.
- */
-function readSync(uri, charset) {
- let { promise, resolve, reject } = defer();
-
- try {
- resolve(readURISync(uri, charset));
- }
- catch (e) {
- reject("Failed to read: '" + uri + "' (Error Code: " + e.result + ")");
- }
-
- return promise;
-}
-
-/**
- * Open a channel synchronously for the URI given, with an optional charset, and
- * returns a promise.
- */
-function readAsync(uri, charset) {
- let channel = NetUtil.newChannel(uri, charset, null);
-
- let { promise, resolve, reject } = defer();
-
- NetUtil.asyncFetch(channel, function (stream, result) {
- if (components.isSuccessCode(result)) {
- let count = stream.available();
- let data = NetUtil.readInputStreamToString(stream, count, { charset : charset });
-
- resolve(data);
- } else {
- reject("Failed to read: '" + uri + "' (Error Code: " + result + ")");
- }
- });
-
- return promise;
-}
-
-/**
- * Reads a URI and returns a promise. If the `sync` option is set to `true`, the
- * promise will be resolved synchronously.
- *
- * @param uri {string} The URI to read
- * @param [options] {object} This parameter can have any or all of the following
- * fields: `sync`, `charset`. By default the `charset` is set to 'UTF-8'.
- *
- * @returns {promise} The promise that will be resolved with the content of the
- * URL given.
- *
- * @example
- * let promise = readURI('resource://gre/modules/NetUtil.jsm', {
- * sync: true,
- * charset: 'US-ASCII'
- });
- */
-function readURI(uri, options) {
- options = merge({
- charset: "UTF-8",
- sync: false
- }, options);
-
- return options.sync
- ? readSync(uri, options.charset)
- : readAsync(uri, options.charset);
-}
-
-exports.readURI = readURI;
-
-/**
- * Reads a URI synchronously.
- * This function is intentionally undocumented to favorites the `readURI` usage.
- *
- * @param uri {string} The URI to read
- * @param [charset] {string} The character set to use when read the content of
- * the `uri` given. By default is set to 'UTF-8'.
- *
- * @returns {string} The content of the URI given.
- *
- * @example
- * let data = readURISync('resource://gre/modules/NetUtil.jsm');
- */
-function readURISync(uri, charset) {
- charset = typeof charset === "string" ? charset : "UTF-8";
-
- let channel = NetUtil.newChannel(uri, charset, null);
- let stream = channel.open();
-
- let count = stream.available();
- let data = NetUtil.readInputStreamToString(stream, count, { charset : charset });
-
- stream.close();
-
- return data;
-}
-
-exports.readURISync = readURISync;
diff --git a/tools/addon-sdk-1.12/lib/sdk/net/xhr.js b/tools/addon-sdk-1.12/lib/sdk/net/xhr.js
deleted file mode 100644
index b4fc1ef..0000000
--- a/tools/addon-sdk-1.12/lib/sdk/net/xhr.js
+++ /dev/null
@@ -1,154 +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": "unstable"
-};
-
-const { Cc, Ci } = require("chrome");
-const memory = require('../deprecated/memory');
-const { when: unload } = require("../system/unload");
-
-// ## Implementation Notes ##
-//
-// Making `XMLHttpRequest` objects available to Jetpack code involves a
-// few key principles universal to all low-level module implementations:
-//
-// * **Unloadability**. A Jetpack-based extension using this module can be
-// asked to unload itself at any time, e.g. because the user decides to
-// uninstall or disable the extension. This means we need to keep track of
-// all in-progress reqests and abort them on unload.
-//
-// * **Developer-Ergonomic Tracebacks**. Whenever an exception is raised
-// by a Jetpack-based extension, we want it to be logged in a
-// place that is specific to that extension--so that a developer
-// can distinguish it from an error on a web page or in another
-// extension, for instance. We also want it to be logged with a
-// full stack traceback, which the Mozilla platform doesn't usually
-// do.
-//
-// Because of this, we don't actually want to give the Mozilla
-// platform's "real" XHR implementation to clients, but instead provide
-// a simple wrapper that trivially delegates to the implementation in
-// all cases except where callbacks are involved: whenever Mozilla
-// platform code calls into the extension, such as during the XHR's
-// `onreadystatechange` callback, we want to wrap the client's callback
-// in a try-catch clause that traps any exceptions raised by the
-// callback and logs them via console.exception() instead of allowing
-// them to propagate back into Mozilla platform code.
-
-// This is a private list of all active requests, so we know what to
-// abort if we're asked to unload.
-var requests = [];
-
-// Events on XHRs that we should listen for, so we know when to remove
-// a request from our private list.
-const TERMINATE_EVENTS = ["load", "error", "abort"];
-
-// Read-only properties of XMLHttpRequest objects that we want to
-// directly delegate to.
-const READ_ONLY_PROPS = ["readyState", "responseText", "responseXML",
- "status", "statusText"];
-
-// Methods of XMLHttpRequest that we want to directly delegate to.
-const DELEGATED_METHODS = ["abort", "getAllResponseHeaders",
- "getResponseHeader", "overrideMimeType",
- "send", "sendAsBinary", "setRequestHeader",
- "open"];
-
-var getRequestCount = exports.getRequestCount = function getRequestCount() {
- return requests.length;
-};
-
-var XMLHttpRequest = exports.XMLHttpRequest = function XMLHttpRequest() {
- var req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"]
- .createInstance(Ci.nsIXMLHttpRequest);
- // For the sake of simplicity, don't tie this request to any UI.
- req.mozBackgroundRequest = true;
-
- memory.track(req, "XMLHttpRequest");
-
- this._req = req;
- this._orsc = null;
-
- requests.push(this);
-
- var self = this;
-
- this._boundCleanup = function _boundCleanup() {
- self._cleanup();
- };
-
- TERMINATE_EVENTS.forEach(
- function(name) {
- self._req.addEventListener(name, self._boundCleanup, false);
- });
-};
-
-XMLHttpRequest.prototype = {
- _cleanup: function _cleanup() {
- this.onreadystatechange = null;
- var index = requests.indexOf(this);
- if (index != -1) {
- var self = this;
- TERMINATE_EVENTS.forEach(
- function(name) {
- self._req.removeEventListener(name, self._boundCleanup, false);
- });
- requests.splice(index, 1);
- }
- },
- _unload: function _unload() {
- this._req.abort();
- this._cleanup();
- },
- addEventListener: function addEventListener() {
- throw new Error("not implemented");
- },
- removeEventListener: function removeEventListener() {
- throw new Error("not implemented");
- },
- set upload(newValue) {
- throw new Error("not implemented");
- },
- get onreadystatechange() {
- return this._orsc;
- },
- set onreadystatechange(cb) {
- this._orsc = cb;
- if (cb) {
- var self = this;
- this._req.onreadystatechange = function() {
- try {
- self._orsc.apply(self, arguments);
- } catch (e) {
- console.exception(e);
- }
- };
- } else
- this._req.onreadystatechange = null;
- }
-};
-
-READ_ONLY_PROPS.forEach(
- function(name) {
- XMLHttpRequest.prototype.__defineGetter__(
- name,
- function() {
- return this._req[name];
- });
- });
-
-DELEGATED_METHODS.forEach(
- function(name) {
- XMLHttpRequest.prototype[name] = function() {
- return this._req[name].apply(this._req, arguments);
- };
- });
-
-unload(function() {
- requests.slice().forEach(function(request) { request._unload(); });
-});