Index: third_party/gsutil/third_party/protorpc/experimental/javascript/closure/wrapperxmlhttpfactory.js |
diff --git a/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/wrapperxmlhttpfactory.js b/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/wrapperxmlhttpfactory.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..570a5d37aae10cfb66e9172108c88eb5f742ffff |
--- /dev/null |
+++ b/third_party/gsutil/third_party/protorpc/experimental/javascript/closure/wrapperxmlhttpfactory.js |
@@ -0,0 +1,68 @@ |
+// Copyright 2010 The Closure Library Authors. All Rights Reserved. |
+// |
+// Licensed under the Apache License, Version 2.0 (the "License"); |
+// you may not use this file except in compliance with the License. |
+// You may obtain a copy of the License at |
+// |
+// http://www.apache.org/licenses/LICENSE-2.0 |
+// |
+// Unless required by applicable law or agreed to in writing, software |
+// distributed under the License is distributed on an "AS-IS" BASIS, |
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+// See the License for the specific language governing permissions and |
+// limitations under the License. |
+ |
+/** |
+ * @fileoverview Implementation of XmlHttpFactory which allows construction from |
+ * simple factory methods. |
+ * @author dbk@google.com (David Barrett-Kahn) |
+ */ |
+ |
+goog.provide('goog.net.WrapperXmlHttpFactory'); |
+ |
+goog.require('goog.net.XmlHttpFactory'); |
+ |
+ |
+ |
+/** |
+ * An xhr factory subclass which can be constructed using two factory methods. |
+ * This exists partly to allow the preservation of goog.net.XmlHttp.setFactory() |
+ * with an unchanged signature. |
+ * @param {function() : !(XMLHttpRequest|GearsHttpRequest)} xhrFactory A |
+ * function which returns a new XHR object. |
+ * @param {function() : !Object} optionsFactory A function which returns the |
+ * options associated with xhr objects from this factory. |
+ * @extends {goog.net.XmlHttpFactory} |
+ * @constructor |
+ */ |
+goog.net.WrapperXmlHttpFactory = function(xhrFactory, optionsFactory) { |
+ goog.net.XmlHttpFactory.call(this); |
+ |
+ /** |
+ * XHR factory method. |
+ * @type {function() : !(XMLHttpRequest|GearsHttpRequest)} |
+ * @private |
+ */ |
+ this.xhrFactory_ = xhrFactory; |
+ |
+ /** |
+ * Options factory method. |
+ * @type {function() : !Object} |
+ * @private |
+ */ |
+ this.optionsFactory_ = optionsFactory; |
+}; |
+goog.inherits(goog.net.WrapperXmlHttpFactory, goog.net.XmlHttpFactory); |
+ |
+ |
+/** @inheritDoc */ |
+goog.net.WrapperXmlHttpFactory.prototype.createInstance = function() { |
+ return this.xhrFactory_(); |
+}; |
+ |
+ |
+/** @inheritDoc */ |
+goog.net.WrapperXmlHttpFactory.prototype.getOptions = function() { |
+ return this.optionsFactory_(); |
+}; |
+ |