aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js')
-rw-r--r--vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js218
1 files changed, 109 insertions, 109 deletions
diff --git a/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js b/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
index 2a0c38cb6..0a3d9fe45 100644
--- a/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
+++ b/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
@@ -9,118 +9,118 @@
* https://opensource.org/licenses/MIT
*/
-/* global define, require, window, document */
+/* global define, require */
-;(function (factory) {
- 'use strict';
- if (typeof define === 'function' && define.amd) {
- // Register as an anonymous AMD module:
- define(['jquery'], factory);
- } else if (typeof exports === 'object') {
- // Node/CommonJS:
- factory(require('jquery'));
- } else {
- // Browser globals:
- factory(window.jQuery);
- }
-}(function ($) {
- 'use strict';
+(function(factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
+ // Register as an anonymous AMD module:
+ define(['jquery'], factory);
+ } else if (typeof exports === 'object') {
+ // Node/CommonJS:
+ factory(require('jquery'));
+ } else {
+ // Browser globals:
+ factory(window.jQuery);
+ }
+})(function($) {
+ 'use strict';
- var counter = 0,
- names = [
- 'accepts',
- 'cache',
- 'contents',
- 'contentType',
- 'crossDomain',
- 'data',
- 'dataType',
- 'headers',
- 'ifModified',
- 'mimeType',
- 'password',
- 'processData',
- 'timeout',
- 'traditional',
- 'type',
- 'url',
- 'username'
- ],
- convert = function (p) {
- return p;
- };
+ var counter = 0,
+ names = [
+ 'accepts',
+ 'cache',
+ 'contents',
+ 'contentType',
+ 'crossDomain',
+ 'data',
+ 'dataType',
+ 'headers',
+ 'ifModified',
+ 'mimeType',
+ 'password',
+ 'processData',
+ 'timeout',
+ 'traditional',
+ 'type',
+ 'url',
+ 'username'
+ ],
+ convert = function(p) {
+ return p;
+ };
- $.ajaxSetup({
- converters: {
- 'postmessage text': convert,
- 'postmessage json': convert,
- 'postmessage html': convert
- }
- });
+ $.ajaxSetup({
+ converters: {
+ 'postmessage text': convert,
+ 'postmessage json': convert,
+ 'postmessage html': convert
+ }
+ });
- $.ajaxTransport('postmessage', function (options) {
- if (options.postMessage && window.postMessage) {
- var iframe,
- loc = $('<a>').prop('href', options.postMessage)[0],
- target = loc.protocol + '//' + loc.host,
- xhrUpload = options.xhr().upload;
- // IE always includes the port for the host property of a link
- // element, but not in the location.host or origin property for the
- // default http port 80 and https port 443, so we strip it:
- if (/^(http:\/\/.+:80)|(https:\/\/.+:443)$/.test(target)) {
- target = target.replace(/:(80|443)$/, '');
- }
- return {
- send: function (_, completeCallback) {
- counter += 1;
- var message = {
- id: 'postmessage-transport-' + counter
- },
- eventName = 'message.' + message.id;
- iframe = $(
- '<iframe style="display:none;" src="' +
- options.postMessage + '" name="' +
- message.id + '"></iframe>'
- ).bind('load', function () {
- $.each(names, function (i, name) {
- message[name] = options[name];
- });
- message.dataType = message.dataType.replace('postmessage ', '');
- $(window).bind(eventName, function (e) {
- e = e.originalEvent;
- var data = e.data,
- ev;
- if (e.origin === target && data.id === message.id) {
- if (data.type === 'progress') {
- ev = document.createEvent('Event');
- ev.initEvent(data.type, false, true);
- $.extend(ev, data);
- xhrUpload.dispatchEvent(ev);
- } else {
- completeCallback(
- data.status,
- data.statusText,
- {postmessage: data.result},
- data.headers
- );
- iframe.remove();
- $(window).unbind(eventName);
- }
- }
- });
- iframe[0].contentWindow.postMessage(
- message,
- target
- );
- }).appendTo(document.body);
- },
- abort: function () {
- if (iframe) {
- iframe.remove();
- }
+ $.ajaxTransport('postmessage', function(options) {
+ if (options.postMessage && window.postMessage) {
+ var iframe,
+ loc = $('<a>').prop('href', options.postMessage)[0],
+ target = loc.protocol + '//' + loc.host,
+ xhrUpload = options.xhr().upload;
+ // IE always includes the port for the host property of a link
+ // element, but not in the location.host or origin property for the
+ // default http port 80 and https port 443, so we strip it:
+ if (/^(http:\/\/.+:80)|(https:\/\/.+:443)$/.test(target)) {
+ target = target.replace(/:(80|443)$/, '');
+ }
+ return {
+ send: function(_, completeCallback) {
+ counter += 1;
+ var message = {
+ id: 'postmessage-transport-' + counter
+ },
+ eventName = 'message.' + message.id;
+ iframe = $(
+ '<iframe style="display:none;" src="' +
+ options.postMessage +
+ '" name="' +
+ message.id +
+ '"></iframe>'
+ )
+ .bind('load', function() {
+ $.each(names, function(i, name) {
+ message[name] = options[name];
+ });
+ message.dataType = message.dataType.replace('postmessage ', '');
+ $(window).bind(eventName, function(event) {
+ var e = event.originalEvent;
+ var data = e.data;
+ var ev;
+ if (e.origin === target && data.id === message.id) {
+ if (data.type === 'progress') {
+ ev = document.createEvent('Event');
+ ev.initEvent(data.type, false, true);
+ $.extend(ev, data);
+ xhrUpload.dispatchEvent(ev);
+ } else {
+ completeCallback(
+ data.status,
+ data.statusText,
+ { postmessage: data.result },
+ data.headers
+ );
+ iframe.remove();
+ $(window).unbind(eventName);
+ }
}
- };
+ });
+ iframe[0].contentWindow.postMessage(message, target);
+ })
+ .appendTo(document.body);
+ },
+ abort: function() {
+ if (iframe) {
+ iframe.remove();
+ }
}
- });
-
-}));
+ };
+ }
+ });
+});